/* Rae Studio — responsive layers */

@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; }

  .nav-toggle { display: block; }
  .primary-nav {
    position: absolute; inset: 100% 0 auto; display: none;
    background: rgba(248, 245, 242, 0.98); backdrop-filter: blur(14px);
    border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { flex-direction: column; align-items: stretch; gap: 0; padding: 0.5rem 1.25rem 1.25rem; }
  .primary-nav a { display: block; padding: 0.9rem 0.25rem; font-size: 0.78rem; }
  .primary-nav a::after { display: none; }
}

@media (max-width: 900px) {
  .hero { padding: 7.5rem 0 4rem; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-media { order: -1; }
  .hero-img-sm { width: 8.5rem; bottom: -1.5rem; left: 0; }
  .split { grid-template-columns: 1fr; }
  .section { padding: 3.75rem 0; }
  .page-hero { padding: 7.5rem 0 2.5rem; }
}

@media (max-width: 640px) {
  body { font-size: 0.97rem; }
  .grid-3, .grid-4, .steps, .footer-grid { grid-template-columns: 1fr; }
  .header-actions .order-btn { display: none; }
  .btn-row { flex-direction: column; align-items: stretch; }
  .btn-row .btn { width: 100%; }
  .stats { gap: 1.5rem; }
  .form { padding: 1.5rem; }
  .quote { padding: 1.5rem; font-size: 1.05rem; }
}

@media (min-width: 1400px) {
  .container { padding: 0 2rem; }
}

@media print {
  .site-header, .wa-float, .cta, .filters { display: none !important; }
  body { background: #fff; }
}
