:root{--brand:#1f3fff;--ink:#10131f;--ink-2:#454a5e;--mute:#737789;--paper:#f3eee3;--line:rgba(16,19,31,.14);--hi:#e9ff5a;--red:#ff4b2b;--serif:"Instrument Serif",Georgia,serif;--sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16.5px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
.banner{background:var(--ink);color:#fff;font-size:13.5px;padding:10px 16px;text-align:center}
.banner a{color:var(--hi)}
.embed .banner{padding:46px 18px 12px}
.embed .banner + main .top{padding-top:24px}
main{max-width:640px;margin:0 auto;padding:0 14px 60px}
.top{padding:34px 6px 22px}
.embed .top{padding-top:46px}
.logo{max-height:64px;max-width:220px;margin-bottom:16px}
.orgname{margin:0 0 10px;font:600 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
h1{font:400 clamp(34px,8vw,48px)/1 var(--serif);letter-spacing:-.02em;margin:0}
.steps-n{display:flex;align-items:center;gap:10px;margin:18px 0 0;font-size:13px;color:var(--mute)}
.steps-n i{flex:0 0 22px;height:1px;background:var(--line)}
.sheet{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 22px;margin-bottom:14px;box-shadow:0 1px 0 rgba(16,19,31,.04)}
h2{font:400 27px/1.1 var(--serif);margin:0 0 14px;letter-spacing:-.01em}
.sheet h2:not(:first-child){margin-top:26px}
.intro{margin:0;color:var(--ink-2)}
.risk,.rule{margin:0;padding:0;list-style:none;counter-reset:r}
.risk li,.rule li{position:relative;padding:11px 0 11px 30px;border-top:1px solid var(--line);color:var(--ink-2)}
.risk li::before{content:"";position:absolute;left:4px;top:19px;width:9px;height:9px;border-radius:50%;background:var(--red)}
.rule li{counter-increment:r}
.rule li::before{content:counter(r);position:absolute;left:0;top:12px;width:21px;height:21px;border-radius:50%;background:var(--ink);color:#fff;font:600 11.5px/21px var(--sans);text-align:center}
.closing{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:15px;color:var(--ink-2)}
label{display:block;font:500 14px/1.35 var(--sans);margin-bottom:14px}
label small{font-weight:400;color:var(--mute)}
input[type=text],input[type=email],input[type=tel],input[type=date],textarea{display:block;width:100%;margin-top:6px;padding:14px;border:1.5px solid #c9ccd6;border-radius:12px;font:400 17px/1.3 var(--sans);color:var(--ink);background:#fff;outline:0;-webkit-appearance:none;appearance:none;min-height:52px}
input:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:480px){.two{grid-template-columns:1fr;gap:0}}
.hint{margin:-6px 0 14px;color:var(--mute);font-size:14.5px}
.minor{display:grid;grid-template-columns:1.4fr 1fr 40px;gap:10px;align-items:end;padding:12px;background:var(--paper);border-radius:14px;margin-bottom:10px}
.minor label{margin:0}
.minor .rm{height:52px;border:0;background:transparent;font-size:26px;color:var(--mute);cursor:pointer}
@media(max-width:480px){.minor{grid-template-columns:1fr 40px}.minor label:nth-child(2){grid-column:1}.minor .rm{grid-row:1;grid-column:2}}
.add{width:100%;padding:15px;border:1.5px dashed var(--brand);color:var(--brand);background:transparent;border-radius:12px;font:600 15.5px/1 var(--sans);cursor:pointer}
.ack{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;padding:14px;border:1.5px solid #c9ccd6;border-radius:14px;cursor:pointer;font-weight:400;font-size:15.5px;margin-bottom:10px;transition:background .15s,border-color .15s}
.minor-ack{margin-top:14px}
.ack input{width:26px;height:26px;margin:0;accent-color:var(--brand)}
.ack:has(input:checked){border-color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,#fff)}
.sigbox{position:relative;margin-top:18px;border:1.5px solid var(--ink);border-radius:14px;background:
  linear-gradient(var(--line),var(--line)) 16px calc(100% - 44px)/calc(100% - 32px) 1px no-repeat,#fffef9;height:190px;overflow:hidden}
#sig{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}
.sighint{position:absolute;left:0;right:0;top:44%;text-align:center;color:#a5a8b5;font:italic 400 24px/1 var(--serif);pointer-events:none}
.clear{position:absolute;right:8px;top:8px;border:0;background:var(--paper);border-radius:999px;padding:8px 14px;font:500 13px/1 var(--sans);cursor:pointer;color:var(--ink-2)}
.err{background:#ffe7e1;border:1.5px solid var(--red);color:#8a1c06;padding:12px 14px;border-radius:12px;font-size:15px;margin:14px 0 0}
.submit{display:block;width:100%;margin-top:16px;padding:19px;border:0;border-radius:14px;background:var(--brand);color:#fff;font:600 18px/1 var(--sans);cursor:pointer;text-align:center;text-decoration:none;transition:transform .15s,filter .15s}
.submit:hover{filter:brightness(1.08)}.submit:active{transform:scale(.985)}.submit:disabled{opacity:.6}
.tiny{font-size:12.5px;color:var(--mute);margin:14px 0 0;text-align:center}.tiny a{color:inherit}
#done{min-height:100vh;display:grid;place-items:center;padding-top:30px}
.donecard{text-align:center;width:100%}
.bigtick{width:128px;height:128px;margin:0 auto 22px;display:block}
.bigtick circle{fill:#18a558}
.bigtick path{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:d .5s .15s ease-out forwards}
@keyframes d{to{stroke-dashoffset:0}}
.donecard h1{font-size:clamp(44px,11vw,64px)}
.donecard p{color:var(--ink-2);margin:14px auto;max-width:24em}
.ref{font-size:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:inline-block;min-width:240px}
.again{display:block;margin:22px auto 0;border:0;background:transparent;text-decoration:underline;font:500 15px/1 var(--sans);color:var(--ink-2);cursor:pointer}
.kiosk main{max-width:760px}.kiosk body,.kiosk{font-size:18px}
