/* ============================================================
   CENTRAL PARK RESIDENCES — RESPONSIVE OVERRIDES
   responsive.css
   ------------------------------------------------------------
   Every @media breakpoint from assets/site.css, extracted verbatim
   in source order. MUST load AFTER core.css and utilities.css so
   these overrides win the cascade.

   Breakpoint scale:
     980px  → nav collapses to hamburger
     880px  → most multi-column grids collapse to 1 column
     760px  → hero/snapshot/statband/accordion stack; sticky mobile CTA appears
     640px  → map overlay becomes in-flow
     560px  → footer collapses to 1 column

   Depends on: variables.css, core.css, utilities.css
   ============================================================ */

/* ---- Nav (980) ---- */
@media(max-width:980px){
  .nav-phone{display:none;}
  .nav-burger{display:flex;}
  .nav-menu{position:fixed;top:70px;left:12px;right:12px;flex-direction:column;gap:4px;background:rgba(21,21,19,.97);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);border:1px solid var(--line-d);border-radius:18px;padding:12px;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease);z-index:95;}
  .nav.open .nav-menu{opacity:1;transform:none;pointer-events:auto;}
  .nav-menu a{padding:14px 16px;font-size:15px;border-radius:12px;width:100%;}
}

/* ---- Hero (760) ---- */
@media(max-width:760px){
  .hero{padding-bottom:40px;}
  .hero-top{position:static;text-align:left;margin-bottom:24px;}
  .hero-stat{align-items:flex-start;}
  .hero-row{flex-direction:column;align-items:stretch;}
}

/* ---- Pillars + image cards (880) ---- */
@media(max-width:880px){.pillars,.img-cards{grid-template-columns:1fr;}}

/* ---- Investor snapshot (760) ---- */
@media(max-width:760px){.snap-grid{grid-template-columns:1fr 1fr;gap:22px;}.snap:nth-child(2){border-right:none;}.snap{padding-right:0;}}

/* ---- Stat band (760) ---- */
@media(max-width:760px){.sb-grid{grid-template-columns:1fr;gap:26px;}.sb-item{border-right:none !important;border-bottom:1px solid var(--line-d);padding-bottom:24px;}}

/* ---- Residences accordion (760) ---- */
@media(max-width:760px){.acc-inner{grid-template-columns:1fr;gap:22px;}}

/* ---- Value list (880) ---- */
@media(max-width:880px){.value-grid{grid-template-columns:1fr;}.value-photo{aspect-ratio:4/3;}}

/* ---- See inside tags (760) ---- */
@media(max-width:760px){.inside-tags{flex-wrap:wrap;}.inside-tag{flex:1 0 50%;border-bottom:1px solid var(--line-d);}}

/* ---- Location overlay (640) ---- */
@media(max-width:640px){.loc-overlay{position:static;width:auto;margin:14px;}}

/* ---- Testimonial (760) ---- */
@media(max-width:760px){.testi-grid{grid-template-columns:1fr;gap:24px;}}

/* ---- Amenity cards (880) ---- */
@media(max-width:880px){.amen-grid{grid-template-columns:1fr;}}

/* ---- FAQ (880) ---- */
@media(max-width:880px){.faq-grid{grid-template-columns:1fr;gap:28px;}}

/* ---- Insight cards (880) ---- */
@media(max-width:880px){.ins-grid{grid-template-columns:1fr;}}

/* ---- Contact form (880) ---- */
@media(max-width:880px){.contact-grid{grid-template-columns:1fr;}.aform{grid-template-columns:1fr;}}

/* ---- Footer (880 / 560) ---- */
@media(max-width:880px){.foot-top{grid-template-columns:1fr 1fr;gap:30px;}}
@media(max-width:560px){.foot-top{grid-template-columns:1fr;}}

/* ---- Sticky mobile CTA (760) ---- */
@media(max-width:760px){
  .mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(21,21,19,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line-d);}
  .mobile-cta a{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:var(--r-pill);font-weight:600;font-size:14.5px;font-family:var(--sans);}
  .mcta-call{flex:0 0 38%;background:rgba(255,255,255,.08);color:#fff;border:1px solid var(--line-d);}
  .mcta-req{flex:1;background:var(--lime);color:var(--ink);}
  body{padding-bottom:74px;}
}
