/* ==========================================================================
   Divine Nexus — Responsive Rules
   ========================================================================== */

@media screen and (min-width: 1600px) {
  :root { --container: 1400px; }
}

@media screen and (max-width: 1200px) {
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .bento { grid-template-columns: repeat(3, 1fr); }
  .hscroll-item { flex-basis: 220px; }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-grid .newsletter-col { grid-column: span 3; }
}

@media screen and (max-width: 960px) {
  .hero { min-height: auto; padding: 150px 0 90px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-art { height: 380px; order: -1; margin-bottom: 10px; }
  .hero-copy p.lead { max-width: 100%; }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .bento { grid-template-columns: repeat(2, 1fr); }
  .bento-item.big { grid-column: span 2; grid-row: span 1; }
  .impact-panel { grid-template-columns: repeat(2, 1fr); }
  .compare-grid { grid-template-columns: 1fr; }
  .cta-band { padding: 56px 30px; }
  .newsletter-glass { justify-content: center; text-align: center; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}

@media screen and (max-width: 640px) {
  .container { padding: 0 18px; }
  .section-pad { padding: 64px 0; }
  h1 { font-size: 2.1rem !important; }
  .card-grid { grid-template-columns: 1fr; }
  .bento { grid-template-columns: 1fr; grid-auto-rows: 110px; }
  .bento-item.big { grid-column: span 1; grid-row: span 1; }
  .impact-panel { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .glass-card { padding: 10px 14px; font-size: .78rem; }
  .glass-card .dot { width: 28px; height: 28px; }
  .form-panel { padding: 26px; }
  .cta-band { padding: 40px 22px; }
  .story-steps { gap: 40px; }
}

@media screen and (min-width: 2200px) {
  body { font-size: 1.1rem; }
  :root { --container: 1600px; }
}
