.top{padding-top:22px;padding-bottom:6px}
.reg{padding-top:28px}
.h1{font-family:var(--display);font-weight:700;font-size:clamp(28px,6.4vw,46px);line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.intro .h1{opacity:0;animation:fadeUp .8s var(--ease) .1s forwards}
.facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin:22px 0 26px;color:var(--muted);font-weight:600}
.facts li{display:flex;align-items:center;gap:8px;opacity:0;animation:fadeUp .7s var(--ease) forwards}
.facts li:nth-child(1){animation-delay:.25s}.facts li:nth-child(2){animation-delay:.35s}.facts li:nth-child(3){animation-delay:.45s}
.facts svg{width:18px;height:18px;fill:var(--ember)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.count{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:28px;opacity:0;animation:fadeUp .8s var(--ease) .55s forwards}
.count__cell{position:relative;padding:14px 6px 10px;border-radius:var(--r-md);text-align:center;background:linear-gradient(180deg,rgba(154,166,255,.10),rgba(154,166,255,.03));border:1px solid rgba(154,166,255,.16);overflow:hidden}
.count__cell b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(26px,7vw,40px);line-height:1;font-variant-numeric:tabular-nums}
.count__cell span{font-size:12px;color:var(--muted)}
.count__cell b.tick{animation:tick .5s var(--spring)}
.count__cell:last-child b{color:var(--gold)}
@keyframes tick{0%{transform:translateY(-40%);opacity:0}100%{transform:none;opacity:1}}
.count.is-live{grid-template-columns:1fr}

.card{position:relative;padding:26px 20px 24px;border-radius:var(--r-lg);background:linear-gradient(160deg,rgba(34,43,99,.72),rgba(22,30,74,.55));
  border:1px solid rgba(154,166,255,.18);box-shadow:0 30px 80px -30px rgba(0,0,0,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  opacity:0;animation:fadeUp .9s var(--ease) .7s forwards}
.card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a,0deg),transparent 0 70%,var(--rose) 80%,var(--gold) 88%,transparent 95%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:orbitBorder 7s linear infinite;pointer-events:none}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes orbitBorder{to{--a:360deg}}

.field{position:relative;margin-bottom:22px}
.field input{width:100%;height:62px;padding:22px 16px 6px;border-radius:var(--r-sm);background:rgba(14,20,54,.65);border:1px solid rgba(154,166,255,.2);font-size:18px;font-weight:600;outline:none;transition:border-color .3s,background .3s}
.field label{position:absolute;left:17px;top:20px;color:var(--muted);font-weight:600;pointer-events:none;transform-origin:left top;transition:transform .3s var(--ease),color .3s}
.field input:focus+label,.field input:not(:placeholder-shown)+label{transform:translateY(-12px) scale(.74);color:var(--ember)}
.field input:focus{border-color:transparent;background:rgba(14,20,54,.9)}
.field__line{position:absolute;left:10px;right:10px;bottom:0;height:2px;border-radius:2px;background:var(--sunrise);transform:scaleX(0);transition:transform .45s var(--ease)}
.field input:focus~.field__line{transform:scaleX(1)}
.field__err{display:block;max-height:0;overflow:hidden;color:var(--coral);font-size:14px;font-weight:600;transition:max-height .3s,margin .3s}
.is-bad .field__err,.field__err.show{max-height:30px;margin-top:6px}
.is-bad input{border-color:var(--coral);animation:shake .4s}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

.group{border:0;margin:6px 0 24px}
.group__label{display:block;font-family:var(--display);font-weight:600;font-size:15px;margin-bottom:2px}
.group__hint{color:var(--muted);font-size:14px;margin-bottom:12px}
fieldset.group .group__label{margin-bottom:12px}
.stepper{display:flex;align-items:center;gap:10px}
.stepper__btn{width:58px;height:58px;border-radius:50%;font-size:28px;line-height:1;background:rgba(154,166,255,.1);border:1px solid rgba(154,166,255,.24);transition:transform .3s var(--spring),background .3s}
.stepper__btn:active{transform:scale(.86);background:rgba(255,138,61,.25)}
.stepper__val{min-width:84px;text-align:center;font-family:var(--display);font-weight:700;font-size:40px;line-height:1;font-variant-numeric:tabular-nums}
.stepper__val.bump{animation:bump .45s var(--spring)}
@keyframes bump{0%{transform:scale(1.35);color:var(--gold)}100%{transform:none}}

.seats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.seat{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 10px 14px;border-radius:var(--r-md);cursor:pointer;
  background:rgba(14,20,54,.55);border:1.5px solid rgba(154,166,255,.18);transition:border-color .35s,transform .35s var(--spring),background .35s}
.seat input{position:absolute;opacity:0;pointer-events:none}
.seat__map{width:100%;max-width:140px}
.seat__map .stage{fill:rgba(154,166,255,.35);transition:fill .4s}
.seat__map circle{fill:rgba(154,166,255,.22);transition:fill .4s,transform .4s var(--spring);transform-box:fill-box;transform-origin:center}
.seat__name{font-family:var(--display);font-weight:600;font-size:14px}
.seat:has(input:checked){border-color:var(--ember);background:rgba(255,138,61,.09);transform:translateY(-3px)}
.seat:has(input:checked) .stage{fill:var(--gold)}
.seat:has(input:checked) .row.on circle{fill:var(--rose);transform:scale(1.25)}
.seat:has(input:checked) .row.on circle:nth-child(2){transition-delay:.04s}.seat:has(input:checked) .row.on circle:nth-child(3){transition-delay:.08s}
.seat:has(input:checked) .row.on circle:nth-child(4){transition-delay:.12s}.seat:has(input:checked) .row.on circle:nth-child(5){transition-delay:.16s}
.seat:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:3px}

.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.submit{width:100%;margin-top:4px}
.submit__spin{display:none;width:22px;height:22px;border-radius:50%;border:3px solid rgba(26,11,31,.25);border-top-color:#1A0B1F;animation:spin .8s linear infinite}
.submit.is-busy .submit__txt{display:none}.submit.is-busy .submit__spin{display:block}
@keyframes spin{to{transform:rotate(360deg)}}
.form-msg{min-height:0;margin-top:12px;color:var(--coral);font-weight:600;text-align:center}
.form-msg:empty{margin:0}

.done{text-align:center;padding:10px 0 0}
.done__mark{width:132px;height:132px;margin:8px auto 20px;display:block;overflow:visible}
.done__ring{fill:none;stroke:var(--ember);stroke-width:4;stroke-dasharray:327;stroke-dashoffset:327;animation:dash 1s var(--ease) .1s forwards;filter:drop-shadow(0 0 14px rgba(255,138,61,.7))}
.done__check{fill:none;stroke:var(--gold);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80;animation:dash .6s var(--ease) .85s forwards}
@keyframes dash{to{stroke-dashoffset:0}}
.done .h1{animation:fadeUp .7s var(--ease) .9s both}
.done__lead{color:var(--muted);margin:12px auto 22px;max-width:34ch;animation:fadeUp .7s var(--ease) 1.05s both}
.done__list{display:grid;gap:8px;max-width:420px;margin:0 auto 28px;text-align:left;animation:fadeUp .7s var(--ease) 1.2s both}
.done__list div{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:var(--r-sm);background:rgba(154,166,255,.07);border:1px solid rgba(154,166,255,.14)}
.done__list dt{color:var(--muted)}.done__list dd{font-weight:700;text-align:right}
.done__actions{display:grid;gap:12px;max-width:420px;margin:0 auto;animation:fadeUp .7s var(--ease) 1.35s both}

@media (min-width:760px){.card{padding:36px 36px 32px}}
