/* ============================================================
   HALLOW & KEY — Responsive
   Desktop 1440+ · laptop 1024–1439 · tablet 768–1023 ·
   mobile 480–767 · small 320–479
   ============================================================ */

/* ---------- Laptop (1024–1439) ---------- */
@media (max-width: 1439px) {
    .hero-inner { gap: 2.5rem; }
    .hero-collage { height: 470px; }
}

@media (max-width: 1160px) {
    .hero-inner { grid-template-columns: 1fr; padding-top: 4rem; }
    .hero-sub { max-width: 40rem; }
    .hero-collage { height: 420px; max-width: 720px; }
    .listing-grid { grid-template-columns: repeat(2, 1fr); }
    .neighborhood-grid { grid-template-columns: repeat(2, 1fr); }
    .agent-grid { grid-template-columns: repeat(2, 1fr); }
    .promise-grid { grid-template-columns: repeat(2, 1fr); }
    .journal-grid { grid-template-columns: repeat(2, 1fr); }
    .stats-band { grid-template-columns: repeat(2, 1fr); }
    .footer-top { grid-template-columns: 1fr 1fr; }
    .ld-layout { grid-template-columns: 1fr; }
    .ld-side { position: static; }
    .contact-layout { grid-template-columns: 1fr; }
    .about-split { grid-template-columns: 1fr; }
    .about-split img { order: -1; }
}

/* ---------- Tablet (768–1023) ---------- */
@media (max-width: 1023px) {
    .main-nav { display: none; }
    .nav-toggle { display: inline-flex; }
    .header-actions .btn--nav { display: none; }
    .hero-collage { height: 380px; }
    .process-grid { grid-template-columns: 1fr; max-width: 30rem; }
    .testi-grid { grid-template-columns: 1fr; }
    .hs-row { grid-template-columns: 1fr 1fr; }
    .hs-row .btn { grid-column: 1 / -1; }
    .stats-inline { grid-template-columns: repeat(2, 1fr); }
    .footer-news { flex-direction: column; align-items: flex-start; }
}

/* ---------- Mobile (480–767) ---------- */
@media (max-width: 767px) {
    :root { --space-xl: 3.6rem; --space-lg: 2.4rem; }
    .announce-inner { font-size: .8rem; }
    .announce-inner a { display: none; }
    .header-inner { min-height: 66px; }
    .brand-text { font-size: 1.2rem; }
    .brand-mark { width: 36px; height: 36px; }
    .hero-inner { padding: 3rem 1.2rem 3.8rem; }
    .hero h1 { font-size: clamp(2.1rem, 9vw, 2.8rem); }
    .hero-trust { gap: 1.4rem; flex-wrap: wrap; }
    .hero-collage { grid-template-columns: 1fr 1fr; height: 320px; }
    .hc-main { grid-row: auto; grid-column: 1 / -1; }
    .listing-grid { grid-template-columns: 1fr; }
    .neighborhood-grid { grid-template-columns: 1fr; }
    .agent-grid { grid-template-columns: 1fr; }
    .promise-grid { grid-template-columns: 1fr; }
    .journal-grid { grid-template-columns: 1fr; }
    .stats-band { grid-template-columns: 1fr 1fr; gap: 1.8rem; }
    .section-head .head-row { align-items: flex-start; flex-direction: column; }
    .cta-band { padding: 2.4rem 1.6rem; }
    .footer-top { grid-template-columns: 1fr; gap: 1.8rem; }
    .filter-bar { gap: .8rem; }
    .filter-count { margin-left: 0; width: 100%; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid .field--full { grid-column: auto; }
    .hero-search .hs-row { grid-template-columns: 1fr; }
    .ld-thumbs { grid-template-columns: repeat(3, 1fr); }
    .article-hero img { aspect-ratio: 16 / 10; }
    .thanks-actions .btn { width: 100%; }
}

/* ---------- Small mobile (320–479) ---------- */
@media (max-width: 479px) {
    .container { padding: 0 1.1rem; }
    .brand-text { font-size: 1.1rem; }
    .header-actions { gap: .55rem; }
    .hero-collage { height: 260px; }
    .hero-trust b { font-size: 1.25rem; }
    .stats-band .stat b { font-size: 1.7rem; }
    .listing-specs { flex-wrap: wrap; gap: .8rem; }
    .footer-bottom { flex-direction: column; text-align: center; }
    .news-form { flex-direction: column; }
    .news-form .btn { width: 100%; }
    .article-body p { font-size: .98rem; }
}
