:root {
  --lw-navy: #0a1527;
  --lw-navy-raised: #132038;
  --lw-light: #eceff3;
  --lw-muted: #9faec0;
  --lw-orange: #f36b21;
  --lw-orange-accessible: #b84200;
  --lw-focus: #ffd166;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
header nav a:not([style*="background"]) { color: var(--lw-light) !important; }

a, button, input, select, textarea { touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--lw-focus) !important;
  outline-offset: 3px !important;
}

/* Orange is a brand accent, but needs a darker variant when used as small
   text on the light canvas to maintain WCAG AA contrast. */
[style*="color:#F36B21"][style*="background:#ECEFF3"],
[style*="color: #F36B21"][style*="background: #ECEFF3"] { color: var(--lw-orange-accessible) !important; }
[style*="background:#ECEFF3"] [style*="color:#F36B21"],
[style*="background: #ECEFF3"] [style*="color: #F36B21"] { color: var(--lw-orange-accessible) !important; }

.lw-skip-link {
  position: fixed; left: 12px; top: 12px; z-index: 2147483647;
  transform: translateY(-160%); padding: 12px 16px;
  background: var(--lw-light); color: var(--lw-navy);
  font: 700 14px/1.2 Inter, system-ui, sans-serif;
}
.lw-skip-link:focus { transform: translateY(0); }

.lw-menu-toggle {
  display: none; min-width: 48px; min-height: 48px; padding: 10px;
  border: 1px solid rgba(255,255,255,.28); background: transparent;
  color: var(--lw-light); font: 700 13px/1 Inter, system-ui, sans-serif;
  cursor: pointer;
}

.lw-form-status { min-height: 1.5em; font-weight: 700; }
.lw-form-status[data-state="error"] { color: #7d1b00; }
.lw-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.lw-cookie-settings {
  color: var(--lw-muted); background: none; border: 0; padding: 0;
  font: inherit; font-size: 14px; text-decoration: underline; cursor: pointer;
}

@media (max-width: 900px) {
  header { padding: 14px 18px !important; gap: 12px; }
  header > nav {
    display: none !important; position: absolute; top: 100%; left: 0; right: 0;
    padding: 18px; background: var(--lw-navy); border-bottom: 1px solid rgba(255,255,255,.14);
    flex-direction: column; align-items: stretch !important; gap: 0 !important;
    max-height: calc(100vh - 76px); overflow-y: auto;
  }
  header.lw-menu-open > nav { display: flex !important; }
  header > nav a { display: block; min-height: 48px; padding: 14px 10px !important; }
  .lw-menu-toggle { display: inline-flex; align-items: center; justify-content: center; margin-left: auto; }
}

@media (max-width: 900px) {
  section, footer { max-width: 100% !important; }
  section[style*="padding:110px 48px"], section[style*="padding: 110px 48px"],
  section[style*="padding:80px 48px"], section[style*="padding: 80px 48px"],
  section[style*="padding:96px 48px"], section[style*="padding: 96px 48px"] {
    padding: 64px 20px !important;
  }
  section[style*="padding:140px 48px 120px"], section[style*="padding: 140px 48px 120px"] {
    padding: 96px 20px 72px !important;
  }
  footer { padding: 40px 20px !important; }
  [style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
  [style*="display:flex"] { max-width: 100%; }
  [style*="font-size:24px"] { font-size: 19px !important; }
  [style*="font-size:52px"] { font-size: 40px !important; }
  [style*="height:560px"] { height: 380px !important; }
  [style*="height:460px"] { height: 360px !important; }
  form[style*="display:flex"] { width: 100%; }
  input, select, textarea { min-width: 0; width: 100%; }
  button, [role="button"] { min-height: 44px; }
}

@media (max-width: 479px) {
  [style*="padding:64px"] { padding: 32px 20px !important; }
  [style*="padding:48px"] { padding: 32px 20px !important; }
  [style*="gap:64px"] { gap: 32px !important; }
  [style*="gap:48px"] { gap: 28px !important; }
  form[style*="gap:12px"] { flex-direction: column !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media print {
  .lw-menu-toggle, .lw-skip-link, .lw-cookie-settings { display: none !important; }
}
