/* Folio is the shared design source. See docs/design-system.md before adding UI. */
@font-face{font-family:Archivo;font-style:normal;font-weight:400 800;font-display:swap;src:url('./archivo-latin.woff2') format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('./instrument-sans-latin.woff2') format('woff2')}
:root{
  color-scheme:light;
  --paper:#fffcf8;--surface:#fff;--ink:#252522;--accent:#fa5b35;
  --muted:#68625c;--line:#d9d1c8;--field-line:#afa69a;
  --soft:#f8e6da;--footer:#f2e9dd;--danger:#a62e27;--error-bg:#fff0ec;
  --font-body:'Instrument Sans','Segoe UI',sans-serif;
  --font-heading:Archivo,'Arial',sans-serif;
  font-family:var(--font-body);font-synthesis:none;color:var(--ink);background:var(--paper);
}
*{box-sizing:border-box}
body{margin:0}
button,input{font:inherit}
a{color:var(--ink);text-underline-offset:3px}
button{min-height:44px;padding:10px 16px;border:1px solid var(--accent);border-radius:0;background:var(--accent);color:var(--ink);font-weight:600;line-height:1.25;cursor:pointer}
button:hover{filter:brightness(.94)}
button:disabled{cursor:default;opacity:.48;filter:none}
button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}
button.secondary:hover{background:var(--soft);filter:none}
.text-button{background:transparent;border-color:transparent;color:var(--ink);padding:8px 4px;min-height:40px}
.text-button:hover{background:var(--soft);filter:none}
.danger-text{color:var(--danger)}
.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1060px)/2));background:var(--accent)}
.topbar .text-button:hover{background:#ffffff30}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--font-heading);font-size:27px;font-weight:800;letter-spacing:-1.5px}
.brand-mark{display:grid;place-items:center;width:30px;height:32px;background:var(--ink);color:var(--accent);font-size:24px;font-weight:700;letter-spacing:0}
.pilot-label{font-family:var(--font-body);font-size:12px;letter-spacing:0;font-weight:500;padding-left:4px}
h1{font-family:var(--font-heading);font-size:51px;line-height:1.12;font-weight:800;letter-spacing:-2.4px;margin:0 0 12px}
h2{font-family:var(--font-heading);font-size:23px;line-height:1.35;font-weight:800;letter-spacing:-.8px;margin:0 0 5px}
h3{font-size:15px;font-weight:600;margin:17px 0 8px}
label{display:block;font-size:14px;font-weight:550;margin-bottom:8px}
input:not([type=checkbox]):not([type=radio]){width:100%;min-width:0;min-height:46px;border:1px solid var(--field-line);border-radius:0;background:var(--paper);padding:11px 13px;color:var(--ink)}
input::placeholder{color:var(--muted)}
input[type=checkbox],input[type=radio]{accent-color:var(--ink);width:17px;height:17px;flex-shrink:0;cursor:pointer}
.muted{color:var(--muted)}
.small,.field-help,.help,.footnote{font-size:12px;line-height:1.65;color:var(--muted)}
.notice,.status{background:var(--soft);color:var(--ink);border:1px solid var(--line)}
.error-message,.error{background:var(--error-bg);color:var(--danger);border:1px solid var(--danger)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-80px;left:20px;padding:12px;background:var(--surface);color:var(--ink);z-index:2}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
[hidden]{display:none!important}
@media(max-width:640px){.topbar{height:72px;padding:0 21px}.brand{font-size:24px}h1{font-size:37px;letter-spacing:-1.7px}h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
