:root{--bg:#F5F7FA;--surface:#fff;--ink:#0F2238;--muted:#4F6178;--line:#D9E1EA;--link:#12508F;--amber:#F2A81D;--amber-ink:#2A1A00;--bad:#B3261E;--ok:#1E7A3C;--field:#fff;
--head:'Bricolage Grotesque','Trebuchet MS',system-ui,sans-serif;--body:'Figtree','Segoe UI',system-ui,-apple-system,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#0B1624;--surface:#122238;--ink:#EAF0F7;--muted:#9FB1C5;--line:#23374F;--link:#8DB8F2;--field:#0E1C30;--bad:#FF9188;--ok:#6FD08C}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.page{width:min(640px,100% - 2rem);margin:0 auto;padding:max(1.5rem,env(safe-area-inset-top)) 0 max(2.5rem,env(safe-area-inset-bottom))}
.logo{display:block;height:56px;width:auto;margin-bottom:1.5rem}
h1{font-family:var(--head);font-weight:800;font-size:clamp(2rem,6vw,2.8rem);line-height:1.1;letter-spacing:-.01em;margin:0 0 .5em}
.lead{margin:0 0 1em;max-width:60ch}
.muted{color:var(--muted)}
.steps{margin:0 0 1.5rem;padding-left:1.2rem;color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.5rem}
form.card{display:grid;gap:1rem}
label{display:grid;gap:.35rem;font-weight:600}
input,select,textarea{font:inherit;font-weight:400;color:var(--ink);background:var(--field);border:1.5px solid var(--line);border-radius:10px;padding:.75rem .9rem;width:100%}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--link);outline:none;box-shadow:0 0 0 3px rgba(242,168,29,.45)}
.opt{font-weight:400;color:var(--muted)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}
.check input{width:auto;margin-top:.35rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.btn{font:inherit;font-weight:600;border:0;border-radius:999px;padding:.75rem 1.5rem;cursor:pointer;background:var(--amber);color:var(--amber-ink);justify-self:start}
.btn:hover{filter:brightness(1.06)}
.btn:disabled{opacity:.6;cursor:default}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.status{margin:0;font-weight:600}
.status.bad{color:var(--bad)}
@media (max-width:560px){.two{grid-template-columns:1fr}}
