.site-main {
    overflow: clip;
}

.section {
    position: relative;
    padding-block: var(--mhl-space-7);
}

.section__header {
    max-width: 760px;
    margin-bottom: var(--mhl-space-5);
}

.section__eyebrow {
    margin: 0 0 var(--mhl-space-2);

    color: var(--mhl-color-sea);

    font-size: 0.8rem;
    font-weight: 700;

    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.section__title {
    margin: 0;

    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1.05;
}

.section__text {
    margin-top: var(--mhl-space-3);

    color: var(--mhl-color-muted);

    font-size: 1.1rem;
}

.card {
    border-radius: var(--mhl-radius-md);
    overflow: hidden;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    padding: 0.75rem 1.25rem;

    border: 0;
    border-radius: 999px;

    background: var(--mhl-color-ocean);
    color: var(--mhl-color-white);

    text-decoration: none;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform 180ms ease,
        box-shadow 180ms ease;
}

.button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 12px 30px rgba(8, 47, 73, 0.22);
}

/* =========================================================
   HERO
   ========================================================= */

.hero {
    position: relative;

    min-height: 100svh;

    display: flex;
    align-items: center;

    padding:
        9rem
        max(1.5rem, 5vw)
        6rem;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            var(--mhl-color-ocean-deep) 0%,
            var(--mhl-color-ocean) 45%,
            var(--mhl-color-sea) 100%
        );

    color: var(--mhl-color-white);
}

.hero::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 20% 30%,
            rgba(255, 255, 255, 0.14),
            transparent 35%
        ),
        radial-gradient(
            circle at 80% 70%,
            rgba(20, 184, 166, 0.22),
            transparent 35%
        );

    pointer-events: none;
}

.hero__content {
    position: relative;
    z-index: 2;

    width: min(900px, 100%);
    margin-inline: auto;
}

.hero__eyebrow {
    margin: 0 0 var(--mhl-space-3);

    font-size: 0.8rem;
    font-weight: 800;

    letter-spacing: 0.2em;
    text-transform: uppercase;

    opacity: 0.82;
}

.hero h1 {
    margin: 0;

    max-width: 900px;

    font-size: clamp(
        3.2rem,
        8vw,
        7rem
    );

    line-height: 0.95;
    letter-spacing: -0.045em;
}

.hero__text {
    max-width: 680px;

    margin:
        var(--mhl-space-4)
        0
        0;

    font-size: clamp(
        1.05rem,
        2vw,
        1.35rem
    );

    line-height: 1.65;

    color: rgba(255, 255, 255, 0.88);
}

@media (max-width: 640px) {

    .hero {
        min-height: 100svh;

        padding:
            8rem
            1.25rem
            4rem;
    }

    .hero h1 {
        font-size: clamp(
            3rem,
            15vw,
            5rem
        );
    }

}

/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
    padding:
        3rem
        1.5rem;

    background: var(--mhl-color-ocean-deep);

    color: rgba(255, 255, 255, 0.82);

    text-align: center;
}

.site-footer__inner {
    width: min(
        calc(100% - 2rem),
        var(--mhl-container)
    );

    margin-inline: auto;
}

.site-footer p {
    margin: 0;
    font-size: 0.9rem;
}

/* =========================================================
   STANDARD PAGE
   ========================================================= */

.page-main {
    padding-top: 0;
}

/* =========================================================
   PAGE HERO
   ========================================================= */

.page-hero {
    position: relative;

    padding:
        11rem
        max(1.5rem, 5vw)
        5rem;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            var(--mhl-color-ocean-deep),
            var(--mhl-color-ocean),
            var(--mhl-color-sea)
        );

    color: var(--mhl-color-white);
}

.page-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 15% 40%,
            rgba(255, 255, 255, 0.12),
            transparent 32%
        ),
        radial-gradient(
            circle at 85% 60%,
            rgba(20, 184, 166, 0.2),
            transparent 35%
        );

    pointer-events: none;
}

.page-hero__inner {
    position: relative;
    z-index: 1;

    width: min(
        1100px,
        100%
    );

    margin-inline: auto;
}

.page-hero__eyebrow {
    display: block;

    margin-bottom: 1rem;

    font-size: 0.78rem;
    font-weight: 800;

    letter-spacing: 0.2em;
    text-transform: uppercase;

    opacity: 0.78;
}

.page-hero__title {
    margin: 0;

    max-width: 950px;

    font-size: clamp(
        3rem,
        7vw,
        6rem
    );

    line-height: 0.98;

    letter-spacing: -0.045em;
}

/* =========================================================
   PAGE CONTENT
   ========================================================= */

.page-content {
    padding:
        5rem
        max(1.5rem, 5vw)
        7rem;

    background:
        var(--mhl-color-sand-light);
}

.page-content__inner {
    width: min(
        1000px,
        100%
    );

    margin-inline: auto;
}

.page-content__inner > * {
    max-width: 850px;
}

.page-content__inner p {
    margin-block: 0 1.4rem;

    font-size: 1.08rem;
    line-height: 1.8;

    color: var(--mhl-color-text);
}

.page-content__inner h2 {
    margin-top: 3rem;
    margin-bottom: 1rem;

    color: var(--mhl-color-ocean-deep);

    font-size: clamp(
        1.8rem,
        4vw,
        2.6rem
    );
}

.page-content__inner h3 {
    margin-top: 2rem;
    margin-bottom: 0.75rem;

    color: var(--mhl-color-ocean-deep);
}

.page-content__inner ul,
.page-content__inner ol {
    margin-block: 1rem 1.5rem;
    padding-left: 1.5rem;

    line-height: 1.8;
}

.page-content__inner a {
    color: var(--mhl-color-ocean);
}

.page-content__inner img {
    max-width: 100%;
    height: auto;

    border-radius: var(--mhl-radius-lg);
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 640px) {

    .page-hero {
        padding:
            9rem
            1.25rem
            4rem;
    }

    .page-hero__title {
        font-size: clamp(
            2.8rem,
            14vw,
            4.5rem
        );
    }

    .page-content {
        padding:
            3.5rem
            1.25rem
            5rem;
    }

    .page-content__inner p {
        font-size: 1rem;
    }

}

/* =========================================================
   HOME INTRO
   ========================================================= */

.mhl-section {
    padding:
        clamp(5rem, 10vw, 9rem)
        max(1.5rem, 5vw);
}

.mhl-section--intro {
    background:
        var(--mhl-color-sand-light);
}

.mhl-container {
    width:
        min(
            var(--mhl-container-narrow),
            100%
        );

    margin-inline:
        auto;
}

.mhl-section__eyebrow {
    display: block;

    margin-bottom:
        1rem;

    color:
        var(--mhl-color-north-sea);

    font-size:
        0.75rem;

    font-weight:
        800;

    letter-spacing:
        0.18em;

    text-transform:
        uppercase;
}

.mhl-section__title {
    margin:
        0;

    color:
        var(--mhl-color-ocean-deep);

    font-size:
        clamp(2.4rem, 5vw, 4.5rem);

    line-height:
        1;

    letter-spacing:
        -0.04em;
}

.mhl-section__intro {
    max-width:
        720px;

    margin:
        1.5rem 0 0;

    color:
        var(--mhl-color-text-muted);

    font-size:
        clamp(1.05rem, 2vw, 1.3rem);

    line-height:
        1.75;
}
