/* extern3 responsive layout repair — 2026-10-06 */
html { overflow-x: clip; }
body { min-width: 0; overflow-x: clip; }
.footer-brand img { width: 150px; height: auto; object-fit: contain; }
.hero > *, .intro-grid > *, .section-head > *, .process > *,
.difference > *, .benchmark > *, .form-row > *, .design-showcase > *,
.landing-hero > *, .landing-intro > *, .landing-split > *,
.feature-grid > *, .landing-cta > *, footer > * { min-width: 0; }
input, select, textarea { min-width: 0; max-width: 100%; }
.hero h1, .section-pad h2, .landing-hero h1, .landing-section h2,
.landing-cta h2, .legal-page h1 { overflow-wrap: anywhere; }
.footer-links, .footer-legal { flex-wrap: wrap; }
@media (max-width: 950px) {
  body { padding-top: 86px; }
  .site-header, .site-header.legal-header {
    position: fixed; inset: 0 0 auto; width: 100%; max-width: 100%;
    margin: 0; height: 86px; z-index: 50;
  }
  .site-header .brand { flex: 0 1 150px; min-width: 0; }
  .site-header .menu-button { flex: 0 0 auto; }
  .site-header nav { top: calc(100% + 8px); max-height: calc(100dvh - 110px); overflow-y: auto; }
  html { scroll-padding-top: 106px; }
  .benchmark-form { width: 100%; }
  .hero-slide figcaption { right: 20px; bottom: 44px; font-size: .8rem; }
  .slider-controls { bottom: 20px; }
}
@media (max-width: 620px) {
  body { padding-top: 76px; }
  .site-header, .site-header.legal-header { height: 76px; }
  html { scroll-padding-top: 96px; }
  .hero h1 { font-size: clamp(2.1rem, 10vw, 2.85rem); }
  .hero-actions .button, .submit-button { max-width: 100%; white-space: normal; }
  .difference-card, .metric-card, .benchmark-form { padding: 24px; }
  .process-list li { grid-template-columns: 38px minmax(0, 1fr); gap: 14px; }
  .e3-consent { max-width: calc(100% - 24px); overflow-wrap: anywhere; }
}
