:root{
  --bg:#050a10;
  --bg2:#081119;
  --panel:rgba(255,255,255,0.035);
  --panel-solid:#0b141d;
  --border:rgba(45,224,208,0.16);
  --border-strong:rgba(45,224,208,0.4);
  --teal:#2FE6D6;
  --teal-deep:#12A99C;
  --violet:#8B7FE8;
  --danger:#FF5A6E;
  --danger-bg:rgba(255,90,110,0.10);
  --danger-border:rgba(255,90,110,0.45);
  --amber:#FFB444;
  --amber-bg:rgba(255,180,68,0.10);
  --amber-border:rgba(255,180,68,0.45);
  --info:#4FB4FF;
  --info-bg:rgba(79,180,255,0.10);
  --info-border:rgba(79,180,255,0.4);
  --ink:#EAF3F2;
  --muted:#8CA3A8;
  --muted2:#5C7278;
  --radius:18px;
  --disp:'Oswald',sans-serif;
  --body:'Inter',sans-serif;
  --mono:'IBM Plex Mono',monospace;
  --maxw:560px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:
    radial-gradient(ellipse 900px 600px at 50% -10%, rgba(45,224,208,0.10), transparent 60%),
    radial-gradient(ellipse 700px 500px at 100% 100%, rgba(139,127,232,0.08), transparent 60%),
    var(--bg);
  color:var(--ink);
  font-family:var(--body);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:'';
  position:fixed;inset:0;
  background-image:
    linear-gradient(rgba(45,224,208,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(45,224,208,0.035) 1px, transparent 1px);
  background-size:42px 42px;
  pointer-events:none;
  z-index:0;
  mask-image:radial-gradient(ellipse 800px 800px at 50% 0%, black, transparent 70%);
}
h1,h2,h3,.disp{font-family:var(--disp);text-transform:uppercase;letter-spacing:0.01em;font-weight:600;}
.mono{font-family:var(--mono);}
button{font-family:inherit;}
::selection{background:var(--teal);color:#001a17;}

/* ---------- App shell ---------- */
#app{
  position:relative;z-index:1;
  max-width:var(--maxw);
  margin:0 auto;
  min-height:100vh;
  display:flex;flex-direction:column;
  padding:0 0 40px;
}
.chrome{
  position:sticky;top:0;z-index:5;
  background:linear-gradient(180deg, rgba(5,10,16,0.96) 70%, rgba(5,10,16,0));
  padding:14px 20px 10px;
  display:none;
}
.chrome.show{display:block;}
.chrome-top{display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
.back-btn{
  background:none;border:none;color:var(--muted);
  font-family:var(--body);font-size:13px;font-weight:600;
  display:flex;align-items:center;gap:5px;cursor:pointer;
  padding:6px 4px;letter-spacing:.01em;
}
.back-btn:hover{color:var(--teal);}
.step-label{
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--teal);
  text-transform:uppercase;
}
.progress-track{
  height:3px;background:rgba(255,255,255,0.08);border-radius:3px;overflow:hidden;
}
.progress-fill{
  height:100%;background:linear-gradient(90deg,var(--teal-deep),var(--teal));
  border-radius:3px;width:0%;
  transition:width .5s cubic-bezier(.4,0,.2,1);
  box-shadow:0 0 12px rgba(45,224,208,.6);
}

#stage{
  flex:1;
  padding:14px 20px 10px;
  position:relative;
  z-index:1;
}
.screen{
  display:none;
  animation:screenIn .5s cubic-bezier(.16,1,.3,1) both;
}
.screen.active{display:block;}
@keyframes screenIn{
  from{opacity:0;transform:translateY(14px);}
  to{opacity:1;transform:translateY(0);}
}
@media (prefers-reduced-motion: reduce){
  .screen{animation:none;}
  *{animation-duration:.01ms !important; transition-duration:.01ms !important;}
}

.eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--teal);
  text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:8px;
}
.eyebrow::before{content:'';width:14px;height:1px;background:var(--teal);display:inline-block;}
.personal-kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--teal);text-transform:uppercase;margin-bottom:8px;opacity:.85;}
h2.headline{font-size:30px;line-height:1.08;margin:0 0 8px;color:#fff;}
h2.headline .accent{color:var(--teal);}
.sub{color:var(--muted);font-size:15px;line-height:1.5;margin:0 0 26px;}

/* ---------- Buttons ---------- */
.cta{
  width:100%;
  background:linear-gradient(135deg,var(--teal),var(--teal-deep));
  color:#00201c;
  border:none;
  border-radius:14px;
  padding:17px 20px;
  font-family:var(--body);font-weight:800;font-size:15px;
  letter-spacing:.02em;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 8px 30px rgba(45,224,208,0.25);
  transition:transform .15s ease, box-shadow .15s ease, opacity .2s ease;
}
.cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 34px rgba(45,224,208,0.35);}
.cta:active:not(:disabled){transform:translateY(0px) scale(.995);}
.cta:disabled{opacity:.32;cursor:not-allowed;box-shadow:none;}
.cta.pulse{animation:ctaPulse 2.6s ease-in-out infinite;}
@keyframes ctaPulse{0%,100%{opacity:1;}50%{opacity:.88;}}
.cta-ghost{
  width:100%;background:transparent;color:var(--muted);
  border:1px solid rgba(255,255,255,0.14);border-radius:14px;
  padding:14px 20px;font-weight:600;font-size:14px;cursor:pointer;margin-top:10px;
}
.cta-ghost:hover{border-color:var(--border-strong);color:var(--ink);}
.foot-actions{margin-top:22px;display:flex;gap:10px;align-items:stretch;}
.foot-actions .cta{flex:1;}
.back-btn-inline{
  flex:0 0 54px;border-radius:14px;border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.03);color:var(--ink);font-size:19px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.back-btn-inline:hover{border-color:var(--border-strong);color:var(--teal);background:rgba(45,224,208,0.06);}
.back-btn-inline:active{transform:scale(.96);}
.helper-note{text-align:center;font-size:12px;color:var(--muted2);margin-top:10px;line-height:1.5;}

/* ---------- Option cards ---------- */
.field-block{margin-bottom:26px;}
.field-label{
  font-family:var(--mono);font-size:11px;letter-spacing:.09em;color:var(--muted);
  text-transform:uppercase;margin-bottom:10px;display:block;
}
.options{display:flex;flex-direction:column;gap:10px;}
.options.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.opt{
  position:relative;
  border:1px solid rgba(255,255,255,0.09);
  background:var(--panel);
  border-radius:14px;
  padding:14px 16px;
  cursor:pointer;
  display:flex;align-items:center;gap:12px;
  transition:border-color .15s ease, background .15s ease, transform .1s ease;
  user-select:none;
}
.opt:hover{border-color:rgba(255,255,255,0.22);}
.opt .mark{
  width:20px;height:20px;flex:0 0 20px;
  border:1.5px solid rgba(255,255,255,0.25);
  display:flex;align-items:center;justify-content:center;
  color:transparent;font-size:13px;font-weight:800;
  transition:all .15s ease;
}
.opt.radio .mark{border-radius:50%;}
.opt.checkbox .mark{border-radius:6px;}
.opt .txt{flex:1;}
.opt .ttl{font-weight:600;font-size:14.5px;color:var(--ink);line-height:1.35;}
.opt .desc{font-size:12.5px;color:var(--muted);margin-top:2px;}
.opt.selected{
  border-color:var(--border-strong);
  background:rgba(45,224,208,0.08);
  box-shadow:0 0 0 1px rgba(45,224,208,.15) inset;
}
.opt.selected .mark{background:var(--teal);border-color:var(--teal);color:#00201c;}
.opt.selected.flash{animation:flashSel .35s ease;}
@keyframes flashSel{0%{border-color:#fff;}100%{border-color:var(--border-strong);}}
.opt.danger-opt.selected{border-color:var(--danger-border);background:var(--danger-bg);}
.opt.danger-opt.selected .mark{background:var(--danger);border-color:var(--danger);}
.opt.amber-opt.selected{border-color:var(--amber-border);background:var(--amber-bg);}
.opt.amber-opt.selected .mark{background:var(--amber);border-color:var(--amber);}
.opt-grid-tile{flex-direction:column;align-items:flex-start;text-align:left;gap:6px;padding:16px;}
.opt-grid-tile .icon{font-size:20px;}

/* card grid tile for goals */
.tile{
  border:1px solid rgba(255,255,255,0.09);background:var(--panel);
  border-radius:14px;padding:16px;cursor:pointer;position:relative;
  transition:border-color .15s, background .15s;
}
.tile:hover{border-color:rgba(255,255,255,.22);}
.tile .ttl{font-weight:700;font-size:14.5px;margin-top:8px;}
.tile .desc{font-size:12px;color:var(--muted);margin-top:2px;}
.tile .check{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent;}
.tile.selected{border-color:var(--border-strong);background:rgba(45,224,208,0.08);}
.tile.selected .check{background:var(--teal);border-color:var(--teal);color:#00201c;}

/* ---------- Alerts ---------- */
.alert{
  border-radius:14px;padding:16px 16px 15px;margin-top:12px;
  border:1px solid;animation:slideDown .28s cubic-bezier(.16,1,.3,1) both;
}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px);max-height:0;}to{opacity:1;transform:translateY(0);max-height:400px;}}
.alert.danger{background:var(--danger-bg);border-color:var(--danger-border);}
.alert.amber{background:var(--amber-bg);border-color:var(--amber-border);}
.alert.info{background:var(--info-bg);border-color:var(--info-border);}
.alert-head{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13px;margin-bottom:6px;letter-spacing:.01em;}
.alert.danger .alert-head{color:var(--danger);}
.alert.amber .alert-head{color:var(--amber);}
.alert.info .alert-head{color:var(--info);}
.alert-body{font-size:13px;line-height:1.55;color:var(--ink);opacity:.92;}
.alert-cta{margin-top:8px;font-size:12.5px;font-weight:700;}
.alert.danger .alert-cta{color:var(--danger);}
.alert.amber .alert-cta{color:var(--amber);}

/* text inputs */
input[type=text],input[type=date],input[type=email],input[type=number],input[type=tel],input[type=search],textarea,select{
  width:100%;background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:12px;padding:14px 14px;
  color:var(--ink);font-family:var(--body);font-size:15px;
  transition:border-color .18s ease, background .18s ease;
}
textarea{resize:vertical;min-height:80px;font-family:var(--body);}
input::placeholder,textarea::placeholder{color:var(--muted2);}
input:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--teal);background:rgba(45,224,208,0.05);
  box-shadow:0 0 0 3px rgba(45,224,208,0.12);
}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
select{appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%238CA3A8'><path d='M5.5 7.5l4.5 4.5 4.5-4.5'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px;
}
.expand{overflow:hidden;max-height:0;transition:max-height .3s ease;}
.expand.open{max-height:220px;margin-top:10px;}

/* ---------- Hero / brand screens ---------- */
.hero-wrap{
  min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:40px 26px;position:relative;
}
.glow-ring{
  position:relative;width:220px;height:220px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin-bottom:26px;
}
.glow-ring::before,.glow-ring::after{
  content:'';position:absolute;border-radius:50%;border:1px solid rgba(45,224,208,0.25);
}
.glow-ring::before{inset:-20px;}
.glow-ring::after{inset:-46px;border-color:rgba(45,224,208,0.12);}
.glow-core{
  position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 50% 45%, rgba(45,224,208,0.5), rgba(45,224,208,0.05) 60%, transparent 75%);
  animation:pulseGlow 4s ease-in-out infinite;
}
@keyframes pulseGlow{0%,100%{transform:scale(1);opacity:.9;}50%{transform:scale(1.06);opacity:1;}}
.lion-img{position:relative;width:150px;z-index:2;filter:drop-shadow(0 0 24px rgba(45,224,208,.35));animation:lionFloat 6s ease-in-out infinite;}
@keyframes lionFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.logo-img{height:26px;margin:6px 0 20px;opacity:.95;}
.badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:18px 0 28px;}
.badge{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:var(--teal);
  border:1px solid var(--border);background:rgba(45,224,208,0.06);
  padding:6px 10px;border-radius:20px;text-transform:uppercase;
}
.hero-head{font-size:44px;line-height:1.02;color:#fff;margin:6px 0 4px;}
.hero-head .accent{color:var(--teal);}
.hero-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:14px;}
.hero-cta-wrap{width:100%;max-width:340px;margin-top:24px;}

/* stat screen */
.stat-screen{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:60px 24px 40px;position:relative;}
.stat-bg{
  position:absolute;inset:0;overflow:hidden;z-index:0;
  display:flex;align-items:center;justify-content:center;
}
.stat-bg img{width:120%;max-width:640px;opacity:.22;filter:saturate(1.1);}
.stat-overlay{position:absolute;inset:0;background:rgba(5,10,16,0.74);z-index:0;}
.stat-content{position:relative;z-index:1;}
.stat-item{text-align:center;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,0.08);}
.stat-item:last-of-type{border-bottom:none;}
.stat-num{font-family:var(--disp);font-weight:700;font-size:56px;color:var(--teal);line-height:1;text-shadow:0 0 30px rgba(45,224,208,.4);}
.stat-num.violet{color:var(--violet);text-shadow:0 0 30px rgba(139,127,232,.4);}
.stat-label{font-size:13px;font-weight:700;letter-spacing:.02em;color:#fff;margin-top:10px;text-transform:uppercase;}
.stat-sub{font-size:12.5px;color:var(--muted);margin-top:4px;}
.reality-eyebrow{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--teal);text-transform:uppercase;margin-bottom:30px;}
.reality-close{
  text-align:center;margin:18px 0 24px;padding:16px;border-radius:14px;
  border:1px solid var(--border);background:rgba(45,224,208,0.05);
}
.reality-close .l1{font-weight:800;color:#fff;font-size:15px;}
.reality-close .l2{font-weight:700;color:var(--teal);font-size:15px;}

/* education / ranges */
.range-bar-wrap{margin-bottom:16px;}
.range-bar-head{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px;}
.range-bar-head .name{font-weight:600;color:var(--ink);}
.range-bar-head .val{font-family:var(--mono);color:var(--muted);}
.range-track{height:14px;background:rgba(255,255,255,0.06);border-radius:8px;overflow:hidden;position:relative;}
.range-fill{height:100%;border-radius:8px;width:0%;transition:width 1s cubic-bezier(.16,1,.3,1);background:linear-gradient(90deg,#3a4650,#5a6a72);}
.range-fill.optimal{background:linear-gradient(90deg,var(--teal-deep),var(--teal));box-shadow:0 0 16px rgba(45,224,208,.55);}
.range-fill.optimal-pulse{animation:optPulse 3s ease-in-out infinite;}
@keyframes optPulse{0%,100%{filter:brightness(1);}50%{filter:brightness(1.25);}}
.range-fill.crit{background:linear-gradient(90deg,#4a2226,#6b2a30);}
.range-fill.high{background:linear-gradient(90deg,#3a2f5a,var(--violet));}
.target-note{
  margin-top:18px;text-align:center;padding:14px;border-radius:14px;
  border:1px solid var(--border);background:rgba(45,224,208,0.05);
}
.target-note .t1{font-weight:800;color:var(--teal);font-size:13px;letter-spacing:.03em;}
.target-note .t2{font-size:12.5px;color:var(--muted);margin-top:4px;}

/* transformation */
.transform-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;}
.transform-col{border-radius:16px;padding:16px 14px;border:1px solid rgba(255,255,255,0.08);}
.transform-col.before{background:rgba(255,255,255,0.02);opacity:.75;}
.transform-col.after{background:rgba(45,224,208,0.06);border-color:var(--border-strong);}
.transform-col .col-ttl{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;}
.transform-col.before .col-ttl{color:var(--muted);}
.transform-col.after .col-ttl{color:var(--teal);}
.transform-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.transform-col li{font-size:12.5px;line-height:1.4;display:flex;gap:7px;align-items:flex-start;}
.transform-col.before li::before{content:'—';color:var(--muted2);}
.transform-col.after li::before{content:'✓';color:var(--teal);font-weight:800;}
.timeframe-note{
  text-align:center;font-size:12px;color:var(--muted);padding:12px;border-top:1px solid rgba(255,255,255,.08);margin-top:6px;
}
.timeframe-note b{color:var(--ink);}

/* labs chips */
.lab-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.lab-chip{
  font-family:var(--mono);font-size:11.5px;color:var(--teal);
  border:1px solid var(--border);background:rgba(45,224,208,0.06);
  padding:8px 12px;border-radius:20px;display:flex;align-items:center;gap:6px;
}
.lab-chip::before{content:'●';font-size:8px;}

/* veteran mission */
.mission-wrap{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:60px 26px 40px;position:relative;}
.mission-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;z-index:0;overflow:hidden;}
.mission-bg img{width:120%;max-width:520px;opacity:.28;transform:translateX(15%);}
.mission-overlay{position:absolute;inset:0;background:linear-gradient(100deg, rgba(5,10,16,0.95) 40%, rgba(5,10,16,0.6));z-index:0;}
.mission-content{position:relative;z-index:1;}
.mission-stars{color:var(--teal);font-family:var(--mono);font-size:11px;letter-spacing:.15em;margin-bottom:16px;text-transform:uppercase;display:flex;align-items:center;gap:8px;}
.mission-head{font-size:36px;line-height:1.06;color:#fff;border-left:3px solid var(--teal);padding-left:16px;margin-bottom:20px;}
.mission-head .em{color:var(--teal);}
.mission-copy p{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 14px;padding-left:19px;}
.mission-copy b{color:var(--ink);}

/* sign screen */
.sig-preview{
  font-family:'Brush Script MT', cursive;font-size:26px;color:var(--teal);
  border-bottom:1px solid rgba(255,255,255,.15);padding:8px 2px 10px;min-height:20px;
}
.attest-box{
  border:1px solid rgba(255,255,255,.1);background:var(--panel);border-radius:14px;padding:16px;margin-bottom:20px;
  font-size:12.5px;color:var(--muted);line-height:1.6;
}
.hipaa-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:18px 0;}

/* success */
.success-wrap{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 26px;}
.check-ring{
  width:130px;height:130px;border-radius:50%;
  background:radial-gradient(circle, rgba(45,224,208,.45), rgba(45,224,208,.06) 70%);
  display:flex;align-items:center;justify-content:center;margin-bottom:26px;
  animation:bounceIn .6s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes bounceIn{0%{transform:scale(0);opacity:0;}60%{transform:scale(1.15);opacity:1;}100%{transform:scale(1);}}
.check-mark{width:56px;height:56px;border-radius:50%;background:var(--teal);display:flex;align-items:center;justify-content:center;font-size:26px;color:#00201c;font-weight:800;}
.success-wrap h2{font-size:24px;color:#fff;margin:0 0 12px;}
.success-wrap p{color:var(--muted);font-size:14px;line-height:1.6;max-width:340px;}
.success-logo{height:16px;margin-top:30px;opacity:.6;}
.success-tag{font-family:var(--mono);font-size:11px;letter-spacing:.15em;color:var(--teal);margin-top:10px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:8px;}
.progress-bar-bottom{width:180px;height:2px;background:rgba(255,255,255,.1);margin-top:26px;border-radius:2px;overflow:hidden;}
.progress-bar-bottom .fill{height:100%;background:var(--teal);width:0%;}

/* watermark lion — persistent, present but not overwhelming, behind every screen */
.wm-lion-fixed{
  position:fixed;
  top:34%;left:50%;
  width:520px;max-width:145vw;
  transform:translate(-50%,-50%) rotate(-4deg);
  opacity:0.1;
  z-index:0;pointer-events:none;
  transition:opacity .6s ease;
  filter:saturate(1.3) drop-shadow(0 0 60px rgba(45,224,208,0.12));
}
.wm-lion-fixed img{width:100%;display:block;mix-blend-mode:screen;}

/* small persistent brand mark in header */
.chrome-brand{display:flex;justify-content:center;margin-top:9px;opacity:.32;}
.chrome-brand img{height:11px;}

/* cinematic "moment" screens — used for motivational beats through the journey */
.moment-wrap{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:60px 26px 40px;position:relative;text-align:left;}
.moment-bg{position:absolute;inset:0;display:flex;align-items:center;z-index:0;overflow:hidden;}
.moment-bg img{width:115%;max-width:560px;opacity:.24;}
.moment-bg.right{justify-content:flex-end;}
.moment-bg.right img{transform:translateX(12%);}
.moment-bg.left{justify-content:flex-start;}
.moment-bg.left img{transform:translateX(-12%) scaleX(-1);}
.moment-bg.center{justify-content:center;}
.moment-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(5,10,16,0.55) 0%, rgba(5,10,16,0.92) 78%);z-index:0;}
.moment-content{position:relative;z-index:1;animation:momentIn .7s cubic-bezier(.16,1,.3,1) both;}
@keyframes momentIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.moment-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--teal);text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.moment-eyebrow::before{content:'';width:20px;height:1px;background:var(--teal);}
.moment-head{font-size:38px;line-height:1.08;color:#fff;margin:0 0 18px;}
.moment-head .accent{color:var(--teal);}
.moment-head.violet .accent{color:var(--violet);}
.moment-copy p{font-size:14.5px;line-height:1.65;color:var(--muted);margin:0 0 12px;max-width:400px;}
.moment-copy b{color:var(--ink);}

/* CTA shine sweep */
.cta{position:relative;overflow:hidden;}
.cta::after{
  content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,0.35), transparent);
  transform:skewX(-20deg);
  animation:shine 3.2s ease-in-out infinite;
}
@keyframes shine{
  0%{left:-60%;} 35%{left:130%;} 100%{left:130%;}
}
.cta.auto-advancing{opacity:.72;}
.cta.auto-advancing::before{
  content:'';position:absolute;left:14px;top:50%;width:14px;height:14px;margin-top:-7px;
  border-radius:50%;border:2px solid rgba(0,32,28,0.25);border-top-color:#00201c;
  animation:spin .6s linear infinite;
}
@media (prefers-reduced-motion: reduce){ .cta::after{display:none;} .cta.auto-advancing::before{animation:none;} }

/* ---------------- Telehealth consent screen ---------------- */
.consent-scrollbox{
  max-height:340px;overflow-y:auto;
  border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.025);
  border-radius:16px;padding:18px 16px;margin-bottom:16px;
  scrollbar-width:thin;scrollbar-color:var(--teal-deep) transparent;
}
.consent-scrollbox::-webkit-scrollbar{width:5px;}
.consent-scrollbox::-webkit-scrollbar-thumb{background:var(--teal-deep);border-radius:6px;}
.consent-section{margin-bottom:16px;}
.consent-section:last-child{margin-bottom:0;}
.consent-section .c-ttl{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--teal);
  text-transform:uppercase;margin-bottom:6px;
}
.consent-section p{font-size:12.5px;line-height:1.6;color:var(--muted);margin:0;}
.consent-section p b{color:var(--ink);}
.consent-check-row{
  display:flex;align-items:flex-start;gap:12px;
  border:1px solid rgba(255,255,255,0.1);background:var(--panel);
  border-radius:14px;padding:15px 16px;cursor:pointer;transition:border-color .15s,background .15s;
}
.consent-check-row:hover{border-color:rgba(255,255,255,.24);}
.consent-check-row.checked{border-color:var(--border-strong);background:rgba(45,224,208,0.07);}
.consent-check-row .cbx{
  width:21px;height:21px;flex:0 0 21px;border-radius:6px;
  border:1.5px solid rgba(255,255,255,0.28);display:flex;align-items:center;justify-content:center;
  color:transparent;font-size:13px;font-weight:800;margin-top:1px;transition:all .15s ease;
}
.consent-check-row.checked .cbx{background:var(--teal);border-color:var(--teal);color:#00201c;}
.consent-check-row .ctxt{font-size:13px;line-height:1.55;color:var(--ink);}
.consent-check-row .ctxt b{color:#fff;}
.consent-emergency{
  display:flex;gap:10px;align-items:center;margin-top:14px;padding:12px 14px;
  border-radius:12px;border:1px solid var(--info-border);background:var(--info-bg);
  font-size:12px;color:var(--ink);line-height:1.5;
}

/* ---------------- Two Paths chart moment ---------------- */
.chart-card{
  border:1px solid rgba(255,255,255,0.09);
  background:linear-gradient(180deg, rgba(45,224,208,0.04), rgba(255,255,255,0.02));
  border-radius:18px;padding:20px 18px 18px;margin:18px 0;
}
.chart-legend{display:flex;gap:16px;margin-bottom:10px;}
.chart-legend .li{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);}
.chart-legend .dot{width:9px;height:9px;border-radius:50%;}
.chart-legend .dot.teal{background:var(--teal);box-shadow:0 0 8px rgba(45,224,208,.7);}
.chart-legend .dot.grey{background:#4a5a60;}
.path-line{fill:none;stroke-width:3;stroke-linecap:round;}
.path-line.up{stroke:var(--teal);filter:drop-shadow(0 0 6px rgba(45,224,208,.6));}
.path-line.down{stroke:#4a5a60;}
.chart-grid{stroke:rgba(255,255,255,0.07);stroke-width:1;stroke-dasharray:3 4;}
.chart-axis-label{font-family:var(--mono);font-size:7.5px;fill:var(--muted2);}
.chart-band-label{font-family:var(--mono);font-size:7px;fill:var(--teal);letter-spacing:.06em;}
.chart-annotate{font-family:var(--mono);font-size:7.5px;fill:var(--muted);}
.chart-annotate.up{fill:var(--teal);font-weight:600;}
.chart-months{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--muted2);margin-top:2px;padding:0 2px;}
.chart-plateau-note{
  font-size:11.5px;color:var(--muted);line-height:1.55;margin-top:12px;
  border-top:1px solid rgba(255,255,255,0.08);padding-top:12px;
}
.chart-plateau-note b{color:var(--ink);}
.chart-stat-row{display:flex;gap:8px;margin-top:14px;}
.chart-stat{
  flex:1;text-align:center;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);
  border-radius:12px;padding:10px 6px;
}
.chart-stat .n{font-family:var(--disp);font-weight:700;font-size:16px;color:var(--teal);}
.chart-stat .l{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin-top:2px;line-height:1.3;}
.chart-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.chart-tag{
  font-size:11px;font-family:var(--mono);color:var(--teal);
  border:1px solid var(--border);background:rgba(45,224,208,0.06);
  padding:5px 10px;border-radius:20px;
}

/* hero slogan banner */
.hero-slogan{
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.22em;color:var(--teal);
  text-transform:uppercase;margin:16px 0 6px;
}
.hero-slogan::before,.hero-slogan::after{content:'';width:22px;height:1px;background:rgba(45,224,208,0.5);}
.slogan-line{
  font-family:var(--mono);letter-spacing:.2em;font-size:12px;color:var(--teal);
  text-transform:uppercase;text-align:center;
}
.flag-badge{display:inline-block;vertical-align:-1.5px;opacity:.92;}

/* ---------------- Progress ring moment ---------------- */
.ring-wrap{display:flex;flex-direction:column;align-items:center;margin:8px 0 22px;}
.ring-num{font-family:var(--disp);font-weight:700;font-size:34px;color:var(--teal);}
.ring-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:2px;}
.stat-pill-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:16px;}
.stat-pill{
  text-align:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);
  border-radius:14px;padding:12px 14px;min-width:84px;
}
.stat-pill .n{font-family:var(--disp);font-weight:700;font-size:20px;color:var(--teal);}
.stat-pill .l{font-size:10px;color:var(--muted);margin-top:2px;text-transform:uppercase;letter-spacing:.03em;}

.eligibility-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:20;
  background:rgba(8,14,20,.97);backdrop-filter:blur(6px);
  border-top:1px solid var(--danger-border);
  padding:14px 20px calc(14px + env(safe-area-inset-bottom));
  max-width:var(--maxw);margin:0 auto;display:none;
}
.eligibility-banner.show{display:block;}
.eligibility-banner .t{color:var(--danger);font-weight:800;font-size:13px;margin-bottom:4px;}
.eligibility-banner .d{color:var(--muted);font-size:12px;line-height:1.5;}

/* ---------------- Field validation ---------------- */
.field-hint{font-size:11.5px;color:var(--muted2);margin-top:6px;}
.field-error{font-size:11.5px;color:var(--danger);margin-top:6px;display:none;font-weight:600;}
.field-error.show{display:block;}
input.invalid,select.invalid{border-color:var(--danger-border);background:rgba(255,90,110,0.05);}
.row2.height-row select{text-align:center;}

/* ---------------- Checkpoint screens (quick motivational beats) ---------------- */
.checkpoint-wrap{padding:56px 26px 10px;text-align:center;position:relative;}
.checkpoint-icon{
  font-size:34px;width:72px;height:72px;margin:0 auto 18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle, rgba(45,224,208,0.18), rgba(45,224,208,0.02) 70%);
  border:1px solid var(--border);
  animation:popIn .55s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes popIn{0%{transform:scale(.3);opacity:0;}60%{transform:scale(1.15);opacity:1;}100%{transform:scale(1);}}
.checkpoint-stat{font-family:var(--disp);font-weight:700;font-size:46px;color:var(--teal);line-height:1;text-shadow:0 0 26px rgba(45,224,208,.35);}
.checkpoint-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;color:var(--muted);text-transform:uppercase;margin-top:6px;}
.checkpoint-line{font-size:14.5px;color:var(--muted);line-height:1.65;margin:18px auto 0;max-width:320px;}
.checkpoint-wrap .foot-actions{max-width:340px;margin-left:auto;margin-right:auto;margin-top:28px;}

/* ---------------- Staggered card entrance ---------------- */
.stagger-in{opacity:0;animation:staggerIn .5s cubic-bezier(.16,1,.3,1) forwards;}
@keyframes staggerIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

/* watermark: slow ambient breathing so it feels alive, not static */
.wm-lion-fixed{animation:wmBreathe 15s ease-in-out infinite;}
@keyframes wmBreathe{
  0%,100%{transform:translate(-50%,-50%) rotate(-4deg) scale(1);}
  50%{transform:translate(-50%,-50%) rotate(-2deg) scale(1.035);}
}
@media (prefers-reduced-motion: reduce){ .wm-lion-fixed{animation:none;} .stagger-in{animation:none;opacity:1;} }

/* ---------------- Price anchor badge ---------------- */
.price-badge{
  display:inline-flex;flex-direction:column;align-items:center;gap:3px;
  border:1px solid var(--border-strong);background:rgba(45,224,208,0.08);
  border-radius:16px;padding:10px 20px;margin:14px 0 4px;max-width:280px;
}
.price-badge .amt{font-family:var(--disp);font-weight:700;font-size:16px;color:var(--teal);}
.price-badge .sub{font-family:var(--mono);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;text-align:center;}
.price-reassure{
  text-align:center;font-size:11.5px;color:var(--muted2);margin-top:8px;line-height:1.5;
}

/* ---------------- Contact capture (phone + SMS consent) ---------------- */
.phone-input{font-size:19px;font-weight:600;letter-spacing:.02em;}
.consent-mini{
  display:flex;align-items:flex-start;gap:11px;margin-top:16px;
  border:1px solid rgba(255,255,255,0.1);background:var(--panel);border-radius:14px;padding:14px 15px;cursor:pointer;
}
.consent-mini.checked{border-color:var(--border-strong);background:rgba(45,224,208,0.06);}
.consent-mini .cbx{width:19px;height:19px;flex:0 0 19px;border-radius:5px;border:1.5px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;color:transparent;font-size:12px;font-weight:800;margin-top:1px;}
.consent-mini.checked .cbx{background:var(--teal);border-color:var(--teal);color:#00201c;}
.consent-mini .ctxt{font-size:11.5px;line-height:1.55;color:var(--muted);}

/* ---------------- Processing / "Building Your Protocol" screen ---------------- */
.processing-wrap{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 30px;text-align:center;}
.processing-ring{width:88px;height:88px;border-radius:50%;position:relative;margin-bottom:30px;}
.processing-ring svg{width:100%;height:100%;animation:spinSlow 1.8s linear infinite;}
@keyframes spinSlow{to{transform:rotate(360deg);}}
.processing-title{font-size:20px;color:#fff;font-family:var(--disp);text-transform:uppercase;margin-bottom:28px;}
.processing-list{width:100%;max-width:300px;display:flex;flex-direction:column;gap:14px;}
.processing-item{
  display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--muted2);
  opacity:0;transform:translateX(-8px);transition:opacity .4s ease, color .4s ease, transform .4s ease;
}
.processing-item.active{opacity:1;transform:translateX(0);color:var(--muted);}
.processing-item.done{opacity:1;transform:translateX(0);color:var(--ink);}
.processing-item .chk{
  width:20px;height:20px;flex:0 0 20px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent;transition:all .3s ease;
}
.processing-item.done .chk{background:var(--teal);border-color:var(--teal);color:#00201c;}
.processing-item.active .chk{border-color:var(--teal);}

/* ---------------- Success timeline ---------------- */
.next-timeline{width:100%;max-width:320px;margin:26px auto 0;text-align:left;}
.next-timeline .tl-item{display:flex;gap:14px;position:relative;padding-bottom:22px;}
.next-timeline .tl-item:last-child{padding-bottom:0;}
.next-timeline .tl-item::before{
  content:'';position:absolute;left:9px;top:22px;bottom:0;width:1px;background:rgba(255,255,255,0.12);
}
.next-timeline .tl-item:last-child::before{display:none;}
.next-timeline .dot{
  width:20px;height:20px;flex:0 0 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:800;z-index:1;
}
.next-timeline .tl-item.done .dot{background:var(--teal);color:#00201c;}
.next-timeline .tl-item.pending .dot{background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.2);color:transparent;}
.next-timeline .tl-ttl{font-size:13px;font-weight:700;color:var(--ink);}
.next-timeline .tl-sub{font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.4;}

/* ---------------- Trust badges strip ---------------- */
.trust-strip{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:16px 0;}
.trust-chip{
  display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.03em;
  color:var(--muted);border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.03);
  padding:7px 11px;border-radius:20px;text-transform:uppercase;
}
.trust-chip .ic{color:var(--teal);}

/* ---------------- Provider / care team cards ---------------- */
.team-card{
  display:flex;gap:14px;align-items:center;border:1px solid rgba(255,255,255,0.09);
  background:var(--panel);border-radius:16px;padding:14px 16px;margin-bottom:12px;
}
.team-avatar{
  width:52px;height:52px;flex:0 0 52px;border-radius:50%;
  background:linear-gradient(135deg, rgba(45,224,208,0.25), rgba(139,127,232,0.2));
  border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--disp);font-weight:700;font-size:16px;color:var(--teal);
}
.team-name{font-size:14.5px;font-weight:700;color:#fff;}
.team-cred{font-size:11.5px;color:var(--teal);margin-top:1px;}
.team-desc{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.4;}

/* ---------------- How It Works (checkout trust timeline) ---------------- */
.how-card{
  border:1px solid rgba(255,255,255,0.09);background:rgba(255,255,255,0.025);
  border-radius:18px;padding:20px 18px;margin-bottom:14px;
}
.how-num{font-family:var(--mono);font-size:11px;color:var(--teal);letter-spacing:.08em;display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.how-num .n{font-weight:700;}
.how-ttl{font-family:var(--disp);font-size:19px;color:#fff;margin-bottom:10px;text-transform:none;font-weight:600;}
.how-body{font-size:12.5px;color:var(--muted);line-height:1.55;}

/* shipment progress dots */
.ship-track{display:flex;align-items:center;margin:16px 0 8px;}
.ship-dot{
  width:13px;height:13px;border-radius:50%;background:rgba(255,255,255,0.12);
  border:2px solid rgba(255,255,255,0.16);flex:0 0 13px;transition:all .3s ease;
}
.ship-dot.on{background:var(--teal);border-color:var(--teal);box-shadow:0 0 10px rgba(45,224,208,.6);}
.ship-line{flex:1;height:2px;background:rgba(255,255,255,0.12);}
.ship-line.on{background:var(--teal);}
.ship-labels{display:flex;justify-content:space-between;font-family:var(--mono);font-size:8.5px;color:var(--muted2);text-transform:uppercase;margin-top:8px;}
.ship-labels span{flex:1;text-align:center;}
.ship-labels span:first-child{text-align:left;}
.ship-labels span:last-child{text-align:right;}
.ship-note{font-size:11px;color:var(--muted2);margin-top:10px;font-style:italic;}

/* mini trend chart (apply-daily step) */
.mini-trend{margin-top:14px;}
.mini-trend svg{width:100%;overflow:visible;}

/* ---------------- Checkout: lab options ---------------- */
.fee-tag{
  font-family:var(--mono);font-size:9.5px;color:var(--amber);border:1px solid var(--amber-border);
  background:var(--amber-bg);padding:2px 7px;border-radius:8px;margin-left:6px;
}
.included-tag{
  font-family:var(--mono);font-size:9.5px;color:var(--teal);border:1px solid var(--border);
  background:rgba(45,224,208,0.06);padding:2px 7px;border-radius:8px;margin-left:6px;
}

/* ---------------- Checkout: plan cards ---------------- */
.plan-card{
  position:relative;border:1.5px solid rgba(255,255,255,0.1);background:var(--panel);
  border-radius:18px;padding:20px 18px;margin-bottom:14px;cursor:pointer;
  transition:border-color .18s ease, background .18s ease, transform .12s ease;
}
.plan-card:hover{border-color:rgba(255,255,255,.24);}
.plan-card.selected{border-color:var(--border-strong);background:rgba(45,224,208,0.07);box-shadow:0 0 0 1px rgba(45,224,208,.18) inset;}
.plan-badge{
  position:absolute;top:-10px;right:16px;background:linear-gradient(135deg,var(--teal),var(--teal-deep));
  color:#00201c;font-family:var(--mono);font-size:9.5px;font-weight:800;letter-spacing:.05em;
  padding:4px 10px;border-radius:20px;text-transform:uppercase;
}
.plan-top{display:flex;justify-content:space-between;align-items:flex-start;}
.plan-name{font-family:var(--disp);font-size:16px;color:#fff;font-weight:600;text-transform:uppercase;}
.plan-sub{font-size:11px;color:var(--muted);margin-top:2px;}
.plan-price-wrap{text-align:right;}
.plan-strike{font-family:var(--mono);font-size:12px;color:var(--muted2);text-decoration:line-through;}
.plan-price{font-family:var(--disp);font-size:24px;color:var(--teal);font-weight:700;}
.plan-price .per{font-size:11px;color:var(--muted);font-weight:400;}
.plan-save{
  display:inline-block;margin-top:10px;font-family:var(--mono);font-size:10.5px;color:var(--teal);
  background:rgba(45,224,208,0.08);border:1px solid var(--border);padding:4px 10px;border-radius:20px;
}
.plan-radio{
  position:absolute;top:18px;right:18px;width:20px;height:20px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;color:transparent;font-size:11px;
}
.plan-card.selected .plan-radio{background:var(--teal);border-color:var(--teal);color:#00201c;}
.plan-equiv{font-size:11px;color:var(--muted2);margin-top:8px;}

/* ---------------- Checkout: coupon + order summary ---------------- */
.coupon-row{display:flex;gap:8px;margin-top:6px;}
.coupon-row input{flex:1;}
.coupon-apply{
  flex:0 0 auto;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);
  color:var(--ink);border-radius:12px;padding:0 18px;font-weight:700;font-size:13px;cursor:pointer;
}
.coupon-apply:hover{border-color:var(--border-strong);color:var(--teal);}
.coupon-msg{font-size:11.5px;margin-top:8px;display:none;}
.coupon-msg.show{display:block;}
.coupon-msg.ok{color:var(--teal);}
.coupon-msg.err{color:var(--danger);}
.order-summary{
  border:1px solid rgba(255,255,255,0.09);background:rgba(255,255,255,0.025);
  border-radius:16px;padding:16px 18px;margin:18px 0;
}
.order-row{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);padding:7px 0;}
.order-row.strike span:last-child{text-decoration:line-through;color:var(--muted2);}
.order-row.discount span:last-child{color:var(--teal);}
.order-row.total{border-top:1px solid rgba(255,255,255,0.1);margin-top:6px;padding-top:12px;font-size:16px;font-weight:800;color:#fff;}
.order-row.total span:last-child{color:var(--teal);}

/* ---------------- Checkout: payment method tabs ---------------- */
.pay-tabs{display:flex;gap:8px;margin-bottom:16px;}
.pay-tab{
  flex:1;text-align:center;padding:11px 6px;border-radius:12px;border:1px solid rgba(255,255,255,0.1);
  background:var(--panel);font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;
}
.pay-tab.active{border-color:var(--border-strong);background:rgba(45,224,208,0.08);color:var(--teal);}
.card-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.pay-panel{display:none;}
.pay-panel.active{display:block;}
.affirm-box{
  border:1px solid var(--border);background:rgba(45,224,208,0.05);border-radius:14px;padding:16px;text-align:center;
}
.affirm-box .amt{font-family:var(--disp);font-size:20px;color:var(--teal);font-weight:700;}
.affirm-box .sub{font-size:11.5px;color:var(--muted);margin-top:4px;}
.secure-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10.5px;color:var(--muted2);margin-top:14px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.03em;}

/* ---------------- Searchable state combobox ---------------- */
.combo-wrap{position:relative;}
.combo-list{
  position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:10;
  max-height:220px;overflow-y:auto;
  background:#0b141d;border:1px solid var(--border-strong);border-radius:14px;
  box-shadow:0 16px 40px rgba(0,0,0,.5);display:none;
}
.combo-list.show{display:block;}
.combo-item{padding:11px 15px;font-size:14px;color:var(--ink);cursor:pointer;}
.combo-item:hover,.combo-item.hi{background:rgba(45,224,208,0.1);color:var(--teal);}
.combo-empty{padding:11px 15px;font-size:13px;color:var(--muted2);}

/* ---------------- Chart caption chips (replaces cramped inline SVG annotations) ---------------- */
.chart-caption-row{display:flex;gap:8px;margin-top:12px;}
.chart-caption{
  flex:1;border-radius:12px;padding:9px 11px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);
  font-size:11px;line-height:1.4;
}
.chart-caption.up{border-color:var(--border);background:rgba(45,224,208,0.06);color:var(--teal);}
.chart-caption.down{color:var(--muted);}
.chart-caption b{display:block;font-size:11.5px;margin-bottom:1px;}

/* ---------------- Veteran / First Responder discount ---------------- */
.vet-toggle{
  display:flex;align-items:center;gap:12px;border:1px solid var(--border);background:rgba(45,224,208,0.05);
  border-radius:14px;padding:14px 15px;cursor:pointer;margin:16px 0;
}
.vet-toggle .ic{font-size:20px;}
.vet-toggle .txt{flex:1;}
.vet-toggle .ttl{font-size:13px;font-weight:700;color:#fff;}
.vet-toggle .sub{font-size:11px;color:var(--muted);margin-top:1px;}
.vet-toggle .sw{
  width:40px;height:23px;border-radius:20px;background:rgba(255,255,255,.14);position:relative;flex:0 0 40px;transition:background .2s ease;
}
.vet-toggle .sw::after{content:'';position:absolute;top:2.5px;left:2.5px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s ease;}
.vet-toggle.on .sw{background:var(--teal);}
.vet-toggle.on .sw::after{transform:translateX(17px);}
.govx-box{display:none;margin-top:-4px;margin-bottom:16px;border:1px solid var(--border-strong);background:rgba(45,224,208,0.06);border-radius:14px;padding:14px 15px;}
.govx-box.show{display:block;}
.govx-box .row{display:flex;gap:10px;align-items:center;}
.govx-btn{
  flex:0 0 auto;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,.18);color:var(--ink);
  border-radius:10px;padding:9px 14px;font-size:12px;font-weight:700;cursor:pointer;
}
.govx-btn:hover{border-color:var(--border-strong);color:var(--teal);}
.govx-status{font-size:11.5px;color:var(--muted);}
.govx-status.verified{color:var(--teal);font-weight:700;}
.vet-badge{
  display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;color:var(--teal);
  border:1px solid var(--border);background:rgba(45,224,208,0.06);padding:5px 10px;border-radius:20px;text-transform:uppercase;
}

@media (min-width:601px){
  body{padding:30px 0;}
  #app{border:1px solid rgba(255,255,255,0.08);border-radius:28px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.6);min-height:0;transform:translateZ(0);}
  .hero-wrap,.stat-screen,.mission-wrap,.success-wrap,.moment-wrap{min-height:88vh;}
}

/* ---- Order submission (processing error + success handoff) ---- */
.processing-error{
  margin-top:22px;max-width:360px;text-align:center;
  background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:16px;padding:18px 18px 20px;
}
.processing-error .pe-title{font-family:var(--head,inherit);font-weight:700;color:var(--danger);letter-spacing:.02em;margin-bottom:6px;}
.processing-error .pe-msg{font-size:13px;color:var(--muted2);line-height:1.5;margin-bottom:14px;}
.processing-error .cta{width:100%;}
a.magic-cta{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;margin-top:22px;}
.order-ref{
  margin-top:14px;font-family:var(--mono,monospace);font-size:11px;letter-spacing:.06em;
  color:var(--muted2);opacity:.75;word-break:break-all;
}
