.enrollment-page{background:#faf7fb}.enrollment-header{position:relative}.enrollment-header>span{font-weight:700;color:#6e6374}.enrollment-shell{max-width:1040px;margin:auto;padding:48px 24px 90px}.enrollment-intro{text-align:center;max-width:760px;margin:0 auto 34px}.enrollment-intro h1{font:800 clamp(2rem,5vw,3.5rem) Manrope;margin:0;letter-spacing:-.04em}.enrollment-intro>p{color:#6e6374}.stepper{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;position:relative}.stepper:before{content:"";height:2px;background:#eadfeb;position:absolute;top:17px;left:12%;right:12%}.stepper span{position:relative;z-index:1;color:#8b7f90;font-size:.85rem;display:flex;flex-direction:column;align-items:center;gap:7px}.stepper b{width:36px;height:36px;border-radius:50%;background:white;border:2px solid #e2d5e3;display:grid;place-items:center}.stepper span.active{color:#97258f;font-weight:700}.stepper span.active b{background:#97258f;color:white;border-color:#97258f}.enrollment-card{background:white;border:1px solid #eadfeb;border-radius:24px;padding:38px;box-shadow:0 22px 60px rgba(70,24,73,.08)}.form-step{display:none}.form-step.active{display:block}.step-heading>span{font-size:.78rem;color:#97258f;font-weight:800}.step-heading h2{font:700 1.75rem Manrope;margin:5px 0}.step-heading p{margin:0 0 28px;color:#6e6374}.center-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.center-choice{display:block;cursor:pointer}.center-choice input{position:absolute;opacity:0}.center-choice article{border:2px solid #eadfeb;border-radius:16px;padding:20px;min-height:145px;transition:.2s}.center-choice input:checked+article{border-color:#97258f;background:#fbf5fb;box-shadow:0 0 0 3px rgba(151,37,143,.08)}.center-choice h3{margin:0 0 7px;font:700 1.08rem Manrope}.center-choice p{margin:0;color:#6e6374}.center-choice strong{display:block;margin-top:18px;color:#97258f}.step-actions{border-top:1px solid #eadfeb;margin-top:30px;padding-top:24px;display:flex;justify-content:space-between;gap:12px}.step-actions.end{justify-content:flex-end}.secondary,.add-member{border:1px solid #d8c8dc;background:white;color:#70216d;border-radius:12px;padding:13px 20px;font-weight:700;cursor:pointer}.payer-panel{background:#fbf5fb;border-radius:16px;padding:20px;margin-bottom:18px}.payer-panel h3{font:700 1rem Manrope;margin:0 0 15px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid label,.member-fieldset label{font-size:.84rem;color:#594c5e;font-weight:600}.form-grid input,.form-grid select,.member-fieldset input,.member-fieldset select{width:100%;margin-top:6px;border:1px solid #d9ccdc;border-radius:10px;padding:11px 12px;background:white;color:#2b1737;min-width:0}.form-grid input:focus,.form-grid select:focus{outline:3px solid rgba(151,37,143,.12);border-color:#97258f}.member-fieldset{border:1px solid #eadfeb;border-radius:16px;margin:14px 0;padding:20px}.member-fieldset>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.member-fieldset h3{font:700 1rem Manrope;margin:0}.remove-member{border:0;background:#fff0f2;color:#ae3345;border-radius:9px;padding:8px 10px;cursor:pointer}.minor-row{grid-column:1/-1;display:flex!important;align-items:center;gap:8px}.minor-row input{width:auto!important;margin:0!important}.guardian-fields{grid-column:1/-1;background:#fff9ed;border-radius:12px;padding:15px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.guardian-fields[hidden]{display:none}.add-member{margin-top:10px}.member-limit{display:inline;margin-left:12px;color:#817487;font-size:.82rem}.legal-accept{display:grid;gap:13px}.legal-accept>label{display:flex;align-items:flex-start;gap:12px;border:1px solid #eadfeb;border-radius:13px;padding:16px;color:#4f4255}.legal-accept input{margin-top:4px;width:18px;height:18px;accent-color:#97258f}.legal-accept button{border:0;background:none;color:#97258f;font-weight:700;padding:0;text-decoration:underline;cursor:pointer}.payment-choice{border:0;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-choice legend{font-weight:700;margin-bottom:10px}.payment-choice label{display:block;cursor:pointer}.payment-choice input{position:absolute;opacity:0}.payment-choice span{display:flex;flex-direction:column;border:2px solid #eadfeb;border-radius:13px;padding:16px}.payment-choice input:checked+span{border-color:#97258f;color:#97258f;background:#fbf5fb}.payment-choice small{color:#796c7e;margin-top:3px}.enrollment-error{background:#fff2f3;color:#9c2435;border:1px solid #f2c7ce;border-radius:12px;padding:13px 15px;margin-top:18px}.secure-note{display:block;text-align:right;color:#817487;margin-top:12px}.order-summary{border:1px solid #eadfeb;border-radius:16px;overflow:hidden}.summary-center{padding:18px 20px;background:#fbf5fb;display:flex;justify-content:space-between}.summary-lines{padding:0 20px}.summary-line{display:grid;grid-template-columns:1fr auto;gap:5px;padding:15px 0;border-bottom:1px solid #eee4ef}.summary-line small{grid-column:1;color:#796c7e}.summary-total{display:flex;justify-content:space-between;padding:20px;font-size:1.15rem}.summary-total strong{font:800 1.5rem Manrope}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.payment-methods label{cursor:pointer}.payment-methods input{position:absolute;opacity:0}.payment-methods span{display:flex;align-items:center;justify-content:center;border:2px solid #eadfeb;border-radius:13px;padding:16px;font-weight:700}.payment-methods input:checked+span{border-color:#97258f;color:#97258f;background:#fbf5fb}.form-alert{background:#fff2f3;color:#9c2435;border:1px solid #f2c7ce;border-radius:12px;padding:13px 15px;margin:18px 0}.processing{opacity:.7;pointer-events:none}.success-panel{text-align:center;padding:20px}.success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e5f6ef;color:#148055;font-size:2rem;margin:0 auto 20px}.receipt{margin:26px auto;text-align:left;border:1px solid #eadfeb;border-radius:14px;padding:20px;max-width:620px}.receipt-line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee4ef}.receipt-line:last-child{border:0}.receipt-actions{display:flex;justify-content:center;gap:12px}.holder{margin-top:20px}.minor-first{display:flex!important;align-items:center;gap:9px;margin:0;font-weight:700!important}.minor-first input{width:18px!important;margin:0!important}.member-fieldset>h3{font:700 1rem Manrope;margin:0 0 16px}.minor-note{background:#fff9ed;color:#6e6374;padding:12px;border-radius:10px}.adult-extra[hidden]{display:none}@media(max-width:760px){.enrollment-header>span{display:none}.enrollment-shell{padding:30px 14px 60px}.enrollment-card{padding:22px 16px;border-radius:18px}.stepper span{font-size:.7rem}.form-grid,.form-grid.three,.center-picker,.payment-methods,.payment-choice{grid-template-columns:1fr}.guardian-fields{grid-template-columns:1fr}.step-actions .public-cta,.step-actions .secondary{flex:1}.leave-link{font-size:.85rem}}
.stepper{grid-template-columns:repeat(4,1fr)}
.legal-accept>label[hidden],.stepper[hidden]{display:none}
.required-note{margin:-10px 0 18px;padding:10px 12px;border-left:3px solid #97258f;background:#fbf5fb;color:#6e6374;font-size:.88rem}
.copyable-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:6px}.copyable-field input{margin-top:0!important}.copy-holder-value{border:0;border-radius:9px;background:#f7eaf6;color:#70216d;padding:11px 12px;font:700 .73rem "DM Sans",sans-serif;cursor:pointer;white-space:nowrap}.copy-holder-value:hover{background:#eed8eb}.copy-holder-value:focus-visible{outline:3px solid rgba(151,37,143,.18);outline-offset:1px}@media(max-width:760px){.copyable-field{grid-template-columns:1fr}.copy-holder-value{width:100%}}
/* Keep every legal consent control visually identical across browsers and viewport sizes. */
.legal-accept input[type="checkbox"]{box-sizing:border-box;flex:0 0 18px;inline-size:18px;block-size:18px;min-inline-size:18px;min-block-size:18px}
.enrollment-review{margin-top:18px;padding:20px;border:1px solid #dbc9df;border-radius:16px;background:#fbf6fc;color:#35253d}.enrollment-review h3{margin:0 0 8px;font:700 1.15rem Manrope}.enrollment-review p{margin:7px 0;line-height:1.5}.enrollment-review>div:not(.review-success){display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.review-success b{display:block;color:#176a4e;font:700 1.1rem Manrope}.review-success p{margin-bottom:0}@media(max-width:600px){.enrollment-review>div:not(.review-success){display:grid}.enrollment-review button{width:100%}}
