/* Production overrides for accessibility and responsive layouts */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 3px solid oklch(0.75 0.08 235);
  outline-offset: 3px;
}
button, input { max-width: 100%; }

@media (max-width: 960px) {
  .site-nav { padding-left: 24px !important; padding-right: 24px !important; }
  section, footer { padding-left: 24px !important; padding-right: 24px !important; }
  [style*="grid-template-columns:1.2fr 1fr"],
  [style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  h1 { font-size: clamp(40px, 7vw, 58px) !important; }
}

@media (max-width: 700px) {
  .site-nav { padding: 14px 18px !important; }
  .site-nav .nav-links { display: none !important; }
  .site-nav > a:last-child { padding: 10px 14px !important; font-size: 13px !important; }
  section, footer { padding-left: 18px !important; padding-right: 18px !important; }
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: 1fr !important; }
  [style*="padding:56px"] { padding: 28px 20px !important; }
  h1 { font-size: clamp(36px, 11vw, 48px) !important; }
  h2 { font-size: clamp(28px, 8vw, 38px) !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* Explicit responsive classes added during production export. */
.responsive-grid > * { min-width: 0; }

@media (max-width: 960px) {
  .grid-split { grid-template-columns: 1fr !important; }
  .grid-multi { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 700px) {
  .responsive-grid { grid-template-columns: 1fr !important; }
  .hero-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100% !important;
  }
  .hero-stats > * {
    min-width: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .hero-stats [style*="font-size: 34px"],
  .hero-stats [style*="font-size:34px"] { font-size: 25px !important; }
}
