/* Tablet & below */
@media (max-width: 960px) {
    .primary-nav { display: none; }
    .site-header__actions .btn { display: none; }
    .nav-toggle { display: inline-flex; }

    .hero--split .hero__inner { grid-template-columns: 1fr; }
    .hero__image { aspect-ratio: 16 / 10; }

    .split { grid-template-columns: 1fr; }
    .split--media-right .split__media,
    .split--media-left .split__media { order: -1; }

    .cta-band__inner { grid-template-columns: 1fr; }
    .cta-band__actions { justify-content: flex-start; }

    .service-detail { grid-template-columns: 1fr; }
    .service-detail--media-left .service-detail__media { order: 0; }

    .site-footer__inner { grid-template-columns: 1fr 1fr; }
}

/* Mobile */
@media (max-width: 640px) {
    body { font-size: 1rem; }

    .section { padding-block: 3rem; }

    .hero { padding-block: 2.5rem; }
    .hero__actions .btn { width: 100%; justify-content: center; }

    .trust-grid, .feature-grid, .process-steps, .team-grid, .office-grid { grid-template-columns: 1fr; }

    .service-grid { grid-template-columns: 1fr; }

    .site-footer__inner { grid-template-columns: 1fr; gap: 2rem; }
    .site-footer__bottom-inner { flex-direction: column; }

    .logo-grid { grid-template-columns: repeat(2, 1fr); }

    .vm-card { padding: 1.75rem; }

    .contact-form-section__inner { padding-inline: 0; }

    .inline-actions .btn { width: 100%; justify-content: center; }
}

/* Small mobile safety */
@media (max-width: 360px) {
    .container { padding-inline: 1rem; }
    .btn { padding: 0.8rem 1.15rem; font-size: 0.875rem; }
}

/* ---------- Homepage hero : tablet ---------- */
@media (max-width: 960px) {
    .hero-section {
        min-height: 70vh;
        background-position: center 30%;
    }
    .hero-section__content { max-width: 40rem; }
}

/* ---------- Homepage hero : mobile ---------- */
@media (max-width: 640px) {
    .hero-section {
        min-height: auto;
        padding-block: 4.5rem 5rem;
        background-position: center 25%;
    }

    /* Strengthen the overlay on small screens: phone displays crush contrast */
    .hero-section__overlay {
        background: linear-gradient(
            180deg,
            rgba(23, 27, 29, 0.80) 0%,
            rgba(23, 27, 29, 0.70) 60%,
            rgba(59, 7, 11, 0.72) 100%
        );
    }

    .hero-section__title {
        font-size: clamp(2rem, 8.5vw, 2.75rem);
        line-height: 1.12;
    }

    .hero-section__text {
        font-size: 1rem;
        margin-bottom: 2rem;
    }

    .hero-section__actions { flex-direction: column; }
    .hero-section__actions .btn { width: 100%; justify-content: center; }
}

/* ---------- Homepage hero : very small ---------- */
@media (max-width: 360px) {
    .hero-section { padding-block: 3.5rem 4rem; }
    .hero-section__eyebrow { font-size: 0.6875rem; letter-spacing: 0.2em; }
}