/* =============================================
    1. RESPONSIVE — TABLET
    ============================================= */
@media (max-width: 1023px) {
    .journey__grid {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .journey__pull {
        font-size: 1.35rem;
    }

    .journey__pull-img {
        margin: 0 auto;
        max-width: 325px;
    }

    .services__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .stats__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }

    .stats__divider {
        display: none;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .contact-form .btn {
        width: 100%;
        justify-content: center;
    }

    .footer__inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer__right {
        align-items: flex-start;
        text-align: left;
    }
}

/* =============================================
    2. RESPONSIVE — MOBILE
    ============================================= */
@media (max-width: 767px) {
    :root {
        --space-2xl: 80px;
        --space-xl: 48px;
        --space-lg: 32px;
    }

    .nav__cta {
        padding: 8px 16px;
        font-size: 0.75rem;
    }

    .hero__content {
        padding: 100px 45px 80px;
    }

    .hero__title {
        font-size: clamp(1.75rem, 8vw, 2.25rem);
    }

    .hero__intro {
        font-size: 0.95rem;
    }

    .hero__stats {
        font-size: 0.5625rem;
        gap: 8px;
        flex-direction: column;
        align-items: flex-start;
    }

    .hero__stats .stat-item+.stat-item {
        padding-left: 0;
    }

    .hero__stats .stat-sep {
        display: none;
    }

    .hero__actions {
        flex-direction: column;
        width: 100%;
    }

    .hero__actions .btn {
        width: 100%;
        justify-content: center;
    }

    .stats__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .services__grid {
        grid-template-columns: 1fr;
    }

    .recognition__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    #cal-booking-embed {
        min-height: 450px;
    }
}

@media (max-width: 480px) {
    .recognition__grid {
        grid-template-columns: 1fr;
    }

    .page-content {
        padding: 100px 0 var(--space-lg);
    }
}

/* =============================================
    3. REDUCED MOTION
    ============================================= */
@media (prefers-reduced-motion: reduce) {

    .reveal,
    .reveal.visible {
        transition: none;
        opacity: 1;
        transform: none;
    }

    .service-card,
    .award-card,
    .btn {
        transition: none;
    }

    .service-card:hover,
    .award-card:hover {
        transform: none;
    }

    .btn--primary:hover {
        transform: none;
    }

    html {
        scroll-behavior: auto;
    }

    #main-nav {
        transition: none;
    }
}