:root{--forest:#063F2F;--green:#2FAF16;--gold:#F2B20C;--cream:#FBF8EF;--ink:#10251f;--muted:#66756e;--line:#dfe6e1;--soft:#f4f7f5;--white:#fff;--shadow:0 18px 48px rgba(6,63,47,.10)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f7f8f6}body{margin:0}button,input,select,textarea{font:inherit}a{color:var(--forest)}.hidden{display:none!important}.enroll-shell{min-height:100dvh}.enroll-topbar{background:var(--forest);color:#fff;padding:12px max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left));padding-top:max(12px,env(safe-area-inset-top));border-bottom:4px solid var(--gold)}.enroll-brand{max-width:1040px;margin:auto;display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:950;letter-spacing:.04em}.enroll-brand img{width:44px;height:44px;object-fit:contain}.enroll-brand small{display:block;color:#dce8e2;font-size:10px;letter-spacing:.13em;margin-top:3px}.enroll-main{max-width:1040px;margin:auto;padding:28px 18px 72px}.eyebrow{font-size:11px;font-weight:950;letter-spacing:.16em;color:#997000;text-transform:uppercase}.enroll-title{font-size:clamp(34px,6vw,58px);line-height:1.02;margin:8px 0 10px;color:var(--forest)}.enroll-lead{font-size:18px;line-height:1.55;color:#405149;max-width:760px;margin:0}.progress{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:26px 0 32px}.progress-step{position:relative;background:#edf2ef;border:1px solid var(--line);border-radius:12px;padding:10px 9px;text-align:center;color:#68766f;font-size:11px;font-weight:900}.progress-step strong{display:block;color:inherit;font-size:15px;margin-bottom:2px}.progress-step.active{background:#fff3bf;border-color:#e4c14f;color:#6d5100}.progress-step.done{background:#e9f6e5;border-color:#baddb1;color:#237e13}.card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.summary-card{padding:22px;margin-bottom:18px}.summary-card h2,.form-card h2{margin:0 0 8px;color:var(--forest);font-size:26px}.summary-card p{margin:5px 0;color:#405149;line-height:1.55}.quick-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:17px}.fact{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfcfb}.fact strong{display:block;color:var(--forest);font-size:17px}.fact span{font-size:11px;color:var(--muted);font-weight:800}.form-card{padding:24px;margin-top:18px}.form-section{border-top:1px solid var(--line);padding-top:21px;margin-top:21px}.form-section:first-of-type{border-top:0;padding-top:4px;margin-top:4px}.form-section h3{margin:0 0 3px;color:var(--forest);font-size:20px}.form-section>p{margin:0 0 15px;color:var(--muted);font-size:13px;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:900;color:#405149}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd6cf;border-radius:11px;background:#fff;color:var(--ink);padding:13px 14px;outline:none}.field textarea{min-height:104px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#6ca387;box-shadow:0 0 0 3px rgba(6,63,47,.08)}.field-help{font-size:11px;color:var(--muted);line-height:1.4}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice{flex:1;min-width:180px}.choice input{position:absolute;opacity:0;pointer-events:none}.choice label{display:block;border:1px solid var(--line);border-radius:12px;padding:13px 14px;cursor:pointer;font-weight:800;background:#fff}.choice input:checked+label{border-color:#7dae91;background:#edf7f0;box-shadow:0 0 0 2px rgba(6,63,47,.07)}.agreement-box{border:1px solid var(--line);background:#fbfcfb;border-radius:14px;padding:16px}.agreement-box p{margin:6px 0;color:#405149;line-height:1.55;font-size:13px}.agreement-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.legal-link{font-weight:900}.check-list{display:grid;gap:11px;margin:16px 0}.check{display:grid;grid-template-columns:22px 1fr;gap:9px;align-items:start;color:#30443b;font-size:13px;line-height:1.45}.check input{width:18px;height:18px;margin-top:1px;accent-color:var(--forest)}.signature-box{background:#fff8df;border:1px solid #e5cf88;border-radius:14px;padding:16px;margin-top:15px}.signature-box strong{color:var(--forest)}.primary{border:0;border-radius:12px;background:var(--forest);color:#fff;font-weight:950;padding:15px 20px;min-height:52px;cursor:pointer;text-decoration:none;display:inline-grid;place-items:center}.primary:hover{filter:brightness(1.04)}.primary:disabled{opacity:.55;cursor:not-allowed}.gold{background:var(--gold);color:#13251e}.secondary{border:1px solid #bfd0c6;background:#fff;color:var(--forest);border-radius:11px;font-weight:900;padding:12px 16px;text-decoration:none;display:inline-grid;place-items:center}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}.status{border-radius:11px;padding:12px 14px;margin-top:14px;background:#fff3df;color:#744e00;font-size:13px;line-height:1.45}.status.success{background:#eaf7ec;color:#1f6f2e}.success-card{text-align:center;padding:38px 24px}.success-mark{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 17px;background:#e7f7e5;color:#247b17;font-size:34px;font-weight:950}.success-card h1{color:var(--forest);font-size:clamp(32px,5vw,46px);margin:0 0 10px}.success-card p{max-width:650px;margin:8px auto;color:#405149;line-height:1.6}.next-move{display:inline-block;margin:17px auto 0;border-radius:999px;background:#fff3bf;color:#6d5100;padding:8px 13px;font-size:12px;font-weight:950}.teammate-note{margin-top:20px;font-weight:900;color:var(--forest)}.commitment-card{max-width:760px;margin:0 auto;padding:26px}.commitment-intro{background:#f0f8f3;border-left:4px solid var(--green);border-radius:10px;padding:15px 16px;margin:16px 0 20px}.commitment-list{display:grid;gap:9px;margin:17px 0}.commitment-item{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}.commitment-item strong{color:var(--forest)}.privacy-choice{background:#fff8df;border:1px solid #ead59a;border-radius:14px;padding:15px;margin:18px 0}.legal-wrap{max-width:900px;margin:auto;padding:32px 18px 80px}.legal-wrap h1{color:var(--forest);font-size:40px;margin:7px 0}.legal-wrap h2{color:var(--forest);font-size:19px;margin:28px 0 8px}.legal-wrap p,.legal-wrap li{line-height:1.65;color:#30443b}.legal-callout{background:#fff8df;border:1px solid #e3cd8c;border-radius:14px;padding:16px;margin:20px 0}.print-only{display:none}
@media(max-width:700px){.enroll-main{padding:22px 13px 70px}.progress{grid-template-columns:repeat(5,minmax(70px,1fr));overflow-x:auto;padding-bottom:4px}.progress-step{min-width:82px}.quick-facts{grid-template-columns:1fr 1fr}.form-card,.summary-card,.commitment-card{padding:18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.choice{min-width:100%}.button-row{display:grid}.button-row .primary,.button-row .secondary{width:100%}.enroll-lead{font-size:16px}.enroll-brand span{font-size:13px}}
@media print{.enroll-topbar,.progress,.button-row{display:none!important}.legal-wrap{padding:0}.print-only{display:block}.card{box-shadow:none}}
/* v15 mobile enrollment path: keep all five steps visible without horizontal scrolling. */
@media(max-width:700px){
  .progress{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow:visible;padding-bottom:0}
  .progress-step{min-width:0;padding:8px 2px;font-size:8.5px;line-height:1.15;white-space:normal}
  .progress-step strong{font-size:14px;margin-bottom:3px}
}

/* v16.1 enrollment validation clarity */
.field-error{font-size:12px;line-height:1.4;color:#9b1c1c;font-weight:850;margin-top:2px}
.invalid-field input:not([type="radio"]):not([type="checkbox"]),.invalid-field select,.invalid-field textarea{border-color:#c93b3b!important;box-shadow:0 0 0 3px rgba(201,59,59,.10)!important}
.invalid-field.choice,.invalid-field .choice label{border-color:#c93b3b}
#ageField.invalid-field .choice label{border-color:#c93b3b;background:#fff8f8}
.check.invalid-field{border-radius:10px;outline:2px solid rgba(201,59,59,.30);outline-offset:4px}

/* v16.16 legal protections: conspicuous release / liability sections */
.legal-danger{background:#fff5f5;border:2px solid #b73a3a;border-radius:14px;padding:16px 18px;margin:12px 0 20px;color:#4d2020}.legal-danger>strong{display:block;color:#8b1f1f;letter-spacing:.035em}.legal-danger p{color:#4d2020}.legal-protection{background:#fff7e8;border:1px solid #d9a94a;border-radius:14px;padding:15px 16px;margin:14px 0}.legal-protection strong{color:#6f4b00}.legal-protection p{margin:6px 0;color:#4c4330;line-height:1.5;font-size:13px}

/* v16.17 privacy-consent onboarding */
.age-gate{max-width:660px;margin:18px auto 0}.age-confirm{border:1px solid var(--line);background:var(--soft);border-radius:11px;padding:12px 14px;color:#405149;font-size:13px}.text-button{border:0;background:transparent;color:var(--forest);font-weight:900;text-decoration:underline;cursor:pointer;padding:0 0 0 8px}.privacy-choice .check-list{margin-bottom:0}#under13 .success-mark{background:#fff3df;color:#8a5b00}


/* v16.52 — student phone-first commitment */
@media(max-width:700px){
  .commitment-card{padding:18px 15px calc(24px + env(safe-area-inset-bottom));border-radius:16px}
  .commitment-intro{padding:14px;margin:14px 0 16px;line-height:1.55}
  .commitment-list{gap:8px;margin:14px 0}.commitment-item{padding:12px 13px;font-size:14px;line-height:1.5}
  .agreement-actions{display:grid;grid-template-columns:1fr;gap:8px}.agreement-actions .secondary{width:100%;min-height:48px;text-align:center}
  .legal-protection,.privacy-choice{padding:14px;margin:15px 0}.legal-protection p,.privacy-choice p{font-size:13px;line-height:1.5}
  .check-list{gap:14px}.check{grid-template-columns:28px 1fr;gap:9px;font-size:14px;line-height:1.45}.check input{width:22px;height:22px;margin-top:0}
  .choice-row{display:grid;grid-template-columns:1fr;gap:8px}.choice{min-width:0}.choice label{min-height:52px;display:flex;align-items:center;padding:13px}
  .signature-box{padding:14px}.signature-box input,.field input,.field select,.field textarea{font-size:16px;min-height:48px}
  .button-row{margin-top:16px}.button-row .primary{width:100%;min-height:56px;font-size:14px}
}

/* v16.59 clarity */
.parent-hub-after-onboarding{margin-top:10px}.commitment-intro strong:first-child{font-size:1.05em}

/* v16.69.5 Parent 2 authority attestations */
.consent-check{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;padding:12px 14px;border:1px solid #d8e1dc;border-radius:12px;background:#fbfcfb;color:#30443b;font-size:13px;line-height:1.45;margin:10px 0}.consent-check input{width:18px;height:18px;margin:2px 0 0;accent-color:#064d38}.consent-check strong{color:#063f2f}

/* v16.77 — choose the game before enrollment + Zero Guesswork refinement */
.entry-choice-card{max-width:900px;margin:20px auto 0}.entry-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.entry-choice{appearance:none;border:2px solid #d9e4de;border-radius:16px;background:#fff;padding:20px;text-align:left;cursor:pointer;color:var(--ink);display:grid;gap:7px;min-height:210px;transition:.15s ease}.entry-choice:hover,.entry-choice:focus-visible{border-color:#2f7b62;box-shadow:0 10px 28px rgba(6,63,47,.10);transform:translateY(-1px);outline:none}.entry-choice.college{background:linear-gradient(180deg,#fbfdfb,#f1f8f4)}.entry-choice-kicker{font-size:11px;letter-spacing:.13em;font-weight:950;color:#8b6500}.entry-choice strong{font-size:24px;color:var(--forest)}.entry-choice span:not(.entry-choice-kicker){color:#52645b;line-height:1.5}.entry-choice b{margin-top:auto;color:var(--forest);font-size:13px}.selected-entry{max-width:900px;margin:16px auto 0;padding:12px 14px;border:1px solid #cbdcd2;border-radius:12px;background:#eef7f1;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.selected-entry strong{color:var(--forest)}.selected-entry span{color:#52645b;font-size:13px}.selected-entry .text-button{margin-left:auto}.direct-college-note{background:#eef7f1;border:1px solid #cfe0d6;border-radius:14px;padding:14px 16px;color:#30443b;line-height:1.5}
@media(max-width:700px){.entry-choice-grid{grid-template-columns:1fr}.entry-choice{min-height:170px;padding:17px}.entry-choice strong{font-size:21px}.selected-entry .text-button{margin-left:0}}

/* v16.77 — shared 2•1•0 / Zero Guesswork enrollment system */
.principle-210{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;color:var(--forest);font-size:12px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.principle-210 b{font-size:17px;color:var(--gold);line-height:1}.principle-210 i{font-style:normal;color:#9fb2a8}.enroll-topbar .principle-210{color:#fff;margin-left:auto}.enroll-topbar .principle-210 b{color:var(--gold)}.enroll-topbar .principle-210 i{color:#9fc0b2}.principle-210.compact{font-size:10px;letter-spacing:.08em}.principle-210.compact b{font-size:14px}
.what-next-card{margin:18px 0;padding:16px 18px;border:1px solid #cfe0d6;border-left:5px solid var(--forest);border-radius:14px;background:linear-gradient(135deg,#f6fbf8,#fff);box-shadow:0 7px 22px rgba(6,63,47,.05);display:grid;gap:5px}.what-next-card strong{color:var(--forest);font-size:11px;letter-spacing:.12em}.what-next-card span{color:#30443b;line-height:1.55;font-size:14px}.what-next-card.prefill{border-left-color:var(--gold);background:#fffaf0}.what-next-card.success-next{max-width:680px;margin:20px auto 10px;text-align:left}
.what-next-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.what-next-flow span{display:grid;align-content:start;gap:5px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#52645b;font-size:11px;line-height:1.35}.what-next-flow b{color:var(--forest);font-size:12px}.what-next-flow i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font-size:10px;font-weight:950}
.service-boundary{margin:18px 0;padding:15px 17px;border:1px solid #d9e3dd;border-radius:14px;background:#f7f9f8;display:grid;gap:5px}.service-boundary strong{color:var(--forest);font-size:11px;letter-spacing:.1em}.service-boundary span{color:#506159;line-height:1.55;font-size:13px}.privacy-handoff-card{padding:18px;border:1px solid #cfe0d6;border-radius:14px;background:#f5faf7}.privacy-handoff-card h2{margin:6px 0;color:var(--forest)}.privacy-handoff-card p{color:#405149;line-height:1.55}.attention-lane{margin:4px 0 18px;padding:18px;border:1px solid #e9d492;border-radius:15px;background:#fffaf0}.attention-lane h2{margin:6px 0 7px;color:var(--forest)}.attention-lane>p{margin:0 0 13px;color:#506159;line-height:1.5}.attention-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.attention-choice-grid label{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #ddd9ca;border-radius:11px;background:#fff;cursor:pointer}.attention-choice-grid input{margin-top:3px;accent-color:var(--forest)}.attention-choice-grid span,.attention-choice-grid b,.attention-choice-grid small{display:block}.attention-choice-grid b{color:var(--forest);font-size:13px}.attention-choice-grid small{margin-top:3px;color:#6b7771;line-height:1.35}.attention-choice-grid label:has(input:checked){border-color:#83b399;background:#eff8f2;box-shadow:0 0 0 2px rgba(6,63,47,.05)}
.zero-guesswork-note{margin:14px 0 0;color:#5d6c65;font-size:12px;line-height:1.5;text-align:center}.selected-entry{box-shadow:0 6px 18px rgba(6,63,47,.04)}
@media(max-width:760px){.enroll-topbar{display:flex;align-items:center;gap:10px}.enroll-topbar .principle-210{display:none}.what-next-flow{grid-template-columns:1fr}.attention-choice-grid{grid-template-columns:1fr}.what-next-card{padding:14px 15px}.service-boundary{padding:14px 15px}}
.status .recovery-action{display:inline-flex;margin-top:12px;text-decoration:none}.status br+.recovery-action{margin-top:12px}

/* v16.77.5 unified CHECK✓MATE wordmark */
.join-brand-copy{display:block;line-height:1.02}.join-brand-wordmark{display:block;font-weight:950}.join-brand-check{color:#2faf16}.join-brand-mate{color:#f2b20c}


/* v16.87.0 — calmer semantic color hierarchy */
:root{--cream:#f6f8f7;--attention:#b7791f;--attention-border:#dfc16f;--attention-wash:#fffdf8}
.eyebrow{color:#39715d}
.progress-step.active{background:#fff;border-color:var(--attention-border);box-shadow:inset 0 3px 0 var(--gold);color:#66551f}
.signature-box,.privacy-choice,.legal-callout,.legal-protection{background:var(--attention-wash)}
.status{background:#f6f8f7;color:#405149;border:1px solid var(--line)}
.next-move{background:#edf7f1;color:#286b4e}
.what-next-card.prefill,.attention-lane{background:#fff;border-color:var(--attention-border);border-left:5px solid var(--attention)}
#under13 .success-mark{background:#f6f8f7;color:#6d6250}

/* v16.88.0 — enrollment value explanation for the two-month start */
.start-value-card{padding:24px;margin:18px 0}.start-value-card h2{margin:7px 0 8px;color:var(--forest);font-size:25px;line-height:1.2}.start-value-card>p{margin:0 0 17px;color:#405149;line-height:1.55}.start-value-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.start-value-grid article{border:1px solid var(--line);border-radius:13px;padding:15px;background:#fbfcfb}.start-value-grid article span{display:block;margin-bottom:6px;color:#997000;font-size:11px;font-weight:950;letter-spacing:.12em}.start-value-grid article strong{display:block;color:var(--forest);line-height:1.3}.start-value-grid article p{margin:7px 0 0;color:#405149;font-size:13px;line-height:1.5}.start-value-terms{display:grid;gap:3px;margin-top:11px;padding:13px 14px;border-left:4px solid var(--gold);border-radius:10px;background:#fff8df}.start-value-terms strong{color:var(--forest)}.start-value-terms span{color:#5a5e59;font-size:12px;line-height:1.45}@media(max-width:700px){.start-value-card{padding:18px}.start-value-grid{grid-template-columns:1fr}}

/* v16.92.0 capacity / waitlist */
.availability-state{max-width:900px;margin:18px auto 22px;border:2px solid #d8e1dc}.availability-state h2{color:var(--forest);margin:5px 0 8px}.availability-state form{margin-top:14px}.availability-state .status{margin-top:12px}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid rgba(34,105,75,.5);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
