/* =========================================================================
   Responsive overrides
   Breakpoints tested at 375 / 390 / 414 / 768 / 1024 / 1440 / 1920
   ========================================================================= */

/* ---- Laptop / small desktop ---- */
@media (max-width: 1180px) {
    :root { --gutter: 32px; }
    .signature__labels { grid-template-columns: 1fr; gap: var(--space-md); }
    .trust-strip { grid-template-columns: 1fr; }
}

/* ---- Tablet ---- */
@media (max-width: 1024px) {
    .grid-2,
    .about-grid,
    .treatment-row {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }
    .treatment-row:nth-of-type(even) { direction: ltr; }
    .about-grid__meta { grid-template-columns: 1fr 1fr; }
    .site-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--space-lg); }
    .instagram-grid { grid-template-columns: repeat(3, 1fr); gap: 6px; }
}

/* ---- Nav collapses to mobile menu ---- */
@media (max-width: 900px) {
    .site-nav__links,
    .btn-nav { display: none; }
    .menu-toggle { display: flex; }
    .hero__content { max-width: 100%; }
}

/* ---- Mobile (general) ---- */
@media (max-width: 768px) {
    :root {
        --space-2xl: 96px;
        --space-xl: 64px;
        --space-lg: 40px;
    }

    .section { padding: var(--space-2xl) 0; }

    .hero { align-items: flex-end; min-height: 100svh; }
    .hero__content { padding-bottom: var(--space-xl); }
    .hero__title { font-size: clamp(36px, 11vw, 48px); }
    .hero__actions { flex-direction: column; align-items: stretch; }
    .hero__actions .btn { justify-content: center; }
    .scroll-cue { display: none; }

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

    .locations__names { flex-direction: column; gap: 12px; }
    .locations__names span::after { display: none; }

    .site-footer__grid { grid-template-columns: 1fr; gap: var(--space-md); }
    .site-footer__base { flex-direction: column; align-items: flex-start; gap: 6px; }
    .site-footer__legal, .site-footer__credit { order: initial; }

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

    .treatment-card { grid-template-columns: 50px 1fr; }
    .treatment-card__arrow { display: none; }

    .cursor-dot, .cursor-ring { display: none; }
}

/* ---- Small phones ---- */
@media (max-width: 414px) {
    .display-1 { font-size: clamp(34px, 11vw, 42px); }
    .btn { width: 100%; justify-content: center; }
    .hero__actions .btn { width: 100%; }
    .page-hero { padding-top: 140px; }
}

/* ---- Large desktop ---- */
@media (min-width: 1600px) {
    :root { --container: 1480px; }
}
