@font-face { font-family: Inter; src: url('../../../vendor/inter/InterVariable.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
:root {
  --bg: #f4f7fb; --bg-soft: #eef3f9; --bg-card: #fff;
  --border: #d9e3ef; --control-border: #7a899c; --text: #132238; --muted: #526278;
  --accent: #087463; --accent-soft: #def5ef; --warning: #80510c; --warning-soft: #fff3cd;
  --danger: #a92e45; --danger-soft: #ffe1e7; --success: #087463;
  --shadow: 0 8px 24px rgba(19,34,56,.05); --max-width: 1320px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, system-ui, sans-serif; color: var(--text); background: var(--bg); min-height: 100vh; line-height: 1.5; }
button, input, select { font: inherit; color: inherit; }
button, summary { cursor: pointer; }
h1, h2, h3, p { margin: 0; }
h2 { font-size: 1.375rem; }
h3 { font-size: 1rem; }
a { color: var(--accent); text-underline-offset: 3px; }
:focus-visible { outline: 3px solid #335c9f; outline-offset: 3px; }
[hidden] { display: none !important; }
button:disabled, button[aria-disabled="true"] { color: #526278; background: #eef3f9; cursor: default; }
.skip-link { position: absolute; top: -100px; left: 12px; padding: 12px; background: white; z-index: 2; }
.skip-link:focus { top: 8px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }

/* Two static accents, bounded by the body and absent from hit testing/accessibility. */
body { position: relative; isolation: isolate; }
body::before, body::after { content: ''; position: absolute; z-index: -1; pointer-events: none; background: #A0D23B; opacity: .06; width: min(34vw, 420px); height: 480px; clip-path: polygon(0 0, 100% 24%, 40% 100%, 36% 99%, 95% 26%, 0 4%); }
body::before { top: 40px; left: 0; }
body::after { top: 800px; right: 0; transform: rotate(180deg); }
@media (max-width: 540px) { body::after { display: none; } body::before { width: 100%; height: 300px; } }
