/* Independent hosting fixes; original brand styles remain in original.css. */
html { scroll-padding-top: 100px; scroll-behavior: auto; }
body { min-width: 0; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 100001; background: white; color: #151e56; padding: 12px 20px; }
.skip-link:focus { top: 10px; }
:focus-visible { outline: 3px solid #b88936; outline-offset: 4px; }
[hidden] { display: none !important; }
.wrap, .about > *, .contact > *, .detail-cols > *, .form-grid > * { min-width: 0; }
.detail-paper, .detail-side, .privacy-panel { overflow-wrap: anywhere; }
.privacy-panel { overscroll-behavior: contain; }
body.privacy-open { overflow: hidden; }
.detail-side a { line-height: 1.7; }
.hero-consult h2 { word-break: keep-all; }
/* Original revisions used 1050px for the menu button but 850px for its panel. */
@media (max-width: 1050px) {
  header .nav nav, header .mega { display: none !important; }
  header .menu { display: block; }
  header #mobile { display: none; }
  header #mobile.open { display: flex !important; flex-direction: column; gap: 0; max-height: calc(100dvh - 82px); overflow-y: auto; padding-block: 12px; }
  header #mobile a { display: block; padding: 11px 0; }
}
@media (min-width: 1051px) {
  header #mobile { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
