/* /capabilities/demand-and-supply-chain-intelligence/ · choreography sheet control/choreo/capabilities__demand-and-supply-chain-intelligence.md
   One fan and its ochre gate. Acts: night (splash, bench) / sage, paper (evidence, sequence) / night, forest, night.
   Stability: pre-states only under :root[data-m-go][data-cbd-js]; transform, opacity, clip-path only; one sticky pin;
   scroll-driven rules as longhands on their own elements; every state of a control reserves its space. */

/* ---------- grounds ---------- */
.cbd-sec{position:relative;isolation:isolate;overflow-x:clip;view-timeline-name:--cbd-sec;view-timeline-axis:block;padding-block:clamp(72px,9vh,112px)}
.cbd-sec--night{background-color:#072d2b;background-image:linear-gradient(#b4d4c50b 1px,transparent 1px),linear-gradient(90deg,#b4d4c50b 1px,transparent 1px),radial-gradient(ellipse at 78% 30%,#0e4d4a 0%,#072d2b00 60%);background-size:42px 42px,42px 42px,100% 100%;color:#f6f4ef}
.cbd-sec--sage{background:#e2ebe6;color:#25302e}
.cbd-sec--paper{background-color:#f6f4ef;background-image:linear-gradient(#3f8f6b17 1px,transparent 1px),linear-gradient(90deg,#3f8f6b17 1px,transparent 1px);background-size:32px 32px;color:#25302e}
.cbd-sec--forest{background-color:#0e4d4a;background-image:linear-gradient(#b4d4c50d 1px,transparent 1px),linear-gradient(90deg,#b4d4c50d 1px,transparent 1px);background-size:36px 36px;color:#f6f4ef}
.cbd-sec--ev{padding-bottom:56px}
.cbd-sec--seq{padding:0}
.cbd-sec--int{padding:0;background-image:linear-gradient(#b4d4c50b 1px,transparent 1px),linear-gradient(90deg,#b4d4c50b 1px,transparent 1px),radial-gradient(ellipse 62% 48% at 74% 58%,#0e4d4a 0%,#072d2b00 100%)}
.cbd-wrap,.cbd-bench__wrap,.cbd-ev,.cbd-op,.cbd-pg,.cbd-cl{width:min(1440px,calc(100% - 96px));margin-inline:auto;position:relative}

/* ---------- atoms ---------- */
.cbd-head h2{font-size:clamp(2.3rem,4.1vw,4.3rem);line-height:1.02;letter-spacing:-.05em;max-width:17ch}
.cbd-head__eb{margin-bottom:18px;color:#3d6b5b}
.cbd-sec--night .cbd-head__eb,.cbd-sec--forest .cbd-head__eb{color:#9fd9bb}
.cbd-head__lede{margin-top:18px;font-size:clamp(17px,1.35vw,20px);line-height:1.6;max-width:44ch}
.cbd-sec--night .cbd-head__lede,.cbd-sec--forest .cbd-head__lede{color:#e8f0ec}
.cbd-kicker{font:600 13px/1.5 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#3d6b5b}
.cbd-sec--night .cbd-kicker,.cbd-sec--forest .cbd-kicker{color:#9fd9bb}
.cbd-note{font:13px/1.7 var(--gft-font-mono);letter-spacing:.02em;color:#c9dbd1}
.cbd-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#c98a2b;flex:none}
.cbd-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;font:600 13px/1.4 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;background:#072d2bdb;color:#e8f0ec;border:1px solid #6bb68f66}
.cbd-chip small{font-size:13px;color:#f0c27a;letter-spacing:.06em}
.cbd-svgl{font-family:var(--gft-font-mono)}
.cbd-seg{--line:#0e4d4a66;--fg:#25302e;--on-bg:#072d2b;--on-fg:#f6f4ef;--k:#3d6b5b;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0;min-width:0}
.cbd-sec--night .cbd-seg,.cbd-sec--forest .cbd-seg{--line:#9fd9bb80;--fg:#e8f0ec;--on-bg:#9fd9bb;--on-fg:#072d2b;--k:#9fd9bb}
.cbd-seg legend{margin:0 0 10px;padding:0;font:600 13px/1.4 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--k)}
.cbd-seg label{position:relative;flex:1 1 auto;cursor:pointer}
.cbd-seg input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cbd-seg span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border:1px solid var(--line);color:var(--fg);font:650 15px/1.2 var(--gft-font-display);text-align:center;transition:background-color 220ms,color 220ms,border-color 220ms}
.cbd-seg label:hover span{border-color:var(--fg)}
.cbd-seg label:has(input:checked) span{background:var(--on-bg);border-color:var(--on-bg);color:var(--on-fg)}
.cbd-seg label:has(input:focus-visible) span,.cbd-tabs label:has(input:focus-visible) span,.cbd-switch:has(input:focus-visible) .cbd-switch__t{outline:3px solid #c98a2b;outline-offset:3px}
.cbd-seg--mini span{min-height:44px;padding:8px 14px}
.cbd-tabs{display:flex;gap:0;margin:0;padding:0;border:0;border-bottom:1px solid #9fd9bb59;min-width:0}
.cbd-tabs legend{font:600 13px/1.4 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#9fd9bb;margin-bottom:10px;padding:0}
.cbd-tabs label{position:relative;cursor:pointer;flex:1 1 0}
.cbd-tabs input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cbd-tabs span{display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px 18px;font:700 16px/1.2 var(--gft-font-display);color:#e8f0ec;border-bottom:3px solid transparent;transition:border-color 220ms,color 220ms}
.cbd-tabs label:has(input:checked) span{border-bottom-color:#e4a64a;color:#fff}
.cbd-q__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.cbd-q__row label{font:600 13px/1.4 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--k,#9fd9bb)}
.cbd-q__row output{font:800 28px/1 var(--gft-font-display);letter-spacing:-.03em;color:#f0c27a;font-variant-numeric:tabular-nums}
.cbd-q--ink .cbd-q__row label{color:#3d6b5b}
.cbd-q--ink .cbd-q__row output{color:#7a4d0e}
.cbd-range{width:100%;height:44px;margin:0;background:none;accent-color:#c98a2b;cursor:pointer}
.cbd-q__ticks{display:flex;justify-content:space-between;list-style:none;margin:0;padding:0;font:13px/1 var(--gft-font-mono);letter-spacing:.06em;color:#c9dbd1}
.cbd-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border-top:1px solid #9fd9bb4d}
.cbd-nums>div{padding:14px 14px 14px 0;border-bottom:1px solid #9fd9bb33}
.cbd-nums>div+div{padding-left:14px}
.cbd-nums>div:nth-child(3n+1){padding-left:0}
.cbd-nums dt{font:600 13px/1.35 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#9fd9bb}
.cbd-nums dd{margin:6px 0 0;display:flex;flex-direction:column;gap:2px}
.cbd-nums b{font:800 28px/1.05 var(--gft-font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#fff}
.cbd-nums small{font:13px/1.4 var(--gft-font-mono);color:#c9dbd1}
.cbd-step-q{display:inline-flex;align-items:center;gap:10px}
.cbd-step-q__k{font:600 13px/1.4 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#9fd9bb;margin-right:4px}
.cbd-step-q button{width:44px;height:44px;border:1px solid currentColor;background:transparent;font:700 22px/1 var(--gft-font-display);display:inline-flex;align-items:center;justify-content:center}
.cbd-step-q output{min-width:3.4ch;text-align:center;font:800 26px/1 var(--gft-font-display);font-variant-numeric:tabular-nums;color:#f0c27a}
.cbd-switch{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;font:650 16px/1.2 var(--gft-font-display);color:#e8f0ec}
.cbd-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cbd-switch__t{position:relative;width:52px;height:28px;border:1px solid #9fd9bb;border-radius:14px;flex:none}
.cbd-switch__t::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#9fd9bb;transition:transform 260ms var(--gft-ease-out)}
.cbd-switch:has(input:checked) .cbd-switch__t::after{transform:translateX(24px);background:#f0c27a}
.cbd-mark{font:inherit;color:inherit;background:transparent;border:0;padding:0;text-align:left;cursor:pointer}

/* fan ink: night and forest grounds */
.cbd-b90{fill:#6bb68f;fill-opacity:.2}
.cbd-b75{fill:#3a4f9a;fill-opacity:.42}
.cbd-edge{fill:none;stroke:#9fd9bb;stroke-width:1.6;stroke-dasharray:3 8;stroke-opacity:.85}
.cbd-central{fill:none;stroke:#f6f4ef;stroke-width:3.5;stroke-linecap:round}
/* fan ink: sage and paper grounds (forest and leaf ink, indigo core) */
.cbd-b90--ink{fill:#3f8f6b;fill-opacity:.16}
.cbd-b75--ink{fill:#2c3e7a;fill-opacity:.16}
.cbd-edge--ink{stroke:#0e4d4a;stroke-opacity:.8}
.cbd-central--ink{stroke:#0e4d4a}
.cbd-ring{fill:none;stroke:#f0c27a;stroke-width:2;transform-box:fill-box;transform-origin:center}
.cbd-ring--ink{stroke:#a8691a}

/* ---------- live loops: on screen only (the figure carries data-m-on) ---------- */
:root[data-m-go] [data-m-on] .cbd-ring{animation-name:cbd-pulse;animation-duration:2.4s;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-direction:normal}
@keyframes cbd-pulse{0%{opacity:.9;transform:scale(.8)}100%{opacity:0;transform:scale(1.7)}}

/* ---------- #1 splash ---------- */
[data-splash='caps-b-demand']{min-height:calc(87svh - 88px)}
[data-splash='caps-b-demand'] .gft-splash__structure{inset:0}
[data-splash='caps-b-demand'] .gft-splash__structure::after{background:linear-gradient(90deg,#072d2b 0%,#072d2bd9 26%,#072d2b00 46%)}
[data-splash='caps-b-demand'] h1{font-size:clamp(3.6rem,min(6.4vw,10svh),6.8rem);max-width:11ch}
[data-splash='caps-b-demand'] .gft-splash__lede{font-size:clamp(17px,1.3vw,19px);color:#e8f0ec}
[data-splash='caps-b-demand'] .gft-splash__data{font-size:13px;color:#c9dbd1}
[data-splash='caps-b-demand'] .gft-splash__position{font-size:13px;color:#c9dbd1}
[data-splash='caps-b-demand'] .gft-splash__caption{font-size:13px;color:#c9dbd1}
[data-splash='caps-b-demand'] .gft-splash__cue{font-size:14px}
.cbd-sfan{position:absolute;right:-6%;bottom:-9%;width:70%;aspect-ratio:1000/640;margin:0;overflow-anchor:none}
.cbd-sfan svg{display:block;width:100%;height:100%;overflow:visible}
.cbd-sfan__labels{list-style:none;margin:0;padding:0}
.cbd-sfan__l{position:absolute;white-space:nowrap;font:600 14px/1 var(--gft-font-mono);letter-spacing:.12em;text-transform:uppercase;color:#e8f0ec;padding:6px 8px;background:#072d2bb8}
.cbd-sfan__l--gate{color:#f0c27a;border-left:2px solid #c98a2b}
.cbd-sfan__pts circle{fill:#f6f4ef;fill-opacity:.55}
.cbd-sfan__bands,.cbd-sfan__outer{transform-box:view-box;transform-origin:0 0}
.cbd-sfan__outer{transition:transform 300ms var(--gft-ease-out)}
.cbd-sfan.is-near .cbd-sfan__outer{transform:matrix(1,.00989,0,1.06,0,-27.28)}
:root[data-m-go] .cbd-sfan__grid{animation-name:cbd-fade;animation-duration:300ms;animation-timing-function:linear;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .cbd-sfan__obs{animation-name:cbd-clipr;animation-duration:300ms;animation-delay:120ms;animation-timing-function:var(--gft-ease-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .cbd-sfan__bandsw{animation-name:cbd-clipr;animation-duration:640ms;animation-delay:330ms;animation-timing-function:var(--gft-ease-in-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .cbd-sfan__central{animation-name:cbd-clipr;animation-duration:640ms;animation-delay:410ms;animation-timing-function:var(--gft-ease-in-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .cbd-sfan__gate{animation-name:cbd-drop;animation-duration:260ms;animation-delay:880ms;animation-timing-function:var(--gft-ease-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .cbd-sfan__labels{animation-name:cbd-fade;animation-duration:400ms;animation-delay:700ms;animation-timing-function:linear;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .cbd-sfan[data-m-on] .cbd-sfan__bands{animation-name:cbd-sf-breathe;animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] .cbd-sfan[data-m-on] .cbd-sfan__pts circle{animation-name:cbd-drift;animation-duration:6s;animation-timing-function:cubic-bezier(.3,.6,.3,1);animation-delay:calc(var(--d) * -1);animation-iteration-count:infinite;animation-direction:normal}
@keyframes cbd-sf-breathe{from{transform:matrix(1,-.00989,0,.94,0,27.28)}to{transform:matrix(1,.00989,0,1.06,0,-27.28)}}
@keyframes cbd-drift{0%{transform:translate(var(--dx),var(--dy));opacity:0}18%{opacity:1}70%{transform:none;opacity:1}100%{transform:none;opacity:0}}
@keyframes cbd-fade{from{opacity:0}}
@keyframes cbd-clipr{from{clip-path:inset(-4% 100% -4% 0)}to{clip-path:inset(-4% 0 -4% 0)}}
@keyframes cbd-drop{from{opacity:0;transform:translateY(-70px)}}
@supports (animation-timeline: scroll()){
 :root[data-m-go] .cbd-sfan__gatew{animation-name:cbd-detach;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range-start:140px;animation-range-end:320px}
}
@keyframes cbd-detach{from{opacity:1}to{opacity:0}}

/* ---------- hand-over carriers: each crosses a seam on the receiving block's view timeline ---------- */
.cbd-cx{position:absolute;left:var(--x,0);top:var(--y,0);width:0;height:0;pointer-events:none;z-index:-1;overflow-anchor:none}
.cbd-cx--drop,.cbd-cx--tip,.cbd-cx--node{z-index:6}
.cbd-cx i{position:absolute;display:block;opacity:0}
.cbd-cx--drop i,.cbd-cx--tip i{left:-11px;top:-11px;width:22px;height:22px;border-radius:50%;background:#072d2b;border:3.5px solid #e4a64a;box-shadow:0 0 0 6px #c98a2b33}
.cbd-cx--node i{left:-12px;top:-12px;width:24px;height:24px;background:#c98a2b;transform-origin:center;rotate:45deg}
.cbd-cx--thr i{left:0;top:-2px;width:150px;height:4px;background:linear-gradient(90deg,#9fd9bb,#3f8f6b 60%,#0e4d4a);transform-origin:0 50%;--r0:90deg;box-shadow:0 0 0 1px #072d2b33}
.cbd-cx--turn i{left:-16px;top:-1px;width:32px;height:3px;background:repeating-linear-gradient(90deg,#e4a64a 0 10px,transparent 10px 18px);--r0:90deg}
.cbd-cx--lay i{left:-34px;top:-110px;width:68px;height:220px;--r0:-90deg}
.cbd-cx--lay svg{width:100%;height:100%;overflow:visible}
.cbd-cx--lay path{fill:#6bb68f33;stroke:#9fd9bb;stroke-width:3}
@supports (animation-timeline: view()){
 :root[data-m-go] .cbd-cx[data-cbd-ok] i{animation-name:cbd-carry;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--cbd-sec;animation-range-start:entry 16%;animation-range-end:entry 88%}
 :root[data-m-go] .cbd-cx--drop[data-cbd-ok] i{animation-range-start:entry 22%;animation-range-end:entry 92%}
 :root[data-m-go] .cbd-cx--node[data-cbd-ok] i{animation-name:cbd-carry-node}
}
@keyframes cbd-carry{0%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r0,0deg))}10%{opacity:1}84%{opacity:1}100%{opacity:0;transform:none}}
@keyframes cbd-carry-node{0%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(45deg) scale(.7)}10%{opacity:1}84%{opacity:1}100%{opacity:0;transform:rotate(45deg) scale(1)}}

/* ---------- staged entrances: pre-states while a block is under about 38 percent in view ---------- */
:root[data-m-go][data-cbd-js] .cbd-sec:not([data-cbd-in]) :is(.cbd-in-a,.cbd-in-b,.cbd-in-t,.cbd-in-m,.cbd-in-q,.cbd-in-l,.cbd-in-c){opacity:0}
.cbd-sec[data-cbd-in] :is(.cbd-in-a,.cbd-in-b,.cbd-in-t,.cbd-in-m,.cbd-in-q,.cbd-in-l,.cbd-in-c){animation-timing-function:var(--gft-ease-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root:not([data-m-go]) .cbd-sec [class*='cbd-in-']{animation-name:none}

/* bench: unspool. Phase 1 the stage lifts, phase 2 the fan unspools from the origin, phase 3 the panel deals in from the right */
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-bench__stage.cbd-in-a{animation-name:cbd-rise;animation-duration:420ms}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-bench__fanw{animation-name:cbd-clipr;animation-duration:620ms;animation-delay:220ms;animation-timing-function:var(--gft-ease-in-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go][data-cbd-js] .cbd-sec:not([data-cbd-in]) .cbd-bench__fanw{clip-path:inset(-4% 100% -4% 0)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-bench__panel>.cbd-in-b{animation-name:cbd-from-r;animation-duration:520ms}
.cbd-bench__panel>:nth-child(2){animation-delay:80ms}.cbd-bench__panel>:nth-child(3){animation-delay:160ms}.cbd-bench__panel>:nth-child(4){animation-delay:240ms}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-bench>.cbd-note{animation-name:cbd-rise;animation-duration:520ms;animation-delay:380ms}
@keyframes cbd-rise{from{opacity:0;transform:translateY(28px)}}
@keyframes cbd-from-r{from{opacity:0;transform:translateX(48px)}}
@keyframes cbd-from-l{from{opacity:0;transform:translateX(-64px)}}
@keyframes cbd-grow{from{opacity:0;transform:scaleY(0)}}

/* evidence: warp. Threads drop in as warps, then marks rise from their thread, then the origin fan opens */
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-in-t{animation-name:cbd-warp;animation-duration:520ms}
.cbd-ev__row--1 .cbd-in-t{animation-delay:120ms}.cbd-ev__row--2 .cbd-in-t{animation-delay:240ms}
@keyframes cbd-warp{from{opacity:0;transform:translateY(-56px)}}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-ev .cbd-in-m{animation-name:cbd-grow;animation-duration:420ms;animation-delay:calc(300ms + var(--k,0) * 40ms);transform-origin:50% 100%}
.cbd-ev__row--1 .cbd-in-m{--k:2}.cbd-ev__row--1 .cbd-pieces{--k:3}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-ev__lc.cbd-in-b{animation-name:cbd-rise;animation-duration:520ms;animation-delay:160ms}
:root[data-m-go][data-cbd-js] .cbd-sec:not([data-cbd-in]) .cbd-ev__fan{clip-path:inset(-4% 100% -4% 0)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-ev__fan{animation-name:cbd-clipr;animation-duration:600ms;animation-delay:360ms;animation-timing-function:var(--gft-ease-in-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}

/* sequence: twill-shift. The stage opens on a diagonal from the origin corner, the head card rises, the rail ticks on */
:root[data-m-go][data-cbd-js] .cbd-sec:not([data-cbd-in]) .cbd-seq__open{opacity:1;clip-path:polygon(0 100%,0 100%,0 100%)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-seq__open{animation-name:cbd-diag;animation-duration:640ms;animation-timing-function:var(--gft-ease-in-out)}
@keyframes cbd-diag{from{clip-path:polygon(0 100%,0 100%,0 100%)}to{clip-path:polygon(0 -110%,0 100%,210% 100%)}}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-seq__head.cbd-in-b{animation-name:cbd-rise;animation-duration:520ms;animation-delay:240ms}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-seq__bar.cbd-in-b{animation-name:cbd-fade;animation-duration:300ms;animation-delay:300ms}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-stop{animation-name:cbd-tick;animation-duration:360ms;animation-delay:calc(360ms + var(--k) * 60ms);animation-timing-function:var(--gft-ease-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes cbd-tick{from{opacity:0;transform:scale(.6)}}

/* interlude: reed. The quote's lines pass in from the left, the heading follows, the fan's state draws last */
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-in-q{animation-name:cbd-from-l;animation-duration:620ms;animation-delay:calc(var(--k) * 120ms)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-int__draw{animation-name:cbd-clipr;animation-duration:620ms;animation-delay:300ms;animation-timing-function:var(--gft-ease-in-out)}
:root[data-m-go][data-cbd-js] .cbd-sec:not([data-cbd-in]) .cbd-int__draw{opacity:1;clip-path:inset(-4% 100% -4% 0)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-int .cbd-in-b{animation-name:cbd-rise;animation-duration:520ms;animation-delay:380ms}

/* operating: spin. The slice swings in from vertical about the gate bead, then the annotations deal on */
.cbd-op__slice{transform-box:view-box;transform-origin:513px 200px}
:root[data-m-go][data-cbd-js] .cbd-sec:not([data-cbd-in]) .cbd-op__slice{opacity:0;transform:rotate(-90deg)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-op__slice{animation-name:cbd-spin;animation-duration:720ms;animation-timing-function:var(--gft-ease-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes cbd-spin{from{opacity:.2;transform:rotate(-90deg)}60%{opacity:1}}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-op__a.cbd-in-m{animation-name:cbd-rise;animation-duration:380ms;animation-delay:calc(480ms + var(--k) * 60ms)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-op .cbd-in-b{animation-name:cbd-from-r;animation-duration:560ms;animation-delay:140ms}

/* programme: comb. Tiers comb in from the left, each narrower, the tip's ring draws last */
.cbd-pg__tier,.cbd-pg__tip{transform-box:fill-box;transform-origin:0 50%}
:root[data-m-go][data-cbd-js] .cbd-sec:not([data-cbd-in]) :is(.cbd-pg__tier,.cbd-pg__tip,.cbd-pg__tiers){opacity:0}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-pg__tier{animation-name:cbd-comb;animation-duration:520ms;animation-delay:calc(var(--k) * 100ms);animation-timing-function:var(--gft-ease-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes cbd-comb{from{opacity:0;transform:translateX(-90px) scaleX(.6)}}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-pg__tip{animation-name:cbd-tip;animation-duration:380ms;animation-delay:480ms;animation-timing-function:var(--gft-ease-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes cbd-tip{from{opacity:0;transform:scale(.4)}}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-pg__tiers{animation-name:cbd-fade;animation-duration:320ms;animation-delay:420ms;animation-timing-function:linear;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-pg .cbd-in-b{animation-name:cbd-rise;animation-duration:480ms;animation-delay:200ms}

/* closing: thread. The fan sweeps from the origin, then six lanes thread out to their cards one after another */
:root[data-m-go][data-cbd-js] .cbd-sec:not([data-cbd-in]) .cbd-cl__fanw{opacity:1;clip-path:inset(-4% 100% -4% 0)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-cl__fanw{animation-name:cbd-clipr;animation-duration:520ms;animation-timing-function:var(--gft-ease-in-out)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-in-l{animation-name:cbd-clipr;animation-duration:380ms;animation-delay:calc(360ms + var(--k) * 70ms);animation-timing-function:var(--gft-ease-out)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-in-c{animation-name:cbd-from-r;animation-duration:420ms;animation-delay:calc(420ms + var(--k) * 70ms)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-cl .cbd-in-b{animation-name:cbd-rise;animation-duration:480ms;animation-delay:160ms}

/* ---------- #2 bench ---------- */
.cbd-bench__wrap{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(340px,1fr);column-gap:clamp(28px,3vw,52px)}
.cbd-head--bench{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.62fr) minmax(340px,1fr);column-gap:clamp(28px,3vw,52px);align-items:end;margin-bottom:28px}
.cbd-head--bench .cbd-head__eb{grid-column:1/-1}
.cbd-head--bench h2{max-width:20ch}
.cbd-head--bench .cbd-head__lede{margin:0;padding-left:20px;border-left:2px solid #c98a2b}
.cbd-bench{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.62fr) minmax(340px,1fr);column-gap:clamp(28px,3vw,52px);row-gap:20px}
.cbd-bench__stage{margin:0;position:relative;grid-row:1/span 2}
.cbd-bench__stage svg{display:block;width:100%;height:auto;touch-action:none}
.cbd-bench__cap{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-top:10px;font:13px/1.5 var(--gft-font-mono);letter-spacing:.06em;color:#e8f0ec}
.cbd-key{display:inline-flex;align-items:center;gap:8px}
.cbd-key i{display:inline-block;width:22px;height:10px}
.cbd-k-central{border-top:3px solid #f6f4ef;height:0!important}
.cbd-k-75{background:#3a4f9a}
.cbd-k-90{background:#6bb68f55}
.cbd-k-gate{background:#c98a2b;border-radius:50%;width:12px!important;height:12px!important}
.cbd-bench__tip{flex-basis:100%;min-height:1.5em;color:#f0c27a}
.cbd-bench__s{transition:clip-path 220ms var(--gft-ease-in-out);clip-path:inset(-4% 100% -4% 0)}
.cbd-bench__ana{transition:opacity 300ms}
.cbd-bench:has(input[name=cbd-bench-s][value='0']:checked) .cbd-bench__s--0,.cbd-bench:has(input[name=cbd-bench-s][value='1']:checked) .cbd-bench__s--1,.cbd-bench:has(input[name=cbd-bench-s][value='2']:checked) .cbd-bench__s--2{clip-path:inset(-4% 0 -4% 0);transition:clip-path 320ms 200ms var(--gft-ease-out)}
.cbd-bench:not(:has(input[name=cbd-bench-s][value='0']:checked)) .cbd-bench__ana{opacity:.2}
.cbd-bench__analogue{fill:none;stroke:#9fd9bb;stroke-width:2.6;stroke-dasharray:6 6}
.cbd-bench__obs{fill:none;stroke:#f6f4ef;stroke-width:2.6}
.cbd-bench__ref{fill:none;stroke:#f0c27a;stroke-width:2.4;stroke-dasharray:8 7}
.cbd-bench__lt path{stroke:#f0c27a;stroke-width:3;fill:none}
.cbd-bench__sweep{stroke:#f6f4ef;stroke-opacity:.5;stroke-width:1.5;transform-box:view-box;opacity:0}
:root[data-m-go] .cbd-bench__stage[data-m-on] .cbd-bench__sweep{animation-name:cbd-sweep;animation-duration:9s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes cbd-sweep{0%{opacity:0;transform:translateX(0)}6%{opacity:1}60%{opacity:1;transform:translateX(580px)}66%,100%{opacity:0;transform:translateX(580px)}}
.cbd-bench__gate{transition:transform 320ms var(--gft-ease-out)}
.cbd-bench__hit{cursor:grab;touch-action:none}
.cbd-bench[data-drag] .cbd-bench__hit{cursor:grabbing}
.cbd-bench__panel{display:flex;flex-direction:column;gap:22px;min-width:0}
.cbd-method{display:grid;padding:22px 24px;background:#0e4d4a8c;border:1px solid #9fd9bb33;border-left:3px solid #9fd9bb}
.cbd-method__s{grid-area:1/1;visibility:hidden}
.cbd-bench:has(input[name=cbd-bench-s][value='0']:checked) .cbd-method__s--0,.cbd-bench:has(input[name=cbd-bench-s][value='1']:checked) .cbd-method__s--1,.cbd-bench:has(input[name=cbd-bench-s][value='2']:checked) .cbd-method__s--2{visibility:visible}
.cbd-method h3{font-size:22px;margin:6px 0 8px;letter-spacing:-.02em}
.cbd-method__t{font-size:17px;line-height:1.6;color:#e8f0ec}
.cbd-method__l{display:flex;gap:14px;margin-top:8px;font-size:15px;color:#e8f0ec}
.cbd-method__l b{flex:0 0 72px;font:600 13px/1.6 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#f0c27a}
.cbd-bench__panel{grid-column:2;grid-row:1/span 3}
.cbd-bench>.cbd-note{grid-column:1;grid-row:3;margin:0}

/* ---------- #3 evidence ---------- */
.cbd-ev__top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:end;margin-bottom:28px}
.cbd-head--ev{position:relative;z-index:1;background:#e2ebe6}
.cbd-ev__lc{padding:22px 24px;background:#f6f4ef;border:1px solid #0e4d4a33;border-left:3px solid #0e4d4a;display:grid;gap:18px}
.cbd-ev__lc p{font-size:17px;line-height:1.6}
.cbd-seg--ink{--line:#0e4d4a59;--fg:#25302e;--on-bg:#0e4d4a;--on-fg:#fff;--k:#3d6b5b}
.cbd-ev__stage{position:relative;display:grid;grid-template-rows:repeat(3,230px);margin-inline:-8px}
.cbd-ev__conv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.cbd-ev__cv{fill:none;stroke:#0e4d4a;stroke-width:3}
.cbd-ev__fan{position:absolute;top:0;bottom:0;left:73.8%;right:-56px;margin:0;pointer-events:none}
.cbd-ev__fan svg{width:100%;height:100%;display:block}
.cbd-ev__fanb{transform-box:fill-box;transform-origin:0 50%}
:root[data-m-go] .cbd-ev__fan[data-m-on] .cbd-ev__fanb{animation-name:cbd-ev-breathe;animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes cbd-ev-breathe{from{transform:scaleY(.95)}to{transform:scaleY(1.05)}}
.cbd-ev__chip{position:absolute;right:72px;bottom:22px;max-width:300px;background:#0e4d4a;border-color:#0e4d4a;color:#fff}
.cbd-ev__chip .cbd-dot{background:#f0c27a}
.cbd-ev__node{position:absolute;left:73.8%;top:50%;width:0;height:0}
.cbd-ev__node i{position:absolute;left:-13px;top:-13px;width:26px;height:26px;background:#c98a2b;rotate:45deg;border:3px solid #f6f4ef;box-shadow:0 0 0 2px #0e4d4a}
.cbd-ev__nodel{position:absolute;left:calc(73.8% - 8px);top:calc(50% + 26px);transform:translateX(-100%);font:600 13px/1.3 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#7a4d0e;background:#e2ebe6;padding:4px 6px}
.cbd-ev__row{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;width:58%;padding:8px 8px 0}
.cbd-ev__rh{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cbd-ev__rk{display:flex;align-items:baseline;gap:10px;cursor:pointer;font:700 17px/1.3 var(--gft-font-display);min-height:44px;align-items:center}
.cbd-ev__rk b{font:600 13px var(--gft-font-mono);letter-spacing:.1em;color:#3d6b5b}
.cbd-ev__rk span{font:13px/1.3 var(--gft-font-mono);letter-spacing:.04em;color:#3d5550}
.cbd-ev__cite .gft-cite{color:#25302e;transition:border-color 200ms,box-shadow 200ms}
.cbd-big{margin:2px 0 0;font:800 clamp(30px,3.9vw,56px)/1.05 var(--gft-font-display);letter-spacing:-.045em;color:#0e4d4a;font-variant-numeric:tabular-nums;visibility:hidden;white-space:nowrap}
.cbd-ev__body{position:relative;align-self:end;height:122px}
.cbd-ev__thread{position:absolute;left:-40px;right:-12px;bottom:28px;height:3px;background:#0e4d4a}
.cbd-ev[data-set='0'] .cbd-ev__row--0 .cbd-big,.cbd-ev[data-set='1'] .cbd-ev__row--1 .cbd-big,.cbd-ev[data-set='2'] .cbd-ev__row--2 .cbd-big{visibility:visible}
.cbd-ev[data-set='0'] .cbd-ev__row--0 .gft-cite,.cbd-ev[data-set='1'] .cbd-ev__row--1 .gft-cite,.cbd-ev[data-set='2'] .cbd-ev__row--2 .gft-cite{border-color:#c98a2b;box-shadow:0 0 0 3px #c98a2b40}
.cbd-ev:not([data-set='0']) .cbd-ev__row--0 .cbd-ev__thread,.cbd-ev:not([data-set='1']) .cbd-ev__row--1 .cbd-ev__thread,.cbd-ev:not([data-set='2']) .cbd-ev__row--2 .cbd-ev__thread{background:#0e4d4a59}
.cbd-ev:not([data-set='0']) .cbd-ev__cv--0,.cbd-ev:not([data-set='1']) .cbd-ev__cv--1,.cbd-ev:not([data-set='2']) .cbd-ev__cv--2{stroke-opacity:.35}
.cbd-ev:not([data-set='0']) .cbd-ev__row--0 :is(.cbd-yb i,.cbd-spend i),.cbd-ev:not([data-set='1']) .cbd-ev__row--1 :is(.cbd-spend i,.cbd-pieces em i),.cbd-ev:not([data-set='2']) .cbd-ev__row--2 .cbd-rr em i{filter:grayscale(1) opacity(.45)}
/* thread 1: six year bars standing on the thread */
.cbd-yr{position:absolute;left:0;right:150px;bottom:0;height:118px}
.cbd-yr__bars{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;height:100%}
.cbd-yr__scan{position:absolute;left:0;bottom:30px;width:calc((100% - 50px) / 6);height:92px;background:#c98a2b1f;border-bottom:3px solid #c98a2b;transform:translateX(calc(var(--sel,0) * (100% + 10px)));transition:transform 420ms var(--gft-ease-out);pointer-events:none}
.cbd-yb{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;padding:0 0 0;background:none;border:0;font:inherit;color:#25302e;cursor:pointer;min-height:44px}
.cbd-yb b{font:700 15px/1 var(--gft-font-display);font-variant-numeric:tabular-nums;color:#25302e}
.cbd-yb i{display:block;width:62%;height:calc(var(--h) * .62px);background:repeating-linear-gradient(135deg,#3f8f6b 0 5px,#3f8f6b80 5px 10px);margin-bottom:30px;transform-origin:50% 100%;transition:transform 400ms var(--gft-ease-out)}
.cbd-yb.is-cited i{background:#0e4d4a}
.cbd-yb span{position:absolute;bottom:4px;font:13px var(--gft-font-mono);letter-spacing:.04em;color:#3d5550}
.cbd-yb[aria-pressed=true] b{color:#7a4d0e}
.cbd-yr__delta{position:absolute;right:0;top:-6px;font:700 15px/1 var(--gft-font-mono);color:#7a4d0e;visibility:hidden}
.cbd-yr[data-mode=compare] .cbd-yr__delta{visibility:visible}
.cbd-yr[data-mode=compare] .cbd-yb:not(.is-cited) i{background:none;outline:2px dashed #3f8f6b;outline-offset:-2px}
.cbd-yr[data-mode=compare] .cbd-yr__scan{transform:translateX(0) scaleX(0)}
/* thread 2 and 3 */
.cbd-two{position:absolute;left:0;right:150px;bottom:0;height:118px;display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:end}
.cbd-spend,.cbd-pieces{display:grid;grid-template-rows:auto auto;align-content:end;gap:4px;padding-bottom:31px;min-height:44px;height:100%}
.cbd-spend span,.cbd-pieces span{font:600 13px/1.3 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#3d5550}
.cbd-spend i{display:block;height:52px;width:72%;background:#0e4d4a;transform-origin:50% 100%}
.cbd-pieces em{display:flex;gap:8px;align-items:flex-end;height:52px}
.cbd-pieces em i{flex:1;height:100%;background:#3f8f6b;max-width:18px}
.cbd-spend b,.cbd-pieces b{position:absolute;bottom:2px;font:700 15px/1.2 var(--gft-font-display)}
.cbd-spend,.cbd-pieces{position:relative}
.cbd-mark[aria-pressed=true] b{color:#7a4d0e}
.cbd-ranges{position:absolute;left:0;right:150px;bottom:34px;display:grid;gap:4px}
.cbd-rr{display:grid;grid-template-columns:minmax(0,13em) 1fr auto;align-items:center;gap:12px;min-height:26px}
.cbd-rr span{font:13px/1.2 var(--gft-font-mono);letter-spacing:.02em;color:#3d5550}
.cbd-rr em{position:relative;height:14px;background:#0e4d4a1a}
.cbd-rr em i{position:absolute;top:0;bottom:0;left:calc(var(--lo) * 1%);width:calc((var(--hi) - var(--lo)) * 1%);background:#0e4d4a}
.cbd-rr b{font:700 15px/1 var(--gft-font-display);min-width:6.5ch;text-align:right}
.cbd-rr[aria-pressed=true] em i{background:#c98a2b}
.cbd-axis{position:absolute;left:calc(13em + 12px);right:calc(6.5ch + 12px);bottom:-30px;display:flex;justify-content:space-between;list-style:none;margin:0;padding:0;font:13px var(--gft-font-mono);color:#3d5550}
.cbd-ev__foot{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:16px 48px;margin-top:20px;padding-top:20px;border-top:1px solid #0e4d4a33}
.cbd-ev__ctl{display:grid;gap:12px;align-content:start}
.cbd-ev:not([data-set='0']) .cbd-ev__ctl{visibility:hidden}
.cbd-ev__reads{display:grid}
.cbd-ev__read{grid-area:1/1;visibility:hidden}
.cbd-ev[data-set='0'] .cbd-ev__read--0,.cbd-ev[data-set='1'] .cbd-ev__read--1,.cbd-ev[data-set='2'] .cbd-ev__read--2{visibility:visible}
.cbd-ev__rs{font-size:18px;line-height:1.55;font-weight:600}
.cbd-ev__cav{margin-top:10px;font-size:15px;line-height:1.6;color:#33403d}
.cbd-ev__cav b{font:600 13px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#7a4d0e;margin-right:10px}
.cbd-ev__src{grid-column:2;font:13px/1.7 var(--gft-font-mono);color:#3d5550}

/* ---------- #4 sequence ---------- */
.cbd-seq{position:relative;timeline-scope:--cbd-last}
.cbd-seq__hud{position:sticky;top:0;height:100svh;z-index:5;pointer-events:none}
.cbd-seq__hud>*{pointer-events:auto}
.cbd-seq__pin{position:sticky;top:0;height:100svh;margin-top:-100svh;overflow:clip}
.cbd-seq__stage{position:absolute;inset:0;margin:0}
.cbd-seq__open,.cbd-seq__open svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.cbd-seq__head{position:absolute;left:max(48px,calc((100% - 1440px) / 2));top:clamp(20px,4vh,44px);width:clamp(380px,38vw,540px);padding:20px 24px 18px;background:#f6f4eff2;border:1px solid #0e4d4a33;border-top:3px solid #0e4d4a}
.cbd-seq__head h2{font-size:clamp(1.9rem,2.6vw,2.6rem);max-width:16ch}
.cbd-seq__head .cbd-head__lede{font-size:16px;line-height:1.5;margin-top:10px}
/* the step-body slot: every step stacked in one grid cell, so the slot is as tall as the tallest step; whole steps
   cross-fade (the outgoing one is gone before the incoming one starts), nothing translates or scrolls inside a box */
.cbd-seq__slot{display:grid;margin-top:14px;padding-top:12px;border-top:1px solid #0e4d4a33}
.cbd-seq__p{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity 160ms var(--gft-ease-in-out),visibility 0s linear 160ms}
.cbd-seq[data-step='0'] .cbd-seq__p--0,.cbd-seq[data-step='1'] .cbd-seq__p--1,.cbd-seq[data-step='2'] .cbd-seq__p--2,.cbd-seq[data-step='3'] .cbd-seq__p--3,.cbd-seq[data-step='4'] .cbd-seq__p--4{opacity:1;visibility:visible;transition:opacity 340ms var(--gft-ease-out) 190ms,visibility 0s linear 0s}
:root:not([data-m-go]) .cbd-seq__p{transition:none}
.cbd-seq__p .cbd-kicker b{color:#7a4d0e}
.cbd-seq__p h3{font-size:22px;line-height:1.2;margin:6px 0 8px}
.cbd-seq__p>p:not(.cbd-kicker){font-size:17px;line-height:1.5;color:#25302e}
.cbd-seq__p .cbd-step__rows{display:flex;flex-wrap:wrap;gap:2px 18px;margin-top:10px}
/* the dusk: late in the last step the head card and gate bar fade out, then the pinned sheet turns to night from the
   left (no text under the sweep), the fan and the visitor's gate redrawn in light, so the pin releases straight into
   the interlude's ground with no paper gap */
.cbd-seq__dusk{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:clip;overflow-anchor:none}
.cbd-seq__dusk svg{position:absolute;inset:0;width:100%;height:100%;display:block;background-color:#072d2b;background-image:linear-gradient(#b4d4c50b 1px,transparent 1px),linear-gradient(90deg,#b4d4c50b 1px,transparent 1px);background-size:42px 42px;clip-path:inset(0 100% 0 0)}
.cbd-seq__edge{position:absolute;inset:0;transform:translateX(-100%);visibility:hidden}
.cbd-seq__edge::after{content:'';position:absolute;right:0;top:0;bottom:0;width:4px;background:repeating-linear-gradient(180deg,#c98a2b 0 12px,transparent 12px 22px)}
.cbd-seq__dgl{stroke:#c98a2b;stroke-width:2.5;stroke-dasharray:3 9}
.cbd-seq__dbd{fill:#072d2b;stroke:#e4a64a;stroke-width:4}
.cbd-seq__dgt{font:700 20px var(--gft-font-mono);letter-spacing:.08em;fill:#f0c27a}
.cbd-step:last-child{view-timeline-name:--cbd-last;view-timeline-axis:block}
@supports (animation-timeline: view()){
 :root[data-m-go] :is(.cbd-seq__hud,.cbd-seq__gt){animation-name:cbd-hud-out;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--cbd-last;animation-range-start:contain 34%;animation-range-end:contain 46%}
 :root[data-m-go] .cbd-seq__dusk svg{animation-name:cbd-dusk;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--cbd-last;animation-range-start:contain 46%;animation-range-end:contain 97%}
 :root[data-m-go] .cbd-seq__edge{visibility:visible;animation-name:cbd-dusk-edge;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--cbd-last;animation-range-start:contain 46%;animation-range-end:contain 97%}
}
@keyframes cbd-dusk{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes cbd-dusk-edge{from{transform:translateX(-100%)}to{transform:translateX(8px)}}
@keyframes cbd-hud-out{from{opacity:1}to{opacity:0;visibility:hidden}}
.cbd-seq__foot{grid-column:1/-1;max-width:none;font:13px/1.5 var(--gft-font-mono);color:#33403d}
.cbd-cam{transform-box:view-box;transform-origin:0 0;transition:transform 900ms var(--gft-ease-in-out)}
@media (min-width:641px){
 .cbd-cam,.cbd-seq[data-step='0'] .cbd-cam{transform:matrix(.82,0,0,.82,382,-22)}
 .cbd-seq[data-step='1'] .cbd-cam{transform:matrix(1.15,0,0,1.15,-135,-117)}
 .cbd-seq[data-step='2'] .cbd-cam{transform:matrix(1.06,0,0,1.06,34,-133)}
 .cbd-seq[data-step='3'] .cbd-cam{transform:matrix(.78,0,0,.78,394,46)}
 .cbd-seq[data-step='4'] .cbd-cam{transform:matrix(1.45,0,0,1.45,-640,-230)}
 .cbd-seq__track .cbd-step__card{display:none}
}
@media (max-width:640px){
 .cbd-seq[data-step='1'] .cbd-cam{transform:matrix(1.3,0,0,1.3,-462,-150)}
 .cbd-seq[data-step='2'] .cbd-cam{transform:matrix(1.12,0,0,1.12,-96,-52)}
 .cbd-seq[data-step='3'] .cbd-cam{transform:matrix(.9,0,0,.9,110,40)}
 .cbd-seq[data-step='4'] .cbd-cam{transform:matrix(1.45,0,0,1.45,-690,-230)}
 .cbd-seq__slot,.cbd-seq__dusk{display:none}
 :root[data-m-go] :is(.cbd-seq__hud,.cbd-seq__gt){animation-name:none}
}
.cbd-seq__origin{stroke:#0e4d4a;stroke-opacity:.5;stroke-width:1.5;stroke-dasharray:3 8}
.cbd-seq__obs{fill:none;stroke:#0e4d4a;stroke-width:3}
.cbd-seq__dia{fill:#c98a2b;stroke:#f6f4ef;stroke-width:2}
.cbd-seq__f{clip-path:inset(-4% 100% -4% 0);transition:clip-path 300ms var(--gft-ease-in-out)}
.cbd-seq[data-step='0'] .cbd-seq__f--0,.cbd-seq[data-step='1'] .cbd-seq__f--0,.cbd-seq[data-step='2'] .cbd-seq__f--1,.cbd-seq[data-step='3'] .cbd-seq__f--2,.cbd-seq[data-step='4'] .cbd-seq__f--3{clip-path:inset(-4% 0 -4% 0);transition:clip-path 520ms 180ms var(--gft-ease-out)}
.cbd-seq__m{clip-path:inset(-10% 100% -10% -2%);transition:clip-path 260ms var(--gft-ease-in-out)}
.cbd-seq[data-step='0'] .cbd-seq__m--0,.cbd-seq[data-step='1'] .cbd-seq__m--1,.cbd-seq[data-step='2'] .cbd-seq__m--2,.cbd-seq[data-step='3'] .cbd-seq__m--3,.cbd-seq[data-step='4'] .cbd-seq__m--4{clip-path:inset(-10% -4% -10% -2%);transition:clip-path 600ms 700ms var(--gft-ease-out)}
.cbd-seq__frame{fill:none;stroke:#3f8f6b;stroke-width:2.5;stroke-dasharray:8 9}
.cbd-seq__tick{stroke:#0e4d4a;stroke-width:2.5}
.cbd-seq__originT{stroke:#c98a2b;stroke-width:6}
.cbd-seq__lab text,.cbd-seq__ql{font:600 18px var(--gft-font-mono);letter-spacing:.1em;fill:#0e4d4a}
.cbd-seq__qe{fill:none;stroke:#0e4d4a;stroke-width:3.5}
.cbd-seq__qe--c{stroke:#c98a2b}
.cbd-seq__knot{fill:#f6f4ef;stroke:#c98a2b;stroke-width:4}
.cbd-seq__ql{fill:#7a4d0e;font-size:19px}
.cbd-seq__ref{fill:none;stroke:#c98a2b;stroke-width:3.5;stroke-dasharray:10 8}
.cbd-seq__cand{fill:none;stroke:#0e4d4a;stroke-width:4}
.cbd-seq__err{stroke:#a8691a;stroke-width:3}
.cbd-seq__lab .cbd-seq__lr{fill:#7a4d0e}
.cbd-seq__st{fill:none;stroke:#3f8f6b;stroke-width:3}
.cbd-seq__st--mid{stroke:#0e4d4a;stroke-width:4}
.cbd-seq__adj{fill:#c98a2b}
.cbd-seq__gb{fill:#c98a2b;fill-opacity:.24;stroke:#a8691a;stroke-width:2.5;visibility:hidden}
.cbd-seq[data-q='2'] .cbd-seq__gb--2,.cbd-seq[data-q='3'] .cbd-seq__gb--3,.cbd-seq[data-q='4'] .cbd-seq__gb--4,.cbd-seq[data-q='5'] .cbd-seq__gb--5{visibility:visible}
.cbd-seq__gl{stroke:#c98a2b;stroke-width:2.5;stroke-dasharray:3 8}
.cbd-seq__bead{transition:transform 320ms var(--gft-ease-out)}
.cbd-seq__bd{fill:#f6f4ef;stroke:#c98a2b;stroke-width:4}
.cbd-seq__gt{font:700 20px var(--gft-font-mono);letter-spacing:.08em;fill:#7a4d0e}
.cbd-seq__bar{position:absolute;z-index:4;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) auto;align-items:center;gap:6px 32px;padding:12px max(48px,calc((100% - 1440px) / 2));background:#f6f4eff2;border-top:1px solid #0e4d4a40}
.cbd-seq__rail{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.cbd-seq__prog{position:absolute;left:0;right:0;top:0;height:3px;background:#0e4d4a26}
.cbd-seq__prog i{position:absolute;inset:0;background:#c98a2b;transform-origin:0 50%;transform:scaleX(.2);transition:transform 600ms var(--gft-ease-out)}
.cbd-seq[data-step='1'] .cbd-seq__prog i{transform:scaleX(.4)}.cbd-seq[data-step='2'] .cbd-seq__prog i{transform:scaleX(.6)}.cbd-seq[data-step='3'] .cbd-seq__prog i{transform:scaleX(.8)}.cbd-seq[data-step='4'] .cbd-seq__prog i{transform:scaleX(1)}
.cbd-stop{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 4px 4px;background:none;border:0;text-align:left;color:#33403d;font:600 13px/1.25 var(--gft-font-mono);letter-spacing:.04em}
.cbd-stop i{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:2px solid #0e4d4a;font-style:normal;font-weight:700;color:#0e4d4a}
.cbd-stop[aria-pressed=true]{color:#25302e}
.cbd-stop[aria-pressed=true] i{background:#c98a2b;border-color:#c98a2b;color:#fff}
@media (min-width:641px){
 .cbd-stop{flex-direction:column;gap:6px;text-align:center}
}
.cbd-seq__read{display:grid;gap:4px}
.cbd-seq__rk{display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.4;color:#33403d}
.cbd-seq__rk b{font:700 15px/1.3 var(--gft-font-mono);letter-spacing:.06em;color:#7a4d0e;text-transform:uppercase}
.cbd-seq__nums{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 22px;font:600 13px var(--gft-font-mono);letter-spacing:.08em;color:#3d5550}
.cbd-seq__nums b{font:800 28px/1 var(--gft-font-display);letter-spacing:-.03em;color:#0e4d4a;margin-left:6px;font-variant-numeric:tabular-nums}
.cbd-seq__nums small{font-size:13px;letter-spacing:.04em}
.cbd-seq__bar .cbd-step-q{color:#0e4d4a}
.cbd-seq__bar .cbd-step-q output{color:#7a4d0e}
.cbd-seq:not([data-step='4']) .cbd-seq__bar .cbd-step-q button{border-style:dashed}
.cbd-seq__track{position:relative;z-index:2;margin-top:-100svh;pointer-events:none}
.cbd-step{height:100svh;display:flex;align-items:flex-start;padding-top:44svh;padding-inline:max(48px,calc((100% - 1440px) / 2))}
.cbd-step:last-child{height:200svh}
.cbd-step--r{justify-content:flex-end;padding-top:26svh}
.cbd-step__card{pointer-events:auto;width:min(440px,36vw);padding:22px 24px;background:#fffdf8;border:1px solid #0e4d4a40;border-top:3px solid #c98a2b;box-shadow:0 18px 44px #072d2b1f}
.cbd-step__card .cbd-kicker b{color:#7a4d0e}
.cbd-step__card h3{font-size:24px;margin:8px 0 10px}
.cbd-step__card>p:not(.cbd-kicker){font-size:17px;line-height:1.55}
.cbd-step__rows{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px;font:13px/1.5 var(--gft-font-mono);letter-spacing:.04em;color:#33403d}
.cbd-step__rows li::before{content:'';display:inline-block;width:8px;height:8px;background:#c98a2b;rotate:45deg;margin-right:10px}
.cbd-step__card .cbd-step__n{margin-top:10px;font:600 13px/1.5 var(--gft-font-mono);color:#0e4d4a}

/* ---------- #5 interlude ---------- */
.cbd-int{position:relative;min-height:118svh;width:100%;display:flex;flex-direction:column}
@supports (animation-timeline: view()){
 :root[data-m-go] .cbd-int__tick{animation-name:cbd-tickrun;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--cbd-sec;animation-range-start:cover 25%;animation-range-end:cover 75%}
}
@keyframes cbd-tickrun{from{transform:translateY(0)}to{transform:translateY(var(--run))}}
.cbd-int__fan{position:absolute;left:0;right:0;top:12svh;height:86svh;margin:0}
.cbd-int__draw,.cbd-int__draw svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.cbd-int__obs{fill:none;stroke:#f6f4ef;stroke-width:3}
.cbd-int__s{clip-path:inset(-4% 100% -4% 0);transition:clip-path 220ms var(--gft-ease-in-out)}
.cbd-int[data-st='0'] .cbd-int__s--0,.cbd-int[data-st='1'] .cbd-int__s--1,.cbd-int[data-st='2'] .cbd-int__s--2{clip-path:inset(-4% 0 -4% 0);transition:clip-path 420ms 200ms var(--gft-ease-out)}
.cbd-int:has(input[name=cbd-int-state][value='1']:checked) .cbd-int__s--1,.cbd-int:has(input[name=cbd-int-state][value='2']:checked) .cbd-int__s--2{clip-path:inset(-4% 0 -4% 0)}
.cbd-int__breath,.cbd-int__coll{transform-box:view-box;transform-origin:0 0}
.cbd-int__coll{transition:transform 420ms var(--gft-ease-in-out)}
.cbd-int[data-one] .cbd-int__coll{transform:var(--cbd-k1)}
:root[data-m-go] .cbd-int__fan[data-m-on] .cbd-int__breath{animation-name:cbd-int-breathe;animation-duration:8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes cbd-int-breathe{from{transform:var(--cbd-b0)}to{transform:var(--cbd-b1)}}
.cbd-int__gl{stroke:#c98a2b;stroke-width:2.5;stroke-dasharray:3 9}
.cbd-int__bead{transition:transform 360ms var(--gft-ease-out)}
.cbd-int__bd{fill:#072d2b;stroke:#e4a64a;stroke-width:4}
.cbd-int__rl{stroke:#f0c27a;stroke-width:1.5;stroke-dasharray:2 6;stroke-opacity:.8}
.cbd-int__tick{transform-box:view-box}
.cbd-int__tick path{stroke:#f0c27a;stroke-width:6;stroke-linecap:round}
.cbd-int[data-st='1'] .cbd-int__ruler,.cbd-int[data-st='2'] .cbd-int__ruler,.cbd-int[data-one] .cbd-int__ruler{visibility:hidden}
.cbd-int__in{position:relative;z-index:2;width:min(1440px,calc(100% - 96px));margin-inline:auto;padding-block:clamp(84px,11vh,120px) 64px;flex:1;display:flex;flex-direction:column}
.cbd-int__eb{margin-bottom:22px}
.cbd-int__quote{margin:0;position:relative;align-self:flex-start}
.cbd-int__quote::before{content:'';position:absolute;inset:-40px -80px -40px -60px;background:radial-gradient(ellipse at 40% 50%,#072d2bd9 0%,#072d2b99 50%,#072d2b00 75%);z-index:-1}
.cbd-int__quote p{max-width:23ch;font:italic 400 clamp(2.2rem,3.7vw,4rem)/1.12 var(--gft-font-serif);letter-spacing:-.03em;color:#fff}
.cbd-int__ql{display:block}
.cbd-int__low{margin-top:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:28px 40px;align-items:end;padding-top:48px}
.cbd-int__head{padding:20px 22px;background:#072d2bcc}
.cbd-int__head h2{font-size:clamp(2rem,3.2vw,3.3rem)}
.cbd-int__ctl{position:relative;z-index:1;display:grid;gap:14px;padding:20px 22px;background:#072d2b}
.cbd-int__read{display:grid}
.cbd-int__state{grid-area:1/1;visibility:hidden;font-size:17px;line-height:1.55;color:#e8f0ec}
.cbd-int__state b{display:block;font:600 13px/1.5 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#f0c27a}
.cbd-int[data-st='0'] .cbd-int__state--0,.cbd-int[data-st='1'] .cbd-int__state--1,.cbd-int[data-st='2'] .cbd-int__state--2{visibility:visible}
.cbd-int__chip{flex-direction:column;align-items:flex-start;gap:4px;max-width:300px;font-size:14px}
.cbd-int__chip small{display:block}
.cbd-int__more{margin-top:24px;max-width:860px;padding:14px 22px;background:#072d2bcc;border:1px solid #9fd9bb40}
.cbd-int__more summary{min-height:44px;display:flex;align-items:center;font:600 15px var(--gft-font-mono);letter-spacing:.06em;color:#9fd9bb;cursor:pointer}
.cbd-int__more p{margin-top:12px;font-size:17px;line-height:1.65;color:#e8f0ec}

/* ---------- #6 operating ---------- */
.cbd-op__top{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(320px,1fr);gap:20px clamp(28px,3vw,52px);align-items:end;margin-bottom:24px}
.cbd-head--op h2{max-width:18ch}
.cbd-op .cbd-tabs{grid-column:1/-1}
.cbd-op__grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(320px,1fr);gap:clamp(28px,3vw,52px);align-items:start}
.cbd-op__stage{position:relative;margin:0}
.cbd-op__stage svg{display:block;width:100%;height:auto}
.cbd-op__area{fill:#6bb68f;fill-opacity:.22}
.cbd-op__line{fill:none;stroke:#f6f4ef;stroke-width:3.5}
.cbd-op__c{clip-path:inset(100% -2% -2% -2%);transition:clip-path 200ms var(--gft-ease-in-out)}
.cbd-op[data-si='1'] .cbd-op__c--1,.cbd-op[data-si='2'] .cbd-op__c--2{clip-path:inset(-10% -2% -2% -2%);transition:clip-path 380ms 180ms var(--gft-ease-out)}
.cbd-op:has(input[name=cbd-op-shape][value='1']:checked) .cbd-op__c--1{clip-path:inset(-10% -2% -2% -2%)}
.cbd-op__buf{transition:transform 320ms var(--gft-ease-out)}
.cbd-op__hatch{transform-box:fill-box}
:root[data-m-go] .cbd-op__stage[data-m-on] .cbd-op__hatch{animation-name:cbd-hatch;animation-duration:2.4s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes cbd-hatch{from{transform:translateX(0)}to{transform:translateX(16.97px)}}
.cbd-op__ghost{fill:none;stroke:#f0c27a;stroke-width:2.5;stroke-dasharray:7 7;visibility:hidden}
.cbd-op__axis{stroke:#e8f0ec;stroke-width:2}
.cbd-op__mu{stroke:#f6f4ef;stroke-width:2;stroke-dasharray:4 6}
.cbd-op__gate,.cbd-op__bead,.cbd-op__z--hi{transition:transform 320ms var(--gft-ease-out)}
.cbd-op__gl{stroke:#e4a64a;stroke-width:3}
.cbd-op__ov{stroke:#f0c27a;stroke-width:2;stroke-dasharray:5 7;visibility:hidden}
.cbd-op__bd{fill:#0e4d4a;stroke:#e4a64a;stroke-width:4}
.cbd-op__z{opacity:0;transition:opacity 300ms}
.cbd-op__z--lo{fill:#3a4f9a;fill-opacity:.35}
.cbd-op__z--hi{fill:#c98a2b;fill-opacity:.2}
.cbd-op__lt{visibility:hidden}
.cbd-op__lt path{stroke:#f0c27a;stroke-width:4}
.cbd-op__arr{fill:#f0c27a}
:root[data-m-go] .cbd-op__stage[data-m-on] .cbd-op__arr{animation-name:cbd-arrive;animation-duration:5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:normal}
@keyframes cbd-arrive{0%{transform:translateX(0)}70%,100%{transform:translateX(255px)}}
.cbd-op__ann{list-style:none;margin:0;padding:0}
.cbd-op__a{position:absolute;padding:6px 10px;font:600 14px/1.2 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#e8f0ec;background:#072d2bd9;border:1px solid #9fd9bb59;white-space:nowrap;transform:translateX(-50%);transition:border-color 220ms,color 220ms}
.cbd-op__zl,.cbd-op__tag,.cbd-op__ghl,.cbd-op__ltl{position:absolute;margin:0;padding:6px 10px;font:600 14px/1.3 var(--gft-font-mono);letter-spacing:.06em;color:#f8dfb2;background:#072d2be6;visibility:hidden;max-width:230px}
.cbd-op__zl--lo{left:9%;top:58%}
.cbd-op__zl--mid{left:43%;top:22%;color:#f8dfb2}
.cbd-op__zl--hi{left:68%;top:52%}
.cbd-op__tag{left:60%;top:50%;border:2px solid #e4a64a;color:#fff}
.cbd-op__ghl{left:64%;top:14%}
.cbd-op__ltl{left:48%;top:92%;max-width:none}
.cbd-op[data-r='0'] .cbd-op__a[data-lead='0'],.cbd-op[data-r='1'] .cbd-op__a[data-lead='1'],.cbd-op[data-r='2'] .cbd-op__a[data-lead='2'],.cbd-op[data-r='3'] .cbd-op__a[data-lead='3']{border-color:#e4a64a;color:#f8dfb2}
.cbd-op[data-r='1'] :is(.cbd-op__lt,.cbd-op__ltl,.cbd-op__ghost){visibility:visible}
.cbd-op[data-r='2'] :is(.cbd-op__zl){visibility:visible}
.cbd-op[data-r='2'] .cbd-op__z{opacity:1}
.cbd-op[data-r='3'] :is(.cbd-op__tag,.cbd-op__ghl,.cbd-op__ov){visibility:visible}
.cbd-op[data-r='2'] .cbd-op__a,.cbd-op[data-r='3'] .cbd-op__a:not([data-lead='3']){visibility:hidden}
.cbd-op__cap{margin-top:14px}
.cbd-op__card{display:grid;gap:22px;padding:24px 26px;background:#072d2bb3;border:1px solid #9fd9bb40;border-top:3px solid #e4a64a}
.cbd-op__texts{display:grid}
.cbd-op__t{grid-area:1/1;visibility:hidden}
.cbd-op[data-r='0'] .cbd-op__t--0,.cbd-op[data-r='1'] .cbd-op__t--1,.cbd-op[data-r='2'] .cbd-op__t--2,.cbd-op[data-r='3'] .cbd-op__t--3{visibility:visible}
.cbd-op:not([data-r]) .cbd-op__t--0{visibility:visible}
.cbd-op__t h3{font-size:24px;margin:8px 0 10px}
.cbd-op__t p:not(.cbd-kicker){font-size:17px;line-height:1.6;color:#e8f0ec}
.cbd-op__card .cbd-kicker{color:#f8dfb2}
.cbd-op__ctl{display:grid;gap:16px}
.cbd-op .cbd-step-q output{color:#f8dfb2}
.cbd-op .cbd-nums dt,.cbd-op .cbd-step-q__k{color:#c6ecd7}
.cbd-op .cbd-nums small{color:#e8f0ec}

/* ---------- #7 programme ---------- */
.cbd-pg__top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px 48px;align-items:end;margin-bottom:12px}
.cbd-pg__fan{position:relative;margin:0 -24px}
.cbd-pg__fan svg{display:block;width:100%;height:auto}
.cbd-pg__axis{stroke:#9fd9bb;stroke-opacity:.35;stroke-dasharray:3 8}
.cbd-pg__band{fill:#6bb68f;fill-opacity:.2;stroke:#9fd9bb;stroke-opacity:.7;stroke-width:1.5;stroke-dasharray:3 8;transition:fill-opacity 300ms}
.cbd-pg__core{fill:#3a4f9a;fill-opacity:.45}
.cbd-pg__div{stroke:#f6f4ef;stroke-opacity:.4;stroke-width:1.5}
.cbd-pg[data-tier='0'] .cbd-pg__tier--0 .cbd-pg__band,.cbd-pg[data-tier='1'] .cbd-pg__tier--1 .cbd-pg__band,.cbd-pg[data-tier='2'] .cbd-pg__tier--2 .cbd-pg__band,.cbd-pg[data-tier='3'] .cbd-pg__tier--3 .cbd-pg__band{fill-opacity:.42;stroke:#f0c27a;stroke-opacity:1}
.cbd-pg__ring{fill:none;stroke:#f0c27a;stroke-width:2.5;stroke-dasharray:6 7}
.cbd-pg__tipn{fill:#072d2b;stroke:#e4a64a;stroke-width:3.5}
.cbd-pg__bead{fill:#f0c27a;transform-box:view-box}
:root[data-m-go] .cbd-pg__fan[data-m-on] .cbd-pg__bead{animation-name:cbd-bead;animation-duration:6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:normal}
@keyframes cbd-bead{0%{transform:translateX(0);opacity:0}8%{opacity:1}80%,92%{transform:translateX(1110px);opacity:1}100%{transform:translateX(1110px);opacity:0}}
.cbd-pg__line,.cbd-pg__gates{visibility:hidden}
.cbd-pg__seg--0{fill:#6bb68f}.cbd-pg__seg--1{fill:#c98a2b}.cbd-pg__seg--2{fill:#e4a64a;fill-opacity:.75}.cbd-pg__seg--3{fill:#a9b4f0}
.cbd-pg__promise{transition:transform 260ms var(--gft-ease-out)}
.cbd-pg__promise path{stroke:#fff;stroke-width:3}
.cbd-pg__promise circle{fill:#fff}
.cbd-pg[data-over='true'] .cbd-pg__promise path{stroke:#f0c27a}
.cbd-pg__rg path{stroke:#9fd9bb;stroke-width:3;stroke-dasharray:4 6}
.cbd-pg__rg circle{fill:#072d2b;stroke:#9fd9bb;stroke-width:3}
.cbd-pg[data-rg0] .cbd-pg__rg--0 path,.cbd-pg[data-rg1] .cbd-pg__rg--1 path,.cbd-pg[data-rg2] .cbd-pg__rg--2 path{stroke:#f0c27a;stroke-dasharray:none}
.cbd-pg[data-rg0] .cbd-pg__rg--0 circle,.cbd-pg[data-rg1] .cbd-pg__rg--1 circle,.cbd-pg[data-rg2] .cbd-pg__rg--2 circle{fill:#c98a2b;stroke:#f0c27a}
.cbd-pg[data-tab='1'] .cbd-pg__line,.cbd-pg[data-tab='2'] .cbd-pg__gates{visibility:visible}
.cbd-pg[data-tab='1'] :is(.cbd-pg__tier,.cbd-pg__tiers),.cbd-pg[data-tab='2'] :is(.cbd-pg__tier--0,.cbd-pg__tier--1,.cbd-pg__tiers){opacity:.35}
.cbd-pg__tiers{position:absolute;inset:0;pointer-events:none;transition:opacity 260ms}
.cbd-pg__tb{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;min-height:44px;background:#072d2bd9;border:1px solid #9fd9bb59;color:#fff}
.cbd-pg__tb span{font:700 16px/1.2 var(--gft-font-display);white-space:nowrap}
.cbd-pg__tb small{font:13px var(--gft-font-mono);letter-spacing:.06em;color:#c9dbd1}
.cbd-pg__tb[aria-pressed=true]{border-color:#e4a64a;box-shadow:0 0 0 2px #c98a2b66}
.cbd-pg__none,.cbd-pg__sl,.cbd-pg__rl{position:absolute;margin:0;transform:translateX(-50%);font:600 13px/1.2 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#f0c27a;white-space:nowrap}
.cbd-pg__seglab,.cbd-pg__rglab{list-style:none;margin:0;padding:0;visibility:hidden}
.cbd-pg__sl{color:#e8f0ec;background:#072d2bd9;padding:4px 6px}
.cbd-pg__sl--1{transform:translateX(-90%)}.cbd-pg__sl--2{transform:translate(-50%,28px)}.cbd-pg__sl--3{transform:translate(-20%,0)}
.cbd-pg[data-tab='1'] .cbd-pg__seglab,.cbd-pg[data-tab='2'] .cbd-pg__rglab{visibility:visible}
.cbd-pg__panels{display:grid;margin-top:18px}
.cbd-pg__panel{grid-area:1/1;visibility:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;align-items:start}
.cbd-pg[data-tab='0'] .cbd-pg__panel--0,.cbd-pg[data-tab='1'] .cbd-pg__panel--1,.cbd-pg[data-tab='2'] .cbd-pg__panel--2{visibility:visible}
.cbd-pg__panel h3{font-size:24px;margin-bottom:8px}
.cbd-pg__lead{font-size:18px;line-height:1.55;color:#fff;font-weight:600}
.cbd-pg__cap{margin-top:10px;font-size:17px;line-height:1.6;color:#e8f0ec}
.cbd-pg__pb{display:grid;gap:12px;padding:20px 22px;background:#0e4d4a80;border:1px solid #9fd9bb40;border-left:3px solid #e4a64a}
.cbd-pg__read{font-size:17px;line-height:1.55;color:#fff}
.cbd-pg__need{display:flex;flex-direction:column;gap:4px;font-size:16px;line-height:1.5;color:#e8f0ec}
.cbd-pg__need b,.cbd-pg__verdict{font:600 13px/1.5 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#f0c27a}
.cbd-pg__verdict{font-size:14px;text-transform:none;letter-spacing:.02em}
.cbd-pg__ctx,.cbd-pg__note{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font:13px/1.6 var(--gft-font-mono);color:#c9dbd1}
.cbd-pg__segs{display:flex;flex-wrap:wrap;gap:6px}
.cbd-pg__panel--1 .cbd-pg__pb{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:22px}
.cbd-pg__panel--1 .cbd-pg__pb>.cbd-q{grid-row:1}
.cbd-pg__panel--1 .cbd-pg__verdict{grid-column:1;grid-row:2}
.cbd-pg__panel--1 .cbd-pg__segs{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;align-content:start}
.cbd-pg__panel--1 .cbd-q__row label{font-size:13px;letter-spacing:.04em}
.cbd-pg__panel--1 .cbd-pg__pb>.cbd-pg__read{grid-column:2;grid-row:2}
.cbd-pg__panel--1 .cbd-pg__note{grid-column:1/-1}
.cbd-pg__sb{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px;border:1px solid #9fd9bb59;font:13px var(--gft-font-mono);color:#e8f0ec}
.cbd-pg__sb i{width:12px;height:12px}
.cbd-pg__sb--0 i{background:#6bb68f}.cbd-pg__sb--1 i{background:#c98a2b}.cbd-pg__sb--2 i{background:#e4a64a}.cbd-pg__sb--3 i{background:#a9b4f0}
.cbd-pg__sb[aria-pressed=true]{border-color:#e4a64a}
.cbd-pg__sb b{font-weight:700;color:#fff}
.cbd-rt{display:grid;gap:8px}
.cbd-rt__col{margin:0;padding:0;border:0;display:grid;grid-template-columns:9.5em repeat(3,minmax(0,1fr));align-items:center;gap:6px;min-width:0}
.cbd-rt__col legend{float:left;margin:0!important}
.cbd-rt__col legend{font:600 13px/1.4 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#9fd9bb;margin-bottom:6px;padding:0}
.cbd-rt__col label{position:relative;cursor:pointer}
.cbd-rt__col input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.cbd-rt__col span{display:flex;align-items:center;min-height:44px;padding:6px 12px;border:1px solid #9fd9bb59;font-size:15px;color:#e8f0ec}
.cbd-rt__col label:has(input:checked) span{background:#9fd9bb;color:#072d2b;border-color:#9fd9bb}
.cbd-rt__col label:has(input:focus-visible) span{outline:3px solid #c98a2b;outline-offset:2px}
.cbd-pg__more{position:absolute;right:0;top:0;color:#9fd9bb}

/* ---------- #8 closing ---------- */
.cbd-sec--cl{padding-bottom:clamp(64px,8vh,96px)}
.cbd-cl{display:grid;grid-template-columns:minmax(360px,.68fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:center;min-height:calc(100svh - 2 * clamp(72px,9vh,112px))}
.cbd-cl__left{display:flex;flex-direction:column;gap:20px}
.cbd-head--cl h2{font-size:clamp(2.1rem,3vw,3.2rem);max-width:20ch}
.cbd-head--cl .cbd-head__lede{font-size:17px;margin-top:12px}
.cbd-cl__ctl{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:end}
.cbd-cl__read{padding:18px 20px;background:#0e4d4a80;border:1px solid #9fd9bb40;border-left:3px solid #e4a64a;display:grid;gap:6px}
.cbd-cl__rk{font:700 15px/1.4 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#f0c27a}
.cbd-cl__rt{font-size:17px;line-height:1.5;color:#fff}
.cbd-cl__rn{display:flex;flex-direction:column;font-size:17px;line-height:1.4}
.cbd-cl__rn span{font:600 13px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#9fd9bb}
.cbd-cl__rd{font-size:15px;line-height:1.55;color:#e8f0ec}
.cbd-cl__go{display:inline-flex;gap:14px;align-items:center;min-height:44px;font-weight:700;color:#9fd9bb}
.cbd-cl__go[hidden]{display:none}
.cbd-cl__commit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cbd-cl__cb{min-height:48px;padding:10px 18px;border:2px solid #e4a64a;background:transparent;color:#fff;font:700 15px var(--gft-font-display)}
.cbd-cl__cb[aria-pressed=true]{background:#c98a2b;color:#072d2b;border-color:#c98a2b}
.cbd-cl__nb{font:13px var(--gft-font-mono);color:#c9dbd1}
.cbd-cl__end{font:italic 400 clamp(22px,2vw,28px)/1.3 var(--gft-font-serif);color:#fff}
.cbd-cl__end span{display:inline-block}
.cbd-cl__fig{position:relative;margin:0 -24px 0 0}
.cbd-cl__fig svg{display:block;width:100%;height:auto}
.cbd-cl__s{clip-path:inset(-4% 100% -4% 0);transition:clip-path 220ms var(--gft-ease-in-out)}
.cbd-cl[data-w='0'] .cbd-cl__s--0,.cbd-cl[data-w='1'] .cbd-cl__s--1,.cbd-cl[data-w='2'] .cbd-cl__s--2{clip-path:inset(-4% 0 -4% 0);transition:clip-path 380ms 180ms var(--gft-ease-out)}
.cbd-cl__orig{fill:#c98a2b;stroke:#f6f4ef;stroke-width:2}
.cbd-cl__lane{fill:none;stroke:#9fd9bb;stroke-opacity:.45;stroke-width:2;stroke-dasharray:4 6;transition:stroke 260ms,stroke-opacity 260ms}
.cbd-cl__lane.is-lit{stroke:#f0c27a;stroke-opacity:1;stroke-width:3.5;stroke-dasharray:none}
.cbd-cl__lk{fill:#072d2b;stroke:#9fd9bb;stroke-width:2}
.cbd-cl__gl{stroke:#c98a2b;stroke-width:2;stroke-dasharray:3 9}
.cbd-cl__lead{stroke:#e4a64a;stroke-width:2;stroke-dasharray:5 6}
.cbd-cl__bead{transition:transform 340ms var(--gft-ease-out)}
.cbd-cl__bd{fill:#072d2b;stroke:#e4a64a;stroke-width:4;transition:fill 300ms}
.cbd-cl[data-commit] .cbd-cl__bd{fill:#c98a2b}
.cbd-cl[data-commit] .cbd-ring{animation-name:none}
.cbd-cl__run{fill:#f0c27a;opacity:0}
.cbd-cl__cards{list-style:none;margin:0;padding:0}
.cbd-cl__card{position:absolute;width:29%;transform:translateY(-50%)}
.cbd-cl__card button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:44px;padding:9px 12px;text-align:left;background:#072d2be6;border:1px solid #9fd9bb4d;color:#fff}
.cbd-cl__card.is-lit button{border-color:#e4a64a;box-shadow:0 0 0 2px #c98a2b55}
.cbd-cl__card button[aria-pressed=true]{background:#0e4d4a}
.cbd-cl__ck{font:600 13px/1.3 var(--gft-font-mono);letter-spacing:.04em;color:#9fd9bb}
.cbd-cl__card b{font-size:15px;line-height:1.25}
.cbd-cl__res{font-size:13px;color:#f0c27a}
.cbd-cl__tag{position:absolute;left:24px;bottom:4px}
.cbd-cl__exit{position:absolute;right:calc(14% - 2px);bottom:calc(-1 * clamp(64px,8vh,96px) - 112px);width:3px;height:calc(clamp(64px,8vh,96px) + 200px);z-index:6;pointer-events:none;overflow-anchor:none}
.cbd-cl__exit i{position:absolute;inset:0;background:linear-gradient(180deg,#c98a2b00,#c98a2b 30%,#c98a2b);transform-origin:50% 0}
:root[data-m-go][data-cbd-js] .cbd-sec:not([data-cbd-in]) .cbd-cl__exit i{transform:scaleY(0)}
:root[data-m-go] .cbd-sec[data-cbd-in] .cbd-cl__exit i{animation-name:cbd-grow;animation-duration:700ms;animation-delay:800ms;animation-timing-function:var(--gft-ease-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}

/* ---------- tablet ---------- */
@media (max-width:1100px){
 .cbd-bench__wrap,.cbd-head--bench,.cbd-bench,.cbd-op__top,.cbd-op__grid{grid-template-columns:1fr}
 .cbd-bench__stage{grid-row:auto}
 .cbd-bench__panel,.cbd-bench>.cbd-note{grid-column:1;grid-row:auto}
 .cbd-head--bench .cbd-head__lede{margin-top:16px}
 .cbd-cl{grid-template-columns:1fr}
 .cbd-ev__top{grid-template-columns:1fr}
 .cbd-ev__row{width:62%}
}

/* ---------- phone ---------- */
@media (max-width:640px){
 .cbd-wrap,.cbd-bench__wrap,.cbd-ev,.cbd-op,.cbd-pg,.cbd-cl,.cbd-int__in{width:calc(100% - 32px)}
 .cbd-sec{padding-block:64px}
 .cbd-head h2{font-size:clamp(2rem,9vw,2.6rem)}
 [data-splash='caps-b-demand']{min-height:calc(100svh - 76px)}
 [data-splash='caps-b-demand'] .gft-splash__content{padding-bottom:calc(44svh + 20px)}
 [data-splash='caps-b-demand'] .gft-splash__structure{inset:auto 0 72px 0;height:44svh}
 [data-splash='caps-b-demand'] .gft-splash__structure::after{background:linear-gradient(180deg,#072d2b 0%,#072d2b00 25%)}
 [data-splash='caps-b-demand'] .gft-splash__data{font-size:13px}
 [data-splash='caps-b-demand'] .gft-splash__data>span:first-child{display:none}
 .cbd-sfan{right:-8%;bottom:0;width:118%}
 .cbd-sfan__l--up{display:none}
 .cbd-sfan__pts circle:nth-child(n+17){display:none}
 .cbd-sfan__l{font-size:13px;letter-spacing:.08em}
 .cbd-sfan__l--obs,.cbd-sfan__l--lo{display:none}
 .cbd-seg span{padding:8px 10px;font-size:15px}
 .cbd-nums b{font-size:24px}
 .cbd-ev__stage{grid-template-rows:none;margin:0}
 .cbd-ev__conv,.cbd-ev__nodel{display:none}
 .cbd-ev__fan{left:auto;right:-16px;width:17%}
 .cbd-ev__node{left:auto;right:calc(17% - 16px)}
 .cbd-cx--lay,.cbd-cx--turn,.cbd-cx--thr{display:none}
 .cbd-pg__panels{display:block}
 .cbd-pg__panel{display:none}
 .cbd-pg[data-tab='0'] .cbd-pg__panel--0,.cbd-pg[data-tab='1'] .cbd-pg__panel--1,.cbd-pg[data-tab='2'] .cbd-pg__panel--2{display:grid}
 .cbd-ev__row{width:70%;padding:4px 0}
 .cbd-ev__row .cbd-big{font-size:30px;margin:6px 0;white-space:normal;width:calc(100vw - 32px)}
 .cbd-ev[data-set='0'] .cbd-ev__row:not(.cbd-ev__row--0) :is(.cbd-big,.cbd-ev__body),.cbd-ev[data-set='1'] .cbd-ev__row:not(.cbd-ev__row--1) :is(.cbd-big,.cbd-ev__body),.cbd-ev[data-set='2'] .cbd-ev__row:not(.cbd-ev__row--2) :is(.cbd-big,.cbd-ev__body){display:none}
 .cbd-ev__body{height:150px}
 .cbd-yr,.cbd-two,.cbd-ranges{right:0}
 .cbd-rr{grid-template-columns:1fr auto;gap:2px 8px}
 .cbd-rr span{grid-column:1/-1}
 .cbd-axis{left:0;right:calc(6.5ch + 8px)}
 .cbd-yb b{font-size:13px}
 .cbd-ev__rk span{display:none}
 .cbd-ev__foot{grid-template-columns:1fr}
 .cbd-ev__src{grid-column:1}
 .cbd-ev__stage{margin-bottom:64px}
 .cbd-ev__fan{overflow:visible}
 .cbd-ev__chip{right:16px;bottom:-60px;width:calc(100vw - 32px);max-width:none;white-space:normal;font-size:13px;letter-spacing:.02em;padding:6px 8px}
 .cbd-seq{display:grid}
 .cbd-seq__pin{display:contents}
 .cbd-seq__hud{display:contents}
 .cbd-seq__head{position:static;grid-row:1;width:auto;margin:56px 16px 20px}
 .cbd-seq__stage{position:sticky;top:0;grid-row:2;height:42svh;z-index:3;background:#f6f4ef;border-bottom:1px solid #0e4d4a33;overflow:clip}
 .cbd-seq__foot{display:none}
 .cbd-seq__bar{position:sticky;top:42svh;grid-row:3;z-index:3;grid-template-columns:1fr auto;gap:8px 12px;padding:10px 16px;background:#f6f4ef;box-shadow:0 10px 18px -10px #072d2b33}
 .cbd-seq__rail{grid-column:1/-1;grid-template-columns:repeat(5,minmax(44px,1fr))}
 .cbd-stop span{display:none}
 .cbd-seq__rk span{display:none}
 .cbd-seq__nums b{font-size:24px}
 .cbd-seq__track{grid-row:4;margin-top:0}
 .cbd-step,.cbd-step:last-child{height:auto;min-height:72svh;padding:24px 16px 0;justify-content:flex-start}
 .cbd-step__card{width:100%}
 .cbd-svgl,.cbd-seq__lab,.cbd-seq__ql,.cbd-seq__gt{display:none}
 .cbd-int{min-height:auto}
 .cbd-int__fan{position:relative;top:auto;height:52svh;order:2;margin:-24px 0 0}
 .cbd-int__in{display:contents}
 .cbd-int__eb,.cbd-int__quote{margin-inline:16px}
 .cbd-int__eb{order:0;margin-top:72px}
 .cbd-int__quote{order:1;z-index:2;margin-top:8px}
 .cbd-int__quote::before{inset:-12px -12px;background:#072d2bb3}
 .cbd-int__quote p{font-size:26px}
 .cbd-int__low{order:3;grid-template-columns:1fr;padding:20px 16px 0}
 .cbd-int__more{order:4;margin:20px 16px 64px}
 .cbd-int__ruler{display:none}
 .cbd-op .cbd-tabs{overflow-x:auto;scroll-snap-type:x mandatory}
 .cbd-op .cbd-tabs label{flex:0 0 auto;scroll-snap-align:start}
 .cbd-op__a{position:static;transform:none;display:block;margin-top:6px;font-size:13px;white-space:normal}
 .cbd-op__ann{margin-top:10px}
 .cbd-op__zl,.cbd-op__tag,.cbd-op__ghl,.cbd-op__ltl{font-size:13px;max-width:160px}
 .cbd-nums--3{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cbd-nums--3 dt{font-size:13px;letter-spacing:.02em}
 .cbd-pg__top{grid-template-columns:1fr}
 .cbd-pg__fan{margin:0}
 .cbd-pg__tiers{position:static;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;pointer-events:auto}
 .cbd-pg__tb{position:static;transform:none;padding:6px 8px}
 .cbd-pg__tb span{font-size:15px;white-space:normal;text-align:center}
 .cbd-pg__more{position:static;margin-top:12px}
 .cbd-pg__sl,.cbd-pg__rl,.cbd-pg__none{display:none}
 .cbd-pg__panel{grid-template-columns:1fr}
 .cbd-rt__col{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cbd-rt__col legend{float:none}
 .cbd-pg__panel--1 .cbd-pg__pb{grid-template-columns:1fr}
 .cbd-pg__panel--1 .cbd-pg__pb>*{grid-column:1!important;grid-row:auto!important}
 .cbd-tabs span{font-size:15px;padding:8px 10px}
 .cbd-cl__fig{margin:0}
 .cbd-cl__cards{display:grid;gap:8px;margin-top:12px}
 .cbd-cl__card{position:static;width:auto;transform:none}
 .cbd-cl__exit{right:24px}
 .cbd-cl__tag{position:static;margin-top:8px}
}
