/* Cold-start forecast lab. Every selector is prefixed csf-. Moving properties: transform, opacity, clip-path, filter only. */
.csf-sec{--csf-rule:#b7c8c2;--csf-muted:#455d56;--csf-grid:#9cb5a7;--csf-axis:#314d43;position:relative;color:var(--gft-night);font-variant-numeric:tabular-nums;min-width:0}
.csf-sec *{box-sizing:border-box}
.csf-sec [hidden]{display:none!important}
.csf-wrap{width:min(1320px,calc(100% - 72px));margin-inline:auto}
.csf-kicker{font:600 12px/1.6 var(--gft-font-mono);text-transform:uppercase;letter-spacing:.14em;display:block;margin-bottom:12px}
.csf-note{font-size:12.5px;line-height:1.75;color:var(--csf-muted);margin:0 0 10px}
.csf-sec h2{font-weight:800;letter-spacing:-.045em;line-height:1.04;margin:0}
.csf-sec h3{margin:0}
.csf-sec p{margin:0}
.csf-sec :is(button,input,select,a,tr,[tabindex]):focus-visible{outline:3px solid var(--gft-ochre);outline-offset:3px}
.csf-sec button{font:600 12px/1.4 var(--gft-font-mono);letter-spacing:.02em;border:1px solid currentColor;background:transparent;color:inherit;min-height:46px;padding:11px 14px;cursor:pointer;text-align:left;border-radius:0}
.csf-sec button:disabled{cursor:not-allowed;opacity:.45}
.csf-indicator{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--gft-ochre);margin-top:6px}
.csf-chip{font:500 12px/1.4 var(--gft-font-mono);border:1px solid currentColor;border-radius:2px;padding:5px 8px;white-space:nowrap;opacity:.85;letter-spacing:.04em}

/* Hero console: first-screen control and read-out, mirrored by the bench below */
[data-splash=cold-start-forecast] .gft-structure__warp,[data-splash=cold-start-forecast] .gft-structure__weft,[data-splash=cold-start-forecast] .gft-structure__nodes{opacity:.18}
[data-splash=cold-start-forecast] .gft-structure>path[data-splash-draw]{stroke:#8bd2ac;stroke-width:2.4}
[data-splash=cold-start-forecast] .gft-structure>path[data-splash-draw]:nth-last-child(2){stroke:#c98a2b;stroke-width:1}
.csf-hero{display:grid;grid-template-columns:minmax(240px,320px) auto auto;gap:16px 40px;align-items:end;max-width:820px;font-variant-numeric:tabular-nums}
.csf-hero__ctl label{display:flex;justify-content:space-between;gap:14px;font:600 12px/1.5 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#c9e4d3}
.csf-hero__ctl output{color:var(--gft-paper);font-weight:700}
.csf-hero input[type=range]{width:100%;min-height:44px;accent-color:var(--gft-sage);margin:0;cursor:ew-resize;display:block}
.csf-hero__read span{font:600 12px/1.5 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#c9e4d3;display:block}
.csf-hero__read output{display:block;font-size:clamp(38px,4vw,56px);font-weight:800;letter-spacing:-.05em;line-height:1.05;color:var(--gft-paper);position:relative}
.csf-hero__read small{display:block;font-size:12px;color:#a9c4b8}
.csf-hero .gft-button{align-self:end}
@media(min-width:1001px){[data-splash=cold-start-forecast] h1{font-size:clamp(3.4rem,8.2svh,5.8rem);line-height:1.02}[data-splash=cold-start-forecast] .gft-splash__actions{margin-top:22px}[data-splash=cold-start-forecast] .gft-splash__lede{margin-top:20px}}

/* 01 Bench: dark, continuous with the splash */
.csf-bench{background:var(--gft-night);color:var(--gft-paper);padding:56px 0 90px;z-index:3;--csf-rule:#2c5750;--csf-muted:#a9c4b8;--csf-grid:#56786b;--csf-axis:#c2d4ca}
.csf-bench::before{content:'';position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,#6bb68f 30%,#c98a2b 70%,transparent);opacity:.6}
.csf-bench__bar{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}
.csf-bench h2{font-size:clamp(28px,3.2vw,44px);max-width:20ch;color:var(--gft-paper)}
.csf-bench .csf-kicker{color:#8bd2ac}
.csf-banner{display:flex;gap:14px;max-width:520px;border-left:1px solid var(--csf-rule);padding-left:18px}
.csf-banner p{font-size:13px;line-height:1.7;color:#c9dcd2}
.csf-dash{display:grid;gap:26px;padding-bottom:36px;border-bottom:1px solid var(--csf-rule)}
.csf-readouts{display:grid;grid-template-columns:1.55fr 1fr 1fr 1.35fr;border-block:1px solid var(--csf-rule)}
.csf-readout{padding:20px 22px;border-left:1px solid var(--csf-rule);min-width:0}
.csf-readout:first-child{border-left:0;padding-left:0}
.csf-readout>span{font:600 12px/1.5 var(--gft-font-mono);text-transform:uppercase;letter-spacing:.08em;display:block;min-height:3em;color:#c9dcd2}
.csf-readout output{display:block;font-size:clamp(30px,3.4vw,50px);line-height:1.2;letter-spacing:-.055em;font-weight:800;white-space:nowrap;position:relative}
.csf-readout--main output{font-size:clamp(56px,8vw,118px);line-height:1;color:#8bd2ac;letter-spacing:-.07em;padding-block:6px}
.csf-readout small{font-size:12px;line-height:1.6;display:block;color:var(--csf-muted)}
.csf-ctl{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:46px;align-items:end}
.csf-methods{border:0;padding:0;margin:0;min-width:0}
.csf-methods legend{font:600 12px var(--gft-font-mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;padding:0;color:#8bd2ac}
.csf-methods label{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 14px;border:1px solid var(--csf-rule);margin-top:-1px;cursor:pointer;font-size:14px;font-weight:600;position:relative;transition:background-color 260ms var(--gft-ease-out),color 260ms var(--gft-ease-out)}
.csf-methods label:hover{background:#0c3c39}
.csf-methods label:has(:checked){background:var(--gft-sage);color:var(--gft-night);border-color:var(--gft-sage);z-index:1}
.csf-methods input{accent-color:var(--gft-night);width:18px;height:18px;flex:0 0 auto;margin:0}
.csf-scrub>label{display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-size:22px;font-weight:800;letter-spacing:-.03em;line-height:1.2}
.csf-scrub>label span{font:500 12px/1.5 var(--gft-font-mono);letter-spacing:0;color:var(--csf-muted);text-align:right}
.csf-scrub__row{display:grid;grid-template-columns:auto minmax(0,1fr) 100px;gap:20px;align-items:start;margin-top:8px}
.csf-scrub__row .csf-play{min-height:48px;margin-top:0;border-color:var(--gft-sage);color:#8bd2ac;white-space:nowrap}
.csf-play[aria-pressed=true]{background:var(--gft-sage);color:var(--gft-night)}
.csf-scrub__rail{min-width:0}
.csf-scrub input[type=range]{width:100%;min-height:48px;accent-color:var(--gft-sage);margin:0;cursor:ew-resize;display:block}
.csf-scrub input[type=number]{width:100%;min-height:48px;border:1px solid var(--csf-rule);background:#0a3d3a;color:var(--gft-paper);padding:8px 10px;text-align:right;font:700 20px var(--gft-font-mono);border-radius:0}
.csf-scrub__ticks{position:relative;height:20px;font:500 12px/1.4 var(--gft-font-mono);color:var(--csf-muted);display:flex;justify-content:space-between}
.csf-scrub__mid{position:absolute;left:22%;transform:translateX(-50%);white-space:nowrap}
.csf-bench__body{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:44px;margin-top:40px;align-items:start}
.csf-charts{display:grid;gap:22px;min-width:0}
.csf-figure{margin:0;padding:26px 28px 22px;position:relative;min-width:0}
.csf-figure--dark{background:var(--gft-deep);border:1px solid #1d5650;color:var(--gft-paper)}
.csf-figure--light{background:#e9eee8;color:var(--gft-night);--csf-grid:#9cb5a7;--csf-axis:#314d43;--csf-muted:#455d56;box-shadow:0 36px 70px -36px rgba(0,0,0,.6)}
.csf-figure figcaption{display:flex;justify-content:space-between;align-items:start;gap:16px}
.csf-figure h3{font-size:22px;font-weight:800;letter-spacing:-.04em;line-height:1.25;max-width:28ch}
.csf-figure--dark .csf-kicker{color:#8bd2ac}
.csf-figure--light .csf-kicker{color:#1e4137}
.csf-chart{width:100%;margin-top:14px;position:relative}
.csf-chart:focus-visible{outline:3px solid var(--gft-ochre);outline-offset:4px}
.csf-chart svg{display:block;width:100%;height:auto;overflow:visible}
.csf-chart svg text,.csf-sec .csf-axis-t{font:13px var(--gft-font-mono);fill:var(--csf-axis);letter-spacing:.02em}
.csf-chart--narrow{display:none}
.csf-sec svg :where(path){fill:none;stroke-linejoin:round;stroke-linecap:round}
.csf-chart .csf-grid,.csf-mini .csf-grid{stroke:var(--csf-grid);stroke-width:.8;opacity:.35}
.csf-chart .csf-origin,.csf-stage .csf-origin{stroke:#c98a2b;stroke-dasharray:4 6;stroke-width:1.4}
.csf-chart .csf-observed{stroke:#e2ebe6;stroke-width:2.2}
.csf-chart .csf-actual{stroke:#a7b9d7;stroke-width:1.8;stroke-dasharray:3 6}
.csf-chart .csf-forecast{stroke:#6bb68f;stroke-width:3}
.csf-chart .csf-fan-outer{fill:#6bb68f;opacity:.12}
.csf-chart .csf-fan-inner{fill:#6bb68f;opacity:.22}
.csf-sec .csf-origin-dot{fill:#c98a2b;stroke:#072d2b;stroke-width:2}
.csf-sec .csf-origin-ring{fill:none;stroke:#c98a2b;stroke-width:1.6;opacity:0}
.csf-chart .csf-sweep{stroke:#c9e4d3;stroke-width:1.4;opacity:0}
.csf-chart .csf-hover-line{stroke:#c9e4d3;stroke-width:1;opacity:0;pointer-events:none}
.csf-figure--light .csf-hover-line{stroke:#1e4137}
.csf-chart .csf-hover-dot{fill:#f6f4ef;stroke:#6bb68f;stroke-width:2.5;opacity:0;pointer-events:none}
.csf-chart .csf-error-naive{stroke:#81550f;stroke-width:2.2;stroke-dasharray:9 5}
.csf-chart .csf-error-moving{stroke:#2c3e7a;stroke-width:2.2;stroke-dasharray:2 4}
.csf-chart .csf-error-holt{stroke:#0e4d4a;stroke-width:2.8}
.csf-chart .csf-cursor{stroke:#1e4137;stroke-width:1;stroke-dasharray:2 4}
.csf-chart .csf-threshold{stroke:#9eb1a5;stroke-width:1;stroke-dasharray:5 6}
.csf-chart .csf-dot-naive{fill:#81550f;stroke:#e6ebe5;stroke-width:2}
.csf-chart .csf-dot-moving{fill:#2c3e7a;stroke:#e6ebe5;stroke-width:2}
.csf-chart .csf-dot-holt{fill:#0e4d4a;stroke:#e6ebe5;stroke-width:2}
.csf-chart--wide:has(.csf-error-holt),.csf-chart:has(.csf-error-holt){cursor:crosshair}
.csf-hoverread{font:500 13px/1.7 var(--gft-font-mono);min-height:3.4em;margin-top:12px;color:#c9e4d3}
.csf-figure--light .csf-hoverread{color:#1e4137}
.csf-legend{display:flex;flex-wrap:wrap;gap:10px 22px;font:500 12px/1.5 var(--gft-font-mono);margin-top:10px}
.csf-key{display:flex;align-items:center;gap:8px}
.csf-key:before{content:'';display:inline-block;width:22px;height:0;border-top:2px solid currentColor}
.csf-key--history{color:#e2ebe6}.csf-key--forecast{color:#8bd2ac}.csf-key--actual{color:#b9c9e8}.csf-key--actual:before{border-top-style:dotted}.csf-key--fan{color:#b6ddc6}.csf-key--fan:before{height:7px;background:#6bb68f44;border:0}
.csf-key--naive{color:#81550f}.csf-key--naive:before{border-top-style:dashed}.csf-key--moving{color:#2c3e7a}.csf-key--moving:before{border-top-style:dotted}.csf-key--holt{color:#0e4d4a}
.csf-figure-note{font-size:12.5px;line-height:1.75;margin-top:14px;max-width:90ch;opacity:.88}

/* Console: the rest of the synthetic world, sticky beside the charts */
.csf-console{position:sticky;top:104px;display:flex;flex-direction:column;max-height:calc(100svh - 124px);overflow:hidden;background:#0a3d3a;border:1px solid #1d5650;padding:22px 22px 20px;overscroll-behavior:contain}
.csf-console__body{min-height:0;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#9ee2be #06302e;overscroll-behavior:contain}
.csf-console__footer{flex:none;border-top:1px solid #3d7b6d;padding-top:10px}
.csf-console__cue{font:600 12px/1.5 var(--gft-font-mono);color:#d4ebe0}
.csf-console__footer .csf-actions{margin-top:10px}
.csf-console fieldset{border:0;padding:0;margin:0;min-width:0}
.csf-console legend{font-size:22px;font-weight:800;letter-spacing:-.04em;line-height:1.25;margin-bottom:8px;padding:0}
.csf-console .csf-note{color:#a9c4b8}
.csf-preset{display:grid;gap:8px;font-size:13px;font-weight:600;margin:16px 0 4px}
.csf-preset select{width:100%;min-height:48px;background:#06302e;border:1px solid var(--csf-rule);padding:10px;font:13px var(--gft-font-mono);color:var(--gft-paper);border-radius:0}
.csf-field{padding:12px 0 8px;border-bottom:1px solid var(--csf-rule)}
.csf-field>label{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:650}
.csf-field>label>span{font:500 12px/1.6 var(--gft-font-mono);color:var(--csf-muted);text-align:right}
.csf-pair{display:flex;align-items:center;gap:12px}
.csf-pair input[type=range]{min-width:0;flex:1;min-height:44px;accent-color:var(--gft-sage);cursor:ew-resize;margin:0}
.csf-pair input[type=number]{width:84px;min-height:44px;border:1px solid var(--csf-rule);background:#06302e;color:var(--gft-paper);padding:8px;text-align:right;font:14px var(--gft-font-mono);border-radius:0}
.csf-sec input[aria-invalid=true]{border:2px solid #e0764a}
.csf-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.csf-actions button{font-size:12px;border-color:#3d7b6d}
.csf-actions button:hover{background:#0f4a46}
.csf-actions [data-csf-share]{background:var(--gft-sage);color:var(--gft-night);border-color:var(--gft-sage)}
.csf-status{min-height:2em;font:500 12px/1.7 var(--gft-font-mono);overflow-wrap:anywhere;margin-top:10px;color:#c9e4d3}
.csf-url{display:grid;font-size:12px;gap:8px}
.csf-url input{width:100%;min-height:44px;font-size:12px;border:1px solid var(--csf-rule);padding:8px;background:#06302e;color:var(--gft-paper)}
.csf-error{padding:22px;background:#f1e3cf;border:1px solid #c98a2b;color:#632d0d;font-size:15px;line-height:1.8}
.csf-noscript{border:1px solid var(--gft-ochre);padding:18px;font-size:14px;margin:28px 0 0;color:var(--gft-paper)}

/* 02 Evidence: light, the learning curve overlaps in from the bench */
:root[data-m-go] .csf-evidence:not([data-m-in]) .csf-seam::before{transform:scaleY(0)}
:root[data-m-go] .csf-evidence[data-m-in] .csf-seam::before{animation-name:csf-grow;animation-duration:1000ms;animation-timing-function:var(--gft-ease-out);animation-delay:200ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
.csf-ev{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:start}
.csf-ev__main .csf-kicker,.csf-ev__side .csf-kicker{color:#25614a}
.csf-interpretation{background:#dce9df;border-left:4px solid var(--gft-leaf);padding:26px 28px;font-size:19px;line-height:1.7;font-weight:500;margin-bottom:30px;min-height:10em}
.csf-table-wrap{overflow:auto;max-width:100%}
.csf-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6;text-align:left}
.csf-table caption{text-align:left;font-weight:650;margin-bottom:12px;font-size:14px}
.csf-table th,.csf-table td{padding:14px 14px;border-bottom:1px solid var(--csf-rule);vertical-align:top}
.csf-table thead th{font:600 12px/1.6 var(--gft-font-mono);text-transform:uppercase;letter-spacing:.08em;background:#e6ebe5}
.csf-table tbody th{font-weight:650}
.csf-table tbody tr{transition:background-color 300ms var(--gft-ease-out)}
.csf-table [data-csf-row][data-on]{background:#e2ebe6;box-shadow:inset 4px 0 0 var(--gft-leaf)}
.csf-table [data-csf-pick]{min-height:44px;padding:8px 12px;border-color:transparent;font:700 15px var(--gft-font-display);letter-spacing:-.01em;color:var(--gft-forest);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#9cb5a7}
.csf-table [data-csf-pick]:hover{background:#dfebe3}
.csf-cost{background:var(--gft-night);color:var(--gft-paper);padding:34px;display:grid;gap:26px;box-shadow:0 40px 70px -40px rgba(7,45,43,.7);border-top:4px solid var(--gft-ochre);--csf-rule:#2c5750;--csf-muted:#a9c4b8}
.csf-cost .csf-kicker{color:#8bd2ac}
.csf-cost h3{font-size:24px;letter-spacing:-.04em;line-height:1.25;font-weight:800;margin-bottom:12px}
.csf-cost output{display:block;font-size:clamp(30px,3.4vw,48px);font-weight:800;letter-spacing:-.05em;line-height:1.2;position:relative;color:#f0c87a}
.csf-cost p{font-size:13px;line-height:1.75;margin-top:10px;color:#c9dcd2}
.csf-cost dl{margin:0}
.csf-cost dl>div{padding:11px 0;border-bottom:1px solid var(--csf-rule);display:flex;justify-content:space-between;gap:20px;align-items:baseline}
.csf-cost dt{font-size:13px;line-height:1.5;color:#c9dcd2}
.csf-cost dd{margin:0;font:600 15px/1.5 var(--gft-font-mono);white-space:nowrap}
.csf-comparison h3{font-size:24px;letter-spacing:-.04em;line-height:1.25;font-weight:800;margin-bottom:16px}
.csf-ab{display:grid;grid-template-columns:1fr auto 1fr;border:1px solid var(--csf-rule);margin-bottom:16px}
.csf-ab>div{padding:16px 18px;min-width:0}
.csf-ab>div+div{border-left:1px solid var(--csf-rule)}
.csf-ab span{font:600 12px/1.5 var(--gft-font-mono);text-transform:uppercase;letter-spacing:.08em;display:block}
.csf-ab output{display:block;font-size:34px;font-weight:800;letter-spacing:-.05em;line-height:1.3}
.csf-ab small{font-size:12px;line-height:1.5;color:var(--csf-muted);display:block}
.csf-ab__d{background:#e6ebe5;text-align:center}
.csf-comparison>p{font-size:14px;line-height:1.8;min-height:6em}
.csf-comparison button{margin-top:12px;border-color:var(--gft-forest);color:var(--gft-forest)}

/* 04 Interlude: dark, full bleed, one idea at display size */
.csf-interlude{background:var(--gft-night);color:var(--gft-paper);min-height:100svh;display:grid;align-items:center;padding:110px 0;overflow:clip;isolation:isolate;--csf-rule:#2c5750;--csf-muted:#a9c4b8;--csf-lab:200px;--csf-gap:22px}
.csf-interlude::before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,rgba(107,182,143,.07) 0 1px,transparent 1px 96px),repeating-linear-gradient(0deg,rgba(107,182,143,.05) 0 1px,transparent 1px 96px)}
.csf-interlude .csf-kicker{color:#8bd2ac}
.csf-interlude h2{font-size:clamp(46px,8.6vw,136px);line-height:.94;letter-spacing:-.065em;max-width:11ch;margin-bottom:64px}
.csf-interlude__wm{top:0;height:100%;opacity:.13}
.csf-interlude__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:clamp(40px,6vw,104px);align-items:start}
.csf-interlude__vis{position:sticky;top:104px;min-width:0}
.csf-interlude__text{padding-top:8px}
.csf-claimfig{border-left:4px solid #f0c87a;padding:2px 0 2px 22px;margin-bottom:26px}
.csf-claimfig .csf-kicker{margin-bottom:0}
.csf-claimfig output{display:block;font-size:clamp(76px,9.6vw,152px);font-weight:800;letter-spacing:-.07em;line-height:.98;color:#f0c87a;font-variant-numeric:tabular-nums}
.csf-claimfig p{font:700 14px/1.5 var(--gft-font-mono);color:#dbe8e0;letter-spacing:.02em}
.csf-claim__read{font-size:15px;line-height:1.75;min-height:7.8em;color:#dbe8e0;margin-bottom:6px}
.csf-range__marker::before{content:'';position:absolute;top:-8px;left:-8px;width:14px;height:14px;border-radius:50%;border:2px solid #f0c87a;opacity:0}
.csf-range__chart{position:relative}
.csf-range__rows{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.csf-range__rows li{display:grid;grid-template-columns:var(--csf-lab) minmax(0,1fr);gap:var(--csf-gap);align-items:center}
.csf-range__label{font-size:15px;font-weight:650;line-height:1.4}
.csf-range__track{position:relative;height:60px;background:rgba(255,255,255,.06);border-left:1px solid var(--csf-rule)}
.csf-range__bar{position:absolute;inset-block:0;background:var(--gft-sage);display:block}
.csf-range__rows li:first-child .csf-range__bar{background:var(--gft-ochre)}
.csf-range__val{position:absolute;top:50%;margin-left:12px;transform:translateY(-50%);font:700 15px var(--gft-font-mono);white-space:nowrap}
.csf-range__axis{position:relative;height:28px;margin:8px 0 0 calc(var(--csf-lab) + var(--csf-gap));font:500 12px var(--gft-font-mono);color:var(--csf-muted)}
.csf-range__axis span{position:absolute;top:0;transform:translateX(-50%)}
.csf-range__marker{position:absolute;top:-14px;bottom:30px;left:calc(var(--csf-lab) + var(--csf-gap) + (100% - var(--csf-lab) - var(--csf-gap)) * var(--csf-claim) / 60);width:0;border-left:2px solid #f0c87a;pointer-events:none}
.csf-range__marker b{position:absolute;top:-30px;left:0;transform:translateX(-50%);background:#f0c87a;color:var(--gft-night);font:700 13px var(--gft-font-mono);padding:3px 8px;white-space:nowrap}
.csf-claim{margin-top:30px;border-top:1px solid var(--csf-rule);padding-top:22px}
.csf-claim label{display:flex;justify-content:space-between;gap:20px;font-size:17px;font-weight:700;line-height:1.4}
.csf-claim label span{font:700 15px var(--gft-font-mono);color:#f0c87a;white-space:nowrap}
.csf-claim input{width:100%;min-height:48px;accent-color:#f0c87a;margin:4px 0 0;cursor:ew-resize}
.csf-interlude__text p{font-size:15px;line-height:1.8;color:#dbe8e0;max-width:46ch}
.csf-interlude__text p+p{margin-top:14px}
.csf-interlude__text strong{color:#f0c87a}
.csf-interlude__text cite{font-style:normal;font-weight:700}
.csf-interlude .gft-cite{color:#c9e4d3;border-color:#6bb68f;min-width:44px;min-height:30px}
.csf-interlude .gft-popover{color:var(--gft-night)}
.csf-lab{margin-top:32px;border:1px solid var(--csf-rule);padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;background:rgba(255,255,255,.03)}
.csf-lab .csf-kicker{grid-column:1/-1}
.csf-lab output{display:block;font-size:clamp(28px,3vw,42px);font-weight:800;letter-spacing:-.05em;line-height:1.2;position:relative;color:#8bd2ac}
.csf-lab small{font-size:12px;color:var(--csf-muted)}
.csf-lab p{grid-column:1/-1;font-size:13.5px;margin-top:8px;color:#c9dcd2}

/* 05 Method: a sticky multi-state stage beside four steps */
.csf-stage .csf-kicker{color:#8bd2ac;margin:0}
.csf-dots{list-style:none;display:flex;gap:7px;margin:0;padding:0}
.csf-dots li{width:26px;height:3px;background:#3d6b5f;transform-origin:0 50%;transition:transform 500ms var(--gft-ease-out),background-color 400ms}
.csf-steps[data-step="0"] .csf-dots li:nth-child(-n+1),.csf-steps[data-step="1"] .csf-dots li:nth-child(-n+2),.csf-steps[data-step="2"] .csf-dots li:nth-child(-n+3),.csf-steps[data-step="3"] .csf-dots li{background:var(--gft-sage)}
.csf-stage__svg svg{display:block;width:100%;height:auto;overflow:visible;margin-top:12px}
/* Retire the previous SVG state immediately before the next one enters.
   The shared 1+ history layer retains its independent transition. */
:root[data-m-go] .csf-steps[data-mw-ready] .csf-stage__svg g:is([data-mw-show="0"],[data-mw-show="1"],[data-mw-show="2"],[data-mw-show="3"]):not([data-shown]){transition:none}
.csf-caps{display:grid;margin-top:10px;border-top:1px solid #2c5750;padding-top:12px}
.csf-cap{grid-area:1/1;display:grid;gap:6px;align-content:start}
.csf-cap b{font:800 clamp(22px,2.2vw,30px)/1.15 var(--gft-font-display);letter-spacing:-.03em;color:var(--gft-paper);text-transform:uppercase}
.csf-cap span{font:500 14px/1.6 var(--gft-font-mono);color:#d3e2da}
.csf-cap:not([data-shown]){opacity:0;visibility:hidden}
:root[data-m-go] .csf-steps[data-mw-ready] .csf-stage .csf-cap{transition:opacity 520ms var(--m-soft) 300ms,translate 700ms var(--m-out) 300ms,visibility 0s linear 0s}
:root[data-m-go] .csf-steps[data-mw-ready] .csf-stage .csf-cap:not([data-shown]){opacity:0;translate:0 .6rem;visibility:hidden;transition:opacity 220ms linear 0s,translate 220ms linear 0s,visibility 0s linear 220ms}
:where(.csf-stage svg path){fill:none;stroke-linejoin:round;stroke-linecap:round}
.csf-stage .csf-st-tag,.csf-stage .csf-st-lab{font:12px var(--gft-font-mono);fill:#c2d4ca;letter-spacing:.05em}
.csf-stage .csf-st-tag{fill:#b4cfc2}
.csf-stage .csf-st-axis{stroke:#3d6b5f;stroke-width:1}
.csf-stage .csf-st-thread{stroke:#56786b;stroke-width:1.8}
.csf-stage .csf-st-train{stroke:#e2ebe6;stroke-width:2.4}
.csf-stage .csf-st-admit{fill:#6bb68f;opacity:.14}
.csf-stage .csf-st-bracket{stroke:#8bd2ac;stroke-width:1.6}
.csf-stage .csf-st-test{fill:#2c3e7a;opacity:.4;stroke:#a7b9d7;stroke-width:1;stroke-dasharray:4 5}
.csf-stage .csf-st-cyc{fill:#6bb68f;opacity:.34}
.csf-stage .csf-st-cyc--b{opacity:.14}
.csf-stage .csf-st-fan{fill:#6bb68f;opacity:.18}
.csf-stage .csf-st-forecast{stroke:#6bb68f;stroke-width:3.2}
.csf-stage .csf-st-actual{stroke:#a7b9d7;stroke-width:2;stroke-dasharray:3 6}
.csf-stage .csf-st-gap{fill:#c98a2b;opacity:.42}
.csf-steps__track{list-style:none;margin:0;padding:0}
.csf-params{font:600 14px/1.7 var(--gft-font-mono)!important;background:#e6ebe5;padding:12px 14px;border-left:3px solid var(--gft-leaf)}

/* 06 Equations: dark, full bleed. Each equation selects a lane of a live decomposition. */
.csf-eqs{background:#041f1d;color:var(--gft-paper);padding:110px 0 96px;overflow:clip;isolation:isolate;--csf-rule:#1d5650;--csf-muted:#a9c4b8;--csf-axis:#c2d4ca;--csf-grid:#56786b}
.csf-eqs .csf-kicker{color:#8bd2ac}
.csf-eqs__wm,.csf-ledger__wm,.csf-interlude__wm{position:absolute;left:0;width:100%;z-index:-1;pointer-events:none}
.csf-eqs__wm{bottom:0;height:520px;opacity:.14}
.csf-eqs__wm path,.csf-ledger__wm path,.csf-interlude__wm path{fill:none;stroke:#6bb68f;stroke-width:1.4;vector-effect:non-scaling-stroke}
.csf-eqs__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:end;margin-bottom:44px}
.csf-eqs h2{font-size:clamp(36px,4.6vw,70px);max-width:13ch;line-height:1}
.csf-eqs__head>p{font-size:16px;line-height:1.8;color:#dbe8e0;max-width:56ch}
.csf-eqlab{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:clamp(32px,4.4vw,72px);align-items:start}
.csf-eqlab__stick{position:sticky;top:96px;min-width:0}
.csf-eqlab__vis{margin:0;background:#06302e;border:1px solid #1d5650;border-top:4px solid var(--gft-ochre);padding:20px 22px 18px;box-shadow:0 40px 80px -50px #000}
.csf-eqlab__vis figcaption{display:flex;justify-content:space-between;align-items:start;gap:16px}
.csf-eqlab__vis .csf-chart{margin-top:8px}
.csf-eqread{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 26px;align-items:center;border-top:1px solid #2c5750;margin-top:10px;padding-top:14px}
.csf-eqread .csf-kicker{grid-column:1/-1;margin:0}
.csf-eqread output{font-size:clamp(28px,3.2vw,46px);font-weight:800;letter-spacing:-.05em;line-height:1.1;color:#f0c87a;white-space:nowrap}
.csf-eqread p{font-size:14px;line-height:1.65;color:#dbe8e0;min-height:6.6em;align-self:start}
.csf-eqhist{display:grid;gap:2px;margin-top:6px;border-top:1px solid #2c5750;padding-top:10px}
.csf-eqhist label{display:flex;justify-content:space-between;gap:16px;font:600 13px/1.5 var(--gft-font-mono);letter-spacing:.04em;color:#c9e4d3}
.csf-eqhist output{color:var(--gft-paper);font-weight:700}
.csf-eqhist input{width:100%;min-height:44px;accent-color:var(--gft-sage);margin:0;cursor:ew-resize}
.csf-eq-lane>:not(text){opacity:.34;transition:opacity 420ms var(--gft-ease-out)}
.csf-eqlab[data-eq-lane=A] .csf-eq-lane--A>:not(text),.csf-eqlab[data-eq-lane=B] .csf-eq-lane--B>:not(text),.csf-eqlab[data-eq-lane=C] .csf-eq-lane--C>:not(text),.csf-eqlab[data-eq-lane=D] .csf-eq-lane--D>:not(text),.csf-eqlab[data-eq-lane=E] .csf-eq-lane--E>:not(text){opacity:1}
.csf-eqlab[data-eq-lane=A] .csf-eq-lane--A .csf-eq-lab,.csf-eqlab[data-eq-lane=B] .csf-eq-lane--B .csf-eq-lab,.csf-eqlab[data-eq-lane=C] .csf-eq-lane--C .csf-eq-lab,.csf-eqlab[data-eq-lane=D] .csf-eq-lane--D .csf-eq-lab,.csf-eqlab[data-eq-lane=E] .csf-eq-lane--E .csf-eq-lab{fill:#f0c87a}
.csf-chart svg .csf-eq-lab{font:600 15.5px var(--gft-font-mono);fill:#8bd2ac;letter-spacing:.1em}
.csf-chart svg .csf-eq-tag{font:700 15.5px var(--gft-font-mono);fill:#f0c87a}
.csf-chart svg .csf-eq-tk{font:15.5px var(--gft-font-mono);fill:#c2d4ca}
.csf-eq-main{stroke:#e2ebe6;stroke-width:2.2}
.csf-eq-ghost{stroke:#56786b;stroke-width:1.4}
.csf-eq-act{stroke:#a7b9d7;stroke-width:1.8;stroke-dasharray:3 6}
.csf-eq-fc{stroke:#6bb68f;stroke-width:3}
.csf-eq-zero{stroke:#3d6b5f;stroke-width:1;stroke-dasharray:2 5}
.csf-eq-end{fill:#c98a2b;stroke:#072d2b;stroke-width:2}
.csf-eq-unseen{fill:#2c3e7a;opacity:.26;stroke:none}
.csf-eq-gap{fill:#c98a2b;opacity:.3;stroke:none;transition:opacity 420ms var(--gft-ease-out)}
.csf-eq-expect{stroke:#f0c87a;stroke-width:1.8;stroke-dasharray:6 5;opacity:.18;transition:opacity 420ms var(--gft-ease-out)}
.csf-eqlab:is([data-eq-focus=noise],[data-eq-focus=demand]) .csf-eq-expect{opacity:.95}
.csf-eqlab:is([data-eq-focus=error],[data-eq-focus=mismatch],[data-eq-focus=cost],[data-eq-focus=identity]) .csf-eq-gap{opacity:.8}
.csf-eqs__list{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--csf-rule);position:relative;overflow:clip}
.csf-eqs__list::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0,rgba(139,210,172,.1) 47%,#8bd2ac 50%,rgba(139,210,172,.1) 53%,transparent 100%);opacity:0}
:root[data-m-go] [data-m-live~=csf-trace][data-m-on]::after{animation-name:csf-trace;animation-duration:7s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes csf-trace{0%{transform:translateY(-50%);opacity:0}10%{opacity:.5}90%{opacity:.5}100%{transform:translateY(50%);opacity:0}}
.csf-eqs__list li{border-bottom:1px solid var(--csf-rule)}
.csf-eqs .csf-eqrow{width:100%;display:grid;grid-template-columns:104px minmax(0,1fr);gap:18px;align-items:baseline;min-height:68px;padding:16px 14px;border:0;border-left:4px solid transparent;background:transparent;color:inherit;text-align:left;font:inherit;transition:background-color 260ms var(--gft-ease-out),border-color 260ms var(--gft-ease-out)}
.csf-eqs .csf-eqrow:hover,.csf-eqs .csf-eqrow[aria-pressed=true]{background:#0a3d3a;border-left-color:#c98a2b}
.csf-eqs .csf-eqrow:focus-visible{outline-offset:-3px}
.csf-eq__name{font:600 12px/1.6 var(--gft-font-mono);letter-spacing:.12em;text-transform:uppercase;color:#8bd2ac}
.csf-eqrow[aria-pressed=true] .csf-eq__name{color:#f0c87a}
.csf-eqs code{font:500 15px/1.8 var(--gft-font-mono);color:#f1f6f2;overflow-wrap:anywhere;white-space:normal}
.csf-eqs__notes{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:48px}
.csf-eqs .csf-note{color:#a9c4b8;margin:0}
.csf-eqs a{color:#c9e4d3;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@keyframes csf-tok{from{opacity:0;transform:translateY(8px)}}
/* Tokens keep one box in every state, so the arrival does not re-break the formula lines. */
.csf-tok{display:inline-block;white-space:pre}
:root[data-m-go] .csf-eqs:not([data-m-in]) .csf-tok{opacity:0}
:root[data-m-go] .csf-eqs[data-m-in] .csf-tok{animation-name:csf-tok;animation-duration:520ms;animation-timing-function:var(--gft-ease-out);animation-delay:calc(var(--i) * 18ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}

/* 07 Ledger: a dark band, then the assumptions table overhanging it, bound to the sliders */
.csf-ledger__band{background:var(--gft-night);color:var(--gft-paper);padding:110px 0 190px;position:relative;overflow:clip;isolation:isolate;--csf-muted:#a9c4b8}
.csf-ledger__wm{top:0;height:100%;opacity:.16}
.csf-ledger .csf-kicker{color:#25614a}
.csf-ledger__band .csf-kicker{color:#8bd2ac}
.csf-ledger__head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:56px;align-items:end}
.csf-ledger h2{font-size:clamp(40px,6.4vw,100px);line-height:.96;letter-spacing:-.062em;max-width:11ch;color:var(--gft-paper)}
.csf-ledger__head .csf-note{color:#dbe8e0;font-size:15.5px;line-height:1.8}
.csf-ledger__bar{position:relative;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:24px;background:rgba(246,244,239,.98);border:1px solid var(--csf-rule);border-top:4px solid var(--gft-ochre);padding:12px 18px;margin-bottom:0;box-shadow:0 24px 50px -34px rgba(7,45,43,.7)}
.csf-ledger__bar p{font-size:14px;line-height:1.6;min-height:3.2em}
.csf-ledger__bar strong{display:block;font-weight:800}
.csf-ledger__bar span{color:var(--csf-muted)}
.csf-ledger__tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.csf-ledger__tools button{border-color:var(--gft-forest);color:var(--gft-forest);white-space:nowrap}
.csf-ledger__tools button[aria-pressed=true]{background:var(--gft-forest);color:var(--gft-paper)}
.csf-filter{display:flex}
.csf-filter button+button{margin-left:-1px}
.csf-table--ledger{font-size:15px}
.csf-table--ledger caption{padding:14px 14px 10px}
.csf-table--ledger th,.csf-table--ledger td{padding:16px 14px}
.csf-table--ledger tbody tr{cursor:default}
.csf-table--ledger tbody tr:hover,.csf-table--ledger tbody tr:focus-visible{background:#e6ebe5}
.csf-table--ledger tr[data-changed]{background:#f1e3cf;box-shadow:inset 5px 0 0 var(--gft-ochre)}
.csf-live{display:block;font:700 15px/1.5 var(--gft-font-mono)}
.csf-gauge{display:block;position:relative;height:16px;margin-top:8px;max-width:240px;overflow:clip;background:linear-gradient(#9cb5a7,#9cb5a7) 0 50%/100% 2px no-repeat}
.csf-gauge__tick{position:absolute;top:1px;bottom:1px;width:2px;left:calc(5px + var(--d) * (100% - 12px));background:#314d43}
.csf-gauge__mv{position:absolute;left:6px;right:6px;top:0;bottom:0;transform:translateX(calc(var(--v) * 100%));transition:transform 520ms var(--gft-ease-out)}
.csf-gauge__dot{position:absolute;left:-6px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--gft-forest);transition:background-color 300ms,scale 300ms var(--gft-ease-out)}
.csf-table--ledger tr[data-changed] .csf-gauge__dot{background:var(--gft-ochre)}
.csf-table--ledger tbody tr:hover .csf-gauge__dot,.csf-table--ledger tbody tr:focus-visible .csf-gauge__dot{scale:1.45}
.csf-st{display:inline-flex;align-items:center;gap:8px;margin-right:8px;font:700 12px/1.4 var(--gft-font-mono);text-transform:uppercase;letter-spacing:.07em}
.csf-st::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--gft-leaf);flex:0 0 auto}
.csf-table--ledger tr[data-changed] .csf-st::before{background:var(--gft-ochre)}
.csf-st--fixed::before{background:#2c3e7a}
.csf-table--ledger a{color:var(--gft-forest);text-underline-offset:4px;white-space:nowrap;display:inline-block;min-height:24px}
.csf-ledger__empty{margin-top:14px;padding:16px 18px;background:#e6ebe5;border-left:4px solid var(--gft-leaf);font-size:15px}
:root[data-m-go] .csf-ledger__tbl:not([data-m-in]) tbody tr>*{clip-path:inset(0 100% 0 0)}
:root[data-m-go] .csf-ledger__tbl[data-m-in] tbody tr>*{animation-name:csf-row;animation-duration:820ms;animation-timing-function:var(--gft-ease-out);animation-delay:calc(var(--i) * 25ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes csf-row{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
:root[data-m-go] .csf-ledger__tbl:not([data-m-in]) .csf-gauge__mv{transform:translateX(0)}

/* 08 Related: three unequal cards, staggered in height, each thumbnail redrawn on hover */
.csf-related__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:end;margin-bottom:40px}
.csf-card{display:grid;align-content:start;gap:10px;padding:24px;background:#fff;border:1px solid var(--csf-rule);text-decoration:none;color:var(--gft-night);transition:translate 420ms var(--gft-ease-out),box-shadow 420ms var(--gft-ease-out),border-color 300ms}
.csf-card:hover,.csf-card:focus-visible{translate:0 -8px;box-shadow:0 30px 50px -30px rgba(7,45,43,.55);border-color:var(--gft-leaf)}
.csf-card__thumb{display:block;position:relative;overflow:clip;background:var(--gft-night);margin-bottom:8px}
.csf-card__thumb::after{content:'';position:absolute;inset:0;background:var(--gft-night);transform:scaleX(0);transform-origin:100% 50%}
.csf-card:is(:hover,:focus-visible) .csf-card__thumb::after{animation-name:csf-curtain;animation-duration:900ms;animation-timing-function:var(--gft-ease-out);animation-fill-mode:none;animation-iteration-count:1;animation-direction:normal}
@keyframes csf-curtain{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.csf-card svg rect{fill:#3d6b5f;transform-box:fill-box;transform-origin:50% 100%}
.csf-card:is(:hover,:focus-visible) svg rect{animation-name:csf-bar;animation-duration:700ms;animation-timing-function:var(--gft-ease-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
.csf-card svg rect:nth-of-type(2){animation-delay:70ms!important}.csf-card svg rect:nth-of-type(3){animation-delay:140ms!important}.csf-card svg rect:nth-of-type(4){animation-delay:210ms!important}.csf-card svg rect:nth-of-type(5){animation-delay:280ms!important}
@keyframes csf-bar{from{transform:scaleY(.12)}}
.csf-card svg .csf-card__hi{fill:#c98a2b}
.csf-card__ax{stroke:#3d6b5f;stroke-width:1;fill:none}
.csf-card__ln{stroke:#8bd2ac;stroke-width:2.4;fill:none;stroke-linecap:round}
.csf-card__ln--b{stroke:#c98a2b;stroke-width:1.6}
.csf-card h3{font-size:20px;font-weight:800;letter-spacing:-.03em;line-height:1.3}
.csf-card p{font-size:14.5px;line-height:1.75;color:#33403d}
.csf-card .csf-kicker{color:#25614a;margin:0}
.csf-card--feat{background:var(--gft-night);color:var(--gft-paper);border-color:#1d5650;padding:30px}
.csf-card--feat h3{font-size:clamp(24px,2.4vw,34px);letter-spacing:-.04em}
.csf-card--feat p{color:#dbe8e0;font-size:15.5px}
.csf-card--feat .csf-kicker{color:#8bd2ac}
.csf-card--feat .csf-card__thumb::after{background:#06302e}
.csf-related__papers{font-size:14.5px;line-height:1.8;margin-top:36px;max-width:90ch}
.csf-related cite{font-style:normal;font-weight:650}

/* Thread: the warp line leaves the last card and arrives in the closing */
.csf-thread{position:absolute;left:calc(50% - min(660px, 50% - 36px));width:2px;pointer-events:none;transform-origin:50% 0}
.csf-thread--down{bottom:0;height:120px;background:linear-gradient(var(--gft-leaf),#6bb68f);z-index:2}
.csf-thread--in{top:0;height:150px;background:linear-gradient(#6bb68f,rgba(107,182,143,.15));z-index:2}
.csf-thread--in::before{content:'';position:absolute;top:0;left:-5px;width:12px;height:12px;border-radius:50%;background:var(--gft-ochre);box-shadow:0 0 0 5px rgba(201,138,43,.25)}
:root[data-m-go] .csf-related:not([data-m-in]) .csf-thread,:root[data-m-go] .csf-closing:not([data-m-in]) .csf-thread{transform:scaleY(0)}
:root[data-m-go] .csf-related[data-m-in] .csf-thread,:root[data-m-go] .csf-closing[data-m-in] .csf-thread{animation-name:csf-grow;animation-duration:1000ms;animation-timing-function:var(--gft-ease-out);animation-delay:300ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes csf-grow{from{transform:scaleY(0)}}

/* 09 Closing: warp threads resolve into your own learning curve, which you can still operate */
.csf-closing .csf-kicker{color:#8bd2ac}
.csf-closing__head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;align-items:end;margin-bottom:44px}
.csf-closing h2{font-size:clamp(40px,6vw,92px);line-height:.98;letter-spacing:-.06em;max-width:11ch}
.csf-closing__head>p{font-size:17px;line-height:1.85;color:#dbe8e0}
.csf-mini{margin:0;border-block:1px solid var(--csf-rule);padding:20px 0 12px;position:relative}
.csf-mini__svg{min-height:50svh}
.csf-mini__svg svg{display:block;width:100%;height:auto;overflow:visible}
.csf-mini .csf-warp{stroke:#6bb68f;stroke-width:1.1;opacity:.7}
.csf-mini .csf-sig{stroke:#8bd2ac;stroke-width:3.6}
.csf-mini .csf-cursor{stroke:#c98a2b;stroke-width:1.4;stroke-dasharray:3 5}
.csf-mini .csf-grid{stroke:#56786b;stroke-width:.9;opacity:.5}
.csf-mini .csf-sweep{stroke:#c9e4d3;stroke-width:1.4;opacity:0}
.csf-mini .csf-axis-t{fill:#c9dcd2}
.csf-mini__ctl{display:grid;gap:2px;max-width:560px;margin:10px 0 6px}
.csf-mini__ctl label{display:flex;justify-content:space-between;gap:16px;font-size:20px;font-weight:800;letter-spacing:-.03em}
.csf-mini__ctl output{font:700 15px var(--gft-font-mono);color:#f0c87a}
.csf-mini__ctl input{width:100%;min-height:48px;accent-color:var(--gft-sage);margin:0;cursor:ew-resize}
.csf-mini figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px}
.csf-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.csf-chips li{font:600 12px/1.4 var(--gft-font-mono);border:1px solid #3d7b6d;padding:6px 10px;color:#dbe8e0}
.csf-closing__row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;margin-top:52px;align-items:start}
.csf-callout{border-left:4px solid var(--gft-ochre);background:rgba(255,255,255,.04);padding:28px 30px}
.csf-callout h3{font-size:26px;letter-spacing:-.04em;line-height:1.25;font-weight:800;margin-bottom:12px}
.csf-callout p{font-size:16px;line-height:1.8;color:#dbe8e0}
.csf-closing__act{display:grid;gap:14px;justify-items:start}
.csf-closing .csf-note{color:#a9c4b8}
.csf-closing button.csf-big{width:100%;min-height:64px;background:#f0c87a;color:var(--gft-night);border-color:#f0c87a;font:800 16px var(--gft-font-display);letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center;gap:20px;transition:transform 380ms var(--gft-ease-out)}
.csf-closing button.csf-big:hover{transform:translateY(-3px)}
.csf-closing .csf-ghost{border-color:#3d7b6d;color:#dbe8e0}
.csf-closing .csf-link{color:#c9e4d3;font-size:14px;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}

/* Live behaviours: on screen only (data-m-on), cleared by Calm and reduced motion */
@keyframes csf-ring{from{transform:scale(1);opacity:.8}to{transform:scale(3.6);opacity:0}}
@keyframes csf-sweep{0%{transform:translateX(0);opacity:0}14%{opacity:.8}82%{opacity:.8}100%{transform:translateX(var(--csf-span,120px));opacity:0}}
:root[data-m-go] [data-m-live~=csf-pulse][data-m-on] .csf-origin-ring{transform-box:fill-box;transform-origin:center;animation-name:csf-ring;animation-duration:2.6s;animation-timing-function:var(--gft-ease-out);animation-iteration-count:infinite;animation-direction:normal}
:root[data-m-go] [data-m-live~=csf-pulse][data-m-on] .csf-sweep{animation-name:csf-sweep;animation-duration:5.8s;animation-timing-function:var(--gft-ease-in-out);animation-iteration-count:infinite;animation-direction:normal}
:root[data-m-go] [data-m-live~=csf-pulse][data-m-on] .csf-eq-end{transform-box:fill-box;transform-origin:center;animation-name:csf-dot;animation-duration:2.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:normal}
@keyframes csf-dot{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}}
:root[data-m-go] .csf-range[data-m-live~=csf-pulse][data-m-on] .csf-range__marker::before{animation-name:csf-ring;animation-duration:2.6s;animation-timing-function:var(--gft-ease-out);animation-iteration-count:infinite;animation-direction:normal}

@media(max-width:1280px){.csf-hero{grid-template-columns:minmax(220px,300px) auto}.csf-hero .gft-button{grid-column:1/-1;justify-self:start}.csf-readouts{grid-template-columns:1.4fr 1fr 1fr 1.3fr}}
@media(max-width:1050px){
 .csf-wrap{width:calc(100% - 56px)}
 .csf-bench__bar{flex-direction:column;align-items:start}
 .csf-ctl{grid-template-columns:1fr;gap:26px}
 .csf-bench__body{grid-template-columns:1fr;gap:28px}
 .csf-console{position:static;max-height:none;overflow:visible}
 .csf-console__body{overflow:visible}
 .csf-console__cue{display:none}
 .csf-ev{grid-template-columns:1fr;gap:40px}
 .csf-interlude__grid{grid-template-columns:1fr;gap:48px}
 .csf-eqs__head,.csf-ledger__head,.csf-related__head,.csf-closing__head,.csf-closing__row{grid-template-columns:1fr;gap:28px}
 .csf-eqs__list{grid-template-columns:1fr}
 .csf-eqs__notes{grid-template-columns:1fr;gap:12px}
}
@media(max-width:760px){
 .csf-wrap{width:calc(100% - 40px)}
 .csf-hero{grid-template-columns:1fr;gap:12px}
 .csf-hero__read output{font-size:40px}
 .csf-bench{padding-top:40px}
 .csf-bench h2{font-size:30px}
 .csf-readouts{grid-template-columns:1fr 1fr}
 .csf-readout{padding:14px 12px}
 .csf-readout:nth-child(odd){border-left:0;padding-left:0}
 .csf-readout:nth-child(n+3){border-top:1px solid var(--csf-rule)}
 .csf-readout--main{grid-column:1/-1;border-left:0;padding-left:0}
 .csf-readout--main output{font-size:76px}
 .csf-readout>span{min-height:0;font-size:12px}
 .csf-readout output{font-size:30px}
 .csf-scrub>label{flex-direction:column;gap:4px;font-size:20px}
 .csf-scrub>label span{text-align:left}
 .csf-scrub__row{grid-template-columns:1fr 92px}
 .csf-scrub__row .csf-play{grid-column:1/-1}
 .csf-scrub__mid{left:18%;font-size:12px}
 .csf-chart--wide{display:none}.csf-chart--narrow{display:block}
 .csf-figure{padding:22px 16px 18px}
 .csf-figure h3{font-size:22px}
 .csf-chip{display:none}
 .csf-sec .csf-chart svg text{font-size:17px}
 .csf-hoverread{font-size:12.5px;min-height:5.2em}
 .csf-console{padding:20px 16px}
 .csf-interpretation{font-size:17px;padding:22px 20px;min-height:13em}
 .csf-table{font-size:13.5px}.csf-table th,.csf-table td{padding:12px 8px}
 .csf-cost{padding:26px 22px}.csf-cost dd{white-space:normal}
 .csf-ab output{font-size:26px}.csf-ab>div{padding:14px 12px}
 .csf-interlude{min-height:0;padding:72px 0 64px;--csf-lab:0px;--csf-gap:0px}
 .csf-interlude h2{font-size:clamp(44px,14vw,72px);margin-bottom:36px}
 .csf-range__rows{gap:12px}
 .csf-range__rows li{grid-template-columns:1fr;gap:6px}
 .csf-range__track{height:44px}
 .csf-range__marker{top:-6px;bottom:28px}
 .csf-range__axis{margin-left:0}
 .csf-claim p{min-height:11em}
 .csf-method__head h2{margin-bottom:32px}
 .csf-stage .csf-st-lab,.csf-stage .csf-st-tag{font-size:25px}
 .csf-steps__track p{font-size:16.5px}
 .csf-eqs{padding:64px 0}
 .csf-eqs__list li{grid-template-columns:1fr;gap:4px}
 .csf-eqs code{font-size:13.5px}
 .csf-ledger__bar{flex-direction:column;align-items:stretch;padding:10px 12px}
 .csf-ledger__bar p{min-height:5.6em}
 .csf-closing h2{font-size:clamp(40px,12.4vw,64px)}
 .csf-callout{padding:22px 20px}
}
@media(max-width:1050px){
 .csf-eqlab{grid-template-columns:1fr}
 .csf-eqlab__stick,.csf-interlude__vis{position:static}
 .csf-claimfig output{font-size:clamp(80px,22vw,140px)}
}
@media(max-width:760px){
 .csf-eqs{padding:72px 0 64px}
 .csf-eqs .csf-eqrow{grid-template-columns:1fr;gap:4px;padding:14px 10px}
 .csf-eqs code{font-size:14px}
 .csf-eqread{grid-template-columns:1fr}
 .csf-eqread output{font-size:34px}
 .csf-eqread p{min-height:8.4em}
 .csf-eqlab__vis{padding:16px 12px 14px}
 .csf-chart svg .csf-eq-lab,.csf-chart svg .csf-eq-tag,.csf-chart svg .csf-eq-tk{font-size:17px}
 .csf-ledger h2{font-size:clamp(40px,13vw,64px)}
 .csf-table--ledger th,.csf-table--ledger td{padding:12px 8px}
 .csf-table--ledger{font-size:14px}
 .csf-ledger__tools button{min-height:44px}
 .csf-thread--in{height:110px}
 .csf-thread--down{height:96px}
 .csf-mini__svg{min-height:0}
 .csf-mini__svg .csf-axis-t{font-size:17px}
 .csf-cap b{font-size:22px}
}
@media(max-width:760px){
 .csf-table--ledger,.csf-table--ledger tbody{display:block}
 .csf-table--ledger thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .csf-table--ledger tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;padding:16px 14px;border-bottom:1px solid var(--csf-rule)}
 .csf-table--ledger tbody tr>*{display:block;padding:0;border:0}
 .csf-table--ledger tbody th{grid-column:1/-1;font-size:16px}
 .csf-table--ledger td[data-l]::before{content:attr(data-l);display:block;font:600 12px/1.5 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--csf-muted)}
 .csf-table--ledger td[data-l=Status]{grid-column:1/-1;margin-top:4px}
 .csf-table--ledger caption{padding:14px 14px 0;display:block}
 .csf-table--ledger a{white-space:normal}
}
@media(max-width:760px){
 .csf-range__rows li{position:relative}
 .csf-range__val{left:auto!important;right:0;top:-26px;margin:0;transform:none}
}
@media(max-width:760px){
 .csf-scrub__ticks{height:44px}
 .csf-scrub__mid{left:0;top:22px;transform:none}
}
@media(prefers-reduced-motion:reduce){.csf-sec *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Splash furniture: every informative label reaches 12px */
[data-splash=cold-start-forecast] :is(.gft-eyebrow,.gft-splash__cue,.gft-splash__caption,.gft-splash__position,.gft-splash__signal,.gft-splash__data span){font-size:12px}

/* ===== Round 4 ===== */

/* Hero: a larger console, and an idle loop that keeps running once the entrance has settled */
.csf-hero{grid-template-columns:minmax(260px,360px) auto auto;max-width:900px}
.csf-hero__ctl label{font-size:13px}
.csf-hero__read output{font-size:clamp(44px,5vw,72px)}
.csf-hero__read output::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:3px;background:#8bd2ac;transform-origin:0 50%;transform:scaleX(.15);opacity:.9}
.csf-hero .gft-button{min-height:48px;font-size:16px;padding-inline:26px}
.csf-sec summary:focus-visible{outline:3px solid var(--gft-ochre);outline-offset:3px}
[data-splash=cold-start-forecast] .gft-splash__ground::after{content:'';position:absolute;left:44%;top:14%;bottom:16%;width:2px;background:linear-gradient(180deg,transparent,#8bd2ac 30%,#8bd2ac 70%,transparent);opacity:0}
@keyframes csf-hero-sweep{0%{transform:translateX(0);opacity:0}12%{opacity:.7}88%{opacity:.7}100%{transform:translateX(50vw);opacity:0}}
@keyframes csf-hero-bar{0%,100%{transform:scaleX(.15)}50%{transform:scaleX(1)}}
:root[data-m-go] [data-splash=cold-start-forecast]:has(.csf-hero[data-m-on]) .gft-splash__ground::after{animation-name:csf-hero-sweep;animation-duration:9s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
:root[data-m-go] .csf-hero[data-m-on] .csf-hero__read output::after{animation-name:csf-hero-bar;animation-duration:3.4s;animation-timing-function:var(--gft-ease-in-out);animation-iteration-count:infinite;animation-direction:normal}

/* Console: two collapsible bands, three primary controls open */
.csf-band{border-bottom:1px solid var(--csf-rule);margin-top:6px}
.csf-band summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:46px;padding:8px 0;cursor:pointer;font:700 13px/1.4 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#8bd2ac}
.csf-band summary::-webkit-details-marker{display:none}
.csf-band summary span{margin-right:auto}
.csf-band summary small{font:500 12px/1.4 var(--gft-font-mono);letter-spacing:0;text-transform:none;color:var(--csf-muted)}
.csf-band summary::after{content:'+';font-size:20px;line-height:1;width:20px;text-align:center}
.csf-band[open] summary::after{content:'-'}
.csf-band .csf-field:last-child{border-bottom:0}
.csf-field[data-hot]{background:rgba(240,200,122,.14);box-shadow:inset 3px 0 0 #f0c87a}

/* 02 Evidence opens on a dark band that holds the method comparison, cut on a hard diagonal */
.csf-evidence{background:var(--gft-paper);padding:0 0 100px;z-index:1}
.csf-evband{position:relative;background:var(--gft-night);color:var(--gft-paper);padding:70px 0 210px;clip-path:polygon(0 0,100% 0,100% calc(100% - 110px),0 100%);isolation:isolate;--csf-rule:#2c5750;--csf-muted:#a9c4b8}
.csf-evband__wm{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.17;pointer-events:none}
.csf-evband__wm path{fill:none;stroke:#6bb68f;stroke-width:1.4;vector-effect:non-scaling-stroke}
.csf-evband .csf-kicker{color:#8bd2ac}
.csf-evband__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:end;margin-bottom:36px}
.csf-evband h2{font-size:clamp(34px,4.6vw,68px);max-width:16ch;color:var(--gft-paper)}
.csf-evband__head>p{font-size:16px;line-height:1.75;color:#dbe8e0;max-width:54ch}
.csf-bars{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.csf-bars button{width:100%;display:grid;grid-template-columns:190px minmax(0,1fr) 150px;gap:24px;align-items:center;min-height:68px;padding:10px 18px;border:1px solid var(--csf-rule);background:rgba(255,255,255,.04);color:var(--gft-paper);font:700 16px var(--gft-font-display);letter-spacing:-.01em;transition:background-color 260ms var(--gft-ease-out),border-color 260ms var(--gft-ease-out)}
.csf-bars__track{position:relative;display:block;height:32px;background:rgba(255,255,255,.08);overflow:clip}
.csf-bars__fill{position:absolute;inset:0;background:var(--gft-sage);transform-origin:0 50%;transform:scaleX(var(--w));transition:transform 700ms var(--gft-ease-out)}
.csf-bars li[data-on] .csf-bars__fill{background:#f0c87a}
.csf-bars li[data-on] button{border-color:#f0c87a}
.csf-bars__val{font:700 20px/1.2 var(--gft-font-mono);text-align:right;white-space:nowrap}
.csf-bars button:hover,.csf-bars li[data-hot] button{background:rgba(139,210,172,.16);border-color:#8bd2ac}
.csf-seam{position:relative;display:block;height:0;z-index:2;pointer-events:none}
.csf-seam::before{content:'';position:absolute;left:calc(50% - min(660px,50% - 36px));top:-96px;height:210px;width:2px;background:linear-gradient(#6bb68f,var(--gft-leaf));transform-origin:50% 0}
.csf-seam::after{content:'';position:absolute;left:calc(50% - min(660px,50% - 36px) - 5px);top:108px;width:12px;height:12px;border-radius:50%;background:var(--gft-ochre);box-shadow:0 0 0 5px rgba(201,138,43,.25)}
.csf-ev{margin-top:20px}
.csf-ev__side{display:grid;gap:34px}
.csf-table tr[data-hot]{background:#dfebe3}

/* 05 Method: a full-bleed stage, one sticky multi-state chart, floating captions that alternate sides */
.csf-method{background:var(--gft-forest);color:var(--gft-paper);padding:110px 0 0;--header:72px}
.csf-method .csf-kicker{color:#8bd2ac}
.csf-method__head h2{font-size:clamp(36px,5.4vw,84px);max-width:12ch;margin-bottom:48px;color:var(--gft-paper)}
.csf-steps.mw-steps--overlay{--gutter:3vw}
.csf-steps.mw-steps--overlay>.csf-stage.mw-steps__visual{margin:0;padding:0;background:var(--gft-forest);color:var(--gft-paper);container-type:inline-size;overflow:clip;isolation:isolate;--csf-axis:#c2d4ca;--pw:min(60cqw,calc((100svh - 210px) * 1.5))}
.csf-tone{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 900ms var(--gft-ease-out);z-index:0}
.csf-tone--0{background:radial-gradient(ellipse at 82% 30%,rgba(201,138,43,.26),transparent 58%)}
.csf-tone--1{background:radial-gradient(ellipse at 18% 34%,rgba(139,210,172,.3),transparent 58%)}
.csf-tone--2{background:radial-gradient(ellipse at 80% 72%,rgba(44,62,122,.55),transparent 62%)}
.csf-tone--3{background:radial-gradient(ellipse at 20% 78%,rgba(240,200,122,.24),transparent 58%)}
.csf-steps:not([data-step]) .csf-tone--0,.csf-steps[data-step="0"] .csf-tone--0,.csf-steps[data-step="1"] .csf-tone--1,.csf-steps[data-step="2"] .csf-tone--2,.csf-steps[data-step="3"] .csf-tone--3{opacity:1}
.csf-stage__wm{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.2;pointer-events:none}
.csf-stage__wm path{fill:none;stroke:#8bd2ac;stroke-width:1.3;vector-effect:non-scaling-stroke}
.csf-stage__panel{position:absolute;z-index:1;left:3cqw;top:max(92px,11svh);width:var(--pw);background:var(--gft-night);border-top:4px solid var(--gft-ochre);padding:20px 24px 22px;box-shadow:0 50px 100px -40px rgba(0,0,0,.7);translate:calc(100cqw - var(--pw) - 6cqw) 0;transition:translate 900ms var(--gft-ease-out),border-color 600ms}
.csf-steps[data-step="1"] .csf-stage__panel{translate:0 0;border-top-color:#8bd2ac}
.csf-steps[data-step="2"] .csf-stage__panel{border-top-color:#a7b9d7}
.csf-steps[data-step="3"] .csf-stage__panel{translate:0 0;border-top-color:#f0c87a}
.csf-stage figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px}
.csf-stage .csf-kicker{color:#8bd2ac;margin:0}
.csf-steps__track>li{--rule:#2c5750}
.csf-steps.mw-steps--overlay>.csf-steps__track>li{padding-block:12svh;padding-inline:var(--gutter);justify-items:start;align-content:center}
.csf-steps.mw-steps--overlay>.csf-steps__track>li:nth-child(even){justify-items:end}
.csf-step{pointer-events:auto;width:min(31vw,460px);background:rgba(4,31,29,.95);border:1px solid #2c5750;border-left:4px solid var(--gft-sage);padding:24px 26px 20px;box-shadow:0 36px 80px -36px #000;color:var(--gft-paper)}
.csf-step h3{font-size:clamp(24px,2.3vw,34px);letter-spacing:-.04em;line-height:1.15;font-weight:800;margin-bottom:14px}
.csf-step p{font-size:16px;line-height:1.7;color:#dbe8e0;margin-bottom:12px}
.csf-step .csf-kicker{margin-bottom:10px}
.csf-step .csf-params{background:rgba(255,255,255,.07);color:#dbe8e0;border-left-color:#8bd2ac;font-size:13.5px!important}
.csf-more{margin-top:10px;border-top:1px solid #2c5750;padding-top:4px}
.csf-more summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;font:700 12px/1.4 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#f0c87a}
.csf-more summary::-webkit-details-marker{display:none}
.csf-more summary::after{content:'+';font-size:20px}
.csf-more[open] summary::after{content:'-'}
.csf-more p{font-size:15px;line-height:1.75}
/* each step draws its own state on the one chart; the selector starts matching on arrival, so the animation replays */
@keyframes csf-st-draw{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
@keyframes csf-st-wipe-l{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes csf-st-wipe-r{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes csf-st-wipe-d{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes csf-st-rise{from{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:scaleY(1)}}
:root[data-m-go] .csf-method[data-m-in] .csf-steps[data-step="0"] .csf-st-thread{animation:csf-st-draw 1100ms var(--gft-ease-out) backwards}
:root[data-m-go] .csf-method[data-m-in] .csf-steps[data-step="0"] .csf-st-origin{animation:csf-st-wipe-d 900ms var(--gft-ease-out) 300ms backwards}
:root[data-m-go] .csf-method[data-m-in] .csf-steps[data-step="0"] .csf-st-test{animation:csf-st-wipe-l 900ms var(--gft-ease-out) 500ms backwards}
:root[data-m-go] .csf-steps[data-step="1"] .csf-st-admit{animation:csf-st-wipe-l 1000ms var(--gft-ease-out) backwards}
:root[data-m-go] .csf-steps[data-step="1"] .csf-st-train{animation:csf-st-draw 1000ms var(--gft-ease-out) 200ms backwards}
:root[data-m-go] .csf-steps[data-step="2"] .csf-st-cyc{transform-box:fill-box;transform-origin:50% 100%;animation:csf-st-rise 700ms var(--gft-ease-out) backwards}
:root[data-m-go] .csf-steps[data-step="2"] .csf-st-cyc--b{animation-delay:120ms}
:root[data-m-go] .csf-steps[data-step="2"] .csf-st-forecast{animation:csf-st-draw 1100ms var(--gft-ease-out) 200ms backwards}
:root[data-m-go] .csf-steps[data-step="3"] .csf-st-fan{animation:csf-st-wipe-r 1100ms var(--gft-ease-out) backwards}
:root[data-m-go] .csf-steps[data-step="3"] .csf-st-gap{animation:csf-st-wipe-r 1000ms var(--gft-ease-out) 350ms backwards}
:root[data-m-go] .csf-steps[data-step="3"] .csf-st-actual{animation:csf-st-wipe-r 1100ms var(--gft-ease-out) 150ms backwards}
.csf-steps .csf-st-forecast{stroke:#f0c87a}

/* 07 Ledger: a night ground holds the heading; only the band curtain moves over it */
.csf-ledger{background:var(--gft-sand);padding:0}
.csf-ledger__ground{background:var(--gft-night)}
.csf-ledger__body{margin-top:-108px;position:relative;z-index:1;padding-bottom:100px}
.csf-ledger__body::before{content:'';position:absolute;z-index:-1;top:108px;bottom:0;left:50%;width:100vw;translate:-50% 0;background:var(--gft-sand)}
.csf-ledger__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.csf-ledger__tbl{max-width:none;background:#fbfaf6;box-shadow:0 44px 70px -50px rgba(7,45,43,.55);overflow:clip}
.csf-ovw{position:sticky;top:96px;background:var(--gft-night);color:var(--gft-paper);padding:22px 20px 20px;border-top:4px solid var(--gft-ochre);box-shadow:0 40px 70px -44px rgba(7,45,43,.7);--csf-muted:#a9c4b8}
.csf-ovw .csf-kicker{color:#8bd2ac}
.csf-ovw h3{font-size:20px;font-weight:800;letter-spacing:-.03em;line-height:1.25;margin-bottom:6px}
.csf-ovw__svg svg{display:block;width:100%;height:auto;overflow:visible}
.csf-ovw__key{display:flex;gap:18px;font:600 12px/1.4 var(--gft-font-mono);margin:4px 0 10px;color:#dbe8e0}
.csf-ovw__k::before{content:'';display:inline-block;width:22px;height:0;vertical-align:middle;margin-right:8px;border-top:3px solid #8bd2ac}
.csf-ovw__k--def::before{border-top:2px dashed #c2d4ca}
.csf-ovw__read{font-size:14px;line-height:1.65;color:#dbe8e0;min-height:5em}
.csf-rd-ring,.csf-rd-spoke{fill:none;stroke:#3d6b5f;stroke-width:1}
.csf-rd-default{fill:none;stroke:#c2d4ca;stroke-width:1.5;stroke-dasharray:4 5}
.csf-rd-live{fill:rgba(139,210,172,.28);stroke:#8bd2ac;stroke-width:2.4}
.csf-rd-lab{font:600 14px var(--gft-font-mono);fill:#c9e4d3;letter-spacing:.02em}
.csf-rd-dot{fill:#8bd2ac;stroke:#072d2b;stroke-width:2;transform-box:fill-box;transform-origin:center}
.csf-rd-axis[data-changed] .csf-rd-dot{fill:#f0c87a}
.csf-rd-axis[data-changed] .csf-rd-lab{fill:#f0c87a}
.csf-rd-axis[data-hot] .csf-rd-lab{fill:#fff;font-weight:800}
.csf-rd-axis[data-hot] .csf-rd-dot{scale:1.8}
.csf-rd-axis[data-hot] .csf-rd-spoke{stroke:#f0c87a;stroke-width:2}
[data-filter=changed] .csf-rd-axis:not([data-changed]),[data-filter=fixed] .csf-rd-axis{opacity:.28}
:root[data-m-go] .csf-ledger__tbl:not([data-m-in]) tbody tr:nth-child(even)>*{clip-path:inset(0 0 0 100%)}
:root[data-m-go] .csf-ledger__tbl[data-m-in] tbody tr:nth-child(even)>*{animation-name:csf-row-r}
@keyframes csf-row-r{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}

/* 08 Related: a dark band and a sideways rail of live cards */
.csf-related{background:linear-gradient(180deg,var(--gft-forest),#0a3d3a);color:var(--gft-paper);padding:110px 0 190px;overflow:clip;isolation:isolate;--csf-rule:#2c5750}
.csf-related .csf-kicker{color:#8bd2ac}
.csf-related h2{font-size:clamp(34px,4.4vw,66px);max-width:16ch;color:var(--gft-paper)}
.csf-related__head>p{font-size:16px;line-height:1.8;color:#dbe8e0}
.csf-rail{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:max(36px,calc((100vw - 1320px) / 2));padding-block:16px 30px;scrollbar-color:#8bd2ac #0a3d3a}
.csf-rail:focus-visible{outline:3px solid var(--gft-ochre);outline-offset:-3px}
.csf-cards{list-style:none;margin:0;padding:0 max(36px,calc((100vw - 1320px) / 2));display:flex;gap:26px;align-items:flex-start;width:max-content}
.csf-cards>li{flex:0 0 min(430px,82vw);scroll-snap-align:start;min-width:0}
.csf-cards>li:nth-child(3){flex-basis:min(580px,86vw)}
.csf-cards>li:nth-child(even){margin-top:56px}
.csf-card svg{display:block;width:100%;height:140px;padding:8px}
.csf-card--feat svg{height:200px;padding:12px}
.csf-card__dot{fill:#c98a2b;stroke:#072d2b;stroke-width:2}
.csf-card--live{background:#e9eee8}
.csf-card h3{font-size:20px}
.csf-card p{font-size:15px}
.csf-rail__meta{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:center;margin-top:4px}
.csf-rail__prog{display:block;height:3px;background:#2c5750;overflow:clip}
.csf-rail__prog i{display:block;height:100%;background:#f0c87a;transform-origin:0 50%;transform:scaleX(.08)}
.csf-rail__read{font:500 14px/1.6 var(--gft-font-mono);color:#dbe8e0;min-height:3.4em}
.csf-related__papers{color:#dbe8e0}

/* 09 Closing: tighter, a larger hand-off, and the splash contour field resolving to a flat line */
.csf-closing{background:var(--gft-night);color:var(--gft-paper);padding:150px 0 0;overflow:clip;--csf-rule:#2c5750;--csf-muted:#a9c4b8}
.csf-closing__row{margin-bottom:56px}
.csf-closing button.csf-big{min-height:72px;font-size:18px}
.csf-closing .csf-note{font-size:14px}
.csf-flat{display:block;width:100%;height:120px}
.csf-flat path{fill:none;stroke:#6bb68f;stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:.7}
.csf-flat .csf-flat__end{stroke:#8bd2ac;stroke-width:2;opacity:1}
:root[data-m-go] .csf-closing:not([data-m-in]) .csf-flat{clip-path:inset(0 100% 0 0)}
:root[data-m-go] .csf-closing[data-m-in] .csf-flat{animation-name:csf-flat;animation-duration:1800ms;animation-timing-function:var(--gft-ease-out);animation-delay:400ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes csf-flat{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

@media(max-width:1280px){.csf-hero{grid-template-columns:minmax(240px,320px) auto}.csf-hero .gft-button{grid-column:1/-1;justify-self:start}}
@media(max-width:1050px){
 .csf-evband{padding:56px 0 150px;clip-path:polygon(0 0,100% 0,100% calc(100% - 70px),0 100%)}
 .csf-evband__head{grid-template-columns:1fr;gap:20px}
 .csf-bars button{grid-template-columns:1fr auto;gap:10px 16px}
 .csf-bars__track{grid-column:1/-1;grid-row:2}
 .csf-seam::before{top:-66px;height:150px}.csf-seam::after{top:78px}
 .csf-method{padding:72px 0 0}
 .csf-steps.mw-steps--overlay>.csf-stage.mw-steps__visual{--pw:calc(100cqw - 24px)}
 .csf-stage__panel{left:12px;top:80px;padding:14px 14px 12px;translate:0 0!important}
 .csf-steps.mw-steps--overlay>.csf-steps__track>li,.csf-steps.mw-steps--overlay>.csf-steps__track>li:nth-child(even){justify-items:stretch;align-content:end;padding:0 12px 4svh}
 .csf-step{width:auto}
 .csf-ledger__grid{grid-template-columns:1fr}
 .csf-ovw{position:static}
 .csf-ledger__body{margin-top:-84px}
 .csf-ledger__body::before{top:84px}
 .csf-ledger__band{padding:64px 0 120px}
 .csf-related{padding:72px 0 150px}
 .csf-rail__meta{grid-template-columns:1fr;gap:10px}
 .csf-closing{padding:110px 0 0}
 .csf-cards>li:nth-child(even){margin-top:0}
}
@media(max-width:760px){
 .csf-evband{padding:44px 0 120px}
 .csf-evband h2{font-size:34px}
 .csf-bars button{padding:10px 12px}
 .csf-bars__val{font-size:17px}
 .csf-caps{display:none}
 .csf-step{padding:18px 18px 12px}
 .csf-step h3{font-size:22px;margin-bottom:8px}
 .csf-step p{font-size:15px;line-height:1.6;margin-bottom:8px}
 .csf-related{padding:64px 0 130px}
 .csf-cards>li{flex-basis:84vw}
 .csf-cards{padding-inline:20px}
 .csf-closing{padding:90px 0 0}
 .csf-closing__row{margin-bottom:36px}
 .csf-flat{height:84px}
}

/* ===== Round 9 Fix: First-screen live instrument, granular scroll entrances, 92vw method stage, equation sparklines & pull-figure, connected-threads related stage, and high-contrast console density ===== */

/* First-screen right-half live instrument over the loom structure */
.csf-splash-stage{position:relative;width:100%;height:100%}
.csf-splash-loom{position:absolute;inset:0;width:100%;height:100%}
.csf-sp-svg{display:block;width:100%;height:auto;max-height:100%;overflow:visible;filter:drop-shadow(0 36px 70px rgba(0,0,0,.68))}
.csf-sp-frame{fill:rgba(6,48,46,.94);stroke:#2c5750;stroke-width:1.4}
.csf-sp-top{stroke:#c98a2b;stroke-width:4;fill:none}
.csf-sp-head{font:700 12.5px var(--gft-font-mono);fill:#a7e4c5;letter-spacing:.09em}
.csf-sp-badge{font:700 13px var(--gft-font-mono);fill:#f0c87a;letter-spacing:.05em}
.csf-sp-admit{fill:#6bb68f;opacity:.14}
.csf-sp-unseen{fill:#2c3e7a;opacity:.3}
.csf-sp-grid{stroke:#3d6b5f;stroke-width:1;opacity:.6;fill:none}
.csf-sp-tk{font:600 12.5px var(--gft-font-mono);fill:#d8ece2}
.csf-sp-fan2{fill:#6bb68f;opacity:.18}
.csf-sp-fan1{fill:#6bb68f;opacity:.32}
.csf-sp-past{stroke:#7aa194;stroke-width:1.7;fill:none}
.csf-sp-train{stroke:#f6f4ef;stroke-width:2.6;fill:none}
.csf-sp-act{stroke:#c3d2ee;stroke-width:2.1;stroke-dasharray:3 5;fill:none}
.csf-sp-fc{stroke:#8bd2ac;stroke-width:3.4;fill:none}
.csf-sp-origin{stroke:#f0c87a;stroke-width:1.6;stroke-dasharray:4 5;fill:none}
.csf-sp-lab{font:700 12px var(--gft-font-mono);fill:#d8ece2;letter-spacing:.06em}
.csf-sp-lab--hi{fill:#f0c87a}
.csf-sp-div{stroke:#2c5750;stroke-width:1.2;fill:none}
.csf-sp-err{fill:none;stroke-linecap:round;stroke-linejoin:round}
.csf-sp-err--naive{stroke:#f0c87a;stroke-width:2.1;stroke-dasharray:7 4;opacity:.9}
.csf-sp-err--moving{stroke:#c3d2ee;stroke-width:2.1;stroke-dasharray:2 4;opacity:.92}
.csf-sp-err--holt{stroke:#8bd2ac;stroke-width:3.2}
.csf-sp-cur{stroke:#f6f4ef;stroke-width:1.5;stroke-dasharray:3 4;fill:none}
.csf-sp-dot--naive{fill:#f0c87a;stroke:#06302e;stroke-width:2}
.csf-sp-dot--moving{fill:#c3d2ee;stroke:#06302e;stroke-width:2}
.csf-sp-dot--holt{fill:#8bd2ac;stroke:#06302e;stroke-width:2}
@media(min-width:1051px){
 [data-splash=cold-start-forecast] .gft-splash__structure{inset:0;z-index:0}
 [data-splash=cold-start-forecast] .gft-splash__structure::after{display:none}
 .csf-splash-loom{inset:0 -8% 0 18%;opacity:.48}
 .csf-splash-loom::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#072d2b 0%,#072d2be0 30%,#072d2b00 66%)}
 .csf-splash-inst{position:absolute;right:max(36px,calc((100vw - 1320px) / 2));top:66px;bottom:76px;width:min(46vw,636px);display:flex;align-items:center;z-index:2}
 [data-splash=cold-start-forecast] .gft-splash__content>:is(h1,.gft-splash__lede){max-width:min(45vw,580px)}
 [data-splash=cold-start-forecast] .csf-hero{max-width:min(46vw,600px);grid-template-columns:minmax(220px,1fr) auto;gap:14px 28px}
 [data-splash=cold-start-forecast] .csf-hero .gft-button{grid-column:1/-1;justify-self:start}
}
@media(max-width:1050px){
 .csf-splash-inst{display:none}
}

/* Defect 5: Console density, spacing, slider track visibility, and high-contrast muted labels */
.csf-sec{--csf-muted:#354e47;--csf-axis:#243e35}
.csf-bench,.csf-evband,.csf-cost,.csf-interlude,.csf-eqs,.csf-ledger__band,.csf-ovw,.csf-related,.csf-closing{--csf-muted:#cfe6dc;--csf-axis:#d8ece2}
.csf-kicker{font:600 12.5px/1.55 var(--gft-font-mono);letter-spacing:.13em}
.csf-note{font-size:14px;line-height:1.72}
.csf-figure-note{font-size:13.5px;line-height:1.72;opacity:.94}
.csf-chart svg text,.csf-sec .csf-axis-t{font:600 13.5px var(--gft-font-mono);fill:var(--csf-axis)}
.csf-console{padding:26px 24px 24px;border-color:#2c6b62;box-shadow:0 30px 60px -36px rgba(0,0,0,.6)}
.csf-console legend{font-size:23px;margin-bottom:10px}
.csf-console .csf-note{color:#d4ebe0;font-size:13.5px;line-height:1.68}
.csf-preset{font-size:14px;font-weight:700;color:#f6f4ef;margin:18px 0 8px}
.csf-preset select{font-size:13.5px;border-color:#3d7b6d}
.csf-band summary{font-size:13.5px;padding:10px 0;color:#9ee2be}
.csf-band summary small{font-size:12.5px;color:#d4ebe0}
.csf-field{padding:14px 0 12px}
.csf-field>label{font-size:14.5px;font-weight:700;color:#f6f4ef;margin-bottom:4px}
.csf-field>label>span{font:600 12.5px/1.5 var(--gft-font-mono);color:#d4ebe0}
.csf-pair input[type=number]{width:90px;font-size:15px;font-weight:700;border-color:#3d7b6d}
.csf-actions{gap:10px;margin-top:18px}
.csf-actions button{font-size:12.5px;padding:11px 12px}
.csf-hero__read small,.csf-readout small,.csf-lab small{font-size:12.5px;color:#d4ebe0}
.csf-ab small{font-size:12.5px}
.csf-range__axis{font-size:13px;color:#d8ece2}

/* Defect 3: 92vw side-by-side method stage + four distinct chart transformations */
.csf-method{padding:88px 0 0}
.csf-method__head h2{margin-bottom:32px}
.csf-stepnav{display:flex;gap:5px;flex-wrap:nowrap;margin-left:auto;margin-right:12px}
.csf-stepnav button{min-height:32px;padding:4px 9px;font:700 12px/1.2 var(--gft-font-mono);border:1px solid #3d7b6d;background:rgba(255,255,255,.04);color:#d8ece2;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.csf-stepnav button[data-active]{background:#f0c87a;color:var(--gft-night);border-color:#f0c87a}
.csf-stage .csf-st-tag,.csf-stage .csf-st-lab{font:700 12.5px var(--gft-font-mono);fill:#d8ece2;letter-spacing:.05em}
.csf-stage .csf-st-lab--hi{fill:#f0c87a}
.csf-stage .csf-st-sub{font:500 12.5px var(--gft-font-mono);fill:#cfe6dc}
.csf-stage .csf-st-big{font:800 22px var(--gft-font-display);fill:#f6f4ef;letter-spacing:-.03em}
.csf-stage .csf-st-box{fill:rgba(6,48,46,.92);stroke:#2c5750;stroke-width:1.2}
.csf-stage .csf-st-box--hi{fill:rgba(201,138,43,.14);stroke:#f0c87a;stroke-width:1.4}
.csf-stage .csf-st-badge{fill:#f0c87a;stroke:#072d2b;stroke-width:1.5}
.csf-stage .csf-st-badge--mint{fill:#8bd2ac}
.csf-stage .csf-st-btxt{font:700 12px var(--gft-font-mono);fill:#072d2b;letter-spacing:.06em}
.csf-stage .csf-st-btxt--dark{fill:#041f1d}
.csf-stage .csf-st-level{stroke:#c3d2ee;stroke-width:2.2;stroke-dasharray:6 4;fill:none}
.csf-stage .csf-st-wave{stroke:#8bd2ac;stroke-width:3;fill:none}
.csf-stage .csf-st-fan2{fill:#6bb68f;opacity:.12}
.csf-stage .csf-st-stock{stroke:#f0c87a;stroke-width:2.2;stroke-dasharray:8 5;fill:none}
@media(min-width:1051px){
 .csf-steps.mw-steps--overlay>.csf-stage.mw-steps__visual{--pw:min(58cqw,850px)}
 .csf-stage__panel{left:4cqw;top:max(84px,9svh);width:var(--pw);padding:20px 24px 20px;translate:0 0!important}
 .csf-steps.mw-steps--overlay>.csf-steps__track>li,.csf-steps.mw-steps--overlay>.csf-steps__track>li:nth-child(even){min-height:78svh;padding-block:8svh;padding-inline:4cqw;justify-items:end;align-content:center}
 .csf-step{width:min(32cqw,450px);background:rgba(4,31,29,.97);border-color:#3d7b6d;padding:26px 26px 22px}
}
@keyframes csf-step-group{from{opacity:.22;clip-path:inset(0 72% 0 0);transform:translateY(14px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
:root[data-m-go] .csf-steps[data-step="0"] g[data-mw-show="0"],
:root[data-m-go] .csf-steps[data-step="1"] g[data-mw-show="1"],
:root[data-m-go] .csf-steps[data-step="2"] g[data-mw-show="2"],
:root[data-m-go] .csf-steps[data-step="3"] g[data-mw-show="3"]{animation-name:csf-step-group;animation-duration:920ms;animation-timing-function:cubic-bezier(.35,0,.2,1);animation-delay:80ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .csf-steps[data-step="1"] .csf-st-wave,
:root[data-m-go] .csf-steps[data-step="2"] .csf-st-wave,
:root[data-m-go] .csf-steps[data-step="2"] .csf-st-level{animation-name:csf-st-draw;animation-duration:960ms;animation-timing-function:cubic-bezier(.35,0,.2,1);animation-delay:90ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .csf-steps[data-step="3"] .csf-st-stock{animation-name:csf-st-wipe-r;animation-duration:940ms;animation-timing-function:cubic-bezier(.35,0,.2,1);animation-delay:110ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}

/* Defect 4: Equation parameter-sensitivity sparklines, live badges, and bottom pull-figure reconciliation bar */
.csf-eqs .csf-eqrow{grid-template-columns:120px minmax(0,1fr) 120px;gap:16px;align-items:center;padding:14px 16px;background:transparent;border-left-color:transparent}
.csf-eqs .csf-eqrow:is(:hover,[data-active]){background:#0a3d3a;border-left-color:#f0c87a}
.csf-eq__meta{display:grid;gap:4px;align-content:center}
.csf-eq__name{font:700 12.5px/1.3 var(--gft-font-mono);color:#9ee2be}
.csf-eqrow[data-active] .csf-eq__name{color:#f0c87a}
.csf-eq__badge{font:600 12px/1.3 var(--gft-font-mono);color:#d8ece2;background:rgba(255,255,255,.06);border:1px solid #2c5750;padding:2px 6px;justify-self:start;white-space:nowrap}
.csf-eq__sparkwrap{display:block;width:116px;height:28px}
.csf-eq__spark{display:block;width:100%;height:100%;overflow:visible}
.csf-eq__sp-bg{stroke:#2c5750;stroke-width:1;stroke-dasharray:2 3;fill:none}
.csf-eq__sp-ln{stroke:#8bd2ac;stroke-width:2.2;fill:none}
.csf-eq__sp-dot{fill:#f0c87a;stroke:#041f1d;stroke-width:1.5}
.csf-eqrow[data-active] .csf-eq__sp-ln{stroke:#f0c87a;stroke-width:2.6}
.csf-eqs__foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:36px;margin-top:36px;align-items:start}
.csf-eqs__pull{background:#06302e;border:1px solid #2c5750;border-left:4px solid #f0c87a;padding:22px 24px;display:grid;gap:6px}
.csf-eqs__pull .csf-kicker{margin-bottom:2px}
.csf-eqs__pull output{font:800 clamp(30px,3.2vw,44px)/1.1 var(--gft-font-display);letter-spacing:-.04em;color:#f0c87a}
.csf-eqs__pull p{font-size:14.5px;line-height:1.7;color:#dbe8e0}
.csf-eqs__meta{display:grid;gap:10px}
.csf-eqs__meta .csf-note{color:#d4ebe0;font-size:14px}
.csf-eqs__more{margin-top:4px;border-top-color:#2c5750}
.csf-eqs__more p+p{margin-top:10px}

/* Defect 2: Operable Connected-Threads & Morphing Preview Stage + 4-card asymmetric fan-in grid */
.csf-relstage{background:#06302e;border:1px solid #2c5750;border-top:4px solid var(--gft-ochre);padding:20px 24px 18px;margin-bottom:32px;box-shadow:0 36px 70px -40px rgba(0,0,0,.65)}
.csf-relstage__bar{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid #2c5750}
.csf-relstage__tabs{display:flex;gap:8px;flex-wrap:wrap}
.csf-relstage__tabs button{min-height:40px;padding:8px 13px;font:700 12px/1.3 var(--gft-font-mono);border:1px solid #3d7b6d;background:rgba(255,255,255,.04);color:#d8ece2}
.csf-relstage__tabs button:is([data-active],[aria-pressed=true]){background:#f0c87a;color:var(--gft-night);border-color:#f0c87a}
.csf-relstage__scrub{min-width:260px;flex:0 1 320px;display:grid;gap:4px}
.csf-relstage__scrub label{display:flex;justify-content:space-between;gap:12px;font:700 12px/1.4 var(--gft-font-mono);text-transform:uppercase;letter-spacing:.08em;color:#9ee2be}
.csf-relstage__scrub output{color:#f0c87a}
.csf-relstage__scrub input[type=range]{width:100%;min-height:38px;accent-color:#f0c87a;margin:0;cursor:ew-resize}
.csf-relstage__svg{margin-top:14px}
.csf-rel-svg{display:block;width:100%;height:auto;overflow:visible}
.csf-rel-bench{fill:#0a3d3a;stroke:#3d7b6d;stroke-width:1.4}
.csf-rel-bhead{font:700 12px var(--gft-font-mono);fill:#9ee2be;letter-spacing:.08em}
.csf-rel-bbig{font:800 24px var(--gft-font-display);fill:#f0c87a;letter-spacing:-.03em}
.csf-rel-bsub{font:600 12.5px var(--gft-font-mono);fill:#d8ece2}
.csf-rel-thread{stroke:#467367;stroke-width:1.8;fill:none;transition:stroke 300ms,stroke-width 300ms}
.csf-rel-node{fill:#467367;stroke:#06302e;stroke-width:2;transition:fill 300ms,r 300ms}
.csf-rel-nlab{font:600 12px var(--gft-font-mono);fill:#b8d6c9;letter-spacing:.04em}
.csf-relstage[data-rel-active="0"] [data-rel-wire="0"] .csf-rel-thread,
.csf-relstage[data-rel-active="1"] [data-rel-wire="1"] .csf-rel-thread,
.csf-relstage[data-rel-active="2"] [data-rel-wire="2"] .csf-rel-thread,
.csf-relstage[data-rel-active="3"] [data-rel-wire="3"] .csf-rel-thread{stroke:#f0c87a;stroke-width:3.2}
.csf-relstage[data-rel-active="0"] [data-rel-wire="0"] .csf-rel-node,
.csf-relstage[data-rel-active="1"] [data-rel-wire="1"] .csf-rel-node,
.csf-relstage[data-rel-active="2"] [data-rel-wire="2"] .csf-rel-node,
.csf-relstage[data-rel-active="3"] [data-rel-wire="3"] .csf-rel-node{fill:#f0c87a}
.csf-relstage[data-rel-active="0"] [data-rel-wire="0"] .csf-rel-nlab,
.csf-relstage[data-rel-active="1"] [data-rel-wire="1"] .csf-rel-nlab,
.csf-relstage[data-rel-active="2"] [data-rel-wire="2"] .csf-rel-nlab,
.csf-relstage[data-rel-active="3"] [data-rel-wire="3"] .csf-rel-nlab{fill:#f0c87a;font-weight:700}
.csf-rel-layer{opacity:0;pointer-events:none;transition:opacity 360ms var(--gft-ease-out)}
.csf-relstage[data-rel-active="0"] [data-rel-layer="0"],
.csf-relstage[data-rel-active="1"] [data-rel-layer="1"],
.csf-relstage[data-rel-active="2"] [data-rel-layer="2"],
.csf-relstage[data-rel-active="3"] [data-rel-layer="3"]{opacity:1}
.csf-rel-bar{fill:#3d6b5f}
.csf-rel-bar--hi{fill:#c98a2b}
.csf-related .csf-card:not(.csf-card--feat) .csf-kicker{color:#1b4d3b}
.csf-card__live{display:inline-flex;gap:6px;align-items:baseline;margin-top:6px;padding:5px 10px;background:var(--gft-night);color:#f0c87a;font:700 12.5px/1.3 var(--gft-font-mono)}
.csf-cards>li[data-active] .csf-card{border-color:#f0c87a;box-shadow:0 32px 60px -28px rgba(0,0,0,.65)}
@media(min-width:1051px){
 .csf-rail{overflow:visible;padding-block:8px 24px}
 .csf-cards{width:min(1320px,calc(100% - 72px));margin-inline:auto;padding:0;display:grid;grid-template-columns:1.05fr .95fr 1.2fr .95fr;gap:22px;align-items:start}
 .csf-cards>li{flex:initial;width:auto}
 .csf-cards>li:nth-child(2){margin-top:28px}
 .csf-cards>li:nth-child(4){margin-top:44px}
}
@media(max-width:1050px){
 .csf-rail{overflow:visible;padding-block:8px 20px}
 .csf-cards{width:calc(100% - 40px);margin-inline:auto;padding:0;display:grid;grid-template-columns:1fr;gap:18px}
 .csf-cards>li{flex:initial;width:auto}
}

/* Defect 1: Granular per-step scroll entrance choreography (mid @ 250ms vs settled @ 1400ms) */
@keyframes csf-ent-wipe{from{opacity:.24;clip-path:inset(0 78% 0 0);transform:translateX(-28px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
@keyframes csf-ent-rise{from{opacity:.24;clip-path:inset(0 0 46% 0);transform:translateY(48px) scale(.96)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
@keyframes csf-ent-slide{from{opacity:.24;clip-path:inset(0 0 0 64%);transform:translateX(48px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
@keyframes csf-ent-draw{from{opacity:.26;clip-path:inset(0 72% 0 0);transform:translateY(34px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
@keyframes csf-ent-bar{from{transform:scaleX(.08)}}
@keyframes csf-ent-eqrow{from{opacity:.24;clip-path:inset(0 68% 0 0);transform:translateX(44px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
@keyframes csf-ent-card{from{opacity:.24;clip-path:inset(0 0 52% 0);transform:translateY(56px) scale(.94)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}

:root[data-m-go] [data-csf-enter="wipe-title"]:not([data-csf-in]),
:root[data-m-go] [data-csf-enter="wipe"]:not([data-csf-in]),
:root[data-m-go] [data-csf-enter="rows"]:not([data-csf-in]){opacity:.24;clip-path:inset(0 78% 0 0);transform:translateX(-28px)}
:root[data-m-go] [data-csf-enter="rise"]:not([data-csf-in]),
:root[data-m-go] [data-csf-enter="fade-up"]:not([data-csf-in]),
:root[data-m-go] [data-csf-enter="bars"]:not([data-csf-in]){opacity:.24;clip-path:inset(0 0 46% 0);transform:translateY(48px) scale(.96)}
:root[data-m-go] [data-csf-enter="slide"]:not([data-csf-in]){opacity:.24;clip-path:inset(0 0 0 64%);transform:translateX(48px)}
:root[data-m-go] [data-csf-enter="draw"]:not([data-csf-in]){opacity:.26;clip-path:inset(0 72% 0 0);transform:translateY(34px)}
:root[data-m-go] [data-csf-enter="eq-row"]:not([data-csf-in]){opacity:.24;clip-path:inset(0 68% 0 0);transform:translateX(44px)}
:root[data-m-go] [data-csf-enter="cards"]:not([data-csf-in])>li{opacity:.24;clip-path:inset(0 0 52% 0);transform:translateY(56px) scale(.94)}

:root[data-m-go] [data-csf-enter="wipe-title"][data-csf-in],
:root[data-m-go] [data-csf-enter="wipe"][data-csf-in],
:root[data-m-go] [data-csf-enter="rows"][data-csf-in]{animation-name:csf-ent-wipe;animation-duration:920ms;animation-timing-function:cubic-bezier(.35,0,.2,1);animation-delay:80ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] [data-csf-enter="rise"][data-csf-in],
:root[data-m-go] [data-csf-enter="fade-up"][data-csf-in],
:root[data-m-go] [data-csf-enter="bars"][data-csf-in]{animation-name:csf-ent-rise;animation-duration:940ms;animation-timing-function:cubic-bezier(.35,0,.2,1);animation-delay:90ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] [data-csf-enter="slide"][data-csf-in]{animation-name:csf-ent-slide;animation-duration:920ms;animation-timing-function:cubic-bezier(.35,0,.2,1);animation-delay:90ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] [data-csf-enter="draw"][data-csf-in]{animation-name:csf-ent-draw;animation-duration:960ms;animation-timing-function:cubic-bezier(.35,0,.2,1);animation-delay:80ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] [data-csf-enter="eq-row"][data-csf-in]{animation-name:csf-ent-eqrow;animation-duration:900ms;animation-timing-function:cubic-bezier(.35,0,.2,1);animation-delay:75ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] [data-csf-enter="eq-row"][data-csf-in] .csf-eq__sp-ln,
:root[data-m-go] [data-csf-enter="draw"][data-csf-in] svg path[pathLength="1"]{animation-name:csf-st-draw;animation-duration:980ms;animation-timing-function:cubic-bezier(.35,0,.2,1);animation-delay:90ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] [data-csf-enter="bars"][data-csf-in] :is(.csf-bars__fill,.csf-range__bar){transform-origin:0 50%;animation-name:csf-ent-bar;animation-duration:960ms;animation-timing-function:cubic-bezier(.35,0,.2,1);animation-delay:calc(90ms + var(--i,0) * 80ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] [data-csf-enter="cards"][data-csf-in]>li{animation-name:csf-ent-card;animation-duration:940ms;animation-timing-function:cubic-bezier(.35,0,.2,1);animation-delay:85ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] [data-csf-enter="cards"][data-csf-in]>li:nth-child(2){animation-delay:140ms}
:root[data-m-go] [data-csf-enter="cards"][data-csf-in]>li:nth-child(3){animation-delay:195ms}
:root[data-m-go] [data-csf-enter="cards"][data-csf-in]>li:nth-child(4){animation-delay:250ms}

@media(max-width:1050px){
 .csf-eqs__foot{grid-template-columns:1fr;gap:22px}
 .csf-stepnav{display:none}
}
@media(max-width:760px){
 .csf-eqs .csf-eqrow{grid-template-columns:1fr auto;gap:8px 12px;padding:14px 12px}
 .csf-eqs .csf-eqrow code{grid-column:1/-1;order:3}
 .csf-relstage{padding:16px 14px}
 .csf-relstage__bar{flex-direction:column;align-items:stretch;gap:14px}
 .csf-relstage__scrub{min-width:0;flex:1}
}

/* Ledger text stays readable; only its arriving measurement rule draws. */
.csf-table--ledger [data-csf-enter="ledger-row"] th{position:relative}
.csf-table--ledger [data-csf-enter="ledger-row"] th::after{content:'';position:absolute;inset:auto 14px 0;height:2px;background:#3f8f6b;transform-origin:left center}
:root[data-m-go] [data-csf-enter="ledger-row"]:not([data-csf-in]) th::after{transform:scaleX(0)}
:root[data-m-go] [data-csf-enter="ledger-row"][data-csf-in] th::after{animation-name:csf-ledger-rule;animation-duration:900ms;animation-timing-function:var(--gft-ease-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes csf-ledger-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
