.moisture-protection .button {
    margin-top: 36px;
}

/* =========================================================
   SHARED PAGE SECTIONS
========================================================= */

#leistungen.moisture-signs,
.moisture-protection,
.moisture-process {
    width: 80%;
    margin: 100px auto;
}

.moisture-signs .section-title,
.moisture-protection .section-title,
.moisture-process .section-title {
    margin-bottom: 60px;
}

/* =========================================================
   SIGNS
========================================================= */

.moisture-signs-list h3 {
    margin: 0 0 30px;
    color: #2e6eae;
    font-size: clamp(22px, 1.5vw, 28px);
    line-height: 1.25;
}

.moisture-signs-list ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 40px;
    margin: 0;
    padding-left: 20px;
}

.moisture-signs-list li {
    color: #333333;
    line-height: 1.6;
}

.moisture-signs-list li::marker {
    color: #e13c04;
}

.moisture-signs-list p {
    margin: 30px 0 0;
    color: #333333;
    line-height: 1.6;
}

/* =========================================================
   PROTECTION
========================================================= */

.moisture-protection-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
}

.moisture-protection-grid article,
.moisture-process-grid article {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 40px;
    background-color: #f4f7fa;
    border-radius: 40px;
}

.moisture-process-grid article:last-child {
    justify-content: space-between;
}

.moisture-process-grid article:nth-child(odd) {
    background-color: #e13c04;
}

.moisture-process-grid article:nth-child(even) {
    background-color: #2e6eae;
}

.moisture-protection-grid h3,
.moisture-process-grid h3 {
    margin: 0 0 20px;
    color: #2e6eae;
    font-size: clamp(22px, 1.5vw, 28px);
    line-height: 1.25;
}

.moisture-process-grid h3 {
    color: #ffffff;
}

.moisture-protection-grid p,
.moisture-process-grid p {
    margin: 0;
    color: #333333;
    line-height: 1.6;
}

.moisture-process-grid p {
    color: #ffffff;
}

.moisture-protection-grid p + p {
    margin-top: 18px;
}

.moisture-protection-measures h3:not(:first-child) {
    margin-top: 24px;
}

.moisture-protection-grid .text-link {
    margin-top: auto;
    padding-top: 18px;
}

/* =========================================================
   PROCESS
========================================================= */

.moisture-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
}

/* =========================================================
   COSTS
========================================================= */

.moisture-costs {
    width: 100%;
    margin-top: 100px;
    background-color: #f4f7fa;
}

.moisture-costs-content {
    width: 80%;
    margin: 0 auto;
    padding: 80px 0;
}

.moisture-costs h2 {
    margin-bottom: 30px;
    color: #2e6eae;
}

.moisture-costs p {
    margin: 0;
    color: #333333;
    line-height: 1.6;
}

.moisture-costs p + p {
    margin-top: 20px;
}

.moisture-costs .button {
    margin-top: 30px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {
    .moisture-protection-grid,
    .moisture-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .moisture-signs,
    .moisture-protection,
    .moisture-process {
        margin: 80px auto;
    }

    .moisture-signs .section-title,
    .moisture-protection .section-title,
    .moisture-process .section-title {
        margin-bottom: 40px;
    }

    .moisture-signs-list ul,
    .moisture-protection-grid,
    .moisture-process-grid {
        grid-template-columns: 1fr;
    }

    .moisture-protection-grid,
    .moisture-process-grid {
        gap: 30px;
    }

    .moisture-protection-grid article,
    .moisture-process-grid article {
        padding: 30px;
    }

    .moisture-costs {
        margin-top: 80px;
    }

    .moisture-costs-content {
        padding: 60px 0;
    }
}

.moisture-signs-list {
    margin-top: 24px;
}