:root{--nav-h:60px;--maxw:1100px;
--page:var(--nl-off-white);--surface:#fff;--surface-2:#F3F6F8;--soft:var(--nl-row);--line:var(--nl-border);--ink:var(--nl-charcoal);--ink-2:var(--nl-muted);
--tint:var(--nl-teal-50);--tint-line:var(--nl-teal-200);--accent-ink:var(--nl-teal-700);--green:var(--nl-roi-green);--green-50:var(--nl-roi-green-50);--green-line:#BFE0CD;
--warn:var(--nl-warn);--warn-50:#FBEDE5;--deep:var(--nl-charcoal);--deep-2:var(--nl-charcoal-80);--deep-line:#3A4357;--nav-bg:rgba(255,255,255,.92)}
html[data-theme="dark"]{--page:#10141C;--surface:#1A1F2E;--surface-2:#151A26;--soft:#252C3D;--line:#30394B;--ink:#EEF2F5;--ink-2:#A0B8C4;
--tint:#123039;--tint-line:#1F5866;--accent-ink:#7FCAD7;--green:#5CC28E;--green-50:#14301F;--green-line:#24563A;--warn:#F0895A;--warn-50:#3A2117;
--deep:#232A3B;--deep-2:#2E374B;--deep-line:#3A4357;--nav-bg:rgba(16,20,28,.9);
--bg:var(--page);--fg:var(--ink);--fg-muted:var(--ink-2);--border:var(--line);color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html,body{background:var(--page);color:var(--ink)}
body{margin:0;transition:background var(--dur-base) var(--ease-in-out)}
a{color:var(--link)}a:hover{color:var(--accent-hover)}
h2,h3,h4,p,li{text-wrap:pretty}
.ico{flex:0 0 auto;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 56px}
.sec{padding:84px 0 76px;border-top:1px solid var(--line);position:relative}
.kicker{font:600 12px/1.3 var(--font-sans);color:var(--ink-2);margin-bottom:8px}
.mini-lbl{font:600 11.5px/1.3 var(--font-sans);color:var(--ink-2);margin-bottom:8px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.reveal{opacity:0;transform:translateY(8px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
kbd{font:600 11px/1 var(--font-sans);border:1px solid var(--line);border-bottom-width:2px;border-radius:3px;padding:3px 5px;background:var(--surface);color:var(--ink)}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;height:var(--nav-h);z-index:50;background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{height:100%;max-width:1440px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:14px}
.nav-brand{display:flex;align-items:center;gap:10px;flex:0 1 auto;min-width:0;background:none;border:0;padding:0;cursor:pointer;font:600 13px/1.2 var(--font-sans);color:var(--ink)}
.nav-brand img{height:24px;width:auto}
.nav-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-steps{flex:1;display:flex;justify-content:center;gap:2px;min-width:0}
.nav-step{display:flex;align-items:center;height:32px;padding:0 9px;border:0;border-radius:var(--r-sm);background:none;font:500 12.5px/1 var(--font-sans);color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.nav-step:hover{background:var(--soft);color:var(--ink)}
.nav-step .n{font-weight:600;font-variant-numeric:tabular-nums}
.nav-step .t{display:inline-block;max-width:0;overflow:hidden;opacity:0;transition:max-width var(--dur-slow) var(--ease-out),opacity var(--dur-base) var(--ease-out),margin var(--dur-slow) var(--ease-out)}
.nav-step.past .n{color:var(--ink)}
.nav-step.on{background:var(--tint);color:var(--accent-ink)}
.nav-step.on .t{max-width:240px;opacity:1;margin-left:8px}
.nav-step:focus-visible,.nav-btn:focus-visible,.nav-cur:focus-visible,.mk:focus-visible,.rec-chip:focus-visible,.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.nav-cur{display:none;flex:1;min-width:0;align-items:center;gap:10px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;font:500 14px/1 var(--font-sans);color:var(--ink)}
.nav-cur .n{font-weight:700;color:var(--accent-ink);font-variant-numeric:tabular-nums}
.nav-cur .n em{font-style:normal;color:var(--ink-2);font-weight:500}
.nav-cur .t{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-tools{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.nav-keys{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-2);margin-right:6px;white-space:nowrap}
.nav-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}
.nav-btn:hover{background:var(--soft)}
.nav-btn:disabled{opacity:.4;cursor:default;background:var(--surface)}
.nav-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.nav-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--nl-teal);transform-origin:left;transform:scaleX(0)}
.nav-menu{position:absolute;top:var(--nav-h);left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-3);padding:8px 20px 16px}
.nav-menu button{display:flex;gap:14px;width:100%;text-align:left;padding:13px 4px;border:0;border-bottom:1px solid var(--soft);background:none;font:500 15px/1.2 var(--font-sans);color:var(--ink);cursor:pointer}
.nav-menu button .n{font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}
.nav-menu button.on,.nav-menu button.on .n{color:var(--accent-ink)}
@media (max-width:1240px){.nav-keys{display:none}}
@media (max-width:1100px){.nav-brand span{display:none}}
@media (max-width:960px){.nav-steps{display:none}.nav-cur{display:flex}}
@media (max-width:480px){.nav-in{padding:0 12px;gap:8px}.nav-print,.nav-sep{display:none}}

/* section header */
.sh{max-width:800px;margin-bottom:40px}
.sh-label{display:flex;align-items:center;gap:10px;font:600 13px/1.2 var(--font-sans);color:var(--accent-ink);margin-bottom:16px}
.sh-num{font-variant-numeric:tabular-nums;padding:4px 7px;border-radius:var(--r-sm);background:var(--tint)}
.sh h2{font-size:clamp(1.75rem,1.6vw + 1rem,2.5rem);line-height:1.12;margin:0;color:var(--ink)}
.sh-rule{width:56px;height:3px;background:var(--nl-teal);margin-top:20px}
.sh-lede{font-size:16.5px;line-height:1.55;color:var(--ink-2);margin:18px 0 0;max-width:44em}

/* badges */
.phase{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:var(--r-pill);font:600 11.5px/1 var(--font-sans);white-space:nowrap}
.ph-one{background:var(--nl-teal-700);color:#fff;border:1.5px solid var(--nl-teal-700)}
.ph-next{background:var(--surface);color:var(--ink);border:1.5px solid var(--ink)}
.ph-later{background:var(--surface);color:var(--ink-2);border:1.5px dashed var(--ink-2)}
.ph-opt{background:var(--soft);color:var(--ink);border:1.5px solid var(--soft)}
.src{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:var(--r-sm);font:600 11.5px/1 var(--font-sans);white-space:nowrap}
.src-team{background:var(--nl-roi-green);color:#fff;border:1px solid var(--nl-roi-green)}
.src-est{background:var(--tint);color:var(--accent-ink);border:1px solid var(--tint-line)}
.src-uns{background:transparent;color:var(--ink-2);border:1px dashed var(--ink-2)}
.rec-chip{display:inline-flex;align-items:center;height:24px;padding:0 7px;border-radius:var(--r-sm);background:var(--soft);color:var(--ink);font:600 12px/1 var(--font-sans);text-decoration:none;font-variant-numeric:tabular-nums;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.rec-chip:hover{background:var(--nl-teal);color:#fff}

/* 02 industry */
.ind-top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.ind-context{display:flex;flex-direction:column;gap:20px}
.ind-desc{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;border-top:1px solid var(--line);margin-top:auto}
.fact{display:flex;flex-direction:column;gap:6px;padding:18px 20px 0 0}
.fact+.fact{padding-left:20px;border-left:1px solid var(--line)}
.fact-num{font:700 40px/1 var(--font-serif);color:var(--nl-teal);font-variant-numeric:lining-nums;letter-spacing:-.01em}
.fact p{margin:0;font-size:14px;line-height:1.45;color:var(--ink)}
.adopt{display:flex;flex-direction:column}
.adopt-cols{display:flex;gap:24px;justify-content:center;align-items:stretch;height:190px;margin:6px 0 16px}
.adopt-col{flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;gap:8px}
.adopt-track{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:8px;border-bottom:1px solid var(--line)}
.adopt-pct{font:700 30px/1 var(--font-serif);color:var(--ink-2);font-variant-numeric:lining-nums;text-align:center}
.now .adopt-pct{color:var(--accent-ink)}
.adopt-bar{flex:0 0 auto;width:100%;background:var(--nl-slate);border-radius:4px 4px 0 0;transform:scaleY(0);transform-origin:bottom;transition:transform 900ms var(--ease-out) 150ms}
.now .adopt-bar{background:var(--nl-teal)}
.adopt.in .adopt-bar{transform:none}
.adopt-year{font-size:13px;font-weight:600;color:var(--ink-2)}
.adopt-note{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--soft);color:var(--green);font-weight:600;font-size:14.5px}
.ground{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1.6fr);align-items:stretch}
.ground-start{background:var(--soft);border-radius:var(--r-lg);padding:20px 22px}
.ground-start h4{font-size:18px;margin:0 0 6px;color:var(--ink)}
.ground-start p{margin:0;font-size:14px;color:var(--ink)}
.ground-arrow{display:grid;place-items:center;color:var(--nl-teal)}
.ground-open{background:var(--deep);border-radius:var(--r-lg);padding:24px 28px;border:1px solid var(--deep)}
html[data-theme="dark"] .ground-open{border-color:var(--tint-line)}
.ground-open .kicker{color:var(--nl-teal-200)}
.ground-open h3{font-size:clamp(1.375rem,1vw + 1rem,1.75rem);margin:0 0 8px}
.ground-open p{margin:0;color:#fff;font-size:15.5px;line-height:1.5}
.source{margin:20px 0 0;font-size:12.5px;color:var(--ink-2)}

/* 03 stack */
.flow{display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1.2fr) 112px minmax(0,1fr);align-items:stretch;margin-bottom:16px}
.stage{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column}
.stage h4{font-size:18px;margin:0 0 6px;color:var(--ink)}
.stage p{font-size:14px;color:var(--ink-2);margin:0 0 16px}
.stage.core{background:var(--deep);border-color:var(--deep);padding:26px 24px;box-shadow:var(--shadow-3);margin:-8px 0}
html[data-theme="dark"] .stage.core{border-color:var(--tint-line)}
.stage.core .kicker{color:var(--nl-teal-200)}
.stage.core h4{color:#fff;font-size:22px}
.stage.core p{color:var(--nl-slate);font-size:15px}
.systems{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}
.sys{font:500 11.5px/1 var(--font-sans);padding:5px 9px;border-radius:var(--r-sm);background:var(--soft);color:var(--ink)}
.core .sys{background:var(--deep-2);color:#fff}
.sys-low{background:transparent;border:1px solid var(--line);color:var(--ink-2)}
.conn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0 8px;text-align:center}
.conn-ico{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--tint);color:var(--accent-ink)}
.conn.manual .conn-ico{background:var(--warn-50);color:var(--warn)}
.conn-line{position:relative;display:block;width:100%;height:0;border-top:2px solid var(--nl-teal);margin:4px 0}
.conn.manual .conn-line{border-top:2px dashed var(--warn)}
.conn-head{position:absolute;right:-7px;top:-10px;color:var(--nl-teal)}
.conn.manual .conn-head{color:var(--warn)}
.conn-mode{font:700 11.5px/1 var(--font-sans);color:var(--accent-ink)}
.conn.manual .conn-mode{color:var(--warn)}
.conn-label{font-size:12.5px;line-height:1.3;color:var(--ink)}
.conn-down{display:none}
.stack-foot{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start;margin-top:28px}
.callout{display:flex;gap:14px;background:var(--tint);border:1px solid var(--tint-line);border-radius:var(--r-lg);padding:18px 22px;color:var(--accent-ink)}
.callout p{margin:0;font-size:15.5px;color:var(--ink)}
.callout strong{font-weight:700}

/* 04 areas */
.areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.area{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:10px;transition:box-shadow var(--dur-base) var(--ease-out),opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.area:hover{box-shadow:var(--shadow-2)}
.area.p1{border:2px solid var(--nl-teal);background:var(--tint)}
.area-top{display:flex;justify-content:space-between;align-items:center;min-height:24px}
.area-idx{font:600 12px var(--font-sans);color:var(--ink-2)}
.area h3{font-size:20px;margin:0}
.area p{margin:0;font-size:14.5px;color:var(--ink)}
.area-links{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12.5px;color:var(--ink-2)}
.area.p1 .area-links{border-top-color:var(--tint-line)}
.area.p1 .rec-chip{background:var(--surface)}

/* 05 recommendations */
.key-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 22px;margin-bottom:28px}
.key{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.key-item{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:13px;color:var(--ink-2);line-height:1.45}
.key-note{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--soft);font-size:13px;font-weight:600;color:var(--ink)}
.index{border-top:2px solid var(--ink);margin-bottom:44px}
.idx-row{display:grid;grid-template-columns:40px minmax(0,1.6fr) 96px minmax(0,1.25fr) 156px;grid-template-areas:"r n p v s";align-items:center;gap:14px;padding:10px 10px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background var(--dur-fast) var(--ease-out)}
a.idx-row:hover{background:var(--surface);color:var(--ink)}
.idx-head{font-size:11.5px;font-weight:600;color:var(--ink-2);padding:8px 10px}
.i-r{grid-area:r;font:700 17px/1 var(--font-serif);color:var(--ink-2);font-variant-numeric:lining-nums}
.idx-head .i-r{font:600 11.5px var(--font-sans)}
.idx-row.p1 .i-r{color:var(--nl-teal)}
.i-n{grid-area:n;display:flex;flex-direction:column;gap:2px;min-width:0}
.i-n b{font-weight:600;font-size:14px}
.i-n small{font-size:11.5px;color:var(--ink-2)}
.i-p{grid-area:p}.i-s{grid-area:s}
.i-v{grid-area:v;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
.i-v b{font-weight:700;color:var(--green);font-size:15px}
.i-v.uns{color:var(--ink-2)}
.recs{display:flex;flex-direction:column;gap:20px}
.rec{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;break-inside:avoid}
.rec.p1{border:2px solid var(--nl-teal);box-shadow:var(--shadow-2)}
.rec-build{padding:24px 28px;display:flex;flex-direction:column;gap:14px}
.rec-top{display:flex;align-items:center;gap:12px}
.rec-rank{font:700 32px/1 var(--font-serif);color:var(--line);font-variant-numeric:lining-nums}
.rec.p1 .rec-rank{color:var(--nl-teal)}
.rec-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.rec-type{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:var(--r-sm);background:var(--soft);font:600 11.5px/1 var(--font-sans);color:var(--ink)}
.rec h3{font-size:clamp(1.25rem,.6vw + 1rem,1.5rem);margin:0}
.rec-line{margin:-6px 0 0;font-size:15.5px;line-height:1.45;color:var(--ink)}
.rec-does{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.rec-does li{display:flex;gap:9px;margin:0;font-size:14px;line-height:1.45;color:var(--ink)}
.rec-does .ico{color:var(--nl-teal);margin-top:2px}
.rec-meta{display:flex;flex-wrap:wrap;gap:12px 32px;margin:auto 0 0;padding-top:14px;border-top:1px solid var(--soft)}
.rec-meta dt{font-size:11.5px;font-weight:600;color:var(--ink-2);margin-bottom:5px}
.rec-meta dd{margin:0;display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--ink)}
.rec-meta dd .ico{color:var(--ink-2)}
.effort{display:inline-flex;align-items:flex-end;gap:3px}
.effort i{display:block;width:5px;border-radius:1px;background:var(--line)}
.effort i.on{background:var(--ink)}
.rec-value{background:var(--surface-2);border-left:1px solid var(--line);padding:24px 28px;display:flex;flex-direction:column;justify-content:flex-start;gap:16px}
.rec.p1 .rec-value{background:var(--tint);border-left-color:var(--tint-line)}
.rv-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;min-height:24px}
.rv-type{display:flex;align-items:center;gap:7px;font:600 13px/1.2 var(--font-sans);color:var(--ink)}
.rv-type .ico{color:var(--ink-2)}
.rv-fig{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.rec.p1 .rv-fig,.rec.p1 .rv-statement{border-bottom-color:var(--tint-line)}
.rv-num{font:700 clamp(2.25rem,1.6vw + 1.5rem,2.875rem)/1 var(--font-serif);color:var(--green);font-variant-numeric:lining-nums;letter-spacing:-.015em}
.rv-unit{font-size:15px;font-weight:600;color:var(--ink)}
.rv-statement{display:flex;gap:12px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line);color:var(--nl-teal)}
.rv-statement .ico{margin-top:2px}
.rv-statement p{margin:0;font:600 17px/1.4 var(--font-sans);color:var(--ink)}
.rv-work{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px}
.rec.p1 .rv-work{border-color:var(--tint-line)}
.work{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.wk{font:500 12.5px/1.2 var(--font-sans);padding:5px 8px;border-radius:var(--r-sm);background:var(--soft);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.wk.sub{font-weight:700}
.wk.res{background:var(--nl-roi-green);color:#fff;font-weight:700}
.wk.var{background:transparent;border:1px dashed var(--ink-2);padding:4px 7px}
.op{font:600 14px/1 var(--font-sans);color:var(--ink-2);padding:0 1px}
.rv-note{display:flex;gap:9px;margin:0;font-size:13px;line-height:1.45;color:var(--ink-2)}
.rv-note .ico{margin-top:1px}

/* 06 matrix */
.mx-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.mx-wrap{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto 22px;gap:8px;max-width:480px}
.mx-y{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-2)}
.mx-x{grid-column:2;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--ink-2)}
.mx-y b,.mx-x b{color:var(--ink);font-weight:600;font-size:12.5px}
.mx-plot{position:relative;aspect-ratio:1/1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.mx-plot::before,.mx-plot::after{content:"";position:absolute;background:var(--line)}
.mx-plot::before{left:50%;top:0;bottom:0;width:1px}
.mx-plot::after{top:50%;left:0;right:0;height:1px}
.mx-q{position:absolute;width:50%;height:50%;padding:12px 14px;font:600 12px/1 var(--font-sans);color:var(--ink-2);display:flex}
.q-do{left:0;top:0;background:var(--tint);color:var(--accent-ink);border-top-left-radius:var(--r-lg)}
.q-plan{right:0;top:0;justify-content:flex-end}
.q-then{left:0;bottom:0;align-items:flex-end}
.q-later{right:0;bottom:0;align-items:flex-end;justify-content:flex-end}
.mk{position:absolute;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;font:700 12px/1 var(--font-sans);cursor:pointer;padding:0;z-index:2;font-variant-numeric:tabular-nums;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast)}
.mk.ph-one{background:var(--nl-teal-700);color:#fff;border:2px solid var(--nl-teal-700)}
.mk.ph-next{background:var(--surface);color:var(--ink);border:2px solid var(--ink)}
.mk.ph-later{background:var(--surface);color:var(--ink-2);border:2px dashed var(--ink-2)}
.mk:hover,.mk.hot{transform:translate(-50%,-50%) scale(1.12);z-index:3;box-shadow:var(--shadow-2)}
.mk.dim{opacity:.22}
.mx-tip{position:absolute;z-index:6;transform:translate(-50%,calc(-100% - 24px));display:flex;flex-direction:column;gap:3px;background:var(--nl-charcoal);color:#fff;padding:9px 11px;border-radius:var(--r-sm);font-size:12.5px;line-height:1.3;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-3)}
html[data-theme="dark"] .mx-tip{background:#2E374B}
.mx-tip span{color:var(--nl-slate);font-size:11.5px}
.mx-tip.below{transform:translate(-50%,24px)}
.mx-tip.left{transform:translate(-18px,calc(-100% - 24px))}
.mx-tip.right{transform:translate(calc(-100% + 18px),calc(-100% - 24px))}
.mx-tip.below.left{transform:translate(-18px,24px)}
.mx-tip.below.right{transform:translate(calc(-100% + 18px),24px)}
.mx-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0 30px;font-size:12.5px;color:var(--ink)}
.mx-legend .lg i{width:13px;height:13px;border-radius:50%;border:2px solid}
.mx-legend .ph-one i{background:var(--nl-teal-700);border-color:var(--nl-teal-700)}
.mx-legend .ph-next i{border-color:var(--ink)}
.mx-legend .ph-later i{border:2px dashed var(--ink-2)}
.mx-key{list-style:none;margin:14px 0 0 30px;padding:14px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px}
.mx-key li{margin:0;display:flex;gap:8px;font-size:12.5px;color:var(--ink-2);line-height:1.35}
.mx-key b{color:var(--ink);font-variant-numeric:tabular-nums}
.reasons{list-style:none;margin:0;padding:0}
.reason{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;padding:18px 8px;margin:0;border-bottom:1px solid var(--line);cursor:default;transition:background var(--dur-fast) var(--ease-out)}
.reason:first-child{border-top:2px solid var(--ink)}
.reason:hover,.reason.on{background:var(--surface)}
.reason-step{font:700 19px/1 var(--font-serif);color:var(--nl-teal);padding-top:3px}
.reason-recs{display:flex;gap:5px;margin-bottom:8px}
.reason h4{font-size:18px;margin:0 0 4px;color:var(--ink)}
.reason p{margin:0;font-size:14px;color:var(--ink-2)}

/* 07 pricing */
.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:stretch}
.prices.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.prices.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.prices.n4{grid-template-columns:repeat(4,minmax(0,1fr))}
.price{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;break-inside:avoid}
.price-type{display:flex;align-items:center;gap:9px;padding:12px 20px;font:700 14.5px/1.2 var(--font-sans);color:#fff;background:var(--nl-teal-700)}
.price.retainer .price-type{background:var(--nl-charcoal)}
html[data-theme="dark"] .price.retainer .price-type{background:#2E374B}
.price-type .freq{margin-left:auto;font:700 11.5px/1 var(--font-sans);padding:5px 9px;border-radius:var(--r-pill);background:#fff;color:var(--nl-teal-700)}
.price.retainer .freq{color:var(--nl-charcoal)}
.price.retainer{border-color:var(--ink-2)}
.price.build{border-color:var(--tint-line)}
.price-body{padding:20px 20px 18px;display:flex;flex-direction:column;gap:11px;flex:1}
.price-covers{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font:600 12px/1 var(--font-sans);color:var(--ink-2)}
.pc-chips{display:flex;gap:4px;flex-wrap:wrap}
.price h3{font-size:20px;margin:0}
.price-sum{margin:0;font-size:14px;color:var(--ink)}
.price-amt{display:flex;flex-direction:column;gap:6px;padding:16px 0;border-top:1px solid var(--soft);border-bottom:1px solid var(--soft)}
.price-num{font:700 36px/1 var(--font-serif);color:var(--ink);font-variant-numeric:lining-nums;letter-spacing:-.01em}
.price-qual{font-size:13px;font-weight:600;color:var(--ink)}
.price-tbc{display:flex;align-items:center;gap:9px;font:600 17px/1.3 var(--font-sans);color:var(--ink)}
.price-tbc .ico{color:var(--nl-teal)}
.incl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.incl li{display:flex;gap:9px;margin:0;font-size:13.5px;line-height:1.4;color:var(--ink)}
.incl .ico{color:var(--nl-teal);margin-top:1px}
.price-foot{margin-top:auto;padding-top:10px;display:flex}
.credit{display:flex;align-items:center;gap:12px;margin-top:24px;padding:14px 20px;border-radius:var(--r-lg);background:var(--green-50);border:1px solid var(--green-line);color:var(--green);font-weight:600;font-size:15px}
.credit span{color:var(--ink)}
.fine{margin:16px 0 0;font-size:12.5px;line-height:1.55;color:var(--ink-2);max-width:62em}

/* 08 next steps */
.next-sec{background:var(--nl-charcoal);color:#fff;border-top:0}
html[data-theme="dark"] .next-sec{background:#0B0E14;border-top:1px solid var(--line)}
.next-sec .sh h2{color:#fff}
.next-sec .sh-label{color:var(--nl-teal-200)}
.next-sec .sh-num{background:var(--nl-charcoal-80)}
.next-sec .sh-lede{color:var(--nl-slate)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.steps.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.steps.n4{grid-template-columns:repeat(4,minmax(0,1fr))}.steps.n5{grid-template-columns:repeat(5,minmax(0,1fr))}
.step{background:var(--nl-charcoal-80);border-radius:var(--r-lg);padding:22px;margin:0;display:flex;flex-direction:column;gap:8px;break-inside:avoid}
.step-n{font:700 30px/1 var(--font-serif);color:var(--nl-teal);font-variant-numeric:lining-nums;margin-bottom:4px}
.step h4{color:#fff;font-size:18px;margin:0}
.step p{margin:0;color:var(--nl-slate);font-size:14px;line-height:1.5}
.step-owner{margin-top:auto;padding-top:12px;border-top:1px solid var(--deep-line);display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:#fff}
.step-owner .ico{color:var(--nl-teal-200)}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:44px}
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:var(--r-md);font:600 15px/1 var(--font-sans);text-decoration:none;border:1px solid transparent;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast),border-color var(--dur-fast)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--nl-teal);color:#fff}
.btn-primary:hover{background:var(--nl-teal-700);color:#fff}
.btn-secondary{background:transparent;color:#fff;border-color:#4A5468}
.btn-secondary:hover{background:var(--nl-charcoal-80);color:#fff;border-color:var(--nl-slate)}
.cta-alt{color:var(--nl-slate);font-size:14px}
.cta-alt a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.cta-alt a:hover{color:var(--nl-teal-200)}
.closing{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-top:64px;padding-top:24px;border-top:1px solid var(--deep-line)}
.closing p{margin:0;color:var(--nl-slate);font-size:12.5px}
.closing img{height:30px;width:auto}

/* responsive */
@media (max-width:1100px){
  .flow{grid-template-columns:minmax(0,1fr);gap:0}
  .stage.core{margin:0}
  .conn{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:6px 12px;padding:14px 0 14px 18px;text-align:left}
  .conn-line,.conn-head{display:none}
  .conn-down{display:block;order:-1;color:var(--nl-teal)}
  .conn.manual .conn-down{color:var(--warn)}
  .mx-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .steps.n4,.steps.n5,.prices.n4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .cover-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .ind-top{grid-template-columns:minmax(0,1fr)}
  .stack-foot{grid-template-columns:minmax(0,1fr);gap:20px}
  .idx-row{grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"r n s" "r v v";gap:5px 12px}
  .idx-head,.i-p{display:none}
  .prices.n3,.steps.n3{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .rec{grid-template-columns:minmax(0,1fr)}
  .rec-value{border-left:0;border-top:1px solid var(--line)}
  .rec.p1 .rec-value{border-top-color:var(--tint-line)}
  .key{grid-template-columns:minmax(0,1fr);gap:12px}
  .key-item{flex-direction:row;align-items:center;gap:12px}
  .ground{grid-template-columns:minmax(0,1fr)}
  .ground-arrow{height:36px;transform:rotate(90deg)}
}
@media (max-width:640px){
  .wrap{padding:0 18px}
  .sec{padding:60px 0 52px}
  .cover-sec{padding:calc(var(--nav-h) + 36px) 0 72px;min-height:auto}
  .cover-logo{width:140px;margin-bottom:30px}
  .pl-name{display:none}
  .sh{margin-bottom:28px}
  .sh-lede{font-size:15.5px}
  .card{padding:20px}
  .facts{grid-template-columns:minmax(0,1fr)}
  .fact+.fact{padding-left:0;border-left:0;border-top:1px solid var(--line);margin-top:16px}
  .adopt-cols{height:170px}
  .ground-open{padding:22px}
  .areas{grid-template-columns:minmax(0,1fr)}
  .rec-build,.rec-value{padding:20px 18px}
  .key-item{flex-direction:column;align-items:flex-start;gap:6px}
  .idx-row{padding:12px 4px}
  .mx-legend,.mx-key{margin-left:0}
  .mx-key{grid-template-columns:minmax(0,1fr)}
  .reason{padding:16px 0}
  .prices,.prices.n2,.prices.n4{grid-template-columns:minmax(0,1fr)}
  .steps,.steps.n4,.steps.n5{grid-template-columns:minmax(0,1fr)}
  .btn{width:100%;justify-content:center}
  .closing{margin-top:44px}
}

/* print: always light */
@media print{
  @page{margin:12mm}
  html,html[data-theme="dark"]{--page:#fff;--surface:#fff;--surface-2:#F3F6F8;--soft:#EEF2F5;--line:#C8D4DA;--ink:#1A1F2E;--ink-2:#607D8B;--tint:#E7F4F6;--tint-line:#B6E0E6;--accent-ink:#157888;--green:#1E7A4A;--green-50:#E4F3EB;--green-line:#BFE0CD;--warn:#C2410C;--warn-50:#FBEDE5;--deep:#1A1F2E;--deep-2:#2A3142;--bg:#fff;--fg:#1A1F2E;--fg-muted:#607D8B;--border:#C8D4DA;color-scheme:light}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .nav,.no-print,.cover-next{display:none!important}
  html,body{background:#fff}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .plate,.pl-lbl,.cs,.cover-type,.cover-for,.cover-sub,.cover-meta,.cover-top,.cv-glow{animation:none!important;opacity:1!important;transform:none!important}
  .cover-sec h1 .w>span{animation:none!important;transform:none!important}
  .ct-rule{animation:none!important;transform:none!important}
  .cv-light{display:none}
  .adopt-bar{transform:none!important;transition:none!important}
  .sec{break-before:page;padding:20px 0;border-top:0}
  .cover-sec{break-before:auto;min-height:auto;padding:44px 0 52px}
  html[data-theme="dark"] .next-sec{background:var(--nl-charcoal)}
  .wrap{padding:0 8px;max-width:none}
  .sh{margin-bottom:24px}
  .rec,.price,.area,.step,.fact,.card,.stage,.callout,.key-card,.reason,.mx-side,.credit,.ground,.idx-row{break-inside:avoid}
  .rec{box-shadow:none!important}
  .recs{gap:14px}
  .mk{transform:translate(-50%,-50%)!important}
  .mx-tip{display:none}
  a{text-decoration:none}
}
