@media (min-width: 769px) {
    .hero {
        padding-top: 6rem;
    }

    .hero-stage {
        --hero-panel-offset: clamp(2rem, 8vw, 10rem);
        min-height: clamp(400px, 52svh, 540px);
        overflow: visible;
    }

    .hero-team-placeholder {
        inset: 0 calc(540px + var(--hero-panel-offset)) 0
            clamp(0.5rem, 3vw, 5rem);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2rem 0;
    }

    .hero-logo-image {
        width: min(78%, 420px);
        height: auto;
        max-height: 88%;
        object-fit: contain;
    }

    .hero-overlay {
        inset: auto var(--hero-panel-offset) 5.75rem auto;
        width: min(540px, calc(100% - 3rem));
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        align-items: stretch;
    }

    .hero-copy {
        position: relative;
        inset: auto;
        width: 100%;
        max-width: 100%;
    }

    .hero-opening {
        position: absolute;
        inset: auto auto 5.75rem clamp(3.5rem, 7vw, 8rem);
        z-index: 3;
        min-width: 187.5px;
        width: min(240px, calc(100% - 3rem));
        max-width: 240px;
    }
}

@media (max-width: 768px) {
    .hero {
        padding-top: 5.25rem;
        padding-bottom: 1.5rem;
    }

    .hero > .container {
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
    }

    .hero-stage {
        width: 100%;
        margin: 0;
        padding-top: 0;
        display: grid;
        gap: 0.85rem;
        border-radius: 28px;
        overflow: visible;
    }

    .hero-team-placeholder {
        position: relative;
        inset: auto;
        display: flex;
        min-height: 7.1rem;
        align-items: center;
        justify-content: center;
        order: 1;
        padding: 0;
    }

    .hero-logo-image {
        width: min(40vw, 10.5rem);
        height: auto;
        max-height: none;
        object-fit: contain;
    }

    .hero-image-tag-slot {
        display: none;
    }

    .hero-overlay {
        position: static;
        inset: auto;
        display: block;
        order: 2;
        width: 100%;
        pointer-events: auto;
    }

    .hero-copy {
        position: relative;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 1.1rem 1rem 1.15rem;
        border-radius: 24px;
        text-align: center;
    }

    .hero-copy > .tag {
        display: inline-flex;
        margin-bottom: 0.8rem;
        padding: 0.52rem 0.82rem;
        font-size: 0.6rem;
        letter-spacing: 0.1em;
        white-space: normal;
        text-align: center;
    }

    .hero-copy h1 {
        font-size: clamp(2.05rem, 9.5vw, 2.85rem);
        line-height: 1;
        margin-bottom: 0.8rem;
        letter-spacing: -0.04em;
    }

    .hero-copy p {
        margin-bottom: 1rem;
        font-size: 0.96rem;
        line-height: 1.6;
    }

    .hero-buttons {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
        justify-items: stretch;
    }

    .hero-buttons .btn,
    #hero-btn-team {
        width: 100%;
        min-width: 0;
        min-height: 3.35rem;
        padding: 0.92rem 1rem;
        border-radius: 20px;
    }

    .hero-opening {
        display: none;
    }
}

@media (max-width: 420px) {
    .hero {
        padding-top: 5rem;
    }

    .hero-stage {
        padding-top: 0;
        gap: 0.75rem;
        border-radius: 24px;
    }

    .hero-team-placeholder {
        min-height: 6.5rem;
    }

    .hero-logo-image {
        width: min(44vw, 9.75rem);
    }

    .hero-copy h1 {
        font-size: clamp(1.95rem, 10vw, 2.35rem);
    }
}
