/* VTEAM public guided registration v0.6.0 — white, red and charcoal; official logo unchanged. */
:root{--red:#da292f;--deep:#111b24;--text:#20262f;--muted:#606a74;--border:#dce1e5;--soft:#f7f8f9;--selected:#fff5f4;--radius:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font:16px/1.55 Arial,Helvetica,sans-serif}
button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a,input,select,textarea{outline-offset:3px}a{color:#ad1c25}
.public-header{background:#fff;border-bottom:1px solid #e9ecef}.public-header-inner{max-width:1190px;margin:auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--deep)}.brand-logo{width:64px;height:64px;object-fit:contain}.brand-words{font-size:18px;line-height:1.2;font-weight:800;letter-spacing:.3px}.brand-words small{display:block;font-size:10px;color:#66717b;letter-spacing:1.1px;margin-top:6px;font-weight:700}.brand-location{color:#53606b;font-size:13px;text-align:right}
.public-main{max-width:1190px;margin:0 auto;padding:36px 24px 64px}.kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.3px;color:#b3242c}.page-grid{display:grid;grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr);gap:48px;align-items:start}
.intro{padding:18px 0}.intro h1{font-size:clamp(38px,4.2vw,57px);line-height:1.05;letter-spacing:-1.25px;margin:16px 0;font-weight:850;color:var(--deep)}.intro h1 em{font-style:normal;color:#ce242b}.intro .lead{font-size:19px;line-height:1.55;color:#4f5964;margin:0 0 25px;max-width:470px}
.offer{padding:20px 22px;border:1px solid #e8d7d7;border-left:5px solid var(--red);background:#fff;border-radius:6px;display:flex;gap:18px;align-items:center;margin:28px 0}.offer .price{font-size:62px;color:#bd1e26;font-weight:850;letter-spacing:-2px;line-height:1}.offer .price-label{display:block;font-weight:800;font-size:20px;line-height:1.2}.offer small{display:block;color:#56616b;margin-top:5px;font-size:13px}
.perks{display:grid;gap:15px;margin-top:28px}.perk{display:flex;align-items:flex-start;gap:13px}.perk-mark{width:26px;height:26px;flex:none;border-radius:6px;background:#f0f2f3;color:#ba2228;display:grid;place-items:center;font-weight:800}.perk strong{display:block;font-size:16px}.perk p{font-size:14px;color:#626e79;margin:3px 0 0}
.proof{border-top:1px solid #e8ecf0;padding-top:19px;margin-top:30px;color:#59646e;font-size:14px}.proof strong{color:#18222b}
.wizard{border:1px solid #dbe1e7;border-radius:11px;background:#fff;box-shadow:0 14px 33px rgba(17,29,43,.045);overflow:hidden}.wizard-top{padding:23px 28px 19px;border-bottom:1px solid #e8ecef}.wizard-caption{font-size:12px;color:#717b85;letter-spacing:.45px;text-transform:uppercase;font-weight:700}.wizard-top h2{font-size:24px;line-height:1.2;margin:6px 0 14px;color:#18212b}.progress{display:flex;align-items:center;gap:7px}.progress-node{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;min-width:0;color:#838b93;font-size:11px;font-weight:700}.progress-node .num{border-radius:50%;border:1px solid #d5dae0;width:24px;height:24px;flex:none;display:grid;place-items:center;font-size:12px;background:#fff}.progress-node.current{color:#b31f26}.progress-node.current .num{background:#c52d34;color:#fff;border-color:#c52d34}.progress-node.done{color:#263842}.progress-node.done .num{background:#ecf3ee;border-color:#b8d4c4;color:#20673b}.progress-line{height:1px;background:#e5e9ed;flex:.24}
.wizard-inner{padding:28px}.step-title{font-size:26px;line-height:1.18;letter-spacing:-.35px;margin:2px 0 9px;color:#18212b}.step-sub{font-size:15px;color:#68737e;margin:0 0 23px}.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.band{border:1px solid #dbe0e6;background:white;border-radius:7px;padding:18px 14px;text-align:left;color:#28323c;min-height:92px}.band strong{display:block;font-size:19px}.band span{display:block;font-size:13px;color:#69747e;margin-top:2px}.band.selected,.program-btn.selected,.slot-btn.selected,.day-btn.selected{border:2px solid var(--red);background:var(--selected);padding:17px 13px}.band:hover,.program-btn:hover,.slot-btn:hover,.day-btn:hover{border-color:#d56a70}
.age-select-wrap{margin:22px 0 0}.field label,.age-select-wrap label{display:block;font-size:14px;font-weight:750;color:#26313c;margin-bottom:7px}.field input,.field select,.field textarea,.age-select-wrap select,.age-select-wrap input{border:1px solid #cdd4db;border-radius:7px;background:#fff;width:100%;font-size:16px;padding:12px 13px;color:#16212b;min-height:48px}.age-select-wrap select,.age-select-wrap input{max-width:270px}.field input:focus,.field textarea:focus,.field select:focus,.age-select-wrap input:focus,.age-select-wrap select:focus{border-color:#b22b32;outline:2px solid #f5d5d7}.field textarea{min-height:84px;resize:vertical}.age-hint{font-size:13px;color:#71808b;margin:7px 0}
.program-list{display:grid;gap:12px}.program-btn{width:100%;text-align:left;background:#fff;border:1px solid #dbe0e6;border-radius:7px;padding:19px;color:var(--text)}.program-btn .program-name{display:block;font-size:18px;font-weight:800}.program-btn .program-copy{display:block;font-size:14px;color:#64707c;margin:6px 0 10px}.program-btn .program-next{font-size:13px;font-weight:700;color:#ad2830}.program-btn.selected{padding:18px}.empty-state{padding:20px;background:#f8f9fa;border:1px dashed #d5dbe1;border-radius:8px;color:#4c5661;font-size:14px}
.date-scroller{display:flex;gap:8px;overflow-x:auto;padding:2px 0 13px;margin:6px 0 10px;scrollbar-width:thin}.day-btn{border:1px solid #dbe1e7;border-radius:7px;min-width:102px;flex:none;padding:11px;background:#fff;text-align:center}.day-btn .dayname{display:block;font-size:13px;font-weight:800}.day-btn .daydate{display:block;font-size:16px;font-weight:750}.day-btn .dayplaces{display:block;color:#677580;font-size:11px;margin-top:3px}.day-btn.selected{padding:10px}
.slot-list{display:grid;gap:10px;margin:13px 0}.slot-btn{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;width:100%;text-align:left;border:1px solid #dce2e6;border-radius:7px;padding:15px 16px;color:#1c2934;background:white}.slot-btn strong{display:block;font-size:16px}.slot-btn small{display:block;color:#667580;font-size:13px;margin-top:4px}.slot-btn .availability{font-size:12px;color:#32604c;font-weight:700;white-space:nowrap}.slot-btn.selected{padding:14px 15px}.booking-note{font-size:13px;color:#6a7580;line-height:1.55;background:#f6f8f9;border:1px solid #e5e9ec;padding:11px 13px;border-radius:6px;margin:17px 0}
.summary{border:1px solid #dce1e5;background:#f9fafb;padding:14px 17px;border-radius:7px;margin-bottom:21px;font-size:14px}.summary strong{display:block;color:#21303a;font-size:16px}.summary p{margin:3px 0 0;color:#62717d}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.field{margin-bottom:16px}.field.span2{grid-column:1/-1}.field label span{font-weight:400;color:#67747d}.terms-check{font-size:14px;display:flex;gap:11px;align-items:flex-start;line-height:1.55;margin:15px 0}.terms-check input{width:18px;height:18px;accent-color:#c52d34;flex:0 0 18px;margin-top:4px}.privacy{font-size:13px;color:#64717c;margin:13px 0 19px}.captcha-wrap{margin:16px 0;min-height:65px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px}.primary{border:0;background:#cf292f;color:white;font-weight:800;border-radius:6px;padding:14px 19px;min-height:48px}.primary:hover:not(:disabled){background:#b52027}.primary.full{width:100%}.secondary{border:1px solid #d7dde3;background:#fff;color:#25313c;font-weight:750;border-radius:6px;padding:13px 17px;min-height:46px}.secondary:hover{background:#f7f8f9}.secondary.textual{border-color:transparent;color:#59646d;padding-left:0}.actions .primary{flex:1;max-width:340px}.error{margin:0 0 19px;color:#a22929;border:1px solid #edbbbb;background:#fff5f5;padding:13px 15px;border-radius:6px;font-size:14px}.error[hidden]{display:none}.notice{padding:13px 15px;background:#f4f7f8;border:1px solid #e1e6e9;font-size:14px;border-radius:6px;margin-bottom:17px}.notice a{font-weight:700}.inline-action{padding:0;border:0;background:transparent;color:#ae2028;text-decoration:underline;font-size:inherit;font-weight:700}.receipt{padding:18px;background:#f1f8f3;border:1px solid #c8e4d3;border-radius:7px;color:#225a39}.receipt strong{font-size:18px;display:block}.receipt p{margin:5px 0 0;font-size:14px}
.faq-area{margin-top:48px;padding-top:24px;border-top:1px solid #e7eaee}.faq-area h2{font-size:23px;color:#1c2934;margin:0 0 16px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}.faq-grid details{border-bottom:1px solid #e5e8ec;padding:10px 0}.faq-grid summary{font-size:15px;font-weight:750;cursor:pointer}.faq-grid p{font-size:14px;color:#5e6b75;margin:10px 0 6px}.footer{border-top:1px solid #e6e9ec;padding:24px;margin-top:6px}.footer-inner{max-width:1140px;margin:auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#62707b;font-size:13px}
.page-loading{max-width:600px;padding:110px 22px;margin:auto;text-align:center;font-size:20px;color:#5a6670}
@media(max-width:920px){.page-grid{grid-template-columns:1fr;gap:23px}.intro{padding:0}.intro h1{font-size:42px}.intro .lead{max-width:none}.perks{grid-template-columns:repeat(3,1fr);gap:12px}.perk p{font-size:13px}.proof{margin-top:20px}.wizard{max-width:710px;width:100%;margin:auto}}
@media(max-width:650px){.public-header-inner{padding:9px 15px}.brand-logo{width:53px;height:53px}.brand-words{font-size:15px}.brand-words small{font-size:9px;letter-spacing:.5px}.brand-location{display:none}.public-main{padding:22px 15px 37px}.intro h1{font-size:37px}.intro .lead{font-size:16px}.offer{margin:18px 0;padding:16px}.offer .price{font-size:55px}.offer .price-label{font-size:18px}.perks{display:none}.proof{font-size:13px;padding-top:14px}.wizard-top{padding:18px 16px 15px}.wizard-inner{padding:20px 16px}.step-title{font-size:23px}.wizard-top h2{font-size:21px}.progress-node{font-size:10px;gap:4px}.progress-node .num{width:21px;height:21px;font-size:10px}.progress-line{flex:.08}.band-grid{gap:9px}.band{padding:14px 11px;min-height:80px}.band strong{font-size:17px}.band.selected{padding:13px 10px}.form-grid{grid-template-columns:1fr}.field.span2{grid-column:auto}.actions{flex-wrap:wrap}.actions .primary{max-width:none;flex:1}.faq-grid{grid-template-columns:1fr}.faq-area{margin-top:35px}.slot-btn{grid-template-columns:1fr}.slot-btn .availability{justify-self:start}.day-btn{min-width:95px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
