:root{--blue:#4b2e83;--blue-soft:#6b4fa3;--gold:#f5a81c;--cream:#fbf7f0;--ink:#1b2440;--muted:#5a648a;--rule:rgba(75,46,131,.18)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--cream);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.wrap{max-width:640px;margin:0 auto;padding:0 24px}header{padding:56px 0 0}.registration-header{padding-top:48px}.program-logo{display:block;width:min(190px,48vw);height:auto;margin:0 auto 24px}.eyebrow{font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-soft)}h1{font-family:Fraunces,serif;font-weight:700;font-size:clamp(38px,8vw,58px);line-height:.98;letter-spacing:-.02em;color:var(--blue);margin-top:14px}h1 em{font-style:italic;font-weight:400;color:var(--ink)}.mark,h1 em{display:block}.mark{margin:24px 0 0;width:100%;height:56px}.lede{font-family:Fraunces,serif;font-weight:300;font-size:clamp(19px,4.4vw,23px);line-height:1.46;margin-top:24px;letter-spacing:-.005em}.lede b{font-weight:500;color:var(--blue)}.registration-header .lede{font-family:Inter,system-ui,sans-serif;font-weight:400;font-size:18px;line-height:1.62;letter-spacing:0}.registration-header .lede b{font-weight:600}.registration-header .joyful-words{display:inline-block;font-family:Fraunces,serif;font-weight:500;font-size:1.14em;line-height:.9;letter-spacing:-.005em;color:var(--blue)}.sub{font-size:15px;line-height:1.72;color:var(--muted);margin-top:18px}.facts{margin-top:32px;border-top:1px solid var(--rule)}.row{padding:15px 0;border-bottom:1px solid var(--rule)}.row dt{font-weight:600;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}.row dd{font-family:Fraunces,serif;font-weight:500;font-size:19px;letter-spacing:-.01em}.row dd span{display:block;font-family:Inter,sans-serif;font-weight:400;font-size:13px;color:var(--muted);margin-top:5px}.coach{margin-top:26px;font-size:14px;line-height:1.72;color:var(--muted)}.coach b{color:var(--ink);font-weight:600}.panel{background:var(--blue);color:var(--cream);margin-top:52px}.panel .wrap{padding-top:44px;padding-bottom:48px}.panel h2{font-family:Fraunces,serif;font-weight:500;font-size:clamp(26px,5.6vw,33px);line-height:1.14;letter-spacing:-.015em;color:#fff}.panel h2 em{font-style:italic;font-weight:400;color:var(--gold)}.panel .hint{font-size:14px;line-height:1.68;color:hsla(38,58%,96%,.78);margin-top:12px}.panel .help{font-size:13px;line-height:1.6;color:hsla(38,58%,96%,.55);margin-top:11px}fieldset{border:0;margin-top:30px}legend{font-weight:600;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:11px;padding:0}.req:after{content:" *";color:hsla(38,58%,96%,.5)}input[type=date],input[type=email],input[type=tel],input[type=text],textarea{width:100%;background:transparent;border:0;border-bottom:1.5px solid hsla(38,58%,96%,.34);color:#fff;font:inherit;font-size:16px;padding:9px 0;border-radius:0}input[type=date]{color-scheme:dark}textarea{resize:vertical;min-height:64px;line-height:1.6}input::placeholder,textarea::placeholder{color:hsla(38,58%,96%,.34)}input:focus,textarea:focus{outline:0;border-bottom-color:var(--gold)}input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:520px){.grid2{grid-template-columns:1fr;gap:26px}}.field-note{margin-top:12px;font-size:13px;line-height:1.6;color:hsla(38,58%,96%,.7)}.age-result{color:var(--gold);font-weight:600;margin-top:8px}.dropoff-note{padding:14px 16px;border-left:3px solid var(--gold);background:hsla(38,58%,96%,.07);color:hsla(38,58%,96%,.86);font-size:14px;line-height:1.6}.pickup-fields{margin-top:2px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{position:relative}.chip input{position:absolute;opacity:0;width:100%;height:100%;top:0;left:0;margin:0;cursor:pointer}.chip span{display:block;padding:10px 17px;border:1.5px solid hsla(38,58%,96%,.34);font-size:14px;font-weight:500;color:hsla(38,58%,96%,.9);border-radius:2px;transition:background .12s,border-color .12s,color .12s;user-select:none}.chip input:checked+span{background:var(--gold);border-color:var(--gold);color:#1b2440}.chip input:focus-visible+span{outline:2px solid #fff;outline-offset:3px}.chip:hover span{border-color:hsla(38,58%,96%,.62)}.agreement{display:flex;align-items:flex-start;gap:13px;font-size:14px;line-height:1.55;color:hsla(38,58%,96%,.9);cursor:pointer}.agreement input{width:19px;height:19px;flex:0 0 auto;margin-top:1px;accent-color:var(--gold)}.agreement input:focus-visible{outline:2px solid #fff;outline-offset:3px}.err{display:none;font-size:13px;color:var(--gold);margin-top:9px;font-weight:500}.err.on{display:block}button{margin-top:34px;padding:15px 34px;background:var(--gold);color:#1b2440;border:0;border-radius:2px;font-family:Inter,sans-serif;font-weight:600;font-size:17px;cursor:pointer;transition:transform .1s}button:hover{transform:translateY(-1px)}button:focus-visible{outline:2px solid #fff;outline-offset:3px}button:disabled{opacity:.7;cursor:default}button:disabled:hover{transform:none}.foot{font-size:13px;line-height:1.66;color:hsla(38,58%,96%,.55);margin-top:26px}.foot a{color:hsla(38,58%,96%,.8)}#done h2,#done p{margin-bottom:14px}#done p{font-size:15px;line-height:1.72;color:hsla(38,58%,96%,.82)}#done a{color:var(--gold);font-weight:600}.payment-kicker{margin-bottom:9px!important;font-weight:600;font-size:10.5px!important;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)!important}.payment-summary{margin-top:26px;padding:22px;border:1px solid hsla(38,58%,96%,.28);background:hsla(38,58%,96%,.055);border-radius:4px}.payment-summary .payment-summary-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.payment-summary span{font-size:15px;font-weight:600;color:#fff}.payment-summary strong{font-family:Fraunces,serif;font-size:30px;color:var(--gold)}.class-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;margin-top:20px;padding-top:18px;border-top:1px solid hsla(38,58%,96%,.18)}.class-summary-grid div{display:block}.class-summary-grid dt{font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:hsla(38,58%,96%,.5)}.class-summary-grid dd{margin-top:4px;font-size:13px;line-height:1.4;color:#fff}.payment-summary .availability-badge{margin:18px 0 0!important;padding:10px 12px;border-radius:2px;background:rgba(245,168,28,.15);color:var(--gold)!important;font-size:12.5px!important;font-weight:600}@media(max-width:520px){.class-summary-grid{grid-template-columns:1fr}}.payment-button{display:inline-block;margin-top:26px;padding:15px 28px;border-radius:2px;background:var(--gold);color:#1b2440!important;font-size:17px;font-weight:600!important;text-decoration:none}.payment-button:hover{transform:translateY(-1px)}.payment-button.is-disabled{opacity:.62;cursor:not-allowed}.payment-button.is-disabled:hover{transform:none}.payment-note{margin-top:12px!important;font-size:12px!important;color:hsla(38,58%,96%,.55)!important}.payment-preview,.stripe-payment-form{margin-top:26px}.payment-preview .payment-button,.stripe-payment-form .payment-button{width:100%;margin-top:22px}.stripe-payment-error{margin-top:18px!important;color:var(--gold)!important;font-size:13px!important}.payment-loading{margin-top:26px;padding:22px;border:1px solid hsla(38,58%,96%,.28);color:hsla(38,58%,96%,.75)}.payment-tabs{display:flex;gap:8px;margin-bottom:18px}.payment-tabs span{flex:1;padding:10px;text-align:center;border:1px solid hsla(38,58%,96%,.26);font-size:13px;color:hsla(38,58%,96%,.65)}.payment-tabs .active{border-color:var(--gold);color:#fff;box-shadow:inset 0 -2px 0 var(--gold)}.payment-preview label{display:block;margin-bottom:8px;color:var(--gold);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.preview-card-field,.preview-card-row{display:flex;justify-content:space-between;padding:13px;border:1px solid hsla(38,58%,96%,.38);color:hsla(38,58%,96%,.7);font-size:14px}.preview-card-field{border-radius:2px 2px 0 0}.preview-card-row{border-top:0;border-radius:0 0 2px 2px}.preview-card-row span{width:50%}.preview-card-row span+span{padding-left:13px;border-left:1px solid hsla(38,58%,96%,.26)}.completion-header{padding-bottom:8px}.completion-email{color:var(--blue);text-decoration:none}.completion-email:hover{text-decoration:underline}.completion-panel{margin-top:44px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}button:hover{transform:none}}