/* ============================================================================
   AURELIA — responsive
   Desktop-first. Breakpoints: 1200 · 1024 · 860 · 640 · 480 · 380
   ========================================================================== */

/* ===== 1200px — tighten gaps ===== */
@media (max-width: 1200px) {
    .piece-grid { grid-template-columns: repeat(3, 1fr); }
    .team-grid  { grid-template-columns: repeat(2, 1fr); gap: 2.4rem; }
    .gallery-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ===== 1024px — tablet ===== */
@media (max-width: 1024px) {
    .section { padding: 5rem 0; }
    :root { --space-xl: 5rem; }

    .main-nav { gap: 1.4rem; }
    .nav-link { letter-spacing: 0.18em; }
    .header-cta span { display: none; }

    .hero { padding-top: 7.5rem; }
    .hero-grid { grid-template-columns: 1fr; gap: 3rem; }
    .hero-title { max-width: 16ch; }
    .hero-media { max-width: 560px; }
    .hero-card { left: auto; right: -1rem; bottom: -1rem; }

    .story-grid { grid-template-columns: 1fr; }
    .story-media { max-width: 540px; }

    .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.2rem; }

    .quick-body { gap: 1.4rem; }
    .contact-grid { grid-template-columns: 1fr; }
}

/* ===== 860px — small tablet / large phone ===== */
@media (max-width: 860px) {
    .main-nav { display: none; }
    .nav-toggle { display: inline-flex; }
    .header-cta { display: none; }

    .piece-grid { grid-template-columns: repeat(2, 1fr); }
    .coll-grid { grid-template-columns: 1fr; }
    .stats-row { grid-template-columns: repeat(2, 1fr); }
    .testi-grid { grid-template-columns: 1fr; }
    .values-grid { grid-template-columns: 1fr; gap: 1.2rem; }
    .gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .private-list-inner { grid-template-columns: 1fr; }
    .newsletter-form { max-width: none; }

    .timeline::before { left: 1.1rem; }
    .tl-item { grid-template-columns: 1fr; gap: 0.4rem; padding-left: 2.6rem; }
    .tl-year { text-align: left; }
    .tl-dot { left: 1.1rem; top: 0.3rem; }

    .form-grid { grid-template-columns: 1fr; }
    .form-field--full { grid-column: auto; }

    .quick-body { grid-template-columns: 1fr; }
    .quick-media img { aspect-ratio: 4 / 3; }
}

/* ===== 640px — large phone ===== */
@media (max-width: 640px) {
    .section { padding: 4rem 0; }
    :root { --space-xl: 4rem; }

    .hero { padding-top: 6.5rem; padding-bottom: 4rem; }
    .hero-actions .btn { width: 100%; }
    .hero-note { flex-wrap: wrap; }

    .piece-grid { grid-template-columns: 1fr; }
    .team-grid { grid-template-columns: 1fr; max-width: 380px; margin-inline: auto; }
    .gallery-grid { grid-template-columns: 1fr; }

    .filter-tabs { gap: 0.4rem; }
    .filter-tab { padding: 0.5rem 1.1rem; font-size: 0.66rem; }

    .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
    .footer-bottom { flex-direction: column; text-align: center; }
    .footer-demo { max-width: 40ch; margin-inline: auto; }

    .modal-card { padding: 1.8rem; }
    .newsletter-row { flex-direction: column; }
    .newsletter-row .btn { width: 100%; }

    .accordion-btn { font-size: 1.15rem; padding: 1.3rem 0.1rem; }

    .story-badge { width: 6rem; height: 6rem; font-size: 0.8rem; top: -1rem; right: -0.4rem; }

    .cta-band { padding: 3rem 1.2rem; }
    .cta-band .hero-actions .btn { width: 100%; }
}

/* ===== 380px — small phone ===== */
@media (max-width: 380px) {
    .wordmark-text { letter-spacing: 0.26em; font-size: 1.3rem; }
    .stats-row { grid-template-columns: 1fr 1fr; }
    .stat-cell { padding: 1.4rem 1rem; }
    .stat-value { font-size: 2rem; }
    .piece-quick { opacity: 1; transform: none; }
}
