/* Responsive and accessibility layer on top of each page's own styles. */
img, video, svg { max-width: 100%; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #4ADE80; outline-offset: 2px;
}
@media (max-width: 860px) {
  nav, footer, section { padding-left: 20px !important; padding-right: 20px !important; }
  section { padding-top: 56px !important; padding-bottom: 56px !important; }
  nav { padding-top: 14px !important; padding-bottom: 14px !important; position: static !important; }
  [style*="grid-template-columns"]:not([style*="50px 1fr"]):not([style*="8px 1fr"]) { grid-template-columns: 1fr !important; }
  [style*="nowrap"] { white-space: normal !important; }
  h1 { font-size: clamp(32px, 9vw, 46px) !important; line-height: 1.05 !important; }
  h2 { font-size: clamp(24px, 6.5vw, 32px) !important; }
  [style*="max-width: 7"], [style*="max-width: 6"], [style*="max-width: 5"], [style*="max-width: 4"] { max-width: 100% !important; }
  [style*="padding: 44px"], [style*="padding: 40px;"] { padding: 24px !important; }
  [style*="justify-content: space-between"] { gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
}
svg[viewBox]{height:auto;max-width:100%}
