.policy-section,
.policy-section * {
    box-sizing: border-box;
}

.policy-section {
    display: flex;
    flex-direction: column;
    margin-inline: auto;
    padding-top: clamp(10.625rem, 13.2813vw, 15.9375rem);
    padding-bottom: clamp(3.333312rem, 4.1667vw, 5rem);
    gap: clamp(3.333312rem, 4.1667vw, 5rem);
    width: 100%;
}

.policy-section__content {
    display: flex;
    flex-direction: column;
    gap: clamp(1.25rem, 1.5625vw, 1.875rem);
}

.policy-section__content-block {
    display: flex;
    flex-direction: column;
    gap: clamp(0.625rem, 0.78125vw, 0.9375rem);
}

.policy-section__heading,
.policy-section__heading-one {
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(2.25rem, calc(2.8125vw * var(--desktop-font-vw-scale, 1)), 3.375rem);
    color: #fff;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.15;
    text-align: center;
    margin: 0;
}

.policy-section__block-heading {
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(0.833313rem, calc(1.04167vw * var(--desktop-font-vw-scale, 1)), 1.25rem);
    color: #fff;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5;
    margin: 0;
}

.policy-section__block-para,
.policy-section__content-block li {
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(0.75rem, calc(0.9375vw * var(--desktop-font-vw-scale, 1)), 1.125rem);
    color: #fff;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.67;
    opacity: 0.7;
}


/* ========================================
   LISTS
   ======================================== */

.policy-section__content-block ul {
    display: block;
    list-style-type: disc;
    margin: 0;
    padding-left: 1.5em;
}

.policy-section__content-block ol {
    display: block;
    list-style-type: decimal;
    margin: 0;
    padding-left: 1.5em;
}

.policy-section__content-block li {
    display: list-item;
    margin: 0;
    padding: 0;
}


/* ========================================
   MOBILE — 0–767px
   (Text sizes pumped up for mobile readability,
    min text size 14px)
   ======================================== */

@media (max-width: 767px) {

    .policy-section {
        padding-inline: 0;
        gap: clamp(2.5rem, 3.125vw, 3.75rem);
    }

    .policy-section__content {
        gap: 1.25rem;
    }

    .policy-section__content-block {
        gap: 0.625rem;
    }

    .policy-section__heading,
    .policy-section__heading-one {
        font-size: 1.625rem !important;
        line-height: 1.25 !important;
    }

    .policy-section__block-heading {
        font-size: 1.125rem !important;
        line-height: 1.4 !important;
    }

    .policy-section__block-para,
    .policy-section__content-block li {
        font-size: 0.875rem !important;
        line-height: 1.67 !important;
    }

    .policy-section__content-block ul,
    .policy-section__content-block ol {
        padding-left: 1.5em;
    }
}


/* ========================================
   TABLET — 768–1023px
   ======================================== */

@media (min-width: 768px) and (max-width: 1023px) {

    .policy-section {
        padding-inline: 2rem;
        gap: 3rem;
    }

    .policy-section__content {
        gap: 1.5rem;
    }

    .policy-section__content-block {
        gap: 0.625rem;
    }

    .policy-section__heading,
    .policy-section__heading-one {
        font-size: 2rem;
        line-height: 1.15;
    }

    .policy-section__block-heading {
        font-size: 1rem;
        line-height: 1.5;
    }

    .policy-section__block-para,
    .policy-section__content-block li {
        font-size: 0.875rem;
        line-height: 1.67;
    }
}


/* ========================================
   SMALL DESKTOP 1024-1279px
   ======================================== */

@media (min-width: 1024px) and (max-width: 1279px) {
    .policy-section {
        width: 100% !important;
        max-width: min(calc(100% - 3rem), 78rem) !important;
        padding-top: clamp(7rem, 9vw, 9.5rem) !important;
        padding-bottom: 3.5rem !important;
        gap: 3rem;
    }

    .policy-section__content {
        gap: 1.5rem;
    }

    .policy-section__block-heading {
        font-size: 1rem;
    }

    .policy-section__block-para,
    .policy-section__content-block li {
        font-size: 0.9375rem;
        line-height: 1.65;
    }
}




/* ========================================
   DESKTOP — FLUID 1280–1920px+
   (Exact original 1920px specifications)
   ======================================== */

@media (min-width: 1280px) {

    .policy-section {
        gap: clamp(3.333312rem, 4.1667vw, 5rem);
    }

    .policy-section__content {
        gap: clamp(1.25rem, 1.5625vw, 1.875rem);
    }

    .policy-section__content-block {
        gap: clamp(0.625rem, 0.78125vw, 0.9375rem);
    }

    .policy-section__heading,
    .policy-section__heading-one {
        font-size: clamp(2.25rem, calc(2.8125vw * var(--desktop-font-vw-scale, 1)), 3.375rem);
        line-height: 1.15;
    }

    .policy-section__block-heading {
        font-size: clamp(0.833313rem, calc(1.04167vw * var(--desktop-font-vw-scale, 1)), 1.25rem);
        line-height: 1.5;
    }

    .policy-section__block-para,
    .policy-section__content-block li {
        font-size: clamp(0.75rem, calc(0.9375vw * var(--desktop-font-vw-scale, 1)), 1.125rem);
        line-height: 1.67;
    }
}