: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}
