:root{
  --cream:#f2f2ea;
  --cream2:#e9e9dd;
  --ink:#16160f;
  --navy:#1c2400;
  --navy2:#262f00;
  --lime:#a8e617;
  --lime2:#5f8a00;
  --lime-glow:#d4ff4d;
  --muted:#5f5f57;
  --line:#e0e0d2;
  --white:#ffffff;
  --red:#d6483c;
  --amber:#e0a72e;
  --green:#5f8a00;
  --shadow:0 10px 30px rgba(28,36,0,.08);
  --radius:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.app{max-width:1180px;margin:0 auto;padding:24px 20px 80px}
a{color:var(--lime2)}
h1,h2,h3,h4{margin:0 0 8px;line-height:1.2;letter-spacing:-0.01em}h1,.hero-title{font-weight:600 !important}h2{font-weight:600 !important}h3{font-weight:500 !important}h4{font-weight:500 !important}body,p,.muted,.small,.center,.lw-label,.lw-eyebrow-sm,.tank-label,.tw-label,.rlabel,.tag,.offer-badge,.eyebrow,.toppill,.lw-pct,.lw-bignum,.tank-pct,.tank-pct{font-weight:400 !important}button,.btn,a.btn,.cta{font-weight:500 !important}.brandmark .name{font-weight:600 !important}
p{margin:0 0 10px}
.muted{color:var(--muted)}
.small{font-size:12.5px}
.center{text-align:center}
.row{display:flex;gap:14px;flex-wrap:wrap}
.col{flex:1;min-width:0}
.hide{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ---------- Header / brand ---------- */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0 22px;flex-wrap:wrap;gap:10px}
.brandmark{display:flex;align-items:center;gap:10px}
.brandmark .logo{
  width:40px;height:40px;border-radius:11px;background:#fff;padding:5px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  box-shadow:var(--shadow);
}
.brandmark .logo svg,.brandmark .logo img{width:30px;height:auto;display:block}
.brandmark .name{font-weight:800;font-size:15px;letter-spacing:.2px}
.brandmark .sub{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px}
.toppill{
  font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  background:var(--navy);color:var(--lime);padding:7px 14px;border-radius:999px;
}

/* ---------- Buttons ---------- */
button{font-family:inherit;cursor:pointer}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border-radius:12px;border:none;font-weight:700;font-size:14.5px;
  transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
  text-decoration:none;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--lime);color:var(--navy);box-shadow:0 6px 18px rgba(168,230,23,.35)}
.btn-primary:hover{background:var(--lime-glow);box-shadow:0 8px 22px rgba(168,230,23,.5)}
.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.btn-dark{background:var(--navy);color:var(--lime)}
.btn-dark:hover{background:var(--navy2)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--lime2);color:var(--lime2)}
.btn-sm{padding:9px 16px;font-size:13px;border-radius:10px}
.btn-block{width:100%}
.btn[disabled]{pointer-events:none}

/* ---------- Cards / sections ---------- */
.card{
  background:var(--white);border-radius:var(--radius);padding:24px;
  box-shadow:var(--shadow);border:1px solid var(--line);
}
.card-dark{
  background:linear-gradient(135deg,var(--navy) 0%, var(--navy2) 100%);
  color:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);
}
.card-dark .muted{color:#b9c98a}
.section{margin-bottom:22px}
.eyebrow{
  font-size:11.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--lime2);margin-bottom:6px;
}
.card-dark .eyebrow{color:var(--lime)}
.tagline{font-size:16px;color:var(--muted);max-width:620px}
.hero-title{font-size:clamp(28px,4.5vw,42px);font-weight:900;letter-spacing:-.5px;margin-bottom:10px}
.hero-title .accent{color:var(--lime2)}

/* ---------- Trust strip ---------- */
.trust{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0;
}
.trust-item{
  display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted);
  background:var(--white);border:1px solid var(--line);border-radius:999px;padding:7px 13px;
}
.trust-item svg{width:15px;height:15px;flex-shrink:0;color:var(--lime2)}

/* ---------- Methodology visual & video ---------- */
.meth-media{position:relative}
.meth-img-wrap{
  position:relative;display:block;border-radius:14px;overflow:hidden;
  cursor:pointer;border:1px solid var(--line);box-shadow:var(--shadow);
  transition:transform .25s ease, box-shadow .25s ease;
}
.meth-img-wrap:hover,.meth-img-wrap:focus-visible{
  transform:scale(1.015);box-shadow:0 12px 32px rgba(168,230,23,.35);outline:none;
}
.meth-img-wrap:focus-visible{outline:2px solid var(--lime2);outline-offset:2px}
.meth-img{display:block;width:100%;height:auto}
.meth-img-wrap svg{display:block;width:100%;height:auto;background:var(--white)}
.meth-video-icon{
  position:absolute;bottom:14px;right:14px;width:42px;height:42px;border-radius:50%;
  background:var(--navy);color:var(--lime);display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px rgba(0,0,0,.35);transition:transform .25s ease, background .25s ease;
}
.meth-video-icon svg{width:18px;height:18px;background:transparent}.meth-video-icon{color:#fff}
.meth-img-wrap:hover .meth-video-icon,.meth-img-wrap:focus-visible .meth-video-icon{
  transform:scale(1.12);background:var(--lime);color:var(--navy);
}
.meth-watch-label{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:14px auto 0;font-size:13px;font-weight:700;color:var(--lime2);
  cursor:pointer;width:fit-content;padding:6px 4px;border-radius:8px;
}
.meth-watch-label svg{width:14px;height:14px}
.meth-watch-label:hover,.meth-watch-label:focus-visible{color:var(--navy);outline:none}
.meth-journey{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}
.meth-step{
  display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;
  font-size:12.5px;font-weight:700;color:var(--muted);padding:14px 8px;border-radius:12px;
  border:1px solid var(--line);
}
.meth-step-num{
  width:26px;height:26px;border-radius:50%;background:var(--cream2);color:var(--navy);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;
}
.meth-step.active{border-color:var(--lime2);color:var(--ink)}
.meth-step.active .meth-step-num{background:var(--lime);color:var(--navy)}
.pulse{animation:methPulse 1.6s ease}
@keyframes methPulse{
  0%{box-shadow:0 0 0 0 rgba(168,230,23,.5)}
  50%{box-shadow:0 0 0 12px rgba(168,230,23,0)}
  100%{box-shadow:0 0 0 0 rgba(168,230,23,0)}
}
.meth-modal{max-width:860px;padding:16px;background:var(--navy)}
.meth-modal .close{background:var(--lime);color:var(--navy)}
.meth-video-frame{position:relative;width:100%;padding-top:56.25%;border-radius:10px;overflow:hidden;background:#000}
.meth-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:640px){
  .meth-journey{grid-template-columns:repeat(2,1fr)}
}

/* ---------- Profile / intake form ---------- */
.field{margin-bottom:16px}
.field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}
.field .hint{font-size:12px;color:var(--muted);margin-top:4px}
input[type=text],input[type=email],input[type=tel],select,textarea{
  width:100%;padding:13px 14px;border-radius:10px;border:1.5px solid var(--line);
  font-size:14.5px;font-family:inherit;background:#fff;color:var(--ink);
  transition:border-color .15s ease, box-shadow .15s ease;
}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--lime2);box-shadow:0 0 0 3px rgba(168,230,23,.25);
}
textarea{resize:vertical;min-height:90px}
.req{color:var(--red)}
.opt{color:var(--muted);font-weight:500;text-transform:none;font-size:12px;letter-spacing:0}
.consent-row{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--muted);line-height:1.5;margin:14px 0 4px;cursor:pointer}
.consent-row input[type=checkbox]{margin-top:3px;width:16px;height:16px;flex:0 0 16px;accent-color:var(--navy)}
.consent-row a{color:var(--navy);font-weight:700;text-decoration:underline}

.radio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.radio-card{
  position:relative;border:1.5px solid var(--line);border-radius:12px;padding:14px 12px;
  cursor:pointer;font-weight:600;font-size:13.5px;text-align:center;background:#fff;
  transition:border-color .15s ease, background .15s ease, transform .1s ease;
}
.radio-card:hover{border-color:var(--lime2)}
.radio-card.sel{border-color:var(--lime2);background:#f5fbe0;color:var(--lime2)}
.radio-card input{position:absolute;opacity:0;pointer-events:none}

/* ---------- Quiz ---------- */
.quiz-wrap{max-width:760px;margin:0 auto}
.progress-shell{margin-bottom:22px}
#progOuter{
  height:10px;border-radius:999px;background:var(--cream2);overflow:hidden;position:relative;
}
#progFill{
  height:100%;background:linear-gradient(90deg,var(--lime2),var(--lime));border-radius:999px;
  width:0%;transition:width .5s cubic-bezier(.4,0,.2,1);
}
#progLabel{font-size:12.5px;color:var(--muted);font-weight:700;margin-top:8px;display:flex;justify-content:space-between}

/* living journey progress */
.journey{display:flex;justify-content:space-between;margin-bottom:18px;position:relative}
.journey::before{
  content:'';position:absolute;top:13px;left:5%;right:5%;height:2px;background:var(--line);z-index:0;
}
.journey .jpath{
  position:absolute;top:13px;left:5%;height:2px;background:var(--lime2);z-index:1;
  width:0%;transition:width .6s cubic-bezier(.4,0,.2,1);
}
.jnode{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}
.jdot{width:14px;height:14px;border-radius:50%;background:var(--white);border:2px solid var(--line);transition:all .4s ease}
.jnode.done .jdot{background:var(--lime2);border-color:var(--lime2)}
.jnode.active .jdot{background:var(--lime);border-color:var(--lime2);box-shadow:0 0 0 5px rgba(168,230,23,.25);animation:pulseDot 1.6s infinite}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 4px rgba(168,230,23,.22)}50%{box-shadow:0 0 0 9px rgba(168,230,23,.05)}}
.jlabel{font-size:10.5px;font-weight:700;color:var(--muted);text-align:center}
.jnode.active .jlabel,.jnode.done .jlabel{color:var(--lime2)}

#qBody{position:relative;min-height:260px}
.qcard{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;
  box-shadow:var(--shadow);
}
.qcard .qpill{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--lime2);background:#f1f8de;padding:5px 12px;border-radius:999px;margin-bottom:14px;
}
.qcard h3{font-size:19px;font-weight:700;margin-bottom:18px}
.qopts{display:flex;flex-direction:column;gap:10px}
.qopt{
  display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:12px;
  padding:14px 16px;cursor:pointer;font-weight:600;font-size:14px;transition:all .15s ease;
}
.qopt:hover{border-color:var(--lime2);background:#fafdf0}
.qopt.sel{border-color:var(--lime2);background:#f5fbe0}
.qopt .num{
  width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);display:flex;
  align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--muted);flex-shrink:0;
}
.qopt.sel .num{background:var(--lime2);border-color:var(--lime2);color:#fff}
.qnav{display:flex;justify-content:space-between;margin-top:20px;gap:10px}
.kbd-hint{font-size:11.5px;color:var(--muted);text-align:center;margin-top:14px}
/* Hide the keyboard-shortcut hint on touch devices, where it doesn't apply */
@media (hover:none) and (pointer:coarse){
  .kbd-hint{display:none}
}

.out-l{animation:slideOutL .28s ease forwards}
.out-r{animation:slideOutR .28s ease forwards}
.in-l{animation:slideInL .32s ease forwards}
.in-r{animation:slideInR .32s ease forwards}
@keyframes slideOutL{to{opacity:0;transform:translateX(-26px)}}
@keyframes slideOutR{to{opacity:0;transform:translateX(26px)}}
@keyframes slideInL{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideInR{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:translateX(0)}}

/* ---------- Pillar intro / cinematic icon ---------- */
.pillar-intro{max-width:640px;margin:0 auto;text-align:center;padding:10px 0}
.picon{
  width:108px;height:108px;margin:6px auto 18px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, var(--lime-glow), var(--lime2) 75%);
  display:flex;align-items:center;justify-content:center;box-shadow:0 12px 34px rgba(95,138,0,.35);
  animation:iconPop 1.5s cubic-bezier(.2,.8,.3,1.2);
}
.picon svg{width:54px;height:54px;color:var(--navy)}
@keyframes iconPop{
  0%{transform:scale(.4) rotate(-25deg);opacity:0}
  55%{transform:scale(1.08) rotate(6deg);opacity:1}
  100%{transform:scale(1) rotate(0);opacity:1}
}
.picon.spin svg{animation:spinSlow 1.5s ease-out}
@keyframes spinSlow{from{transform:rotate(-160deg)}to{transform:rotate(0)}}
.picon.grow svg{animation:growIn 1.5s ease-out}
@keyframes growIn{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}
.pillar-eq{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--navy);background:var(--lime);padding:6px 14px;border-radius:999px;margin-bottom:10px;
}
.barrier-chip{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted);
  border:1px dashed var(--line);border-radius:999px;padding:6px 14px;margin-top:10px;
}

/* ---------- Band labels ---------- */
.band-w{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  padding:3px 10px;border-radius:999px;margin-top:4px}
.band-w.low{background:#fbe6e3;color:var(--red)}
.band-w.medium{background:#fbf1da;color:var(--amber)}
.band-w.high{background:#e7f5cf;color:var(--green)}

/* ---------- KPI row ---------- */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.kpi{border-radius:14px;padding:18px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.kpi .kval{font-size:30px;font-weight:900;letter-spacing:-1px}
.kpi .klabel{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}
.kpi .ksub{font-size:12.5px;color:var(--muted);margin-top:4px}
.kpi.warn{border-color:#f0d3a0;background:#fffaf0}
.kpi.risk{border-color:#f5c2bb;background:#fff5f3}

/* ---------- Indicators ---------- */
.ind-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.ind-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}
.ind-card h4{font-size:13px;margin-bottom:6px}
.ind-bar{height:8px;border-radius:999px;background:var(--cream2);overflow:hidden;margin:8px 0}
.ind-bar .fill{height:100%;border-radius:999px;width:0%;transition:width 1s cubic-bezier(.2,.7,.3,1)}
.ind-val{font-weight:800;font-size:18px}
.ind-status{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:2px 9px;border-radius:999px}
.ind-status.low{background:#fbe6e3;color:var(--red)}
.ind-status.medium{background:#fbf1da;color:var(--amber)}
.ind-status.high{background:#e7f5cf;color:var(--green)}

/* ---------- Pillar detail cards ---------- */
.pillar-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff;cursor:pointer;transition:box-shadow .15s ease, transform .1s ease}
.pillar-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.pillar-card .ptitle{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pillar-card .pscore{font-size:26px;font-weight:900}
.pbar{height:8px;border-radius:999px;background:var(--cream2);overflow:hidden;margin:10px 0}
.pbar .pfill{height:100%;border-radius:999px;width:0%;transition:width 1.1s cubic-bezier(.2,.7,.3,1)}

/* ---------- Modal ---------- */
.modal-bg{position:fixed;inset:0;background:rgba(28,36,0,.55);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal{background:#fff;border-radius:18px;max-width:680px;width:100%;max-height:88vh;overflow:auto;padding:28px;position:relative}
.modal .close{position:absolute;top:16px;right:16px;background:var(--cream2);border:none;border-radius:50%;width:34px;height:34px;font-size:18px;font-weight:800;cursor:pointer}

/* ---------- Equation flow / Innovation Health Pulse ---------- */
.eqflow{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;position:relative;padding:6px 0;width:100%}
.eqflow .eqnode{
  display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--line);
  border-radius:12px;padding:10px 16px;font-weight:800;font-size:13px;justify-content:center;white-space:nowrap;
  position:relative;z-index:2;transition:border-color .3s ease, box-shadow .3s ease;
}
.eqflow .eqnode .dot{width:9px;height:9px;border-radius:50%;background:var(--line);flex-shrink:0}
.eqflow .eqnode.weak{border-color:var(--red);animation:flicker 1.4s infinite}
.eqflow .eqnode.weak .dot{background:var(--red)}
.eqflow .eqnode.medium .dot{background:var(--amber)}
.eqflow .eqnode.ok .dot{background:var(--lime2)}
@keyframes flicker{0%,100%{opacity:1}45%{opacity:1}50%{opacity:.35}55%{opacity:1}80%{opacity:.6}85%{opacity:1}}
.eqflow .eqlink{font-size:18px;font-weight:900;color:var(--line);display:flex;align-items:center;flex-shrink:0}
.eqflow .eqlink.run{color:var(--lime2)}
.eqflow .eqlink.broken{color:var(--red)}
.eqflow .eqresult{
  flex-basis:100%;margin-top:10px;font-size:12px;font-weight:700;color:var(--muted);text-align:center;
}
.eqflow.broken-state .eqresult{color:var(--red)}

/* ---------- Innovation Leadership Equation wheel ---------- */
.lw-wrap{max-width:880px;margin:4px auto 0;padding:0;position:relative}
.lw-lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}
.lw-grid{
  display:grid;
  grid-template-columns:1fr 1.35fr 1fr;
  grid-template-areas:
    ".          top         ."
    "left       center      right"
    "bottomleft .           bottomright";
  gap:10px 10px;
  align-items:center;
  position:relative;z-index:1;
}
.lw-top{grid-area:top}
.lw-left{grid-area:left}
.lw-right{grid-area:right}
.lw-bottomleft{grid-area:bottomleft}
.lw-bottomright{grid-area:bottomright}
.lw-center{grid-area:center}

.lw-node,.lw-center{
  position:relative;text-align:center;opacity:0;transform:scale(.85);
  transition:opacity .5s ease, transform .5s cubic-bezier(.3,1.4,.4,1);
}
.lw-node.show,.lw-center.show{opacity:1;transform:scale(1)}
.lw-node.band-high{--lw-color:var(--green);--lw-fill:rgba(95,138,0,.10)}
.lw-node.band-medium{--lw-color:var(--amber);--lw-fill:rgba(224,167,46,.14)}
.lw-node.band-low{--lw-color:var(--red);--lw-fill:rgba(214,72,60,.10)}
.lw-center.band-high{--lw-color:var(--green)}
.lw-center.band-medium{--lw-color:var(--amber)}
.lw-center.band-low{--lw-color:var(--red)}

.lw-circle{
  width:96px;height:96px;border-radius:50%;margin:0 auto 4px;
  border:3px solid var(--lw-color);background:var(--lw-fill);
  box-shadow:0 0 0 6px var(--lw-fill);
  display:flex;align-items:center;justify-content:center;
}
.lw-pct{font-size:24px;font-weight:900;color:var(--lw-color)}
.lw-label{font-size:11.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy);margin-bottom:2px}
.lw-desc{font-size:11.5px;color:var(--muted);line-height:1.35;max-width:150px;margin:0 auto}

/* center hub */
.lw-center-ring{
  width:214px;height:214px;margin:0 auto;border-radius:50%;
  background:conic-gradient(var(--lw-color) calc(var(--lw-pct) * 1%), var(--line) 0);
  display:flex;align-items:center;justify-content:center;padding:9px;
}
.lw-center-inner{
  width:100%;height:100%;border-radius:50%;background:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:inset 0 0 0 1px var(--line);
}
.lw-eyebrow-sm{font-size:10px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);line-height:1.4}
.lw-bignum{font-size:34px;font-weight:900;color:var(--lw-color);line-height:1.15;margin:2px 0}

@media (max-width:680px){
  .lw-grid{
    grid-template-columns:1fr;
    grid-template-areas:"center" "top" "right" "bottomright" "bottomleft" "left";
    gap:14px;
  }
  .lw-lines{display:none}
  .lw-center-ring{width:188px;height:188px}
}

/* ---------- Value leakage tank ---------- */
.tank-wrap{display:flex;justify-content:center;align-items:flex-end;gap:36px;flex-wrap:wrap;padding:10px 0}
.tank{position:relative;width:120px;height:200px;border:3px solid var(--navy);border-radius:0 0 14px 14px;border-top:none;overflow:hidden;background:#fff}
.tank .liquid{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(180deg,var(--lime-glow),var(--lime2));transition:height 1.4s cubic-bezier(.3,.8,.3,1)}
.tank .liquid::before{content:'';position:absolute;top:-4px;left:0;width:200%;height:10px;background:inherit;border-radius:50%;animation:wobble 3s ease-in-out infinite}
@keyframes wobble{0%,100%{transform:translateX(0) scaleY(1)}50%{transform:translateX(-25%) scaleY(.6)}}
.tank .crack{position:absolute;background:var(--cream);opacity:0;transition:opacity .4s ease}
.tank .crack.show{opacity:1}
.leak-particle{
  position:absolute;width:6px;height:6px;border-radius:50%;background:var(--lime2);
  animation:leakOut 1.6s ease-in forwards;opacity:.9;
}
@keyframes leakOut{
  0%{transform:translate(0,0) scale(1);opacity:.95}
  100%{transform:translate(var(--lx,40px),var(--ly,90px)) scale(.3);opacity:0}
}
.tank-label{text-align:center;font-size:12px;font-weight:700;color:var(--muted);margin-top:10px}
.tank-pct{font-size:22px;font-weight:900;color:var(--navy)}

/* ---------- Executive insight text ---------- */
.tw-line{white-space:pre-wrap}
.tw-label{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--lime)}

/* ---------- Maturity road ---------- */
.road-wrap{position:relative;padding:30px 0 10px}
.road-line{position:absolute;top:50%;left:3%;right:3%;height:4px;background:var(--cream2);border-radius:2px}
.road-fill{position:absolute;top:50%;left:3%;height:4px;background:linear-gradient(90deg,var(--lime2),var(--lime));border-radius:2px;width:0;transition:width 1.2s cubic-bezier(.3,.8,.3,1)}
.road-stops{display:flex;justify-content:space-between;position:relative}
.road-stop{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}
.road-dot{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--cream2);z-index:1}
.road-stop.active .road-dot{background:var(--lime);border-color:var(--lime2);box-shadow:0 0 0 6px rgba(168,230,23,.22)}
.road-stop.passed .road-dot{background:var(--lime2);border-color:var(--lime2)}
.road-stop .rlabel{font-size:11px;font-weight:700;text-align:center;color:var(--muted)}
.road-stop.active .rlabel,.road-stop.passed .rlabel{color:var(--lime2)}

/* ---------- Footer / utility ---------- */
.footer{margin-top:36px;text-align:center;font-size:12px;color:var(--muted)}
.flex-between{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.tag-list{display:flex;flex-wrap:wrap;gap:8px}
.tag{font-size:12px;font-weight:700;background:var(--cream2);color:var(--navy);padding:5px 12px;border-radius:999px}
.offer-card{border:1.5px solid var(--line);border-radius:14px;padding:16px;background:#fff}
.offer-card.active{border-color:var(--lime2);background:#f5fbe0}
.card-dark .offer-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.15);color:#fff}
.card-dark .offer-card.active{background:rgba(168,230,23,.12);border-color:var(--lime)}
.offer-badge{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--lime);margin-bottom:8px}
.lockmsg{font-size:13px;background:#fffaf0;border:1px solid #f0d3a0;border-radius:10px;padding:12px 14px;margin-top:10px}
.banner-ok{font-size:13px;background:#e7f5cf;border:1px solid #c4e98c;border-radius:10px;padding:10px 14px;margin-top:10px;color:var(--lime2);font-weight:700}
.banner-err{font-size:13px;background:#fbe6e3;border:1px solid #f0b5ac;border-radius:10px;padding:10px 14px;margin-top:10px;color:var(--red);font-weight:700}

table.regtable{width:100%;border-collapse:collapse;font-size:12.5px}
table.regtable th,table.regtable td{border:1px solid var(--line);padding:6px 8px;text-align:left}
table.regtable th{background:var(--cream2);font-weight:800}

@media print{
  body{background:#fff}
  .no-print{display:none !important}
  .app{max-width:none;padding:0}
}
body.printing .app{display:none}
body.printing #report{display:block;max-width:760px;margin:0 auto;padding:24px}
#report .rp-section{margin-bottom:22px;page-break-inside:avoid}
#report .rp-header{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--navy);padding-bottom:12px;margin-bottom:18px}
#report .rp-header h1{font-size:20px;margin:0}
#report .rp-meta{font-size:11.5px;color:var(--muted)}
#report .rp-band{display:inline-block;padding:4px 12px;border-radius:999px;font-weight:800;font-size:12px;color:#fff}
#report h2{font-size:15px;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:10px}
#report table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:6px}
#report table th,#report table td{border:1px solid var(--line);padding:5px 8px;text-align:left}
#report table th{background:var(--cream2)}
#report ul{margin:0 0 8px;padding-left:18px;font-size:12.5px}
#report .rp-foot{font-size:11px;color:var(--muted);text-align:center;margin-top:30px;border-top:1px solid var(--line);padding-top:10px}
@media (max-width:640px){
  .topbar{flex-direction:column;align-items:flex-start}
  .qcard{padding:18px}
  .journey .jlabel{display:none}
}

/* ===== merged from second style block ===== */

.radar-poly{opacity:0;transform:scale(.6);transform-origin:150px 150px;animation:radarGrow .7s cubic-bezier(.2,.8,.3,1.1) forwards}
      .radar-dot{opacity:0;animation:radarDot .4s ease forwards}
      @keyframes radarGrow{to{opacity:1;transform:scale(1)}}
      @keyframes radarDot{to{opacity:1}}
