/* ============================================================
   Responsive — 1280 / 1024 / 768
   ============================================================ */

/* ---------------- <=1280 ---------------- */
@media (max-width: 1280px) {
  #dot-nav { display: none; }
}

/* ---------------- <=1024 ---------------- */
@media (max-width: 1024px) {
  .sticky-col { position: static; }
  .amen-preview { position: static; }

  #about .about-left,
  #about .about-right,
  #locale .locale-head,
  #locale .locale-left,
  #locale .locale-right,
  #location .loc-head,
  #location .loc-map,
  #location .loc-table,
  #investment .inv-left,
  #investment .inv-right,
  #faq .faq-left,
  #faq .faq-right,
  #contact .contact-left,
  #contact .contact-right,
  .craft-featured .feat-img,
  .craft-featured .feat-copy,
  .amen-preview,
  .amen-list-col {
    grid-column: 1 / 13;
  }

  #about .about-right { margin-top: 64px; }
  #locale .locale-right { margin-top: 56px; }
  #location .loc-table { margin-top: 56px; }
  #investment .inv-right { margin-top: 56px; }
  #faq .faq-right { margin-top: 48px; }
  #contact .contact-right { margin-top: 64px; }
  .craft-featured .feat-copy { margin-top: 40px; }

  .golf-stage { grid-template-columns: 1fr; min-height: 0; padding-bottom: 64px; }
  .golf-copy, .golf-art { grid-column: 1 / -1; }
  .golf-art { margin-top: 48px; }
  /* .golf-beat2 visibility now handled by the scoped rule in sections.css */

  .amen-preview { margin-bottom: 48px; }
  .amen-preview .artwork-window { aspect-ratio: 16 / 10; }

  .locale-stats { grid-template-columns: repeat(2, 1fr); row-gap: 24px; }

  .res-facts-grid { columns: 2; }
}

/* ---------------- <=768 ---------------- */
@media (max-width: 768px) {
  :root {
    --nav-h: 68px;
    --pad-room: clamp(72px, 16vw, 120px);
  }

  #nav-bar { padding: 0 20px; }
  #nav-bar .btn-bordered { display: none; }
  .nav-brand .brand-lines { display: none; }

  #menu-overlay {
    grid-template-columns: 1fr;
    padding: calc(var(--nav-h) + 16px) 24px 40px;
    gap: 32px;
  }
  .menu-aside { border-left: 0; padding-left: 0; border-top: 1px solid var(--divider); padding-top: 28px; }

  #mobile-bar { display: grid; }

  .hero-content { bottom: 88px; }
  .hero-chip { margin-bottom: 20px; }
  #hero h1 { font-size: clamp(3.4rem, 17vw, 4.5rem); }
  .hero-infoline { flex-direction: column; align-items: flex-start; gap: 10px; }
  .hero-infoline .info-sep { display: none; }
  .hero-rera { left: var(--pad-x); right: auto; bottom: 16px; font-size: .625rem; }
  .hero-ctas { gap: 24px; }
  .scroll-cue { display: none; }

  .stats-row { grid-template-columns: repeat(2, 1fr); row-gap: 48px; }
  .stat-cell + .stat-cell::before { display: none; }
  .stat-cell { border-bottom: 1px solid var(--divider); padding-bottom: 32px; }
  .stat-cell:nth-last-child(-n+2) { border-bottom: 0; padding-bottom: 0; }

  .intertitle { padding: 120px 24px; }

  /* residences: native horizontal snap (viewport defaults handle overflow) */
  .res-panel {
    width: 88vw;
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 16px 20px 72px;
  }
  .res-panel.res-facts { width: 88vw; }
  .res-facts-grid { columns: 1; margin-top: 32px; }
  .res-panel .res-art .artwork-window { aspect-ratio: 4 / 5; }
  .res-copy { margin-top: 28px; }
  .res-copy .res-features li:nth-child(n+4) { display: none; }
  .res-closing { width: 88vw; }
  .res-progress { bottom: 24px; }
  .res-counter { display: none; }

  .amen-tabs { gap: 24px; }
  .amen-row { grid-template-columns: 40px 1fr; gap: 14px; }

  .conn-row { grid-template-columns: 90px 1fr; gap: 18px; }
  .conn-row .conn-time { font-size: 1.375rem; }

  .inv-row { grid-template-columns: 1fr; gap: 12px; padding: 40px 0; }
  .inv-row.inv-accent { padding-left: 20px; }
  .inv-num { font-size: 3rem; }

  .salon { grid-template-columns: 1fr; gap: 40px; }
  .salon-col.col-b { margin-top: 0; }
  .salon-col:nth-child(2) .salon-item { margin-left: 8vw; }
  .salon-col:nth-child(1) .salon-item:nth-child(even) { margin-right: 8vw; }

  .contact-method { grid-template-columns: 1fr; gap: 6px; }
  .contact-monogram { width: 70vw; left: -10%; }

  .footer-grid { grid-template-columns: 1fr; gap: 40px; }
  .footer-wordmark { font-size: clamp(2.6rem, 11.5vw, 4rem); }
  #footer { padding-bottom: calc(56px + env(safe-area-inset-bottom) + 32px); }

  .ticker-item { padding: 0 20px; }
  .ticker-item::after { margin-left: 40px; }
}

/* ---------------- reduced motion ---------------- */
@media (prefers-reduced-motion: reduce) {
  .ticker-track {
    animation: none;
    white-space: normal;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
  }
  .ticker-group[aria-hidden="true"] { display: none; }
  .hero-media .hero-poster.kenburns { animation: none; }
  .map-marker .marker-ring { animation: none; opacity: .5; transform: scale(.6); }
  .contact-monogram { animation: none; }
  .scroll-cue { display: none; }
  .inv-num .num-fill { clip-path: inset(0 0 0 0); }
  .inv-num .num-outline { color: var(--c-gold); -webkit-text-stroke: 0; }
}
