:root{--bg:#121017;--surface:#1C1926;--purple:#5B21E0;--pink:#FF3D77;--gold:#F2C51C;--text:#F5F3FA;--muted:#A9A3BD;--line:#2E2A3D;--danger:#FF6B81;--grad:linear-gradient(90deg,#5B21E0,#FF3D77 55%,#F2C51C)}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;min-height:100vh;color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.5;
  background:radial-gradient(70% 45% at 50% -5%,rgba(91,33,224,.5),transparent 70%),radial-gradient(55% 40% at 100% 100%,rgba(255,61,119,.28),transparent 70%),radial-gradient(40% 30% at 0% 100%,rgba(242,197,28,.12),transparent 70%),var(--bg)}
.wrap{width:100%;max-width:520px;margin:0 auto;padding:32px 20px 56px;display:flex;flex-direction:column;align-items:center}
.logo{display:block;width:min(220px,55vw);height:auto;filter:drop-shadow(0 8px 30px rgba(255,61,119,.35))}
.logo.small{width:min(150px,40vw)}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
h1{font-size:clamp(2.4rem,11vw,3.6rem);line-height:1.05;margin:24px 0 8px;font-weight:800;letter-spacing:-.02em;text-align:center}
h2{font-size:1.5rem;margin:20px 0 6px;text-align:center}
p.lead{color:var(--muted);text-align:center;margin:0 0 20px}
.btn{display:inline-block;border:0;cursor:pointer;color:#fff;text-decoration:none;font-weight:700;font-size:1.05rem;padding:15px 34px;border-radius:999px;
  background:linear-gradient(90deg,var(--purple),var(--pink));box-shadow:0 10px 30px rgba(91,33,224,.45);transition:transform .15s}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);outline:2px solid var(--gold);outline-offset:3px}
.btn[disabled]{opacity:.6;cursor:wait;transform:none}
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center;gap:6px}
form{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px 18px;display:grid;gap:14px}
label{font-size:.9rem;font-weight:600;display:block;margin-bottom:5px}
label .opt{color:var(--muted);font-weight:400}
input[type=text],input[type=email],input[type=tel]{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:#14111c;color:var(--text);font-size:1rem}
input:focus-visible{outline:2px solid var(--pink);outline-offset:1px}
.row{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:480px){.row{grid-template-columns:1fr 1fr}}
.combo{position:relative}
#school-list{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;max-height:260px;overflow:auto;background:#1f1b2b;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.5)}
#school-list li{padding:10px 12px;border-radius:8px;cursor:pointer;font-size:.95rem}
#school-list li small{color:var(--muted)}
#school-list li[aria-selected=true],#school-list li:hover{background:rgba(91,33,224,.45)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--muted)}
.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--pink);flex:none}
.check label{font-weight:400;margin:0}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{border-radius:12px;padding:12px 14px;font-size:.92rem;text-align:center;width:100%}
.msg.err{background:rgba(255,107,129,.12);border:1px solid var(--danger);color:#ffd6dc}
.msg.ok{background:rgba(242,197,28,.12);border:1px solid var(--gold);color:#fff2c2}
.card{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px 18px;text-align:center;display:grid;gap:14px}
.linkbox{display:flex;gap:8px;align-items:stretch}
.linkbox input{flex:1;min-width:0;font-size:.9rem}
.linkbox .btn{padding:12px 18px;font-size:.95rem}
.count{font-size:1.05rem;color:var(--gold);font-weight:600}
.small-print{color:var(--muted);font-size:.78rem;text-align:center;margin-top:14px}
.perks{display:grid;gap:10px;text-align:left;font-size:.92rem;line-height:1.45}.perks p{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.sharerow{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.btn.ghost{background:transparent;border:1px solid var(--line);color:#fff}
[hidden]{display:none!important}
