/* Shared responsive layout for the public site. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
img { max-width: 100%; }
a, button { touch-action: manipulation; }
a:focus-visible, button:focus-visible { outline: 2px solid #B08D57; outline-offset: 4px; }
.mobile-toggle { display: none; }
@media (max-width: 1200px) {
  .site-header { position: relative !important; padding: 16px 24px !important; background: #0C1620; gap: 0 !important; }
  .site-header > :first-child { max-width: calc(100% - 80px); }
  .mobile-toggle { display: inline-flex; align-items: center; justify-content: center; margin-left: auto; min-height: 44px; padding: 10px 14px; border: 1px solid #78818a; border-radius: 2px; background: transparent; color: #F5F2EC; font: 500 14px 'Archivo', sans-serif; cursor: pointer; }
  .site-header > nav { display: flex !important; width: 100%; flex-direction: column; align-items: stretch !important; gap: 0 !important; padding-top: 16px; }
  .site-header > nav > a, .site-header .nav-dd > a { display: flex; align-items: center; min-height: 44px; }
  .site-header .nav-dd { display: block; width: 100%; }
  .site-header .nav-caret { display: none; }
  .site-header .nav-dd-menu { position: static; opacity: 1; visibility: visible; transform: none; background: transparent; border: 0; padding: 0 0 4px 16px; min-width: 0; }
  .site-header .nav-dd-menu a { display: flex; align-items: center; min-height: 44px; padding: 10px 0; white-space: normal; }
  .site-header > nav + div { width: 100%; padding-top: 16px; flex-wrap: wrap; }
  .site-header > nav + div a { min-height: 44px; display: inline-flex; align-items: center; }
  .site-header.menu-ready:not(.menu-open) > nav, .site-header.menu-ready:not(.menu-open) > nav + div { display: none !important; }
}
@media (max-width: 1100px) {
  section, footer { padding: 56px 24px !important; }
  [style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
  [style*="display: grid"] > *, [style*="display: flex"] > * { min-width: 0; }
  [style*="gap: 80px"], [style*="gap: 88px"], [style*="gap: 64px"], [style*="gap: 48px"] { gap: 32px !important; }
  h1 { font-size: clamp(36px, 7vw, 58px) !important; line-height: 1.1 !important; }
  h2 { font-size: clamp(30px, 5vw, 40px) !important; }
  [data-screen-label="Hero"] { min-height: 0 !important; }
  .home-hero { padding: 0 !important; }
  .hero-copy { padding: 56px 24px 0 !important; }
  .hero-actions { flex-direction: column; margin-bottom: 40px !important; gap: 12px !important; }
  .hero-actions a { justify-content: space-between; min-height: 56px; padding: 16px 20px !important; line-height: 1.4; }
  .hero-stats, [data-screen-label="Stats"] > div { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hero-stats > div, [data-screen-label="Stats"] > div > div { padding: 24px 18px !important; border-bottom: 1px solid rgba(245,242,236,.12); }
  .hero-stats > div > :first-child { font-size: clamp(22px, 6vw, 38px) !important; white-space: nowrap; }
  .hero-stats > div > :last-child { font-size: 10px !important; letter-spacing: .12em !important; line-height: 1.6; }
  .hero-stats > div:nth-child(2n) { border-right: 0 !important; }
  [data-screen-label="Stats"] { padding: 0 !important; }
  footer [style*="display: flex"] { flex-wrap: wrap; }
  a[href^="mailto:"] { overflow-wrap: anywhere; }
  table { display: block; max-width: 100%; overflow-x: auto; }
}
@media (max-width: 600px) {
  .site-header { padding: 12px 20px !important; }
  .site-header > :first-child { gap: 6px !important; flex-wrap: wrap; }
  .site-header > :first-child > :last-child { font-size: 8px !important; letter-spacing: .18em !important; }
  section, footer { padding-left: 20px !important; padding-right: 20px !important; }
  .hero-copy { padding-left: 20px !important; padding-right: 20px !important; }
  .mobile-card { padding-left: 20px !important; padding-right: 20px !important; }
  .mobile-wrap { flex-wrap: wrap !important; }
  .tab-btn { padding: 14px 12px !important; }
}
