/* ============================================
   Diamond Arch — Responsive
   ============================================ */

@media (max-width: 1440px) {
  :root { --container: min(1180px, calc(100% - 48px)); }
}

@media (max-width: 1200px) {
  .plots-grid { grid-template-columns: repeat(2, 1fr); }
  .amenities-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-content { max-width: 680px; }
  .hero-actions { gap: 12px; }
}

@media (max-width: 992px) {
  .nav-links { display: none; }
  .hamburger { display: grid; }
  .nav-actions .btn { display: none; }
  .hero { min-height: 92vh; align-items: center; padding-bottom: 100px; }
  .hero-content { width: 100%; max-width: 100%; padding: 0 20px; }
  .hero-content h1 { max-width: 100%; }
  .hero-actions { width: 100%; display: flex; flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; }
  .hero-stats { gap: 18px; }
  .hero-stats .item { flex: 1 1 45%; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .plots-grid { grid-template-columns: 1fr; }
  .location-grid, .details-layout, .contact-grid { grid-template-columns: 1fr; }
  .why-grid { grid-template-columns: 1fr; }
  .why-visual { aspect-ratio: 16/10; max-height: 420px; }
  .sticky-card { position: static; top: auto; }
  .docs-grid { grid-template-columns: 1fr; }
  .masonry { columns: 2; }
  .gallery-slide { width: min(340px, 78vw); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  :root { --container: min(100%, calc(100% - 32px)); --header-h: 72px; }
  .hero { padding-top: calc(var(--header-h) + 28px); }
  .hero-actions { gap: 14px; }
  .hero-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .amenities-grid { grid-template-columns: repeat(2, 1fr); }
  .final-cta { padding: 40px 24px; border-radius: 28px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .floating-actions { right: 14px; bottom: 16px; }
  .fab { width: 48px; height: 48px; }
  .page-hero { padding-top: calc(var(--header-h) + 40px); }
  .gallery-slide { width: min(300px, 84vw); }
  .contact-grid { grid-template-columns: 1fr; }
  .trust-item, .plot-card { width: 100%; }
  .doc-card, .review-card, .contact-info-card { width: 100%; }
}

@media (max-width: 576px) {
  .trust-grid { grid-template-columns: 1fr; }
  .amenities-grid { grid-template-columns: 1fr; }
  .masonry { columns: 1; }
  .hero-actions .btn { width: 100%; }
  .section { padding: 64px 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .site-header .inner { flex-wrap: wrap; gap: 14px; }
  .hero { padding-top: calc(var(--header-h) + 24px); padding-bottom: 72px; }
  .hero-content { padding: 0 16px; }
  .hero-content h1 { font-size: clamp(2.1rem, 5vw, 2.6rem); }
  .hero-glass { width: 100%; }
  .hero-stats { grid-template-columns: 1fr; gap: 16px; }
  .cta-grid { grid-template-columns: 1fr; }
  .inquiry-modal { padding: 24px 20px; }
  .footer-bottom { gap: 10px; }
  .plot-card-body { padding: 18px 18px 20px; }
  .map-frame { min-height: 260px; }
  .plot-card-media { aspect-ratio: 5 / 4; }
}

@media (max-width: 425px) {
  h1 { font-size: 2.1rem; }
  .btn-lg { padding: 16px 22px; }
}

@media (min-width: 1920px) {
  :root { --container: min(1320px, calc(100% - 80px)); }
}

@media (min-width: 2560px) {
  :root { --container: min(1480px, calc(100% - 120px)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal { opacity: 1; transform: none; }
  .marquee-track { animation: none; }
}
