/* Registration v3 — form styles (loads after site.css) */
.reg-hero{background:radial-gradient(circle at 90% 0%,rgba(61,116,255,.35),transparent 50%),radial-gradient(circle at 0% 100%,rgba(224,27,54,.28),transparent 45%),var(--ink);color:#fff;padding:clamp(36px,6vw,64px) 0 clamp(80px,10vw,110px)}
.reg-hero h1{font-size:clamp(40px,6vw,70px)}
.reg-hero p{font:400 19px/1.55 var(--f-serif);color:#cfd8e8;max-width:38em;margin:14px 0 0}
.reg-hero .meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.reg-hero .meta span{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.09);font-size:14px;font-weight:600}
.reg-shell{width:min(900px,100% - var(--gut)*2);margin:-64px auto 60px;position:relative;z-index:2}
.reg-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden}
.stepper{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:#FBFAF7}
.stepper button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border:0;background:none;font:700 12px/1.1 var(--f-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--slate);cursor:pointer;position:relative}
.stepper button:disabled{cursor:default;opacity:.55}
.stepper button .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line-2);font-size:13px;letter-spacing:0;color:var(--ink)}
.stepper button.on{color:var(--ink)}.stepper button.on .n{background:var(--hong);border-color:var(--hong);color:#fff}
.stepper button.done .n{background:var(--jade);border-color:var(--jade);color:#fff}
.stepper button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:transparent}
.stepper button.on::after{background:var(--hong)}
@media(max-width:520px){.stepper button{font-size:10px;letter-spacing:.06em}}
.pane{display:none;padding:clamp(20px,4vw,36px)}.pane.on{display:block;animation:fade .35s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(6px)}}
.pane h2{font-size:clamp(24px,3.2vw,32px);margin-bottom:6px}
.pane .sub{color:var(--slate);margin:0 0 22px}
fieldset{border:0;margin:0 0 22px;padding:0}
legend{font:700 12px/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--hong);margin-bottom:14px;padding:0}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:620px){.row{grid-template-columns:1fr}}
.f{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.f label{font-weight:650;font-size:15px}
.f .opt{font-weight:400;color:var(--slate);font-size:13.5px}
.f input,.f select,.f textarea{font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid var(--line-2);border-radius:12px;background:#fff;color:var(--ink);width:100%;transition:border-color .15s,box-shadow .15s;min-height:48px}
.f textarea{min-height:92px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--chung);box-shadow:0 0 0 4px rgba(27,79,224,.14)}
.f .err{display:none;color:var(--hong-deep);font-size:13.5px;font-weight:600}
.f.bad input,.f.bad select,.f.bad textarea{border-color:var(--hong);background:#FFF7F8}
.f.bad .err{display:block}
.hint{font-size:13.5px;color:var(--slate);margin:0}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.sugg{display:none;margin:4px 0 14px;padding:12px 14px;border-radius:12px;background:var(--chung-soft);color:var(--chung-deep);font-size:15px}
.sugg.on{display:block}.sugg.warn{background:#FFF4DA;color:#7a5200}
.pick{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:620px){.pick{grid-template-columns:1fr}}
.opt-card{position:relative;display:block;cursor:pointer}
.opt-card input{position:absolute;opacity:0;pointer-events:none}
.opt-card .in{display:flex;flex-direction:column;gap:4px;height:100%;padding:18px;border:2px solid var(--line-2);border-radius:16px;transition:border-color .15s,box-shadow .15s,background .15s}
.opt-card .in b{font-size:19px}.opt-card .when{font:850 26px/1.1 var(--f-sans);font-stretch:78%}
.opt-card small{font:700 11.5px/1.3 var(--f-sans);letter-spacing:.14em;color:var(--slate)}
.opt-card .in span.d{font-size:14.5px;color:var(--slate);margin-top:4px}
.opt-card input:checked+.in{border-color:var(--chung);background:var(--chung-soft);box-shadow:0 0 0 4px rgba(27,79,224,.12)}
.opt-card.yt input:checked+.in{border-color:var(--hong);background:var(--hong-soft);box-shadow:0 0 0 4px rgba(224,27,54,.12)}
.opt-card input:focus-visible+.in{outline:3px solid var(--gold);outline-offset:2px}
.opt-card .rec{display:none;position:absolute;top:-10px;right:12px;background:var(--gold);color:var(--ink);font:800 11px/1 var(--f-sans);letter-spacing:.1em;padding:6px 8px;border-radius:999px}
.opt-card.suggested .rec{display:block}
.fees{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
@media(max-width:560px){.fees{grid-template-columns:1fr}}
.fee{border:1px solid var(--line);border-radius:14px;padding:14px;background:#FBFAF7}
.fee b{display:block;font:850 24px/1 var(--f-sans);font-stretch:80%}.fee small{color:var(--slate);font-size:13.5px}
.tot{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;background:var(--ink);color:#fff}
.tot small{display:block;color:#a9b6cc;font-size:13px}.tot b{font:850 30px/1 var(--f-sans);font-stretch:80%;color:var(--gold)}
.check{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1.5px solid var(--line);border-radius:14px;margin-bottom:10px;cursor:pointer;transition:border-color .15s,background .15s}
.check input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--jade)}
.check b{display:block;margin-bottom:2px}.check span{font-size:15px;color:#2a3549}
.check:has(input:checked){border-color:var(--jade);background:#F1FAF5}
.check.bad{border-color:var(--hong);background:#FFF7F8}
.tag{display:inline-block;font:800 10.5px/1 var(--f-sans);letter-spacing:.1em;padding:4px 6px;border-radius:6px;vertical-align:2px;margin-left:6px}
.tag.req{background:var(--hong-soft);color:var(--hong-deep)}.tag.optl{background:#EEF0F4;color:var(--slate)}.tag.rec{background:#E3F6EC;color:#0b6a3e}
.wwrap{position:relative}
.waiver{border:1px solid var(--line);background:#FCFBF9;height:380px;overflow:auto;padding:18px 20px;border-radius:14px;font:400 16px/1.6 var(--f-serif)}
.waiver h2{font:800 22px/1.2 var(--f-sans);margin:0 0 4px}.waiver h3{font:750 16.5px/1.3 var(--f-sans);margin:20px 0 6px}
.waiver .wsub{font:700 11.5px/1.4 var(--f-sans);letter-spacing:.08em;color:var(--slate);margin-bottom:12px}
.waiver .warn{background:var(--hong-soft);border-left:4px solid var(--hong);padding:10px 14px;margin:10px 0;border-radius:0 10px 10px 0}
.wjump{position:absolute;right:14px;bottom:14px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:700 13px/1 var(--f-sans);padding:10px 14px;cursor:pointer;box-shadow:var(--sh)}
.wprog{height:5px;border-radius:5px;background:var(--line);margin:10px 0;overflow:hidden}.wprog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--chung),var(--jade));transition:width .2s}
.lock{padding:12px 14px;border-radius:12px;background:#FBFAF7;border:1px dashed var(--line-2);font-weight:600;color:var(--slate);margin-bottom:12px}
.allbtn{border:1.5px solid var(--jade);background:#F1FAF5;color:#0b6a3e;font:750 14px/1 var(--f-sans);padding:11px 14px;border-radius:999px;cursor:pointer;margin:6px 0 12px}
.sig{margin-top:16px;padding:18px;border:1.5px solid var(--line);border-radius:16px;background:#FBFAF7}
.sig-preview{font:italic 400 34px/1.2 var(--f-serif);color:var(--chung-deep);border-bottom:2px solid var(--ink);padding:10px 4px 6px;margin:12px 0 8px;min-height:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sig-preview.empty{color:#b4ad9f;font-size:18px;font-style:normal}
.stamp{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font:700 11.5px/1.3 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.review{background:#FBFAF7;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:20px}
.review h3{font:700 12px/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--hong);margin-bottom:10px;display:flex;justify-content:space-between}
.review dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:15px}
.review dt{color:var(--slate);font-weight:600}.review dd{margin:0;word-break:break-word}
.btns{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:8px;padding-top:18px;border-top:1px solid var(--line)}
.btns .right{display:flex;gap:10px;align-items:center;margin-left:auto}
.draft{font-size:13px;color:var(--slate)}
.msg{display:none;margin:0 0 18px;padding:14px 16px;border-radius:14px;font-size:15.5px}
.msg.on{display:block}.msg.bad{background:var(--hong-soft);color:var(--hong-deep);border:1px solid #f5b8c2}.msg.info{background:var(--chung-soft);color:var(--chung-deep)}
.msg .btn{margin-top:10px}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.spin{display:none;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
.busy .spin{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
.done{text-align:center;padding:clamp(28px,5vw,48px) clamp(18px,4vw,36px)}
.done .tick{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;background:var(--jade);display:grid;place-items:center;color:#fff;box-shadow:0 0 0 10px #E3F6EC}
.done .tick svg{width:44px;height:44px;stroke-width:3}
.done h2{font-size:clamp(30px,4.4vw,44px)}
.done p{color:var(--slate);max-width:34em;margin:10px auto 0}
.done dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;text-align:left;max-width:520px;margin:24px auto;padding:20px 22px;border-radius:16px;background:#FBFAF7;border:1px solid var(--line)}
.done dt{font:700 11.5px/1.6 var(--f-sans);letter-spacing:.14em;color:var(--slate);text-transform:uppercase}.done dd{margin:0;font-weight:650}
.done .acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.done .next-steps{text-align:left;max-width:520px;margin:26px auto 0;padding:0;list-style:none;display:grid;gap:10px}
.done .next-steps li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.done .next-steps li b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--chung-soft);color:var(--chung-deep);display:grid;place-items:center;font-size:13px}
@media print{.reg-hero,.stepper,.btns,.wjump,.lock,.allbtn{display:none!important}.reg-shell{margin:0;width:100%}.reg-card{box-shadow:none;border:0}.pane{display:block!important}.pane[data-pane="5"]{display:none!important}.waiver{height:auto;overflow:visible;border:0}}
@media(max-width:520px){.done dl{grid-template-columns:1fr;gap:2px;padding:16px}.done dd{margin-bottom:10px}.done .acts .btn{width:100%}.review dl{grid-template-columns:1fr;gap:0}.review dd{margin-bottom:8px}}
