@font-face{font-family:'Manrope';src:url('/fonts/manrope-latin-var.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Fraunces';src:url('/fonts/fraunces-soft-400.woff2') format('woff2');font-weight:400;font-display:swap}

/* Layout: one narrow column; a navy header band carries the brand, the form sits on paper below. One section per screen. */
:root{
  --ink:#0A1426; --ink-2:#1B2A44; --paper:#F7F4EE; --card:#FFFFFF; --line:#DCD6CA; --muted:#5B6472;
  --brass:#B8893B; --brass-soft:#F1E6CF; --sea:#2F6F7E; --danger:#A3352B; --on-ink:#F4EFE4;
  --display:'Fraunces','Iowan Old Style','Georgia',serif; --body:'Manrope','Segoe UI',system-ui,-apple-system,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#0E1729; --card:#16223A; --line:#2B3A57; --muted:#A6AFBE; --ink-2:#E9E4D8; --brass-soft:#3A3120; --danger:#E0786C; --sea:#7FB8C4; color-scheme:dark}}
:root[data-theme="dark"]{--paper:#0E1729; --card:#16223A; --line:#2B3A57; --muted:#A6AFBE; --ink-2:#E9E4D8; --brass-soft:#3A3120; --danger:#E0786C; --sea:#7FB8C4; color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink-2);font-family:var(--body);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
.band{background:var(--ink);color:var(--on-ink);padding-block:18px 26px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:640px;margin:0 auto}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-family:var(--display);font-size:19px;letter-spacing:.01em;color:var(--on-ink);text-decoration:none}
.brand b{color:var(--brass);font-weight:400}
.lang{display:inline-flex;border:1px solid rgba(244,239,228,.35);border-radius:999px;padding:3px}
.lang button{font:600 14px var(--body);color:var(--on-ink);background:none;border:0;border-radius:999px;padding:8px 14px;min-height:40px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--on-ink);color:var(--ink)}
h1{font-family:var(--display);font-weight:400;font-size:clamp(28px,6vw,38px);line-height:1.12;margin:22px 0 8px;text-wrap:balance}
.intro{margin:0;color:rgba(244,239,228,.82);max-width:52ch}
.progress{margin-top:20px}
.progress-row{display:flex;justify-content:space-between;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:rgba(244,239,228,.7);font-variant-numeric:tabular-nums}
.bar{height:6px;border-radius:6px;background:rgba(244,239,228,.16);margin-top:8px;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--brass);border-radius:6px;transition:width .35s ease}
main{padding-block:24px 120px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.screen h2{font-family:var(--display);font-weight:400;font-size:26px;margin:4px 0 4px;color:var(--ink-2)}
.note{font-size:14px;color:var(--muted);margin:0 0 18px}
.q{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 16px 18px;margin:0 0 14px}
.q legend{float:left;width:100%}
.q legend+*{clear:both}
.q legend,.q .qlabel{display:block;font-weight:700;font-size:17px;line-height:1.35;padding:0;margin:0 0 4px;color:var(--ink-2)}
.q .hint{font-size:13px;color:var(--muted);margin:0 0 10px}
fieldset.q{min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 16px;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);font-size:16px;line-height:1.25;cursor:pointer;user-select:none}
.chip input[type=checkbox]+span::before{content:"";width:16px;height:16px;border:1.5px solid var(--muted);border-radius:4px;flex:none}
.chip input:checked+span{border-color:var(--brass);background:var(--brass-soft);font-weight:600}
.chip input[type=checkbox]:checked+span::before{background:var(--brass);border-color:var(--brass);box-shadow:inset 0 0 0 3px var(--brass-soft)}
.chip input:focus-visible+span{outline:3px solid var(--sea);outline-offset:2px}
.other-in{margin-top:10px}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;font:16px var(--body);color:var(--ink-2);background:var(--paper);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;min-height:48px}
textarea{min-height:88px;resize:vertical}
input:focus-visible,textarea:focus-visible{outline:3px solid var(--sea);outline-offset:1px;border-color:var(--sea)}
.field{display:grid;gap:6px;margin-bottom:12px}
.field label{font-weight:700;font-size:15px}
.field label small{font-weight:500;color:var(--muted)}
.err{color:var(--danger);font-size:14px;margin:6px 0 0;min-height:0}
.nav{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);padding-block:12px calc(12px + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));z-index:5}
.nav .wrap{display:flex;gap:10px}
.btn{font:700 16px var(--body);border-radius:12px;min-height:52px;padding:0 20px;cursor:pointer;border:1.5px solid var(--line);background:var(--paper);color:var(--ink-2)}
.btn-primary{flex:1;background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
:root[data-theme="dark"] .btn-primary{background:var(--brass);border-color:var(--brass);color:#0A1426}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn-primary{background:var(--brass);border-color:var(--brass);color:#0A1426}}
.btn:focus-visible{outline:3px solid var(--sea);outline-offset:2px}
.btn[disabled]{opacity:.6;cursor:progress}
.thanks{text-align:left;padding-top:8px}
.thanks h2{font-family:var(--display);font-weight:400;font-size:30px;margin:0 0 8px}
.foot{font-size:13px;color:var(--muted);margin-top:18px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion: reduce){.bar i{transition:none}}
