/* Responsive */

@media (max-width: 1023px) {
    .results-dashboard__grid {
        grid-template-columns: 1fr;
    }

    .results-dashboard__panel--growth,
    .results-dashboard__panel--reach {
        grid-column: 1;
        aspect-ratio: auto;
        max-height: none;
    }

    .results-dashboard__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .empire-cta-section {
        height: auto;
        min-height: 0;
    }

    .empire-cta {
        height: auto;
        min-height: 0;
    }

    .empire-cta__inner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 0;
        margin: 0;
        padding: 0;
        gap: 0;
    }

    .empire-cta__content {
        grid-column: auto;
        order: 2;
        width: 100%;
        max-width: 100%;
        min-height: 0;
        align-items: center;
        text-align: center;
        /* Tight gap under hero image on mobile */
        padding: clamp(20px, 5vw, 28px) clamp(20px, 6vw, 28px) calc(32px + env(safe-area-inset-bottom, 0px));
        gap: clamp(16px, 4vw, 22px);
    }

    .empire-cta__actions {
        justify-content: center;
    }

    .empire-cta__trust {
        justify-content: center;
    }

    .empire-cta__media {
        grid-column: auto;
        order: 1;
        width: 100%;
        max-width: min(100%, var(--empire-cta-image-w));
        height: auto;
        min-height: 0;
        margin: 0 auto;
        justify-self: center;
        aspect-ratio: 648 / 611;
        position: relative;
        overflow: hidden;
    }

    .empire-cta__media img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: var(--empire-cta-image-object-position);
    }

    /* Club CTA: match .empire-cta__content padding/centering */
    .cta-section--club {
        padding: 0;
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .cta-section--club .cta-section-container {
        max-width: 100%;
        padding: clamp(20px, 5vw, 28px) clamp(20px, 6vw, 28px) calc(32px + env(safe-area-inset-bottom, 0px));
        gap: clamp(16px, 4vw, 22px);
    }

    .cta-section--club .cta-section__title,
    .cta-section--club .cta-section__lead {
        max-width: 100%;
    }

    /* Hero mobile: stack like .empire-cta — image first, text centered */
    .hero-split {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        min-height: 0;
        height: auto;
        margin: 0;
        padding: 0;
        gap: 0;
        overflow: visible;
    }

    .hero-split .home-about-media {
        flex: 0 0 auto;
        grid-column: auto;
        order: 1;
        width: 100%;
        max-width: min(100%, var(--empire-cta-image-w));
        margin: 0 auto;
    }

    .hero-split .home-about-image {
        position: relative;
        width: 100%;
        aspect-ratio: var(--hero-aspect-w) / var(--hero-aspect-h);
        min-height: 0;
        flex: none;
    }

    .hero-split .home-about-image img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center top;
    }

    .hero-split .home-about-content {
        flex: 0 0 auto;
        grid-column: auto;
        order: 2;
        width: 100%;
        max-width: 100%;
        min-height: 0;
        max-height: none;
        align-items: center;
        text-align: center;
        padding: clamp(20px, 5vw, 28px) clamp(20px, 6vw, 28px) calc(32px + env(safe-area-inset-bottom, 0px));
    }

    .hero-split .home-about-content__inner {
        align-items: center;
        text-align: center;
        max-width: 100%;
        gap: 0;
    }

    .hero-split .home-about-cta {
        align-self: center;
    }

    .hero-split .hero-intro-heading {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 1024px) {
    .form-section {
        padding: 140px 5% 60px;
    }
}

@media (max-width: 768px) {
    .hero p {
        font-size: 1rem;
        padding: 0;
    }

    .hero-split .home-about-eyebrow {
        font-size: 16px;
    }

    .home-about-split-card {
        flex-direction: column;
        border-radius: 20px;
    }

    .home-about-split-card__media {
        order: -1;
        min-height: 240px;
        flex: 0 0 auto;
    }

    .home-about-split-card__media img {
        min-height: 240px;
    }

    .home-about-split-card__text {
        flex: 1 1 auto;
        padding: 32px 6% 40px;
    }

    .hero-split .home-about-stats {
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px 20px;
        padding: 22px 18px 18px;
    }

    .hero-split .home-about-stat {
        flex: 1 1 calc(33.333% - 14px);
        min-width: 72px;
    }

    .metrics-section__inner {
        flex-direction: column;
        align-items: center;
        gap: 36px;
    }

    .metrics-section__item {
        flex: 1 1 auto;
        width: 100%;
        max-width: 22rem;
        min-height: 88px;
        height: auto;
    }

    .case-studies__slide {
        flex: 0 0 calc((100cqi - 1 * var(--case-studies-gap)) / 2);
    }

    @supports not (container-type: inline-size) {
        .case-studies__slide {
            flex: 0 0 calc((100% - 1 * var(--case-studies-gap)) / 2);
        }
    }

    .case-studies__nav {
        margin-top: 18px;
    }

    .home-about-section {
        padding: 65px 0;
    }

    .cta-section:not(.cta-section--club) {
        padding: 70px 0 80px;
    }

    .cta-section--club {
        padding: 0;
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .results-section.results-dashboard {
        padding: 0 0 65px;
    }

    .case-studies-section {
        padding: 65px 0 65px;
    }

    .section-title {
        font-size: 2rem;
        max-width: 100%;
        overflow-wrap: break-word;
    }

    .section-title::after {
        margin: 10px auto;
    }

    .section-title.centered {
        margin-bottom: 35px;
    }

    .form-section {
        padding: 140px 4% 60px;
    }

    .form-page-wrapper {
        gap: 0;
    }

    .form-container {
        padding: 35px 25px;
        max-width: 100%;
    }

    .form-title {
        font-size: 1.2rem;
        letter-spacing: 3px;
    }

    .application-modal {
        padding: 4vh 12px;
    }

    .application-modal-scroll {
        padding: 30px 32px 20px;
    }

    .application-modal-content {
        max-height: 90vh;
    }

}

@media (max-width: 480px) {
    .hero p {
        font-size: 0.9rem;
        padding: 0;
    }

    .hero-split .home-about-eyebrow {
        font-size: 16px;
    }

    .cta-button {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }

    .section-title {
        font-size: 1.7rem;
    }

    .form-section {
        padding: 140px 5% 60px;
    }

    .form-page-wrapper {
        gap: 0;
    }

    .form-container {
        padding: 25px 15px;
    }

    .form-group {
        width: 100%;
    }

    .form-title {
        font-size: 1rem;
        letter-spacing: 2px;
    }

    .application-modal {
        padding: 4vh 10px;
    }

    .application-modal-scroll {
        padding: 28px 24px 18px;
    }

    .application-modal-content {
        max-width: 100%;
        max-height: 88vh;
    }

    .close-modal-btn {
        font-size: 32px;
        top: 3px;
        right: 3px;
    }

    .case-studies__slide {
        flex: 0 0 100cqi;
    }

    @supports not (container-type: inline-size) {
        .case-studies__slide {
            flex: 0 0 100%;
        }
    }

    .results-dashboard__bars {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        min-height: 168px;
        padding-bottom: 4px;
    }

    .results-dashboard__bar-col {
        flex: 0 0 2.5rem;
    }
}