
:root {
  --elevate-ink:#0C1724; --elevate-carbon:#202428; --elevate-white:#F7F4EB;
  --elevate-gold:#FFE600; --elevate-yellow:#E6FF00; --elevate-aqua:#00D8D4; --elevate-slate:#75858C;
  --display:Anton,Arial,sans-serif; --ink:var(--elevate-ink); --line:rgba(117,133,140,.35);
}
body { background:var(--elevate-ink); color:var(--elevate-white); }
a { color:inherit; }
.intake-nav { max-width:1220px; padding:28px 32px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid rgba(117,133,140,.25); }
.intake-brand { display:flex; align-items:center; gap:15px; text-decoration:none; }
.intake-brand svg { display:block; width:68px; height:39px; }
.intake-brand strong { display:block; font:400 23px/1.1 var(--display); letter-spacing:.06em; }
.intake-brand small { display:block; margin-top:6px; font-size:9px; letter-spacing:.22em; }
.back { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 0; background:none; border:0; color:var(--elevate-white); font:inherit; font-size:13px; text-decoration:none; cursor:pointer; }
.back:hover { color:var(--elevate-gold); }
.registration-shell { max-width:1220px; margin:48px auto 80px; padding:0 32px; display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.38fr); gap:64px; align-items:start; }
.program-aside { position:sticky; top:32px; padding:10px 0; }
.intake-eyebrow { margin:0 0 20px; color:var(--elevate-aqua); font-size:11px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }
.program-aside h2 { margin:0; font:400 clamp(54px,6.7vw,86px)/1.02 var(--display); text-transform:uppercase; letter-spacing:-.02em; }
.program-aside h2 em { color:var(--elevate-gold); font-style:normal; }
.aside-intro { max-width:310px; margin:24px 0 30px; font-size:15px; line-height:1.7; }
.program-facts { display:flex; gap:0; margin:0 0 30px; padding:0; }
.program-facts div { padding:0 24px; border-left:1px solid var(--line); }
.program-facts div:first-child { padding-left:0; border:0; }
.program-facts dt { font:400 38px/1.2 var(--display); }
.program-facts dd { margin:5px 0 0; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.program-cost { padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.program-cost strong { color:var(--elevate-gold); font:400 50px/1 var(--display); }
.program-cost span { font-size:12px; line-height:1.7; text-align:right; }
.program-location { margin:24px 0 8px; font-weight:700; font-size:14px; }
.program-schedule { margin:0; font-size:12px; line-height:1.7; }
.program-start { margin:8px 0 0; font-size:12px; color:var(--elevate-aqua); }
.coach-line { margin-top:28px; padding-top:20px; border-top:1px solid var(--line); font-size:12px; line-height:1.8; }
.coach-line a { color:var(--elevate-aqua); text-underline-offset:4px; }
.registration-form { margin:0; padding:32px 36px 36px; min-width:0; border-radius:18px; color:var(--elevate-ink); background:var(--elevate-white); scroll-margin-top:24px; }
.registration-progress { padding-bottom:24px; border-bottom:1px solid var(--line); }
.registration-progress-label { margin:0 0 16px; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.registration-stepper { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); list-style:none; gap:8px; padding:0; margin:0; }
.registration-stepper li { display:flex; flex-direction:column; align-items:flex-start; gap:8px; font-size:10px; color:var(--elevate-slate); padding-top:12px; border-top:3px solid var(--line); }
.step-number { font-size:11px; line-height:1; font-weight:700; }
.registration-stepper .is-current { border-color:var(--elevate-ink); color:var(--elevate-ink); font-weight:700; }
.registration-stepper .is-complete { border-color:var(--elevate-aqua); color:var(--elevate-ink); }
.registration-stepper .is-current .step-number { background:var(--elevate-gold); padding:5px 7px; margin:-5px -7px; border-radius:4px; }
.form-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:10px; margin:27px 0 24px; }
.form-heading h1 { margin:0; font:400 clamp(34px,3.5vw,46px)/1.1 var(--display); text-transform:uppercase; }
.required-note { margin:0; font-size:11px; }
.required-mark { color:var(--elevate-ink); font-weight:700; }
.step { display:flex; flex-direction:column; gap:20px; min-width:0; }
.section-label { margin:0; font:700 11px/1.4 Arial,sans-serif; text-transform:uppercase; letter-spacing:.13em; }
.step-intro { margin:-10px 0 0; font-size:13px; line-height:1.65; }
.registration-form .field { font-size:12px; font-weight:700; gap:9px; }
.registration-form .field input, .registration-form .field select, .registration-form .field textarea { background:transparent; color:var(--elevate-ink); border:1px solid rgba(117,133,140,.65); border-radius:7px; min-height:50px; padding:12px 13px; font:400 16px/1.35 Arial,sans-serif; transition:border-color .15s,box-shadow .15s; }
.registration-form .field input::placeholder, .registration-form .field textarea::placeholder { color:var(--elevate-slate); opacity:1; }
.registration-form .field input:focus, .registration-form .field select:focus, .registration-form .field textarea:focus { outline:2px solid var(--elevate-ink); outline-offset:2px; border-color:var(--elevate-ink); }
.registration-form .field textarea { min-height:115px; resize:vertical; }
.registration-form .two { gap:16px; }
.section-divider { border-top:1px solid var(--line); padding-top:24px; margin-top:3px; }
.section-divider h3 { margin:0 0 6px; font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
.section-divider p { margin:0; font-size:12px; }
.registration-form .muted { color:var(--elevate-carbon); }
.registration-form .small { font-size:12px; line-height:1.7; }
.registration-form .btn { min-height:52px; padding:14px 18px; border-radius:7px; gap:12px; font-size:13px; line-height:1.4; font-weight:700; transition:transform .15s,background .15s; }
.registration-form .btn-dark, .registration-form .btn-accent { background:var(--elevate-gold); color:var(--elevate-ink); border:1px solid var(--elevate-ink); }
.registration-form .btn:hover:not(:disabled) { transform:translateY(-1px); }
.registration-form .btn-dark:hover, .registration-form .btn-accent:hover { background:var(--elevate-yellow); }
.registration-form .btn-block { margin-top:6px; justify-content:space-between; }
.registration-form .btn-outline { color:var(--elevate-ink); border:1px solid var(--elevate-ink); }
.registration-form .btn:disabled { background:rgba(117,133,140,.12); color:var(--elevate-slate); border-color:var(--line); opacity:1; cursor:not-allowed; }
.registration-form :focus-visible { outline:2px solid var(--elevate-ink); outline-offset:3px; }
.form-footer { font-size:10px; line-height:1.7; text-align:center; margin:22px 0 0; color:var(--elevate-carbon); }
.form-footer a { text-underline-offset:3px; }
.error { color:var(--elevate-ink); border:1px solid var(--elevate-ink); border-left:5px solid var(--elevate-ink); padding:14px; margin:0 0 20px; border-radius:6px; background:rgba(255,230,0,.2); font-size:13px; line-height:1.6; }
.error::before { content:'Please check your details. '; font-weight:700; }
.field-error { color:var(--elevate-ink); display:block; font-size:12px; font-weight:400; padding:7px 9px; background:rgba(255,230,0,.22); border-radius:4px; }
.field-error::before { content:'! '; font-weight:700; }
.registration-form [aria-invalid="true"] { border-color:var(--elevate-ink)!important; box-shadow:0 0 0 1px var(--elevate-ink); }
.q { margin:0; padding:18px; border:1px solid var(--line); border-radius:8px; min-width:0; }
.q legend { padding:0 5px; font-size:13px; line-height:1.6; font-weight:700; }
.opts { display:flex; gap:10px; margin-top:4px; }
.opts label { display:inline-flex; align-items:center; gap:9px; border:1px solid var(--elevate-slate); padding:10px 18px; border-radius:5px; min-width:95px; min-height:44px; font-size:13px; cursor:pointer; }
.opts label:has(input:checked) { background:var(--elevate-gold); border-color:var(--elevate-ink); }
.opts input, .check input, .plan input { accent-color:var(--elevate-ink); width:18px; height:18px; flex-shrink:0; margin:0; }
.q .field-error { margin-top:12px; }
.waiver { max-height:320px; overflow:auto; border:1px solid var(--line); border-radius:8px; padding:18px; font-size:13px; line-height:1.8; }
.waiver p:first-child { margin-top:0; }.waiver p:last-child { margin-bottom:0; }
.check { display:flex; gap:12px; align-items:flex-start; font-size:13px; line-height:1.6; cursor:pointer; }
.check input { margin-top:2px; }
.card { border:1px solid var(--line); border-radius:8px; padding:20px; }
.sig { font-family:Arial,sans-serif; }
.signature-preview { padding:20px; background:var(--elevate-ink); color:var(--elevate-white); border-radius:8px; }
.signature-preview p { margin:0; font-size:12px; }.signature-preview .signature-name { margin:8px 0; font:italic 26px/1.4 Arial,sans-serif; color:var(--elevate-gold); overflow-wrap:anywhere; }
.health-links { display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:14px 0 }.health-links a { color:var(--elevate-ink) }.health-followup p { line-height:1.65 }.health-followup .check { margin-top:12px }
.health-status { margin:0; font-size:13px; font-weight:700; }.health-followup { padding:14px 16px; border-left:4px solid var(--elevate-aqua); background:rgba(0,216,212,.08); font-size:13px; }
.opts label { flex:1; }.opts label:focus-within { outline:2px solid var(--elevate-ink); outline-offset:3px; }
.plan { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:16px; border:1px solid var(--elevate-ink); border-top:5px solid var(--elevate-gold); border-radius:9px; padding:23px; }
.plan input { margin-top:3px; }.plan .t { display:flex; flex-direction:column; gap:10px; }.plan .t strong { font-size:17px; }
#pkgPrice { grid-column:2; font:400 46px/1.1 var(--display); }
.summary .ln { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding:12px 0; font-size:14px; border-bottom:1px solid var(--line); }
.summary .ln:first-child { padding-top:0; }.summary .ln:last-child { padding-bottom:0; border-bottom:0; }
.summary .ln > :last-child { flex-shrink:0; }.summary .tot { margin-top:6px; font-weight:700; font-size:20px; }
.submission-status { margin:0; font-size:13px; }
.done { display:flex; flex-direction:column; gap:20px; padding:26px; background:var(--elevate-ink); color:var(--elevate-white); border-radius:10px; }
.done h2 { margin:0; font:400 40px/1.1 var(--display); text-transform:uppercase; }
.confirmation-kicker { margin:0; color:var(--elevate-aqua); font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.done .code { font:400 clamp(24px,6vw,36px)/1.4 var(--display); letter-spacing:.08em; overflow-wrap:anywhere; color:var(--elevate-gold); }
.done .btn-outline { color:var(--elevate-white); border-color:var(--elevate-slate); }
.done :focus-visible { outline-color:var(--elevate-gold); }
@media(max-width:960px) { .registration-shell { gap:32px; grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr); }.registration-form { padding:28px; }.program-aside h2 { font-size:62px; }.program-facts div { padding:0 17px; } }
@media(max-width:760px) {
  .intake-nav { padding:19px 22px; }.intake-brand svg { width:54px; height:31px; }.intake-brand strong { font-size:20px; }
  .registration-shell { display:block; padding:0 20px; margin:28px auto 40px; max-width:620px; }
  .program-aside { position:static; padding:0 4px 28px; }.intake-eyebrow { margin-bottom:12px; }
  .program-aside h2 { font-size:45px; max-width:420px; }.program-aside h2 br { display:none; }
  .aside-intro { margin:14px 0 20px; max-width:none; font-size:13px; }.program-facts { display:none; }
  .program-cost { padding:14px 0; }.program-cost strong { font-size:39px; }.program-cost span { font-size:11px; }
  .program-location { margin-top:18px; }.coach-line { display:none; }
  .registration-form { border-radius:13px; padding:25px; }.form-heading { margin-top:25px; }
}
@media(max-width:440px) { .registration-form { padding:22px 18px; }.registration-shell { padding:0 12px; }.registration-form .two { grid-template-columns:1fr; gap:20px; }.form-heading h1 { font-size:37px; }.form-heading { display:block; }.required-note { margin-top:12px; }.registration-stepper { gap:5px; }.registration-stepper li { font-size:9px; }.done { padding:20px; }.done h2 { font-size:32px; } }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { transition:none!important; scroll-behavior:auto!important; } }

.transfer-details { padding:22px; border:1px solid var(--elevate-ink); border-top:5px solid var(--elevate-gold); border-radius:8px; }
.transfer-details .payment-eyebrow { margin:0 0 8px; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.transfer-details h3 { margin:0 0 14px; font:400 28px/1.2 var(--display); text-transform:uppercase; }
.transfer-details p { font-size:13px; line-height:1.7; }
.transfer-details p:last-child { margin-bottom:0; }
.transfer-email { display:block; font-size:14px; line-height:1.6; overflow-wrap:anywhere; user-select:all; }
.payment-pending { border-top:1px solid var(--elevate-slate); padding-top:20px; color:var(--elevate-gold); }
