/* ============================================================
   MARLOWE — Responsive
   ============================================================ */

@media (max-width: 1120px) {
    .wine-grid { grid-template-columns: repeat(3, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr 1fr 1.2fr; }
    .footer-news { grid-column: 1 / -1; }
    .hero { grid-template-columns: 1fr; }
    .hero-media { min-height: 420px; order: -1; }
    .hero-media img { position: static; height: 420px; }
    .hero-copy { padding: var(--space-lg) max(calc((100vw - var(--container)) / 2), 1.25rem); }
}

@media (max-width: 920px) {
    .main-nav { display: none; }
    .nav-toggle { display: inline-flex; }
    .wine-grid { grid-template-columns: repeat(2, 1fr); }
    .exp-grid, .journal-grid { grid-template-columns: 1fr 1fr; }
    .quotes-grid { grid-template-columns: 1fr; }
    .stats-band { grid-template-columns: 1fr 1fr; }
    .split { grid-template-columns: 1fr; }
    .split--reverse .split-img { order: 0; }
    .wine-detail { grid-template-columns: 1fr; }
    .gallery { position: static; }
    .visit-grid, .contact-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .footer-news { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    :root { --space-xl: 3.5rem; --space-lg: 2rem; }
    .container { width: min(var(--container), 100% - 2rem); }
    h1 { font-size: clamp(2.3rem, 9vw, 3rem); }
    .wine-grid { grid-template-columns: 1fr; }
    .exp-grid, .journal-grid { grid-template-columns: 1fr; }
    .stats-band { grid-template-columns: 1fr 1fr; gap: .8rem; }
    .stat-card b { font-size: 2rem; }
    .hero-media { min-height: 320px; }
    .hero-media img { height: 320px; }
    .hero-tag { left: 1rem; bottom: 1rem; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid .span-2 { grid-column: auto; }
    .footer-grid { grid-template-columns: 1fr; gap: 1.8rem; }
    .footer-bottom { justify-content: center; text-align: center; }
    .hero-actions .btn { width: 100%; }
    .club-actions .btn { width: 100%; }
}

@media (max-width: 380px) {
    .brand-name { font-size: 1.4rem; }
    .stats-band { grid-template-columns: 1fr; }
}
