body.signup{--heading:#1c2026;--bg:#f4f5f7;--surface:#fff;--ink:#1c2026;--muted:#5b6270;--line:#d5d9e0;--divider:#e7e9ee;--label:#5b6270;--num-radius:4px;--radius:4px;--chip-radius:4px;--body:"Instrument Sans",sans-serif;--head:"Instrument Sans",sans-serif;--head-stretch:100%;--head-weight:600;--hero-bg:#fff;--h1-bg:transparent;--h1-ink:#1c2026;--h1-pad:0;--aside-head-bg:#fff;--aside-head-ink:#1c2026;--footer-bg:#fff;--footer-ink:#5b6270;--off-bg:#f4f5f7;--off-ink:#a3aab6;--err:#c42b2b;--err-tint:#fdeded;--primary:var(--brand,#2d5bd7);--primary-tint:color-mix(in srgb,var(--primary) 10%,#fff);--accent:var(--primary);--accent-tint:var(--primary-tint);--accent-ink:color-mix(in srgb,var(--primary) 78%,#000);--num-bg:var(--primary);--focus:var(--primary)}.signup *,.signup :after,.signup :before{box-sizing:border-box}.signup [hidden]{display:none!important}body.signup{background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--body);margin:0}.signup a{color:var(--primary)}.signup a:hover{color:var(--accent)}.signup .h{font-family:var(--head);font-stretch:var(--head-stretch);font-weight:var(--head-weight);line-height:1.1}.signup .sr{height:1px;margin:0;opacity:0;position:absolute;width:1px}.signup :focus-visible{outline:3px solid var(--focus);outline-offset:2px}.signup [tabindex="-1"]:focus{outline:none}.signup .opt{cursor:pointer;display:block;position:relative}.signup .opt input:focus-visible+*{outline:3px solid var(--focus);outline-offset:2px}.signup .wrap{margin:0 auto;max-width:1180px;padding-inline:24px}.signup .wrap.narrow{max-width:880px}.signup button{font-family:inherit}.site-header{background:#fff;border-bottom:1px solid var(--divider)}.site-header .wrap{align-items:center;display:flex;gap:24px;justify-content:space-between;min-height:92px;padding-block:14px}.school-name{color:var(--heading)!important;font-family:var(--head);font-size:22px;font-stretch:var(--head-stretch);font-weight:var(--head-weight);text-decoration:none}.back-link{font-size:15px;font-weight:500;text-decoration:none}.school-name .logo{display:block;height:64px;max-width:100%;width:auto}.hero{background:var(--hero-bg) var(--hero-art,none) center /100% 100% no-repeat;border-bottom:1px solid var(--divider)}.hero .wrap{padding-block:48px}.hero h1{background:var(--h1-bg);color:var(--h1-ink);display:inline-block;font-size:46px;margin:0;padding:var(--h1-pad)}.signup main{padding-block:36px 80px}.wizard{display:flex;flex-direction:column;gap:28px;scroll-margin-top:16px}.layout{align-items:start;display:grid;gap:40px;grid-template-columns:minmax(0,1fr) 340px}.mandate,.steps,.thanks{gap:28px}.card,.mandate,.steps,.thanks{display:flex;flex-direction:column;min-width:0}.card{background:var(--surface);border:0;border-radius:var(--radius);gap:20px;margin:0;padding:32px}.card legend{float:left;margin:0;padding:0;width:100%}.card legend+*{clear:both}.card h2.h,.card legend.h{color:var(--heading);font-size:30px;margin:0}.help{color:var(--muted);font-size:14px;margin:0}.help.small{font-size:13px}.lead{font-size:17px;margin:0}.divider{background:var(--divider);height:1px}.g2{align-items:start;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.g2,.g3{display:grid}.g3{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.g-addr{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}.g-addr,.g-city{align-items:start;display:grid;gap:20px}.g-city{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.stepper{align-items:center;background:var(--surface);border-radius:var(--radius);display:flex;gap:12px;padding:16px 24px}.stepper .line{background:var(--line);flex-grow:1;height:2px;min-width:16px}.stepper .line.done{background:var(--primary)}.stepper .step{background:none;border:0;cursor:default;display:flex;font-weight:500;gap:12px;padding:4px 0;text-align:left}.stepper .badge,.stepper .step{align-items:center;color:var(--muted);flex-shrink:0;font-size:15px}.stepper .badge{background:#fff;border:2px solid var(--line);border-radius:var(--num-radius);display:inline-flex;font-weight:700;height:34px;justify-content:center;width:34px}.stepper .step.current{color:var(--ink);font-weight:700}.stepper .step.current .badge{background:var(--num-bg);border-color:var(--num-bg);color:#fff}.stepper .step.done{color:var(--ink);cursor:pointer}.stepper .step.done .badge{background:var(--primary);border-color:var(--primary)}.stepper .step.done .label{text-decoration:underline;text-underline-offset:3px}.stepper .step.done:hover .label{color:var(--primary)}.stepper-compact{display:none;flex-direction:column;gap:8px}.stepper-compact .row{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.stepper-compact .name{font-size:16px;font-weight:700}.stepper-compact .count{color:var(--muted);font-size:13px}.stepper-compact .bar{display:grid;gap:4px;grid-template-columns:repeat(var(--steps,4),minmax(0,1fr))}.stepper-compact .bar span{background:var(--line);border-radius:var(--radius);height:6px}.stepper-compact .bar .done{background:var(--primary)}.stepper-compact .bar .current{background:var(--accent)}.field{display:flex;flex-direction:column;gap:6px}.field label,.signup .label{font-size:14px;font-weight:600}.field label .optional{color:var(--muted);font-weight:400}.subhead{font-size:16px;font-weight:700}.input{background:#fff;border:2px solid var(--line);border-radius:var(--radius);color:var(--ink);font:400 16px var(--body);height:52px;padding:0 16px;width:100%}.input::placeholder{color:#8a8590}textarea.input{height:120px;padding:14px 16px;resize:vertical}.input:focus{border-color:var(--primary);outline:3px solid var(--focus);outline-offset:2px}.input.invalid{border-color:var(--err)}.input.invalid:focus{outline-color:var(--err)}.input.iban{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em}.input.iban,.mandate #account_holder_name{max-width:460px}.error-summary{align-items:flex-start;background:var(--err-tint);border:2px solid var(--err);border-radius:var(--radius);color:var(--err);display:flex;gap:14px;padding:18px 20px}.error-summary>svg{flex-shrink:0}.error-summary .title{color:var(--ink);display:block;font-size:16px;font-weight:700;margin-bottom:6px}.error-summary ul{display:flex;flex-direction:column;font-size:15px;gap:2px;margin:0;padding-left:18px}.error-summary a,.error-summary a:hover,.field-error{color:var(--err)}.field-error{align-items:flex-start;display:flex;font-size:14px;font-weight:500;gap:6px}.field-error svg{flex-shrink:0;margin-top:3px}.loc{background:#fff;border:2px solid var(--line);border-radius:var(--radius);display:block;height:100%;overflow:hidden;padding-top:18px}.loc .row{align-items:center;display:flex;justify-content:space-between;padding:0 18px}.loc small{color:var(--muted);display:block;font-size:13px}.loc .h{display:block;font-size:26px;line-height:1.15}.loc .meta{color:var(--muted);display:block;font-size:13px;padding:10px 18px 18px}.loc .dot{align-items:center;background:#fff;border:2px solid #c9c4cb;border-radius:var(--num-radius);display:inline-flex;flex-shrink:0;height:26px;justify-content:center;width:26px}.loc .dot svg{opacity:0}input:checked+.loc{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}input:checked+.loc .dot{background:var(--primary);border-color:var(--primary)}input:checked+.loc .dot svg{opacity:1}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips .opt{display:inline-block}.chip{align-items:center;background:#fff;border:2px solid var(--line);border-radius:var(--chip-radius);display:inline-flex;font-size:15px;font-weight:600;min-height:44px;padding:0 18px}input:checked+.chip{background:var(--primary);border-color:var(--primary);color:#fff}.seg{border:2px solid var(--primary);border-radius:var(--radius);display:grid;grid-template-columns:repeat(var(--seg,3),minmax(0,1fr));overflow:hidden}.seg-item{align-items:center;background:#fff;color:var(--primary);display:flex;font-size:14px;font-weight:600;height:100%;justify-content:center;min-height:52px;padding:6px 10px;text-align:center}input:checked+.seg-item{background:var(--primary);color:#fff}.wk{background:var(--bg);border-radius:var(--radius);display:flex;gap:12px;justify-content:space-between;padding:10px}.wk,.wk-btn{align-items:center}.wk-btn{background:#fff;border:2px solid var(--primary);border-radius:var(--radius);color:var(--primary);cursor:pointer;display:inline-flex;height:44px;justify-content:center;width:44px}.wk-btn:disabled{cursor:not-allowed;opacity:.35}.wk-label{text-align:center}.wk-label .h{font-size:22px}.wk-label small{color:var(--muted);display:block;font-size:13px}.days{display:grid;gap:8px;grid-template-columns:repeat(var(--days,7),minmax(0,1fr))}.day{align-items:center;background:#fff;border:2px solid var(--line);border-radius:var(--radius);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:12px 6px}.day .d{font-size:13px;font-weight:600}.day .h{font-size:26px}.day .m{font-size:12px}.day[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}.day:disabled{background:var(--off-bg);border-style:dashed;color:var(--off-ink);cursor:not-allowed}.day:disabled .h{text-decoration:line-through}.slot{align-items:center;background:#fff;border:2px solid var(--line);border-radius:var(--radius);display:flex;gap:12px;height:100%;padding:16px 18px}.slot svg{flex-shrink:0}.slot .h{display:block;font-size:22px;white-space:nowrap}.slot small{display:block;font-size:13px}.slot small.instr{font-weight:600}input:checked+.slot{background:var(--accent);border-color:var(--accent);color:#fff}.later{align-items:center;background:#fff;border:2px dashed var(--line);border-radius:var(--radius);display:flex;font-size:15px;font-weight:600;gap:12px;padding:14px 18px}input:checked+.later{background:var(--accent);border:2px solid var(--accent);color:#fff}.empty{border:2px dashed var(--line);border-radius:var(--radius);color:var(--muted);font-size:14px;padding:18px}.empty.loading{align-items:center;display:flex;gap:12px}.spinner{animation:signup-spin .8s linear infinite;border:3px solid var(--line);border-radius:50%;border-top-color:var(--accent);flex-shrink:0;height:22px;width:22px}@keyframes signup-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.pays{gap:12px}.pay{align-items:flex-start;background:#fff;border:2px solid var(--line);border-radius:var(--radius);display:flex;gap:14px;height:100%;padding:16px}.pay .ring{background:#fff;border:2px solid #a89ba4;border-radius:50%;flex-shrink:0;height:20px;margin-top:2px;width:20px}.pay b{display:block;font-size:15px;font-weight:600}.pay small{color:var(--muted);display:block;font-size:13px}input:checked+.pay{background:var(--primary-tint);border-color:var(--primary)}input:checked+.pay .ring{border:6px solid var(--primary)}.field .agree{align-items:flex-start;cursor:pointer;display:flex;font-size:15px;font-weight:400;gap:12px}.agree input{accent-color:var(--primary);flex-shrink:0;height:22px;margin:1px 0 0;width:22px}.agree.boxed{background:var(--primary-tint);border-radius:var(--radius);padding:14px 18px}.agree.invalid{background:var(--err-tint);border:2px solid var(--err);border-radius:var(--radius);padding:14px 18px}.nav{align-items:center;display:flex;gap:12px;justify-content:space-between}.nav .submit{margin-left:auto}.submit{align-items:center;background:var(--accent);border:0;border-radius:var(--radius);color:#fff;cursor:pointer;display:inline-flex;font:700 19px var(--body);gap:12px;height:56px;padding:0 26px}.submit:hover{filter:brightness(.92)}.submit:disabled{cursor:wait;opacity:.6}.btn-back{align-items:center;background:#fff;border:2px solid var(--primary);border-radius:var(--radius);color:var(--primary);cursor:pointer;display:inline-flex;font-size:17px;font-weight:600;gap:10px;height:56px;padding:0 22px}.btn-back:hover{background:var(--primary-tint)}.aside{border:1px solid var(--divider);border-radius:var(--radius);overflow:hidden;position:sticky;top:24px}.aside .head{background:var(--aside-head-bg);border-bottom:1px solid var(--divider);color:var(--aside-head-ink);font-size:26px;padding:18px 24px}.aside .body{background:var(--surface);gap:18px;padding:22px 24px 0}.aside .body,.sum{display:flex;flex-direction:column}.sum{gap:2px}.sum .k{color:var(--label);font-size:13px;font-weight:500}.sum .k.accent{color:var(--accent-ink)}.sum .v{font-size:15px;font-weight:600}.sum.trial{background:var(--accent-tint);border-top:3px solid var(--accent);gap:6px;margin:0 -24px;padding:16px 24px 20px}.sum.trial .k{color:var(--accent-ink)}.sum.trial .h{font-size:22px;line-height:1.2}.aside .body>:last-child:not(.trial){padding-bottom:22px}.summary-card{border-top:3px solid var(--accent);display:none;gap:14px}.summary-card .title{color:var(--heading);font-size:30px}.site-footer{background:var(--footer-bg);border-top:1px solid var(--divider);color:var(--footer-ink);font-size:14px}.site-footer .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-block:22px}.facts{display:grid;gap:16px 40px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.facts dt{color:var(--label);font-size:13px}.facts dd{font-size:16px;font-weight:600;margin:0}.note{align-items:flex-start;background:var(--accent-tint);border-radius:var(--radius);display:flex;font-size:15px;gap:14px;padding:16px 20px}.note svg{color:var(--accent-ink);flex-shrink:0;margin-top:2px}.note p{margin:0}.note b{color:var(--accent-ink)}.consent-intro{margin:0 0 8px}.consent{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;padding-left:22px}.booked{border-top:4px solid var(--accent);gap:24px}.booked .kicker{color:var(--accent-ink);font-weight:600}.booked .when{color:var(--heading);font-size:56px;margin:0}.booked .time{font-size:28px;font-weight:600;margin:6px 0 0}.booked .lead{color:var(--muted);margin-top:10px}.fact{align-items:flex-start;display:flex;gap:14px}.fact svg{color:var(--primary);flex-shrink:0}.fact .k{color:var(--muted);display:block;font-size:14px}.fact .v{display:block;font-size:19px;font-weight:600}.fact .address{color:var(--muted);display:block;font-size:15px}.again{font-weight:600;margin:0}@media (max-width:960px){.layout{grid-template-columns:minmax(0,1fr)}.aside{display:none}.summary-card{display:flex}}@media (max-width:640px){.signup .wrap{padding-inline:16px}.site-header .wrap{min-height:0;padding-block:10px}.school-name .logo{height:48px}.back-link{display:none}.hero .wrap{padding-block:24px}.hero h1{font-size:26px}.signup main{padding:16px 12px 40px}.layout,.mandate,.steps,.thanks,.wizard{gap:16px}.stepper{display:none}.stepper-compact{display:flex}.facts,.g-addr,.g-city,.g2,.g3{grid-template-columns:minmax(0,1fr)}.seg{grid-template-columns:repeat(2,minmax(0,1fr))}.seg .opt:last-child:nth-child(odd){grid-column:1/-1}.days{gap:4px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;grid-template-columns:none}.day{padding:8px 0}.day span{font-size:11px}.day .h{font-size:19px}.card{gap:18px;padding:22px 16px}.card h2.h,.card legend.h,.summary-card .title{font-size:23px}.nav{background:var(--bg);bottom:0;margin:0 -12px;padding:12px;position:sticky}.nav .submit{flex-grow:1;justify-content:center}.booked .when{font-size:36px}.booked .time{font-size:22px}}