/* ─── Hero ──────────────────────────────────────────────── */

.section-hero {
    position: relative;
    margin: var(--space-lg) 0;
    overflow: hidden;
}

.hero__inner {
    position: relative;
    z-index: 2;
    min-height: 640px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* ── Background ───────────────────────────────────────── */
.hero__bg--desktop {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1440px;
    z-index: 0;
}

.hero__bg--desktop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.hero__bg--mobile {
    display: none;
    width: 100%;
    --clip: 14%;
    clip-path: polygon(
        var(--clip) 0,
        100% 0,
        100% calc(100% - var(--clip)),
        calc(100% - var(--clip)) 100%,
        0 100%,
        0 var(--clip)
    );
}

.hero__bg--mobile img {
    width: 100%;
    height: auto;
    display: block;
}

/* ── Overlay ──────────────────────────────────────────── */
.hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        to right,
        rgba(0, 0, 0, 0.90) 30%,
        rgba(0, 0, 0, 0.55) 55%,
        rgba(0, 0, 0, 0.10) 80%,
        transparent 100%
    );
}

/* ── Content ──────────────────────────────────────────── */
.hero__content {
    position: relative;
    z-index: 2;
    max-width: 620px;
    padding: var(--space-lg) 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

/* ── Heading ──────────────────────────────────────────── */
.hero__heading {
    font-size: 148.48px;
    line-height: 0.77;
    letter-spacing: -0.05em;
}

.hero__heading-img {
    display: inline-block;
}

/* ── Meta group ───────────────────────────────────────── */
.hero__meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
    max-width: 380px;
    margin: 0 auto;
    text-align: center;
}

/* ── Subheading ───────────────────────────────────────── */
.hero__subheading {
    font-family: 'Funnel Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-top: calc( var(--space-xs) / 2 );
}

/* ── Body ─────────────────────────────────────────────── */
.hero__body {
    font-family: 'Funnel Sans', sans-serif;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--color-text);
}

/* ── Button ───────────────────────────────────────────── */
.hero__button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: var(--color-chill-peppermint);
    color: var(--color-text);
    font-family: 'Neue Regrade', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 14px 24px;
    border-radius: 6px;
    margin-top: var(--space-xs);
    transition: opacity 0.2s ease;
}

.hero__button:hover {
    opacity: 0.85;
}

.hero__button svg {
    width: 18px;
    height: 11px;
    flex-shrink: 0;
}

/* ── Decorative ───────────────────────────────────────── */
.hero__decorative {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    pointer-events: none;
    max-width: 300px;
}

.hero__decorative img {
    width: 100%;
    height: auto;
}

/* ── Responsive ───────────────────────────────────────── */
@media ( max-width: 900px ) {
    .hero__heading {
        font-size: 62px;
    }

    .hero__heading-img {
        max-width: 66px;
    }

    .hero__meta {
        margin: 0;
        align-items: flex-start;
        text-align: left;
    }
}

@media ( max-width: 768px ) {
    .section-hero {
        margin-top: var(--space-md);
    }

    .hero__inner {
        min-height: 0;
    }

    .hero__content {
        max-width: 100%;
    }

    .hero__decorative {
        display: none;
    }
}

@media ( max-width: 374px ) {
    .hero__heading {
        font-size: 52px;
    }

    .hero__heading-img {
        max-width: 56px;
    }
}

@media ( max-width: 480px ) {
    .section-hero {
        margin-bottom: var(--space-md);
    }

    .hero__bg--desktop,
    .hero__overlay {
        display: none;
    }

    .hero__bg--mobile {
        display: block;
    }

    .hero__subheading {
        font-size: 16px;
    }

    .hero__body {
        font-size: 20px;
    }

    .hero__button {
        font-size: 16px;
        width: 100%;
        justify-content: center;
    }

    .hero__content {
        text-align: center;
    }

    .hero__meta {
        align-items: center;
        text-align: center;
        max-width: none;
    }
}
