/* CapAn visual system: executive / enterprise.
   Cool neutral greys, a strategic steel blue as the one brand colour, and restraint everywhere else: type, hairline rules and
   whitespace do the structuring; shadows lift only the surfaces that matter (the recommendation, dialogs, cards).
   Chart colours are a validated categorical set (--s1..--s4). System fonts only (no external requests). */
:root{
  --paper:#f3f5f8; --surface:#ffffff; --soft:#eaeef3; --rule:#dde2e9; --rule2:#c3cad5;
  --ink:#18202c; --ink2:#394454; --muted:#647084;
  --navy:#12304f; --navy2:#0e2640; --gold:#7c8ba1; --goldtext:#46566e;      /* "gold" slots now carry the steel accent */
  --brand:#164c7a; --brand2:#0f3a5e; --on-brand:#ffffff; --focus:rgba(31,90,150,.38);
  --good:#17785a; --warn:#9a5b00; --bad:#b42318;
  --s1:#1f5a96; --s2:#c2610f; --s3:#1b9a8a; --s4:#7a5aa8;      /* categorical, validated (blue, orange, teal, violet) */
  --seq:31,90,150;                                               /* single-hue sequential base (steel blue) */
  --barmuted:#a9b3c2; --panel:#12304f; --panel-ink:#f4f7fb;
  --shadow:0 1px 2px rgba(16,32,52,.06),0 8px 24px -12px rgba(16,32,52,.18);
  --display:"Segoe UI Variable Display","Segoe UI",Inter,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --sans:"Segoe UI Variable Text","Segoe UI",Inter,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --w:1080px; --r:6px;
  color-scheme:light;
}
:root[data-theme=dark]{
  --paper:#0e131a; --surface:#151c26; --soft:#1a2330; --rule:rgba(235,241,250,.10); --rule2:rgba(235,241,250,.22);
  --ink:#e9eef5; --ink2:#c2cbd8; --muted:#8e9aad;
  --brand:#79afe0; --brand2:#9cc4ea; --on-brand:#0b1420; --focus:rgba(121,175,224,.42); --goldtext:#a9bad0; --gold:#8393ab;
  --good:#5fc2a4; --warn:#e0b04a; --bad:#f08a80;
  --s1:#4f8fd6; --s2:#c96a1e; --s3:#26a393; --s4:#9a73d6; --seq:79,143,214;
  --barmuted:#4a566b; --panel:#17314d; --panel-ink:#f4f7fb;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -12px rgba(0,0,0,.6);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--sans);font-size:15px;line-height:1.6;background:var(--paper);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{margin:0;font-weight:600}
h1,h2,h3{font-family:var(--display);letter-spacing:-.012em;color:var(--navy)}
:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3{color:var(--ink)}
p{margin:0}
a{color:var(--brand)}
button{font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
::selection{background:rgba(31,90,150,.22)}
.muted{color:var(--muted)}.fine{color:var(--muted);font-size:.8rem}
.ic{width:1.1em;height:1.1em;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.wrap{max-width:var(--w);margin:0 auto;padding:0 clamp(18px,4vw,36px)}

/* ---------- header ---------- */
.top{background:var(--paper);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;height:64px}
.brand{display:flex;gap:11px;align-items:center;cursor:pointer;border-radius:4px}
.brand .logo{height:40px;width:auto;display:block}
.brand .logo.tile{display:none;width:40px}
:root[data-theme=dark] .brand .logo.mark{display:none}
:root[data-theme=dark] .brand .logo.tile{display:block}
.brand b{font-family:"Segoe UI",var(--sans);font-weight:600;font-size:1.28rem;letter-spacing:.005em;color:var(--brand);display:block;line-height:1.1}
:root[data-theme=dark] .brand b{color:var(--ink)}
.brand small{display:block;color:var(--muted);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;margin-top:1px}
.top-right{display:flex;gap:4px;align-items:center}
.navbtn,.ghost{background:none;border:0;color:var(--ink2);padding:8px 10px;border-radius:4px;display:inline-flex;align-items:center;gap:7px;font-size:.88rem;font-weight:500}
.navbtn:hover,.ghost:hover{color:var(--brand);background:var(--soft)}
.pill{display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:var(--muted);font-size:.78rem;padding:6px 10px;border-radius:4px;cursor:pointer}
.pill:hover{background:var(--soft);color:var(--ink)}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rule2)}
.pill.live::before{background:var(--good)}
.pill.live{color:var(--ink2)}
.homeTop span{font-weight:500}

/* ---------- step rail ---------- */
.stepper{display:flex;gap:28px;align-items:flex-end;max-width:var(--w);margin:0 auto;padding:22px clamp(18px,4vw,36px) 0}
.step{display:flex;align-items:center;gap:8px;padding:0 0 10px;font-size:.8rem;color:var(--muted);border-bottom:2px solid var(--rule);flex:1;min-width:0;font-weight:500}
.step i{font-style:normal;font-size:.7rem;font-variant-numeric:tabular-nums;color:var(--muted);letter-spacing:.06em}
.step.on{color:var(--ink);border-bottom-color:var(--navy)}
:root[data-theme=dark] .step.on{border-bottom-color:var(--gold)}
.step.on i{color:var(--ink)}
.step.done{color:var(--ink2);border-bottom-color:var(--gold)}
.step.done i{color:var(--goldtext)}
.homebtn{flex:none;background:none;border:0;border-bottom:2px solid transparent;padding:0 0 10px;color:var(--muted);display:inline-flex;gap:7px;align-items:center;font-weight:500;font-size:.8rem}
.homebtn:hover{color:var(--ink)}
.homebtn.on{color:var(--ink);border-bottom-color:var(--navy)}

main{max-width:var(--w);margin:0 auto;padding:32px clamp(18px,4vw,36px) 72px}
.foot{text-align:center;color:var(--muted);font-size:.75rem;padding:0 16px 32px}

/* ---------- buttons, inputs ---------- */
.btn{border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);border-radius:var(--r);padding:10px 20px;font-weight:600;font-size:.9rem;letter-spacing:.01em;transition:background .15s,border-color .15s}
.btn:hover{background:var(--navy2);border-color:var(--navy2)}
:root[data-theme=dark] .btn:hover{background:var(--brand2);border-color:var(--brand2)}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn.sec{background:transparent;color:var(--ink);border-color:var(--rule2)}
.btn.sec:hover{border-color:var(--brand);background:var(--soft)}
.btn.pur{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.btn.pur:hover{background:var(--brand2);border-color:var(--brand2)}
.err{color:var(--bad);margin-top:12px;font-size:.88rem}
.fld{display:block;margin-top:14px}
.fld>span{display:block;font-size:.78rem;color:var(--muted);margin-bottom:4px;font-weight:500}
.fld input,.fld select,.fld textarea{width:100%;padding:9px 11px;border-radius:var(--r);border:1px solid var(--rule2);background:var(--surface);color:var(--ink);font:inherit}
.fld textarea{resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus);outline:0}
.fld a{font-size:.78rem}
.row2{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.row2 .fld{flex:1;min-width:160px}
.combo{position:relative}
.combo .box{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:transparent;border:0;border-bottom:1px solid var(--rule2);padding:6px 2px;transition:border-color .15s}
.combo .box:focus-within{border-bottom:2px solid var(--brand);padding-bottom:5px}
.combo input{flex:1;min-width:140px;background:transparent;border:0;outline:0;color:var(--ink);font:inherit;font-size:1rem;padding:4px 0}
.combo input::placeholder{color:var(--muted)}
.combo .caret{color:var(--muted);cursor:pointer;padding:0 4px;font-size:.8rem}
.chip{display:inline-flex;gap:8px;align-items:center;padding:2px 9px;border-radius:3px;font-size:.84rem;background:var(--soft);border:1px solid var(--rule)}
.chip b{cursor:pointer;color:var(--muted);font-weight:400}.chip b:hover{color:var(--bad)}
.menu{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:240px;overflow:auto;background:var(--surface);border:1px solid var(--rule2);border-radius:var(--r);box-shadow:0 10px 30px rgba(22,26,46,.14);display:none}
.menu.open{display:block}
.menu div{padding:9px 14px;cursor:pointer;font-size:.9rem}
.menu div:hover,.menu div.sel{background:var(--soft)}
.menu .free{color:var(--brand);font-weight:600}
.tags{display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center}
.tag{font-size:.76rem;color:var(--muted);letter-spacing:.02em}
.tag.a{color:var(--goldtext);font-weight:600}
.tag.b{color:var(--ink2)}
.warn{margin:12px 0;padding:10px 14px;border-left:3px solid var(--gold);background:var(--soft);font-size:.86rem;border-radius:0 var(--r) var(--r) 0}
.note{margin:12px 0;padding:10px 14px;border-left:3px solid var(--brand);background:var(--soft);font-size:.86rem;border-radius:0 var(--r) var(--r) 0}
.warn .ic{margin-right:6px;vertical-align:-.18em;color:var(--warn)}
.testbox{margin-top:14px;padding:10px 14px;border-left:3px solid var(--rule2);background:var(--soft);font-size:.88rem;border-radius:0 var(--r) var(--r) 0}
.testbox.good{border-left-color:var(--good);color:var(--good)}.testbox.bad{border-left-color:var(--bad);color:var(--bad)}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);opacity:0;background:var(--navy2);color:#ffffff;padding:11px 20px;border-radius:var(--r);transition:.25s;z-index:90;font-size:.88rem;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- home ---------- */
.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;padding:28px 0 12px}
.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--goldtext);font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.5rem);line-height:1.07;letter-spacing:-.015em;font-weight:600}
.hero .lede{color:var(--ink2);font-size:1.08rem;max-width:560px;margin-top:20px;line-height:1.65}
.homecta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.homestatus{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:18px;color:var(--muted);font-size:.8rem}
.heroart{justify-self:center}
.heroart img{width:min(290px,70vw);display:block}
:root[data-theme=dark] .heroart img{background:#ffffff;padding:16px;border-radius:6px}
.band{margin-top:64px}
.band>h2{font-size:1.5rem;margin-bottom:6px}
.band>.lead{color:var(--muted);margin-bottom:28px;font-size:.92rem}
.how{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.how>div{border-top:1px solid var(--rule2);padding-top:16px}
.how .n{font-family:var(--display);font-size:1.7rem;color:var(--goldtext);line-height:1;margin-bottom:12px;font-weight:600}
.how h3{font-size:1.02rem;margin-bottom:6px}
.how p{color:var(--muted);font-size:.86rem}
.features{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px}
.feat{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--rule)}
.feat .ficon{color:var(--brand);padding-top:2px}.feat .ficon .ic{width:22px;height:22px}
.feat h3{font-size:1rem;margin-bottom:3px}
.feat p{color:var(--muted);font-size:.86rem}
.hist{border-top:1px solid var(--rule2)}
.hrow{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--rule);padding:14px 4px;color:inherit}
.hrow:hover{background:var(--soft)}
.hrow b{font-family:var(--display);font-weight:600;font-size:1.02rem;color:var(--navy);display:block}
:root[data-theme=dark] .hrow b{color:var(--ink)}
.hrow small{color:var(--muted)}
.hrow .go{color:var(--muted);font-size:.8rem;white-space:nowrap}

/* ---------- wizard ---------- */
.wiz{display:grid;grid-template-columns:200px 1fr;gap:56px}
.wiznav{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:2px}
.wiznav button{background:none;border:0;text-align:left;padding:9px 0 9px 14px;border-left:2px solid var(--rule);color:var(--muted);font-size:.88rem;font-weight:500}
.wiznav button.on{border-left-color:var(--navy);color:var(--ink)}
:root[data-theme=dark] .wiznav button.on{border-left-color:var(--gold)}
.wiznav button.done{color:var(--ink2);border-left-color:var(--gold)}
.wiznav button:disabled{cursor:default}
.wiznav small{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 0 12px 16px}
.gtitle{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--goldtext);font-weight:600}
.wiz h2{font-size:1.9rem;margin:8px 0 6px}
.wiz .intro{color:var(--muted);margin-bottom:28px}
.qgrid{display:grid;gap:30px}
.q label.l{display:block;font-weight:600;font-size:1rem;margin-bottom:2px}
.q .h{color:var(--muted);font-size:.84rem;margin-bottom:6px}
.nav{display:flex;justify-content:space-between;margin-top:40px;gap:10px;padding-top:20px;border-top:1px solid var(--rule)}
.chk{display:flex;gap:14px;align-items:flex-start;cursor:pointer;padding:6px 0}
.chk input{position:absolute;opacity:0}
.chk .box2{flex:none;width:20px;height:20px;border-radius:3px;border:1.5px solid var(--rule2);display:grid;place-items:center;margin-top:3px;background:var(--surface)}
.chk input:checked + .box2{background:var(--brand);border-color:var(--brand)}
.chk input:checked + .box2::after{content:"\2713";color:var(--on-brand);font-size:.75rem;font-weight:700}
.chk input:focus-visible + .box2{box-shadow:0 0 0 3px var(--focus)}
.chk b{display:block;font-weight:600}.chk small{display:block;color:var(--muted);margin-top:1px;font-size:.84rem}

/* ---------- loader ---------- */
.loader{text-align:center;padding:90px 10px}
.loader h2{margin-top:6px}
.radarload{width:132px;height:132px;display:block;margin:0 auto 14px}
.radarload .lr{fill:none;stroke:var(--rule2);stroke-width:1}
.radarload .sweep{transform-origin:60px 60px;animation:spin 2.6s linear infinite}
.radarload .sweep path{fill:var(--brand);opacity:.16}.radarload .sweep line{stroke:var(--brand);stroke-width:1.6}
.radarload .blip{fill:var(--s3);opacity:0;animation:blip 5.5s ease-out infinite}
@keyframes blip{0%{opacity:0;transform:scale(.4)}8%{opacity:1;transform:scale(1.3)}40%{opacity:.55;transform:scale(1)}100%{opacity:0}}
.lstep{display:flex;align-items:center;gap:10px}
.lmark{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--rule2);flex:none;box-sizing:border-box}
.lstep.on .lmark{border-color:var(--brand);border-top-color:transparent;animation:spin .8s linear infinite}
.lstep.done{opacity:1;color:var(--ink)}.lstep.done .lmark{background:var(--s2);border-color:var(--s2);position:relative}
.lstep.done .lmark::after{content:"";position:absolute;left:3.5px;top:1px;width:3px;height:6px;border:solid #fff;border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.lmeta{margin-top:18px;color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}
.orbit{width:44px;height:44px;margin:0 auto 22px;border-radius:50%;border:2px solid var(--rule);border-top-color:var(--brand);animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.lsteps{display:inline-block;text-align:left;color:var(--muted);margin-top:14px;font-size:.9rem}
.lsteps div{opacity:.4;transition:.4s;padding:3px 0}.lsteps div.on{opacity:1;color:var(--ink)}

/* ---------- shortlist (comparison table) ---------- */
.pagehead{margin-bottom:26px}
.pagehead h2{font-size:2rem;margin:6px 0 8px}
.pagehead .meta{display:flex;gap:6px 18px;flex-wrap:wrap;align-items:center;margin-top:12px;font-size:.8rem;color:var(--muted)}
.toolhead,.tool{display:grid;grid-template-columns:30px minmax(0,1fr) 150px 112px 150px;gap:0 18px;align-items:center}
.toolhead{padding:0 12px 8px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule2)}
.tool{position:relative;padding:16px 12px;border-bottom:1px solid var(--rule);cursor:pointer;transition:background .12s}
.tool:hover{background:var(--soft)}
.tool.sel{background:var(--soft);box-shadow:inset 3px 0 0 var(--brand)}
.tool.emerging{box-shadow:inset 3px 0 0 var(--s4)}
.tool .tick{width:20px;height:20px;border-radius:3px;border:1.5px solid var(--rule2);display:grid;place-items:center;font-size:.72rem;color:transparent;background:var(--surface)}
.tool.sel .tick{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.tool h3{font-size:1.08rem}
.tool .v{color:var(--muted);font-size:.8rem;margin-left:6px;font-family:var(--sans);font-weight:400}
.tool .sum{color:var(--muted);font-size:.84rem;margin-top:3px;max-width:60ch}
.tool .promise{margin-top:3px}
.scorec{display:flex;align-items:center;gap:10px}
.scorec b{font-size:1.15rem;font-weight:600;min-width:2.3em;font-variant-numeric:tabular-nums}
.scorec .meter{flex:1;height:4px;border-radius:2px;background:var(--rule);overflow:hidden}
.scorec .meter i{display:block;height:100%;background:var(--brand);border-radius:2px}
.regc{color:var(--ink2);font-size:.82rem}
.estline{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;margin-top:6px;color:var(--ink2)}
.tier{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;color:var(--ink2);letter-spacing:.01em}
.tier::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--rule2);flex:none}
.tier.t1::before{background:var(--gold)}.tier.t2::before{background:var(--navy)}.tier.t3::before{background:var(--barmuted)}
:root[data-theme=dark] .tier.t2::before{background:#8f9ce8}
.tier.tem::before{background:transparent;border:1.5px solid var(--s4)}
.stickybar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 12px;background:var(--paper);border-top:1px solid var(--rule2)}
.stickybar #selinfo{font-size:.9rem;color:var(--ink2)}
.stickybar .acts{display:flex;gap:10px}

/* ---------- results ---------- */
.rec{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;background:var(--panel);color:var(--panel-ink);border-radius:6px;padding:36px 40px;border-left:4px solid var(--gold)}
.rec .gtitle{color:var(--gold)}
.rec h2{font-size:clamp(1.8rem,3.4vw,2.6rem);color:#fff;margin:10px 0 12px;line-height:1.1}
.rec .why{color:#c9cde0;max-width:62ch;font-size:.98rem}
.rec .drv{margin-top:18px;display:flex;gap:6px 22px;flex-wrap:wrap;font-size:.8rem;color:#aab0c8}
.rec .drv b{color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.herofig{text-align:left;min-width:150px}
.herofig .num{font-family:var(--sans);font-size:4.6rem;font-weight:600;line-height:1;color:#fff;letter-spacing:-.02em}
.herofig .num small{font-size:1.3rem;color:#aab0c8;font-weight:500;margin-left:4px;letter-spacing:0}
.herofig .lab{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#aab0c8;margin-top:8px}
.herofig .meter{height:4px;background:rgba(255,255,255,.16);border-radius:2px;margin-top:10px;overflow:hidden}
.herofig .meter i{display:block;height:100%;background:var(--gold)}
.rsec{margin-top:64px}
.rhead{display:grid;grid-template-columns:44px 1fr;column-gap:8px;margin-bottom:22px;padding-top:16px;border-top:1px solid var(--rule2)}
.rnum{font-family:var(--display);color:var(--goldtext);font-size:1.1rem;font-weight:600;padding-top:4px}
.rhead h2{font-size:1.5rem}
.rhead p{grid-column:2;color:var(--muted);font-size:.88rem;margin-top:3px;max-width:70ch}
.legend{display:flex;gap:6px 22px;flex-wrap:wrap;margin:0 0 14px;font-size:.82rem;color:var(--ink2)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px}
.sw0{background:var(--s1)}.sw1{background:var(--s2)}.sw2{background:var(--s3)}.sw3{background:var(--s4)}
.chartbox svg{display:block;width:100%;height:auto;overflow:visible}
.chartbox text{font-family:var(--sans);fill:var(--ink2);font-size:12px}
.chartbox .axis{stroke:var(--rule);stroke-width:1}
.chartbox .axis0{stroke:var(--rule2);stroke-width:1}
.chartbox .tick{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.chartbox .val{fill:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.chartbox .lab{fill:var(--ink)}
.chartbox .labm{fill:var(--muted);font-size:11px}
.chartbox .wt{fill:var(--goldtext);font-size:10px;font-weight:700}
:root[data-theme=dark] .chartbox .wt{fill:var(--gold)}
.tbl{width:100%;border-collapse:collapse;font-size:.88rem}
.tbl th{font-weight:600;text-align:right;color:var(--ink2);padding:0 8px 10px;font-size:.78rem;vertical-align:bottom;line-height:1.3}
.tbl th:first-child{text-align:left;padding-left:0}
.tbl td{padding:9px 8px;border-top:1px solid var(--rule);text-align:right;font-variant-numeric:tabular-nums}
.tbl td:first-child{text-align:left;padding-left:0;font-variant-numeric:normal}
.tbl td small{display:block;color:var(--muted);font-size:.74rem}
.tbl td.c{font-weight:500}
.tbl td.c.best{font-weight:800}
.tbl tr.tot td{border-top:1.5px solid var(--ink2);font-weight:700;font-size:.95rem}
.tbl .key{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:7px}
.tbl th.me{box-shadow:inset 0 -2px 0 var(--gold)}
.tbl .wtag{font-size:.68rem;color:var(--goldtext);font-weight:700;margin-left:6px}
.tiers{border-top:1px solid var(--rule)}
.lane{display:grid;grid-template-columns:230px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--rule);align-items:start}
.lane h4{font-size:.92rem;font-family:var(--sans)}
.lane small{display:block;color:var(--muted);font-size:.8rem;margin-top:3px;font-weight:400}
.lane .names{display:flex;gap:8px 22px;flex-wrap:wrap;font-weight:500;padding-top:2px}
.lane .names span{display:inline-flex;align-items:center;gap:8px}
.lane .names i{width:9px;height:9px;border-radius:2px;flex:none}
.lane .none{color:var(--muted);font-weight:400}
table.est{width:100%;border-collapse:collapse;font-size:.88rem}
.est th{text-align:left;font-weight:600;font-size:.76rem;color:var(--ink2);padding:0 8px 8px;vertical-align:bottom}
.est th:first-child{padding-left:0}
.est td{padding:12px 8px;border-top:1px solid var(--rule);vertical-align:middle}
.est td.t{padding-left:0;white-space:nowrap;width:1%;font-weight:500}
.est .key{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:8px}
.rng{position:relative;height:8px;border-radius:4px;background:var(--rule)}
.rng i{position:absolute;top:0;bottom:0;border-radius:4px}
.est .rv{font-size:.8rem;color:var(--ink2);margin-top:6px;font-variant-numeric:tabular-nums}
.est .ax{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted);font-weight:400;font-variant-numeric:tabular-nums;margin-top:3px}
.cons{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:34px 40px}
.cons article h3{font-size:1.1rem;display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-bottom:10px;border-bottom:2px solid var(--rule2);margin-bottom:10px}
.cons article h3 i{width:10px;height:10px;border-radius:2px}
.cons ul{margin:0;padding:0;list-style:none;font-size:.88rem}
.cons li{padding:4px 0 4px 18px;position:relative;color:var(--ink2)}
.cons li::before{content:"";position:absolute;left:2px;top:.95em;width:7px;height:2px;background:var(--good)}
.cons li.w::before{background:var(--warn)}
.cons .price{color:var(--muted);font-size:.8rem;margin-top:10px}
.promise{color:var(--s4);font-size:.84rem}
.risk{color:var(--warn);font-size:.84rem;margin:4px 0}
.src a{color:var(--muted);font-size:.74rem;word-break:break-all;text-decoration-color:var(--rule2)}

/* ---------- optional panels (disclosure) ---------- */
.panels{margin-top:64px;border-top:1px solid var(--rule2)}
.panel{border-bottom:1px solid var(--rule2)}
.panel>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:center;padding:20px 2px}
.panel>summary::-webkit-details-marker{display:none}
.panel>summary .ptitle{font-family:var(--display);font-size:1.25rem;font-weight:600;color:var(--navy)}
:root[data-theme=dark] .panel>summary .ptitle{color:var(--ink)}
.panel>summary .pdesc{grid-column:1;color:var(--muted);font-size:.86rem}
.panel>summary .chev{grid-row:1/3;grid-column:2;color:var(--muted);transition:transform .2s}
.panel[open]>summary .chev{transform:rotate(180deg)}
.panel>summary:hover .ptitle{color:var(--goldtext)}
.pbody{padding:2px 2px 30px}
.pbody>.sub{color:var(--muted);font-size:.88rem;margin-bottom:6px;max-width:70ch}
.sliders{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px 40px;margin-top:14px}
.sl span{display:flex;justify-content:space-between;font-size:.86rem;margin-bottom:3px}
.sl b{color:var(--goldtext);font-variant-numeric:tabular-nums}
.sl input{width:100%;accent-color:var(--brand)}
.dgrid{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;margin:14px 0 4px}
.dgrid h4{margin:0 0 8px;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;font-family:var(--sans)}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.cb{display:inline-flex;gap:8px;align-items:center;cursor:pointer;padding:5px 12px;border:1px solid var(--rule2);border-radius:3px;background:var(--surface);font-size:.84rem;transition:border-color .12s}
.cb:hover{border-color:var(--brand)}
.cb input{accent-color:var(--brand)}
.cb:has(input:checked){border-color:var(--brand);background:var(--soft);font-weight:500}
.cb.small{border:0;background:none;padding:0;color:var(--muted)}
.cb.small:has(input:checked){border:0;background:none}
button.cb.contact{font:inherit;font-size:.78rem;color:var(--ink)}
button.cb.contact.on{border-color:var(--brand);background:var(--soft);font-weight:600}
.dact{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:16px;font-size:.84rem}
.deepmeta{color:var(--muted);font-size:.8rem;margin:22px 0 8px}
.deepgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px 40px;margin-top:8px}
.deepcard{border-top:2px solid var(--rule2);padding-top:14px}
.deepcard h3{font-size:1.1rem;margin-bottom:6px}
.verdict{font-weight:600;margin:4px 0 8px}
.fa{font-size:.86rem;background:var(--soft);padding:9px 12px;border-left:3px solid var(--gold);border-radius:0 var(--r) var(--r) 0}
.deepcard details{border-top:1px solid var(--rule);padding:9px 0}
.deepcard summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;font-weight:600;font-size:.9rem}
.deepcard ul{margin:6px 0;padding-left:18px;font-size:.85rem;color:var(--ink2)}
.deepcard .hl{color:var(--goldtext);font-size:.84rem;margin:6px 0 2px;font-weight:500}
.conf{font-style:normal;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;height:fit-content}
.c-high{color:var(--good)}.c-medium{color:var(--warn)}.c-low{color:var(--bad)}
.commonsi{margin:14px 0 4px;padding:10px 14px;border-left:3px solid var(--gold);background:var(--soft);display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center;font-size:.86rem;border-radius:0 var(--r) var(--r) 0}
.si{border-top:1px solid var(--rule);padding:11px 0}
.sih{display:flex;gap:6px 12px;align-items:center;flex-wrap:wrap}.sih a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule2)}
.sih .conf{margin-left:auto}
.ty-global,.ty-regional,.ty-boutique{font-size:.72rem;font-weight:600;letter-spacing:.02em}
.ty-global{color:var(--goldtext)}.ty-regional{color:var(--ink2)}.ty-boutique{color:var(--s2)}
.why2{font-size:.85rem;margin:5px 0 2px;color:var(--ink2)}
.exportbar{margin-top:56px;padding:22px 0;border-top:1px solid var(--rule2);border-bottom:1px solid var(--rule2);display:flex;gap:14px 24px;align-items:center;flex-wrap:wrap}
.exportbar h3{font-size:1.1rem;margin-right:auto}
.exportbar .sub{display:block;font-family:var(--sans);font-size:.8rem;color:var(--muted);font-weight:400;margin-top:2px}
.exports{display:flex;gap:10px;flex-wrap:wrap}
.exp{display:inline-flex;gap:9px;align-items:center;padding:9px 16px;border-radius:var(--r);border:1px solid var(--rule2);background:transparent;color:var(--ink);font-weight:500;font-size:.88rem;transition:border-color .12s,background .12s}
.exp:hover{border-color:var(--brand);background:var(--soft)}
.exp>span:first-child{display:inline-flex;color:var(--brand)}
.exp:disabled{opacity:.5}
.exp.mail{border-color:var(--gold)}
.rfoot{display:flex;justify-content:space-between;margin-top:28px;gap:10px}

/* ---------- dialogs ---------- */
.overlay{position:fixed;inset:0;z-index:60;background:rgba(10,18,28,.55);display:grid;place-items:center;padding:16px}
.modal{width:min(720px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;border-radius:6px;border:1px solid var(--rule2);box-shadow:0 30px 70px rgba(10,18,28,.38);background:var(--paper)}
.mhead,.mfoot{display:flex;align-items:center;gap:10px;padding:16px 24px}
.mhead{justify-content:space-between;border-bottom:1px solid var(--rule)}.mhead h2{font-size:1.35rem}
.mfoot{border-top:1px solid var(--rule);flex-wrap:wrap}
.mbody{overflow:auto;padding:4px 24px 18px}
.mbody section{padding:18px 0;border-bottom:1px solid var(--rule)}.mbody section:last-child{border-bottom:0}
.mbody h3{font-size:1.05rem}
.mbody .sub{color:var(--muted);font-size:.84rem;margin:2px 0 10px}
.engines{display:grid;gap:0;margin-top:8px;border-top:1px solid var(--rule)}
.eng{display:flex;gap:14px;align-items:flex-start;padding:12px 4px;border-bottom:1px solid var(--rule);cursor:pointer}
.eng:hover{background:var(--soft)}
.eng.on{background:var(--soft);box-shadow:inset 3px 0 0 var(--brand)}
.eng input{margin-top:5px;accent-color:var(--brand)}
.eng small,.tog small{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}
.chipst{margin-left:10px;font-size:.68rem;font-weight:600;letter-spacing:.04em;color:var(--muted)}
.chipst.ok{color:var(--good)}
.tog{display:flex;gap:14px;align-items:flex-start;cursor:pointer;margin-top:10px}
.tog input{position:absolute;opacity:0}
.sw{flex:none;width:38px;height:22px;border-radius:99px;background:var(--rule2);position:relative;transition:.2s;margin-top:2px}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:.2s}
.tog input:checked + .sw{background:var(--brand)}
.tog input:checked + .sw::after{left:19px}
.tog input:focus-visible + .sw{box-shadow:0 0 0 3px var(--focus)}
#eOut .testbox{margin-top:12px}

/* ---------- responsive ---------- */
@media(max-width:860px){
  .hero{grid-template-columns:1fr;gap:28px}.heroart{order:-1;justify-self:start}.heroart img{width:150px}
  .how{grid-template-columns:repeat(2,1fr)}.features{grid-template-columns:1fr}
  .wiz{grid-template-columns:1fr;gap:20px}.wiznav{position:static;flex-direction:row;overflow:auto}.wiznav small{display:none}
  .wiznav button{border-left:0;border-bottom:2px solid var(--rule);padding:6px 12px 8px 0;white-space:nowrap}
  .wiznav button.on{border-bottom-color:var(--navy)}.wiznav button.done{border-bottom-color:var(--gold)}
  .toolhead{display:none}.tool{grid-template-columns:30px 1fr;gap:6px 14px}.tool>*:nth-child(n+3){grid-column:2}
  .rec{grid-template-columns:1fr;padding:26px}.lane{grid-template-columns:1fr;gap:8px}.dgrid{grid-template-columns:1fr}
  .stepper{gap:14px}.step span{display:none}
}
@media(max-width:560px){.pill,.homeTop span,.brand small{display:none}.how{grid-template-columns:1fr}.herofig .num{font-size:3.6rem}}
@media(prefers-reduced-motion:reduce){*{transition:none !important}}

.key{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:8px;vertical-align:0}
.cons article h3 .key{margin-right:0}
.chartbox path{transition:opacity .12s}.chartbox path:hover{opacity:.78}

.tbl td.c,.tbl tr.tot td:not(:first-child){box-shadow:inset 0 0 0 2px var(--paper)}
.tbl{table-layout:fixed}.tbl th:first-child,.tbl td:first-child{width:34%}

.pbody>.sub{display:none}

/* ---------- next steps ---------- */
/* ---------- vendor management and RFP pack ---------- */
.vdet>summary{cursor:pointer;list-style:none;position:relative;padding-right:40px}
.vdet>summary::-webkit-details-marker{display:none}
.vdet>summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.vdet>summary:hover h2{color:var(--brand)}
.vchev{position:absolute;right:6px;top:22px;width:10px;height:10px;border:solid var(--ink2);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s}
.vdet[open]>summary .vchev{transform:rotate(225deg);top:28px}
.vintro{color:var(--ink2);max-width:70ch;margin:2px 0 14px}
.vsteps{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.vsteps li{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--rule)}
.vsteps .vn{width:26px;height:26px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-size:.78rem;font-weight:700;margin-top:2px}
.vsteps h3{font-size:1rem;margin:0 0 2px}.vsteps p{margin:0;color:var(--ink2);font-size:.9rem;max-width:74ch}
.vh{margin:30px 0 8px;font-size:1.05rem}.vsub{margin:0 0 12px;font-size:.88rem}
.vart{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px 28px}
.vgrp h4{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--goldtext);margin:0 0 6px}
.vgrp ul{list-style:none;margin:0;padding:0}.vgrp li{position:relative;padding:3px 0 3px 18px;font-size:.88rem;color:var(--ink2)}
.vgrp li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:5px;border:solid var(--s2);border-width:0 0 2px 2px;transform:rotate(-45deg)}
.rfpform{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}
.rfpitems .chk{border-bottom:1px solid var(--rule);padding:10px 0}
.rfptools{display:flex;gap:6px;margin-top:6px}
.rfporg{background:var(--soft);padding:6px 20px 20px;border-radius:var(--r)}
.rfporg .btn{margin-top:18px;width:100%;display:flex;gap:8px;justify-content:center;align-items:center}
.rfporg small{display:block;margin-top:8px}
@media(max-width:820px){.rfpform{grid-template-columns:1fr}}
/* ---------- next steps as a timeline (gantt) ---------- */
.gantt{--lab:clamp(150px,28%,260px);margin-top:6px}
.glegend{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.8rem;color:var(--ink2);margin:0 0 12px}
.glegend i{display:inline-block;width:18px;height:8px;border-radius:2px;margin-right:7px;vertical-align:middle}
.g-decide{background:var(--s1)}.g-deliver{background:var(--s2)}
.gmile{margin-left:auto;color:var(--goldtext);font-weight:600}
.grow{display:grid;grid-template-columns:var(--lab) 1fr;column-gap:16px;align-items:center;border-top:1px solid var(--rule)}
.grow.ghead{border-top:0}.ghead .gtrack{height:22px}
.ghead .gtrack span{position:absolute;top:2px;font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums;transform:translateX(2px)}
.glab{all:unset;cursor:pointer;display:flex;gap:10px;align-items:baseline;padding:11px 0;font-size:.9rem;line-height:1.3;color:var(--ink);font-weight:600}
.glab:hover{color:var(--brand)}.glab:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}
.glab .gn{font-size:.72rem;color:var(--muted);font-weight:600;letter-spacing:.06em}
.gtrack{position:relative;height:38px}
.gtrack .gl{position:absolute;top:0;bottom:0;width:1px;background:var(--rule)}
.gbar{position:absolute;top:11px;height:16px;border-radius:3px;display:block;min-width:6px;transform-origin:left center;animation:ganttin .6s cubic-bezier(.2,.7,.2,1) both}
.gbar.g-decide{background:var(--s1)}.gbar.g-deliver{background:var(--s2)}
.gbar.gopen{border-radius:3px 0 0 3px;-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent);mask-image:linear-gradient(90deg,#000 55%,transparent)}
.gbar em{position:absolute;left:calc(100% + 8px);top:0;font-style:normal;font-size:.72rem;line-height:16px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.gdec{position:absolute;top:8px;width:10px;height:10px;background:var(--gold);transform:translateX(-50%) rotate(45deg);z-index:1}
.gdet{grid-column:1/-1;margin:0 0 14px;padding:10px 14px;background:var(--soft);border-left:3px solid var(--gold);font-size:.9rem;color:var(--ink2);max-width:80ch}
.gnote{margin-top:12px;border-top:1px solid var(--rule);padding-top:10px}
@keyframes ganttin{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@media(max-width:700px){.gantt{--lab:1fr}.grow{grid-template-columns:1fr}.glab{padding-bottom:0}.gbar em{display:none}.ghead .glab{display:none}}
@media(prefers-reduced-motion:reduce){.gbar{animation:none}}
.steps{list-style:none;margin:0;padding:0;counter-reset:st;border-top:1px solid var(--rule)}
.steps li{counter-increment:st;display:grid;grid-template-columns:128px 1fr;gap:22px;padding:18px 0 18px 0;border-bottom:1px solid var(--rule);position:relative}
.steps .when{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--goldtext);font-weight:700;padding-top:4px}
.steps h3{font-size:1.08rem;margin-bottom:3px;display:flex;gap:12px;align-items:baseline}
.steps h3::before{content:counter(st, decimal-leading-zero);font-family:var(--sans);font-size:.74rem;color:var(--muted);font-weight:600;letter-spacing:.06em}
.steps p{color:var(--ink2);font-size:.92rem;max-width:68ch}
@media(max-width:700px){.steps li{grid-template-columns:1fr;gap:4px}}

/* ---------- customer examples ---------- */
.subh{font-family:var(--sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:16px 0 6px}
.clist{list-style:none;margin:0;padding:0;font-size:.88rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 18px}
.clist li{padding:6px 0;border-top:1px solid var(--rule)}
.clist li span{display:block;color:var(--muted);font-size:.76rem}
.clist li small{display:block;color:var(--ink2);font-size:.76rem}
.cases{list-style:none;margin:0;padding:0}
.cases li{display:grid;grid-template-columns:104px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--rule)}
.cases .when{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--goldtext);font-weight:700;padding-top:3px}
.cases b{font-family:var(--display);font-size:1.02rem;color:var(--navy)}
:root[data-theme=dark] .cases b{color:var(--ink)}
.cases .cmeta{display:block;color:var(--muted);font-size:.78rem}
.cases p{font-size:.86rem;color:var(--ink2);margin-top:4px}
.cases .outcome{color:var(--ink);font-weight:500}
.sim{font-style:normal;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin-left:10px}
.s-high{color:var(--good)}.s-medium{color:var(--ink2)}.s-low{color:var(--muted)}
@media(max-width:700px){.cases li{grid-template-columns:1fr;gap:2px}}

/* ---------- pricing ---------- */
.seatsfld{max-width:220px;margin:0 0 14px}
.ptbl th,.ptbl td{text-align:left;vertical-align:top}
.ptbl td{font-variant-numeric:normal;font-size:.86rem}
.ptbl td small{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}
.ptbl td.model,.ptbl b.model{font-weight:600}
.ptbl .rev{color:var(--goldtext);font-weight:600}
.ptbl td.licest{white-space:nowrap;font-weight:600}
.ptbl{table-layout:auto}.ptbl th:first-child,.ptbl td:first-child{width:auto}

/* ---------- sign-in ---------- */
.locked .top-right,.locked #stepper{display:none}
.userchip{font-size:.8rem;color:var(--muted);padding:0 10px;white-space:nowrap}
.auth{max-width:400px;margin:28px auto 0}
.authlogo{width:170px;display:block;margin:0 0 22px}
:root[data-theme=dark] .authlogo{background:#ffffff;padding:10px;border-radius:6px}
.auth h1{font-size:2rem;margin-bottom:6px}
.authsub{color:var(--muted);margin-bottom:22px}
.authfoot{margin-top:22px}
.fine.bad{color:var(--bad)}.fine.good{color:var(--good)}
@media(max-width:700px){.userchip{display:none}}

/* ---------- radar (capability profile) ---------- */
.radarbox{max-width:720px;margin:0 auto}
.radarbox .ring{fill:none;stroke:var(--rule);stroke-width:1}.radarbox .ring.outer{stroke:var(--rule2)}
.radarbox .spoke{stroke:var(--rule);stroke-width:1}
.radarbox .ser polygon{fill:var(--c);fill-opacity:.12;stroke:var(--c);stroke-width:2;stroke-linejoin:round;transition:fill-opacity .15s,opacity .15s}
.radarbox .ser circle{fill:var(--c);stroke:var(--surface,#fff);stroke-width:2;transition:opacity .15s}
.radarbox .ser{transform-origin:50% 50%;transform-box:view-box;animation:radarin .7s cubic-bezier(.2,.7,.2,1) both}
.radarbox .ser:nth-of-type(2){animation-delay:.08s}.radarbox .ser:nth-of-type(3){animation-delay:.16s}.radarbox .ser:nth-of-type(4){animation-delay:.24s}
@keyframes radarin{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
.radarbox:has(.ser:hover) .ser:not(:hover){opacity:.25}.radarbox .ser:hover polygon{fill-opacity:.24}
@media(prefers-reduced-motion:reduce){.radarbox .ser,.radarload .sweep,.radarload .blip,.lstep.on .lmark{animation:none !important}.radarload .blip{opacity:.6}}
.gbar.gopen em{left:8px;color:#fff;font-weight:600}


/* ---------- executive polish: depth, hierarchy, restraint ---------- */
body{background:var(--paper)}
.top{background:var(--surface);border-bottom:0;position:relative;box-shadow:0 1px 0 var(--rule),0 8px 20px -16px rgba(16,32,52,.4)}
.top::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--navy),var(--brand) 60%,#6c9cc6)}
:root[data-theme=dark] .top::before{background:linear-gradient(90deg,#17314d,var(--brand))}
.rec{background:linear-gradient(135deg,#0e2640 0%,#164c7a 100%);border-left:0;border-radius:10px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.rec::after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.10),transparent)}
.rec .gtitle{color:#b8cde3}.rec .why{color:#d3dfec}.rec .drv{color:#b8cde3}
.rec>*{position:relative;z-index:1}
.rsec{margin-top:56px}
.rhead{border-top:0;padding-top:0;margin-bottom:20px;position:relative}
.rhead::before{content:"";position:absolute;left:0;right:0;top:-18px;border-top:1px solid var(--rule)}
.rnum{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.12em;color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);height:24px;display:inline-grid;place-items:center;padding:0 8px;border-radius:12px;align-self:start;justify-self:start;margin-top:5px}
.rhead{grid-template-columns:52px 1fr}
.rhead h2{font-weight:650;letter-spacing:-.015em}
.chartbox,.tbl,.cons article,.deepcard,.cases{font-feature-settings:"tnum"}
.cons article,.deepcard{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:18px 20px;box-shadow:var(--shadow)}
.cons{gap:16px}
.rfporg,.modal,.card{box-shadow:var(--shadow)}
.rfporg{background:var(--surface);border:1px solid var(--rule);border-radius:8px}
.exportbar{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:20px 24px;box-shadow:var(--shadow)}
.panels{border-top:0;display:grid;gap:10px}
.panel{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:0 20px;box-shadow:var(--shadow)}
.panel>summary .ptitle{font-size:1.08rem}
.panel>summary:hover .ptitle{color:var(--brand)}
.vdet{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:6px 22px 14px;box-shadow:var(--shadow)}
.vdet>summary.rhead::before{display:none}
.btn{border-radius:6px;box-shadow:0 1px 2px rgba(16,32,52,.15)}
.btn.sec{box-shadow:none}
.tbl th{text-transform:none}
.step.on{border-bottom-color:var(--brand)}
:root[data-theme=dark] .step.on{border-bottom-color:var(--brand)}
.gtitle{letter-spacing:.14em}
/* value matrix */
.matrixbox{max-width:760px}
.matrixbox .qz{fill:var(--brand);opacity:.07}
.matrixbox .qline{stroke:var(--rule2);stroke-dasharray:4 4}
.matrixbox .qax{font-size:11.5px;fill:var(--muted);font-weight:600;letter-spacing:.02em}
.matrixbox .qlab{font-size:11px;fill:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.matrixbox .qpt circle{stroke:var(--surface);stroke-width:2.5;transition:r .15s}.matrixbox .qpt:hover circle{r:11}
.matrixbox .qn{font-size:12.5px;font-weight:600;fill:var(--ink)}
