/* Shared registration layout. */
@font-face{font-family:"Sora";src:url(/fonts/sora.woff2) format("woff2");font-weight:100 800;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Sora";src:url(/fonts/sora-ext.woff2) format("woff2");font-weight:100 800;font-display:swap;
  unicode-range:U+0100-02BA,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist";src:url(/fonts/geist-sans.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/fonts/geist-mono.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  color-scheme:light only;
  --surface:#ffffff;--surface-2:#fafafa;--surface-3:#f5f5f4;
  --inverse:#161514;--text-strong:#161514;
  --text:rgba(22,21,20,.92);--text-2:rgba(22,21,20,.66);--text-3:rgba(22,21,20,.56);
  --text-inv-2:rgba(255,255,255,.66);
  --border:rgba(22,21,20,.08);--border-2:rgba(22,21,20,.12);
  --accent:#4B3FD4;--accent-2:#7C6BF0;--accent-soft:#EEEBFB;--accent-line:#ddd6f7;
  --display:"Sora","Geist",system-ui,sans-serif;
  --sans:"Geist",system-ui,-apple-system,sans-serif;
  --mono:"Geist Mono",ui-monospace,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--surface);-webkit-text-size-adjust:100%}
body{background:var(--surface);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;
  letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:560px;margin:0 auto;padding:0 22px 64px}

header{display:flex;align-items:center;justify-content:space-between;height:72px;margin-bottom:20px}
.header-actions{display:flex;align-items:center;gap:12px}
.pill-link{font-size:12px;color:var(--text-2)}
header img{height:26px;width:auto}

.eyebrow{display:block;font-size:13px;color:var(--text-2);margin-bottom:8px}
h1{font-family:var(--display);font-weight:500;letter-spacing:-.025em;line-height:1.2;font-size:clamp(28px,6vw,34px);color:var(--text-strong);margin-bottom:12px}
html[data-registration-path] h1{overflow-wrap:anywhere}
html[data-registration-path] .legacy-copy,html:not([data-registration-path]) .registration-copy,
html:not([data-promo-required]) .promo-field{display:none}
.lead{font-size:14px;color:var(--text-2);line-height:1.55;margin-bottom:18px}
#event-benefit{padding:12px 0;border-top:1px solid var(--border);font-size:14px;color:var(--text)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}
.promo-field{margin-bottom:18px}
label{display:block;font-size:13.5px;font-weight:500;color:var(--text-strong);margin:18px 0 7px}
label:first-of-type{margin-top:0}
label .req{color:var(--accent)}
.hint{font-size:12.5px;color:var(--text-3);margin-top:6px}
input,select{width:100%;background:var(--surface-2);border:1px solid var(--border-2);border-radius:8px;
  color:var(--text-strong);font-family:var(--sans);font-size:15px;padding:12px 14px;outline:none;
  transition:border-color .18s,background .18s,box-shadow .18s}
input::placeholder{color:var(--text-3)}
input:focus,select:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
select{appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(22,21,20,.56)' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center}
.check{display:flex;gap:11px;align-items:flex-start;margin-top:15px;cursor:pointer}
.check input{width:17px;height:17px;margin-top:3px;accent-color:var(--accent);flex:none}
.check span{font-size:13.5px;color:var(--text-2);line-height:1.5}
.hp{position:absolute;left:-9999px;opacity:0}
button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:24px;
  background:var(--inverse);color:#fff;border:1px solid transparent;border-radius:8px;height:48px;
  font-family:var(--sans);font-weight:500;font-size:16px;cursor:pointer;
  transition:background .15s}
button:hover{background:#333}
button:disabled{opacity:.55;cursor:wait;transform:none;box-shadow:none}
.lang-switch{width:auto;height:32px;margin:0;padding:0 12px;background:var(--surface);color:var(--text-2);
  border-color:var(--border-2);border-radius:6px;font-family:var(--sans);font-size:12px;letter-spacing:.04em}
.lang-switch:hover{background:var(--surface-2);color:var(--text-strong);border-color:var(--text-3);
  transform:none;box-shadow:none}
.err{display:none;margin-top:14px;font-size:13.5px;color:#BC5446;background:#FBF1EF;border:1px solid #ECD7D3;border-radius:8px;padding:11px 14px}
.fineprint{margin-top:16px;text-align:center;font-size:13px;color:var(--text-3)}

/* Confirmation uses the same surface as the form. */
#done{display:none;border:1px solid var(--border-2);border-radius:12px;padding:28px 24px}
#done .tick{width:36px;height:36px;border-radius:50%;background:#edf6f0;color:#287145;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
#done .tick svg{width:20px;height:20px}
#done h2{font-family:var(--display);font-weight:500;font-size:26px;line-height:1.3;letter-spacing:-.02em;margin-bottom:12px}
#done p{color:var(--text-2);font-size:14px}
#done .show{display:block;margin-top:18px;font-size:13px;color:var(--text-2)}
#wcnote{display:none;margin-top:12px}
#done .next{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
#done .opts{display:flex;flex-direction:column;gap:10px}
#done .opt{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:1px solid var(--border-2);border-radius:8px}
#done .opt b{font-size:14px;font-weight:500}
#done .opt-light{background:var(--inverse);color:#fff}
#done .opt-light:hover{background:#333}
#done .opt-ghost:hover{background:var(--surface-2)}
#done .disc{margin-top:18px}
#done .disc a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:420px){.wrap{padding:0 18px 40px}.card,#done{padding:20px 16px}}

footer{margin-top:40px;text-align:center;font-size:12.5px;color:var(--text-3)}
footer a{color:var(--text-3);text-decoration:underline;text-underline-offset:2px}
footer a:hover{color:var(--text-strong)}
