/* Fox & Flame mobile hardening: preserves the approved visual system. */
html { overflow-x: clip; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 0; overflow-x: clip; }
*, *::before, *::after { box-sizing: border-box; }
img, picture, video, svg, canvas { max-width: 100%; }
img { height: auto; }
main, section, article, nav, header, footer { min-width: 0; }
:where(h1,h2,h3,p,a,button,small,strong) { overflow-wrap: break-word; }
:where(.section-shell,.content-section,.hero,.interior-hero,.site-footer) { max-width: 100%; }
:where(button,a,input,textarea,select) { -webkit-tap-highlight-color: transparent; }
:where(button,a,input,textarea,select):focus-visible { outline: 2px solid #ffae58; outline-offset: 3px; }
@media (max-width: 820px) {
  :where(.two-column,.founder-grid,.work-feature-grid,.work-feature,.process-grid) { min-width: 0; }
  :where(.hero-copy,.hero-mark,.interior-hero,.founder-card,.work-feature-copy,.prose) { min-width: 0; }
  :where(.site-footer,.hero-actions,.work-feature-actions) { flex-wrap: wrap; }
}
@media (max-width: 580px) {
  :where(.section-shell,.hero,.interior-hero,.content-section,.site-footer) { max-width: 100%; }
  .site-nav a, .menu-toggle { min-height: 44px; }
  :where(.hero-actions .button,.work-feature-actions .button) { max-width: 100%; white-space: normal; text-align: center; }
  :where(.founder-card,.work-feature-copy,.work-capability-grid article,.build-grid article) { overflow-wrap: anywhere; }
  .signal-steps { gap: 0; }
  .signal-step { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .home-signal::before, .signal-bolt, .signal-step .signal-dot { animation: none !important; }
}
