@font-face{font-family:Foundry;src:url('./assets/heading.woff2') format('woff2');font-weight:900;font-display:swap}
:root{--black:#080808;--panel:#111;--ink:#f5f5f7;--muted:#a4a4ab;--quiet:#777780;--line:#ffffff25;--white:#f3f3f3;--error:#ffb4a8;--radius:12px}
*{box-sizing:border-box}
html{color-scheme:dark}
body{min-height:100vh;margin:0;background:var(--black);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
button,input{font:inherit}button{touch-action:manipulation}
button:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:5px}
.shell{width:min(100%,1440px);min-height:calc(100vh - 92px);margin:auto;padding:42px 5% 56px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:7%;align-items:center}
.brand-panel{position:relative;min-width:0;padding:24px 0}
.brand-panel__logo{display:block;width:164px;height:auto;margin:22px 0 54px;object-fit:contain}
.brand-panel__topline,.brand-panel__kicker,.confirmation__eyebrow,.question-step__label{margin:0;color:#adadb3;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.brand-panel h1,.question-step h2,.confirmation h2{font-family:Foundry,Arial,sans-serif;font-weight:900;letter-spacing:-.035em;text-wrap:balance}
.brand-panel h1{max-width:9.5ch;margin:16px 0 0;font-size:clamp(3.25rem,6vw,6rem);line-height:1.02}
.brand-panel__intro{max-width:42ch;margin:28px 0 0;color:#b5b5bc;font-size:1.08rem;line-height:1.75}
.form-panel{align-self:center;min-width:0;padding:42px;background:linear-gradient(135deg,#191919,#0e0e0e);border:1px solid var(--line);border-radius:16px}
.progress{margin-bottom:46px}.progress__meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--muted);font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.progress__track{height:3px;background:#ffffff1a;overflow:hidden}.progress__bar{width:0;height:100%;background:var(--white);transition:width .2s ease}
.question-step{min-height:360px;display:flex;flex-direction:column}.question-step__label{margin-bottom:18px}.question-step h2,.confirmation h2{margin:0;font-size:clamp(2.35rem,4.2vw,4.6rem);line-height:1.08}
.required{width:max-content;margin-top:18px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.field{display:block;margin-top:auto}.field input{display:block;width:100%;min-height:62px;padding:12px 0;background:transparent;border:0;border-bottom:1px solid #ffffff70;border-radius:0;color:#fff;font-size:1.3rem;outline:none}.field input::placeholder{color:var(--quiet)}.field input:focus{border-bottom-color:#fff}.field input[aria-invalid=true]{border-bottom-color:var(--error)}
.field-error{min-height:25px;margin:11px 0 0;color:var(--error);font-size:.88rem}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:16px 24px;border:1px solid var(--white);border-radius:8px;font-weight:650;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button--primary{margin-left:auto;background:var(--white);color:#111}.button--primary:hover{background:#d6d6da}.button--secondary{background:transparent;color:#fff;border-color:#ffffff40}.button--secondary:hover{background:#202020}.button:disabled{opacity:.6;cursor:wait;transform:none}
.confirmation{min-height:430px;padding-top:24px}.confirmation__eyebrow{display:block;margin-bottom:20px}.confirmation p{max-width:44ch;margin:26px 0 0;color:#b5b5bc;font-size:1.04rem}.confirmation .button{margin-top:38px}
footer{display:flex;justify-content:space-between;gap:24px;padding:24px 5%;border-top:1px solid var(--line);color:#85858d;font-size:.75rem;letter-spacing:.06em}footer p{margin:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:850px){.shell{gap:40px}.form-panel{padding:30px}.brand-panel h1{font-size:clamp(3rem,7vw,4.8rem)}}
@media(max-width:680px){.shell{display:block;padding:28px 24px 46px}.brand-panel{padding:0 0 38px}.brand-panel__logo{width:126px;margin:18px 0 34px}.brand-panel h1{max-width:11ch;font-size:clamp(2.8rem,13vw,4.2rem)}.brand-panel__intro{margin-top:22px}.form-panel{padding:26px 22px}.question-step{min-height:330px}.question-step h2,.confirmation h2{font-size:clamp(2.25rem,11vw,3.5rem)}.button{padding:15px 18px}footer{display:block;padding:28px 24px}footer p+p{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.progress__bar,.button{transition:none}.button:hover{transform:none}}

/* Shared PRIME website + onboarding visual system */
body{background:#080808}
.shell{width:100%;max-width:none;min-height:100svh;padding:0;grid-template-columns:258px minmax(0,1fr);gap:0;align-items:stretch}
.brand-panel{position:sticky;top:0;height:100svh;padding:60px 30px 38px;background:#0b0b0b;border-right:1px solid #ffffff0f;display:flex;flex-direction:column;overflow:hidden}
.brand-panel__topline{font-size:.6875rem;letter-spacing:.1em;color:#a0a0a0}
.brand-panel__logo{width:118px;margin:24px 0 54px}
.brand-panel__kicker{font-size:.6875rem;letter-spacing:.1em;color:#8f8f94}
.brand-panel h1{max-width:8.5ch;margin-top:14px;font-family:Arial,Helvetica,sans-serif;font-size:2.35rem;font-weight:500;line-height:1.05;letter-spacing:-.06em;text-transform:lowercase}
.brand-panel__intro{margin-top:24px;font-size:.875rem;line-height:1.65;color:#9e9ea4}
.brand-panel__bottom{margin-top:auto;padding-top:28px}.brand-panel__bottom>span{font-size:.625rem;letter-spacing:.14em;color:#888}.brand-panel__bottom p{margin:8px 0 0;font-family:Foundry,Arial,sans-serif;font-size:1.45rem;line-height:1.1;color:#e4e4e4}
.form-panel{position:relative;align-self:stretch;padding:0 48px 54px;background:radial-gradient(ellipse 65% 420px at 65% 0%,#ffffff07,transparent),#080808;border:0;border-radius:0}
.form-header{height:172px;display:flex;align-items:center;gap:24px;border:0;color:#9b9b9b;font-size:.75rem;letter-spacing:.12em}.form-header img{width:124px;height:auto}.form-header>span:nth-child(2){margin-right:auto}.form-header__status{border:1px solid #ffffff16;background:#ffffff04;border-radius:20px;padding:6px 11px;font-size:.7rem;letter-spacing:.08em;color:#b8b8b8}
.progress{max-width:900px;margin:0 auto 34px}.progress__meta{font-size:.7rem;font-weight:500}.progress__track{height:2px;background:#ffffff09}.progress__bar{background:#dedede}
#referral-form,.confirmation{max-width:900px;margin:auto;border:1px solid #ffffff1b;border-radius:18px;background:linear-gradient(140deg,#ffffff05,transparent 40%),linear-gradient(#151515,#101010);padding:38px;box-shadow:0 18px 50px #0004,inset 0 1px 0 #ffffff05}
.question-step{min-height:350px}.question-step h2,.confirmation h2{font-family:Foundry,Arial,sans-serif;font-size:clamp(2.5rem,4.4vw,4.25rem);font-weight:900;line-height:1.08;letter-spacing:-.012em}.question-step__label,.confirmation__eyebrow{color:#a0a0a0;font-size:.75rem;font-weight:500;letter-spacing:.12em}.required{border-color:#ffffff18;background:#ffffff04}
.field input{min-height:56px;padding:14px 16px;background:#090909;border:1px solid #ffffff20;border-radius:8px;box-shadow:inset 0 2px 5px #0003;font-size:1rem}.field input:focus{border-color:#aaa;background:#0c0c0c;box-shadow:0 0 0 3px #ffffff09}.field input[aria-invalid=true]{border-color:var(--error)}
.form-actions{padding-top:24px;border-top:1px solid #ffffff13}.button{min-height:52px;border-radius:8px;font-size:.875rem;font-weight:600}.button--primary{background:linear-gradient(#fff,#dedede);box-shadow:inset 0 1px #fff,0 3px 8px #0005}.button--secondary{background:linear-gradient(#242424,#1a1a1a);border-color:#ffffff25;box-shadow:inset 0 1px #ffffff06}.confirmation{min-height:420px}.site-footer{display:none}
@media(max-width:1050px) and (min-width:701px){.shell{grid-template-columns:218px minmax(0,1fr)}.brand-panel{padding:44px 24px}.brand-panel h1{font-size:2rem}.form-panel{padding-left:26px;padding-right:26px}.form-header{height:152px}}
@media(max-width:700px){.shell{display:block}.brand-panel{display:none}.form-panel{padding:0 20px 32px}.form-header{height:140px;gap:18px}.form-header img{width:104px}.form-header>span:nth-child(2){font-size:9px;line-height:1.7;max-width:90px}.form-header__status{font-size:9px;padding:7px 9px}.progress{margin-bottom:26px}#referral-form,.confirmation{padding:24px 20px;border-radius:14px}.question-step{min-height:330px}.question-step h2,.confirmation h2{font-size:clamp(2rem,8vw,3rem);line-height:1.14}.form-actions{gap:10px}.button{padding:14px 16px}.site-footer{display:flex;padding:24px 20px;background:#0b0b0b}}

.mobile-intro{display:none}.form-privacy{margin:18px 0 0;text-align:center;color:#777780;font-size:.75rem}.confirmation__mark{display:grid;place-items:center;width:58px;height:58px;margin-bottom:28px;border-radius:50%;background:#f3f3f3;color:#111;font-size:1.45rem;font-weight:800}

@media(max-width:700px){
  html{background:#080808}
  body{min-height:100svh;background:radial-gradient(circle at 88% 8%,#ffffff0b,transparent 31%),#080808}
  .form-panel{min-height:100svh;padding:0 18px calc(22px + env(safe-area-inset-bottom));background:transparent;display:flex;flex-direction:column}
  .form-header{height:76px;flex:0 0 auto;gap:12px;border-bottom:1px solid #ffffff0d}
  .form-header img{width:54px}
  .form-header>span:nth-child(2){max-width:none;margin-right:auto;font-size:.625rem;letter-spacing:.12em;line-height:1.2}
  .form-header__status{padding:5px 8px;font-size:.55rem;letter-spacing:.08em}
  .mobile-intro{display:none;padding:30px 2px 25px}
  .form-panel[data-current-step="0"] .mobile-intro{display:block}
  .mobile-intro>span{display:block;color:#96969d;font-size:.625rem;font-weight:700;letter-spacing:.14em}
  .mobile-intro>strong{display:block;margin-top:11px;font-family:Foundry,Arial,sans-serif;font-size:clamp(2.25rem,10.5vw,3.25rem);font-weight:900;line-height:1.02;letter-spacing:-.025em}
  .mobile-intro>p{display:flex;align-items:center;gap:8px;margin:17px 0 0;color:#a8a8af;font-size:.8125rem}
  .mobile-intro b{padding:5px 8px;border-radius:999px;background:#f2f2f2;color:#111;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}
  .progress{order:0;width:100%;margin:22px 0 0;padding:0 2px}
  .form-panel[data-current-step="0"] .progress{margin-top:0}
  .progress__meta{margin-bottom:10px;font-size:.625rem;letter-spacing:.1em}
  .progress__track{height:4px;border-radius:999px;background:#ffffff12}
  .progress__bar{border-radius:999px;transition:width .28s cubic-bezier(.2,.8,.2,1)}
  #referral-form,.confirmation{width:100%;margin:18px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
  #referral-form{display:flex;flex:1;min-height:0;flex-direction:column}
  .question-step{min-height:0;flex:1;padding:24px 2px 12px}
  .question-step__label{margin-bottom:12px;font-size:.625rem;letter-spacing:.12em}
  .question-step h2{max-width:12ch;font-size:clamp(2.6rem,12vw,4rem);line-height:1.02;letter-spacing:-.02em;text-wrap:balance}
  .required{margin-top:14px;padding:4px 7px;font-size:.55rem}
  .field{margin-top:auto;padding-top:34px}
  .field input{min-height:64px;padding:16px 17px;border-radius:12px;background:#101010;border-color:#ffffff28;font-size:1.125rem;box-shadow:inset 0 1px #ffffff06,0 12px 30px #0004}
  .field input:focus{border-color:#e6e6e6;box-shadow:0 0 0 3px #ffffff0d,0 15px 36px #0007}
  .field-error{margin-top:8px;font-size:.8125rem}
  .form-actions{position:sticky;bottom:0;margin:0 -18px;padding:14px 18px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #ffffff12;background:linear-gradient(transparent,#080808 22%,#080808);gap:10px;z-index:2}
  .button{min-height:58px;border-radius:12px;padding:15px 18px}
  .button--primary{flex:1;font-size:.9375rem}
  .button--secondary{min-width:88px}
  .form-privacy{margin:10px 0 0;font-size:.6875rem}
  .confirmation{padding:40px 2px 20px;min-height:auto}
  .confirmation h2{max-width:11ch;font-size:clamp(2.6rem,12vw,3.8rem);line-height:1.03}
  .confirmation p{font-size:.9375rem;line-height:1.65}
  .confirmation .button{width:100%;margin-top:30px}
  .site-footer{display:none}
}

@media(max-width:370px){.question-step h2{font-size:2.35rem}.mobile-intro>strong{font-size:2.2rem}.field input{min-height:58px}.button{min-height:54px}}
