/* Finishing and dispatch (route /value-chain/finishing-and-dispatch/), r7 choreography build. Prefix fd-.
   Motif: the dispatch dial (a sealed lot inside three market rings and the gated AGOA ring, read on two clocks).
   HTML is the composed end state; pre-states only under :root[data-m-go]; entrances once, about 900 ms; lives only
   while [data-m-on]; transform, opacity, clip-path and filter only; scroll-driven rules as longhands, transform and
   opacity only, each alone on its own HTML layer; native sticky, never a counter-translation. */

.fd-page{
  --gut:clamp(16px,4vw,56px);
  --fd-r1:#6bb68f;--fd-r2:#e5ab4d;--fd-r3:#a9c2da;--fd-r4:#ec7a52;
  --fd-r1p:#2d7a57;--fd-r2p:#8f5a10;--fd-r3p:#4f6f8c;--fd-r4p:#b0401f;
  --fd-night:#072d2b;--fd-deep:#0a3d3a;--fd-paper:#f6f4ef;--fd-sand:#ece8df;
  --fd-ink:#1f2b28;--fd-mute:#42544b;--fd-lt:#e2ebe6;--fd-ltm:#bcd0c4;--fd-line:#6bb68f47;
  --fd-out:cubic-bezier(.16,1,.3,1);
  overflow-x:clip;font-variant-numeric:tabular-nums;
}
.fd-page button{font-family:inherit}
.fd-page :focus-visible{outline:3px solid var(--gft-ochre);outline-offset:3px}
.fd-page .gft-eyebrow{font-size:12px}
.fd-page .gft-cite{font-size:12px;min-height:44px;min-width:44px;justify-content:center}
.fd-page fieldset{min-inline-size:0;min-width:0}
.fd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.fd-wrap{width:min(100% - 2 * var(--gut),1340px);margin-inline:auto}
.fd-sec{position:relative}
.fd-alias{position:absolute;top:0;left:0;width:1px;height:1px}
.fd-k{display:block;font:600 12px/1.4 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase}
.fd-cites{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.fd-note{font:12px/1.7 var(--gft-font-mono);color:var(--fd-ltm);margin-top:14px;max-width:72ch}
.fd-page input[type=range]{width:100%;min-height:44px;accent-color:var(--fd-r1);cursor:pointer}

/* drawers: one line closed, real text open */
.fd-drawer{margin-top:14px;border-top:1px solid currentColor;border-color:#25302e33}
.fd-drawer>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer;list-style:none;font:600 13px/1.4 var(--gft-font-mono);letter-spacing:.04em}
.fd-drawer>summary::-webkit-details-marker{display:none}
.fd-drawer>summary::after{content:'+';font:400 22px/1 var(--gft-font-display);transition:rotate .3s var(--fd-out)}
.fd-drawer[open]>summary::after{rotate:45deg}
.fd-drawer>p,.fd-drawer>ol,.fd-drawer>div{margin-top:10px;font-size:15px;line-height:1.7;max-width:70ch}
.fd-drawer__lead{font-size:15px}
.fd-drawer__small{font:12px/1.7 var(--gft-font-mono)!important}
.fd-drawer__list{padding-left:20px;display:grid;gap:10px}
.fd-drawer__list em{font-style:normal;font:12px/1.6 var(--gft-font-mono)}
.fd-drawer--dark{border-color:#e2ebe633}

/* ---------- block head: the dial's index glyph in this block's state ---------- */
.fd-head{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 18px;align-items:start}
.fd-head__mark{grid-row:1 / span 3;width:56px;height:56px;margin-top:2px}
.fd-head__eyebrow{grid-column:2;color:inherit}
.fd-head__title{grid-column:2;font-size:clamp(1.9rem,3vw,3.1rem);line-height:1.04;letter-spacing:-.035em;font-weight:820;max-width:22ch;margin-top:6px}
.fd-head__lede{grid-column:2;font-size:17px;line-height:1.6;max-width:52ch;margin-top:14px}
.fd-mark{overflow:visible}
.fd-mark__ring{fill:none;stroke-width:14;opacity:.45}
.fd-mark__ring--r1{stroke:var(--fd-r1)}.fd-mark__ring--r2{stroke:var(--fd-r2)}
.fd-mark__ring--r3{stroke:var(--fd-r3);stroke-dasharray:4 22;stroke-linecap:round}
.fd-mark__ring--r4{stroke:var(--fd-r4);stroke-dasharray:46 22}
.fd-mark__bar{fill:var(--fd-r4)}
.fd-mark[data-fd-lit=r1] .fd-mark__ring--r1,.fd-mark[data-fd-lit=r2] .fd-mark__ring--r2,.fd-mark[data-fd-lit=r3] .fd-mark__ring--r3,.fd-mark[data-fd-lit=r4] .fd-mark__ring--r4,.fd-mark[data-fd-lit=all] .fd-mark__ring{opacity:1;stroke-width:22}
.fd-mark__edge{stroke:currentColor;stroke-width:12;opacity:.3;stroke-linecap:round}
.fd-mark__edge.is-sealed{opacity:1;stroke:var(--fd-r1)}
.fd-cv .fd-mark,.fd-bd .fd-mark{--fd-r1:var(--fd-r1p);--fd-r2:#b06f17;--fd-r3:var(--fd-r3p);--fd-r4:#bd472a}

/* heading effects (played by the page script; whole-heading, no masks left after arrival) */
:root[data-m-go] .fd-page [data-fd-fx]:not([data-fd-in]){opacity:.18;transform:translateY(18px)}
:root[data-m-go] .fd-page [data-fd-fx][data-fd-in]{animation-duration:840ms;animation-delay:140ms;animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .fd-page [data-fd-fx=blur][data-fd-in]{animation-name:fd-fx-blur}
:root[data-m-go] .fd-page [data-fd-fx=turn][data-fd-in]{animation-name:fd-fx-turn;transform-origin:50% 100%}
:root[data-m-go] .fd-page [data-fd-fx=skew][data-fd-in]{animation-name:fd-fx-skew}
:root[data-m-go] .fd-page [data-fd-fx=track][data-fd-in]{animation-name:fd-fx-track;transform-origin:0 50%}
:root[data-m-go] .fd-page [data-fd-fx=zoom][data-fd-in]{animation-name:fd-fx-zoom;transform-origin:0 50%}
:root[data-m-go] .fd-page [data-fd-fx=swing][data-fd-in]{animation-name:fd-fx-swing;transform-origin:0 50%}
:root[data-m-go] .fd-page [data-fd-fx=rise][data-fd-in]{animation-name:fd-fx-rise}
@keyframes fd-fx-blur{from{opacity:.18;transform:translateY(22px);filter:blur(10px)}}
@keyframes fd-fx-turn{from{opacity:.18;transform:perspective(900px) rotateX(-48deg) translateY(18px)}}
@keyframes fd-fx-skew{from{opacity:.18;transform:translateY(.55em) skewY(5deg)}}
@keyframes fd-fx-track{from{opacity:.18;transform:scaleX(1.14) translateY(14px)}}
@keyframes fd-fx-zoom{from{opacity:.18;transform:scale(1.14) translateY(16px);filter:blur(6px)}}
@keyframes fd-fx-swing{from{opacity:.18;transform:perspective(900px) rotateY(34deg) translateY(14px)}}
@keyframes fd-fx-rise{from{opacity:.18;transform:translateY(.65em)}}
@keyframes fd-fx-wdth{from{opacity:.2;transform:scaleX(.62)}}
/* splash headline fx: width (visual width only, scaleX) */
:root[data-m-go] .fd-page .gft-splash h1[data-m-in]{animation-name:fd-fx-wdth;transform-origin:0 100%;animation-iteration-count:1;animation-direction:normal}

/* section & card scroll-frame choreography (140ms delay + 820ms duration so 250ms mid and 1400ms settled are distinct) */
:root[data-m-go] .fd-page :is(.fd-step,.fd-cvstep):not([data-fd-in]){opacity:.22;transform:translateY(28px)}
:root[data-m-go] .fd-page :is(.fd-step,.fd-cvstep)[data-fd-in]{animation-name:fd-card-in;animation-duration:820ms;animation-delay:140ms;animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .fd-page [data-fd-row]:not([data-fd-in]){opacity:.22;transform:translateX(-28px)}
:root[data-m-go] .fd-page [data-fd-row][data-fd-in]{animation-name:fd-row-in;animation-duration:780ms;animation-delay:calc(140ms + var(--row,0) * 90ms);animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .fd-page .fd-cl__tile:not([data-fd-in]){opacity:.22;transform:translateY(24px) scale(.96)}
:root[data-m-go] .fd-page .fd-cl__tile[data-fd-in]{animation-name:fd-tile-in;animation-duration:800ms;animation-delay:calc(140ms + var(--ti,0) * 75ms);animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes fd-card-in{from{opacity:.22;transform:translateY(28px)}}
@keyframes fd-row-in{from{opacity:.22;transform:translateX(-28px)}}
@keyframes fd-tile-in{from{opacity:.22;transform:translateY(24px) scale(.96)}}
@keyframes fd-stage-seq{from{opacity:.26;transform:scale(.93) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}
:root[data-m-go] .fd-st[data-fd-seq="0"] .fd-p[data-p="0"],
:root[data-m-go] .fd-st[data-fd-seq="1"] .fd-p[data-p="1"],
:root[data-m-go] .fd-st[data-fd-seq="2"] .fd-p[data-p="2"],
:root[data-m-go] .fd-st[data-fd-seq="3"] .fd-p[data-p="3"],
:root[data-m-go] .fd-st[data-fd-seq="4"] .fd-p[data-p="4"],
:root[data-m-go] .fd-st[data-fd-seq="5"] .fd-p[data-p="5"],
:root[data-m-go] .fd-cv[data-fd-seq="0"] .fd-cv__panel[data-p="0"],
:root[data-m-go] .fd-cv[data-fd-seq="1"] .fd-cv__panel[data-p="1"],
:root[data-m-go] .fd-cv[data-fd-seq="2"] .fd-cv__panel[data-p="2"],
:root[data-m-go] .fd-cv[data-fd-seq="3"] .fd-cv__panel[data-p="3"],
:root[data-m-go] .fd-cv[data-fd-seq="4"] .fd-cv__panel[data-p="4"],
:root[data-m-go] .fd-cv[data-fd-seq="5"] .fd-cv__panel[data-p="5"]{animation-name:fd-stage-seq;animation-duration:820ms;animation-delay:130ms;animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}

/* =====================================================================================================
   ACT I · night · splash + instrument share one track; ONE sticky dial in the right-hand column
   ===================================================================================================== */
.fd-a1{position:relative;--fd-col:min(50vw,860px)}
.fd-a1__col{position:absolute;top:0;bottom:0;right:0;width:var(--fd-col);z-index:3;pointer-events:none}
.fd-a1__pin{position:sticky;top:0;height:100svh;display:grid;grid-template-rows:minmax(0,1fr) auto auto;row-gap:12px;justify-items:center;align-items:center;padding:clamp(12px,3svh,32px) clamp(12px,2.4vw,40px) 22px;overflow-anchor:none}
.fd-a1__dialbox{position:relative;height:min(100%,calc(var(--fd-col) - 64px));aspect-ratio:1;max-width:100%}
.fd-a1__ringsl,.fd-a1__hubl{position:absolute;inset:0}
.fd-d{display:block;width:100%;height:100%;overflow:visible;font-family:var(--gft-font-mono)}
.fd-d__tick{stroke:#cfe2d6;stroke-width:1.6;opacity:.42}
.fd-d__tick.is-major{stroke:var(--fd-r4);stroke-width:3;opacity:.9}
.fd-d__daytick{stroke:#e2ebe6;stroke-width:2.5}
.fd-d__day{font:600 18px var(--gft-font-mono);fill:#e2ebe6}
.fd-d__wedge{fill:var(--fd-r1);opacity:.2;transition:opacity .5s}
.fd-d__c{fill:none;stroke-width:4;transition:stroke-width .4s,opacity .4s}
.fd-d__ring--r1 .fd-d__c{stroke:var(--fd-r1)}
.fd-d__ring--r2 .fd-d__c{stroke:var(--fd-r2)}
.fd-d__ring--r3 .fd-d__c{stroke:var(--fd-r3);stroke-dasharray:2 11;stroke-linecap:round;stroke-width:5}
.fd-d__ring--r4 .fd-d__c{stroke:var(--fd-r4);stroke-dasharray:26 12;stroke-width:3.5}
.fd-d__bar{fill:var(--fd-r4)}
.fd-d__pulse{fill:none;stroke-width:14;opacity:0;transform-box:view-box;transform-origin:300px 300px}
.fd-d__pulse--r1{stroke:var(--fd-r1)}.fd-d__pulse--r2{stroke:var(--fd-r2)}.fd-d__pulse--r3{stroke:var(--fd-r3)}.fd-d__pulse--r4{stroke:var(--fd-r4)}
.fd-d__label{font:600 15px var(--gft-font-mono);letter-spacing:.06em;paint-order:stroke;stroke:var(--fd-night);stroke-width:6px;stroke-linejoin:round}
.fd-d__label--r1{fill:#9fd7b8}.fd-d__label--r2{fill:#f0c47c}.fd-d__label--r3{fill:#cfe0ef}.fd-d__label--r4{fill:#f4a283}
.fd-d__orbit,.fd-d__spin,.fd-d__halo,.fd-d__vhand,.fd-d__breathe,.fd-d__ripple,.fd-d__edge,.fd-d__glow{transform-box:view-box;transform-origin:300px 300px}
.fd-d__orbitdot{fill:#fff;stroke:var(--fd-night);stroke-width:3}
.fd-d__clock{stroke-width:4;stroke-linecap:round}
.fd-d__clock--fast{stroke:var(--fd-r1)}
.fd-d__clock--slow{stroke:var(--fd-r2)}
.fd-d__spin{transition:opacity .6s}
.fd-d__spin--fast{rotate:90deg}
.fd-d__spin--slow{rotate:0deg}
.fd-d__vhand{rotate:var(--fd-deg);transition:rotate .55s var(--fd-out),opacity .6s}
.fd-d__vline{stroke:#fff;stroke-width:3;opacity:.92}
.fd-d__vdot{fill:#fff;stroke:var(--fd-r1);stroke-width:5}
.fd-d__hex{fill:var(--fd-night);stroke:#e2ebe633;stroke-width:2}
.fd-d__edge{stroke:#e9f2ec;stroke-width:5;stroke-linecap:round}
.fd-d__glow{stroke:var(--fd-r2);stroke-width:9;stroke-linecap:round;opacity:0}
.fd-d__node{fill:var(--fd-r1)}
.fd-d__wline{fill:none;stroke:#9fd7b8;stroke-width:2;stroke-dasharray:6 5;opacity:.72}
.fd-d__wline--2,.fd-d__wline--3{stroke:var(--fd-r2);stroke-width:2.4;stroke-dasharray:8 5;opacity:.88}
.fd-d__wnode{fill:#9fd7b8;stroke:var(--fd-night);stroke-width:2}
.fd-d__wtag{font:600 12px/1.4 var(--gft-font-mono);letter-spacing:.08em;color:#9fd7b8;text-align:center;margin:0;padding:4px 12px;border:1px solid #9fd7b8;border-radius:4px;background:var(--fd-night)}
.fd-d__days,.fd-d__orbitw,.fd-a1__legend{transition:opacity .6s}
/* state 1 (splash): no day marks, no visitor's hand, no orbit; state 2 (instrument): the dial is operable */
:root[data-m-go] .fd-a1[data-fd-act="1"] :is(.fd-d__days,.fd-d__wedge,.fd-d__vhand,.fd-d__orbitw,.fd-a1__legend){opacity:0}
.fd-a1[data-fd-act="2"] .fd-d__spin{opacity:.28}
.fd-a1[data-fd-act="2"] .fd-d__c{opacity:.5}
.fd-page[data-fd-ring=r1] .fd-a1[data-fd-act="2"] .fd-d__ring--r1 .fd-d__c,
.fd-page[data-fd-ring=r2] .fd-a1[data-fd-act="2"] .fd-d__ring--r2 .fd-d__c,
.fd-page[data-fd-ring=r3] .fd-a1[data-fd-act="2"] .fd-d__ring--r3 .fd-d__c,
.fd-page[data-fd-ring=r4] .fd-a1[data-fd-act="2"] .fd-d__ring--r4 .fd-d__c{opacity:1;stroke-width:7}
.fd-page[data-fd-ring=r4] .fd-d__orbitw{opacity:0}
.fd-page[data-fd-ring=r1] .fd-a1[data-fd-act="2"] .fd-d__pulse--r1,.fd-page[data-fd-ring=r2] .fd-a1[data-fd-act="2"] .fd-d__pulse--r2,
.fd-page[data-fd-ring=r3] .fd-a1[data-fd-act="2"] .fd-d__pulse--r3,.fd-page[data-fd-ring=r4] .fd-a1[data-fd-act="2"] .fd-d__pulse--r4{opacity:.16}
.fd-page[data-fd-ring=r2] .fd-d__vdot{stroke:var(--fd-r2)}.fd-page[data-fd-ring=r3] .fd-d__vdot{stroke:var(--fd-r3)}.fd-page[data-fd-ring=r4] .fd-d__vdot{stroke:var(--fd-r4)}
.fd-page[data-fd-ring=r2] .fd-d__wedge{fill:var(--fd-r2)}.fd-page[data-fd-ring=r3] .fd-d__wedge{fill:var(--fd-r3)}

.fd-a1__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;list-style:none;padding:0;margin:0;font:12px/1.5 var(--gft-font-mono);color:var(--fd-lt)}
.fd-a1__legend li{display:flex;align-items:center;gap:8px}
.fd-a1__legend i{display:inline-block;width:26px;height:0;border-top:3px solid var(--fd-r1)}
.fd-a1__legend [data-ring=r2] i{border-color:var(--fd-r2)}
.fd-a1__legend [data-ring=r3] i{border-top-style:dotted;border-color:var(--fd-r3)}
.fd-a1__legend [data-ring=r4] i{border-top-style:dashed;border-color:var(--fd-r4)}

/* the dial's entrance (from first paint): hub edges draw in station order, rings ripple out, hands start */
:root[data-m-go] .fd-a1 .fd-d__edge{animation-name:fd-edge;animation-duration:260ms;animation-delay:calc(var(--i) * 110ms);animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .fd-a1 .fd-d__ripple{animation-name:fd-ripple;animation-duration:520ms;animation-delay:calc(180ms + var(--k) * 80ms);animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .fd-a1 .fd-d__clock{animation-name:fd-fade;animation-duration:300ms;animation-delay:560ms;animation-timing-function:ease-out;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .fd-a1 .fd-seal{animation-name:fd-seal;animation-duration:280ms;animation-delay:calc(var(--k) * 110ms + 100ms);animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes fd-edge{from{opacity:0;transform:scale(.35)}}
@keyframes fd-ripple{from{opacity:0;transform:scale(.3)}}
@keyframes fd-fade{from{opacity:0}}
@keyframes fd-seal{from{opacity:.25;transform:translateY(6px)}}
/* lives of the dial (paused off screen; Calm and reduced motion show the composed still) */
:root[data-m-go] .fd-a1__pin[data-m-on] .fd-d__halo{animation-name:fd-spin;animation-duration:140s;animation-timing-function:linear;animation-iteration-count:infinite}
:root[data-m-go] .fd-a1__pin[data-m-on] .fd-d__spin--fast{animation-name:fd-fast;animation-duration:3.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] .fd-a1__pin[data-m-on] .fd-d__spin--slow{animation-name:fd-slow;animation-duration:9.5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] .fd-a1__pin[data-m-on] .fd-d__breathe{animation-name:fd-breathe;animation-duration:4.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] .fd-a1__pin[data-m-on] .fd-d__glow{animation-name:fd-glow4;animation-duration:8s;animation-delay:calc(var(--g) * 2s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.fd-d__glow[data-g="0"]{--g:0}.fd-d__glow[data-g="1"]{--g:1}.fd-d__glow[data-g="2"]{--g:2}.fd-d__glow[data-g="3"]{--g:3}
:root[data-m-go] .fd-a1[data-fd-act="2"] .fd-a1__pin[data-m-on] .fd-d__orbit{animation-name:fd-spin;animation-duration:var(--fd-orbit,3s);animation-timing-function:linear;animation-iteration-count:infinite}
:root[data-m-go] .fd-a1[data-fd-act="2"] .fd-a1__pin[data-m-on] .fd-d__pulse{animation-name:fd-pulse;animation-duration:2.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes fd-spin{to{rotate:360deg}}
@keyframes fd-fast{from{rotate:36deg}to{rotate:90deg}}
@keyframes fd-slow{from{rotate:270deg}to{rotate:360deg}}
@keyframes fd-breathe{from{scale:1}to{scale:1.05}}
@keyframes fd-glow4{0%,4%{opacity:0}9%,20%{opacity:.85}25%,100%{opacity:0}}
@keyframes fd-pulse{from{scale:.985}to{scale:1.025}}

/* the splash around the dial: text left, the dial's column right */
.fd-page .gft-splash__data{display:none}
.fd-a1__void{width:100%;height:100%}
@media (min-width:761px){.fd-page .fd-a1 .gft-splash__content{padding-right:calc(var(--fd-col) - var(--gut))}.fd-page .fd-a1 .gft-splash__bottom{padding-right:calc(var(--fd-col) - var(--gut))}}
.fd-a1__actions{display:grid;gap:22px;justify-items:start}
.fd-a1__cta{min-height:48px;display:inline-flex;align-items:center;background:#0a3d3acc;color:var(--fd-lt);border-color:var(--fd-r1);transition:background .3s,color .3s}
.fd-a1__cta:hover{background:var(--fd-r1);color:var(--fd-night)}
.fd-seals{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(100%,640px)}
.fd-seal{position:relative}
.fd-seal a{display:grid;gap:3px;height:100%;padding:10px 12px 12px;border:1px solid #6bb68f55;border-top:3px solid var(--fd-r1);background:#072d2bcc;text-decoration:none;color:var(--fd-lt);min-height:44px}
.fd-seal a:hover{background:#0e4d4acc}
.fd-seal__code{font:600 12px var(--gft-font-mono);letter-spacing:.08em;color:#9fd7b8}
.fd-seal__name{font-size:14px;line-height:1.25;font-weight:700}
.fd-seal__metric,.fd-seal__status{font:12px/1.35 var(--gft-font-mono);color:var(--fd-ltm)}
.fd-seal::after{content:'';position:absolute;inset:0;border:2px solid var(--fd-r2);opacity:0;pointer-events:none}
.fd-seal[data-g="0"]{--g:0}.fd-seal[data-g="1"]{--g:1}.fd-seal[data-g="2"]{--g:2}.fd-seal[data-g="3"]{--g:3}
:root[data-m-go] .fd-seals[data-m-on] .fd-seal::after{animation-name:fd-glow4;animation-duration:8s;animation-delay:calc(var(--g) * 2s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}

/* ---------- the instrument (left column; the dial is the right column) ---------- */
.fd-ins{background:var(--fd-deep);color:var(--fd-lt);background-image:linear-gradient(#b4d4c508 1px,transparent 1px),linear-gradient(90deg,#b4d4c508 1px,transparent 1px);background-size:42px 42px}
.fd-ins__grid{display:grid;grid-template-columns:minmax(0,1fr) var(--fd-col);width:auto;padding-left:var(--gut);margin:0}
.fd-ins__ctl{min-width:0;max-width:660px;padding-block:clamp(40px,7svh,72px) 0;display:grid;gap:18px;align-content:start}
.fd-ins .fd-head__title{font-size:clamp(1.9rem,2.7vw,2.8rem)}
.fd-ins .fd-head__lede{font-size:16px;margin-top:10px}
.fd-ins__tail{height:18svh}
.fd-chips{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fd-chips legend{margin-bottom:8px;color:var(--fd-ltm)}
.fd-chip{position:relative;display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 12px;border:1px solid #6bb68f40;background:#072d2b99;cursor:pointer;font-size:14px;line-height:1.3;transition:background .3s,border-color .3s}
.fd-chip input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.fd-chip:has(input:focus-visible){outline:3px solid var(--gft-ochre);outline-offset:2px}
.fd-chip__num{font:700 12px var(--gft-font-mono);color:#9fd7b8}
.fd-chip:has(input:checked){background:#e2ebe6;color:var(--fd-night);border-color:#e2ebe6}
.fd-chip:has(input:checked) .fd-chip__num{color:#1d5a3f}
.fd-chip[data-ring=r4] .fd-chip__num{color:#f4a283}
.fd-lead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:end;padding:14px 16px;border:1px solid #6bb68f40;background:#072d2b80}
.fd-lead__ctl .fd-k{color:var(--fd-ltm);font-weight:500;text-transform:none;letter-spacing:.02em}
.fd-lead__ticks{display:flex;justify-content:space-between;font:12px var(--gft-font-mono);color:var(--fd-ltm)}
.fd-lead__read{display:flex;gap:22px;align-items:flex-end}
.fd-big{display:flex;align-items:baseline;gap:8px;margin:0}
.fd-big output,.fd-big strong{font:820 clamp(2.6rem,4vw,3.8rem)/1 var(--gft-font-display);letter-spacing:-.04em;min-width:2ch;text-align:right}
.fd-big span{font:12px/1.3 var(--gft-font-mono);color:var(--fd-ltm);max-width:12ch}
.fd-big--cyc strong{color:#9fd7b8}
.fd-lead__zone{grid-column:1 / -1;font-size:15px;line-height:1.5;margin-top:8px;min-height:3em}
.fd-lead__note{grid-column:1 / -1;font:12px/1.5 var(--gft-font-mono);color:var(--fd-ltm)}
.fd-rulestack{display:grid}
.fd-rules{grid-area:1 / 1;visibility:hidden;opacity:0;transition:opacity .35s,visibility 0s .35s}
.fd-rules[data-on]{visibility:visible;opacity:1;transition:opacity .4s,visibility 0s}
.fd-rules__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.fd-cites--inline{margin-top:0}
.fd-rules__badge{margin:0}
.fd-rules__badge span{display:inline-block;font:600 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fd-night);background:#9fd7b8;padding:3px 8px}
.fd-rules[data-ring=r2] .fd-rules__badge span{background:#f0c47c}.fd-rules[data-ring=r3] .fd-rules__badge span{background:#cfe0ef}.fd-rules[data-ring=r4] .fd-rules__badge span{background:#f4a283}
.fd-rules__title{font-size:17px;line-height:1.35;font-weight:700;margin-top:8px;max-width:46ch}
.fd-rules__cards{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}
.fd-rule{display:grid;gap:2px;padding:8px 12px;border-left:3px solid var(--fd-r1);background:#072d2b99}
.fd-rules[data-ring=r2] .fd-rule{border-color:var(--fd-r2)}.fd-rules[data-ring=r3] .fd-rule{border-color:var(--fd-r3)}.fd-rules[data-ring=r4] .fd-rule{border-color:var(--fd-r4)}
.fd-rule__k{font:600 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#9fd7b8}
.fd-rule__v{font-size:14px;line-height:1.45;color:var(--fd-lt)}
.fd-rules__ev{border-color:#e2ebe633;margin-top:10px}
.fd-rules__ev p{font-size:14px}
/* comb: chips, scrub and rule cards comb in from the dial side, one after another, each its own trigger */
:root[data-m-go] .fd-page .fd-ins [data-m=comb]:not([data-m-in]){opacity:.2;transform:translateX(34px)}
:root[data-m-go] .fd-page .fd-ins [data-m=comb][data-m-in]{animation-name:fd-comb;animation-duration:760ms;animation-delay:140ms;animation-timing-function:var(--fd-out);animation-iteration-count:1;animation-direction:normal}
@keyframes fd-comb{from{opacity:.2;transform:translateX(34px)}}

/* hand-over 2 → 3: the rings fall back to hairlines, the hub comes forward toward stage centre-left */
@supports (animation-timeline:view()){
  .fd-a1{timeline-scope:--fd-a1tail}
  .fd-ins__tail{view-timeline-name:--fd-a1tail;view-timeline-axis:block}
  :root[data-m-go] .fd-a1__ringsl{animation-name:fd-a1-fall;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--fd-a1tail;animation-range-start:entry 40%;animation-range-end:exit 60%}
  :root[data-m-go] .fd-a1__hubl{animation-name:fd-a1-hub;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--fd-a1tail;animation-range-start:entry 40%;animation-range-end:exit 60%}
}
@keyframes fd-a1-fall{to{opacity:.22}}
@keyframes fd-a1-hub{to{transform:translate(-34%,6%) scale(2.6)}}

/* =====================================================================================================
   Block 3 · stations film (night): the hub at display scale, one edge sealed per station
   ===================================================================================================== */
.fd-st{background-color:var(--fd-night);color:var(--fd-lt);background-image:repeating-linear-gradient(90deg,rgba(180,212,197,.035) 0 1px,transparent 1px 28px)}
.fd-st__grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:0 clamp(24px,3.4vw,56px)}
.fd-st__stage{position:sticky;top:0;height:100svh;padding-block:clamp(12px,2.4svh,24px);overflow-anchor:none}
.fd-st__wipe{height:100%}
.fd-st__frame{height:100%;display:grid;grid-template-columns:clamp(120px,12vw,168px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"ticks ticks" "belt hub" "foot foot";gap:10px 14px;padding:14px 18px;border:1px solid #6bb68f3d;background:#0a3a37b3}
.fd-st__ticks{grid-area:ticks;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.fd-tk{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 8px;align-items:center;padding:6px 10px;border:1px solid #e2ebe626;transition:background .4s,border-color .4s;color:var(--fd-ltm)}
.fd-tk i{grid-row:1 / span 2;width:16px;height:16px;border-radius:50%;border:2px solid #e2ebe680;position:relative}
.fd-tk span{font-size:14px;font-weight:700;line-height:1.2}
.fd-tk small{font:12px/1.3 var(--gft-font-mono);color:var(--fd-ltm);white-space:normal;overflow-wrap:anywhere}
.fd-tk.is-on,.fd-st:is([data-step="1"],[data-step="2"],[data-step="3"],[data-step="4"],[data-step="5"]) .fd-tk[data-t="0"],
.fd-st:is([data-step="3"],[data-step="4"],[data-step="5"]) .fd-tk:is([data-t="1"],[data-t="2"]),
.fd-st:is([data-step="4"],[data-step="5"]) .fd-tk[data-t="3"]{color:#fff;border-color:#6bb68f99;background:#6bb68f1f}
.fd-st:is([data-step="1"],[data-step="2"],[data-step="3"],[data-step="4"],[data-step="5"]) .fd-tk[data-t="0"] i,
.fd-st:is([data-step="3"],[data-step="4"],[data-step="5"]) .fd-tk:is([data-t="1"],[data-t="2"]) i,
.fd-st:is([data-step="4"],[data-step="5"]) .fd-tk[data-t="3"] i{background:var(--fd-r1);border-color:var(--fd-r1)}
.fd-st[data-step="2"] .fd-tk[data-t="1"]{color:#fff;border-color:#e5ab4d99}
.fd-st[data-step="2"] .fd-tk[data-t="1"] i{background:linear-gradient(90deg,var(--fd-r2) 50%,transparent 50%);border-color:var(--fd-r2)}
.fd-belt{grid-area:belt;position:relative;align-self:center}
.fd-belt ol{list-style:none;margin:0;padding:0;position:relative}
.fd-belt ol::before{content:'';position:absolute;left:13px;top:22px;bottom:22px;width:2px;background:repeating-linear-gradient(#e2ebe666 0 6px,transparent 6px 12px)}
.fd-belt li{height:clamp(56px,8.4svh,76px);display:flex;align-items:center}
.fd-belt a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 10px;align-items:center;min-height:44px;width:100%;text-decoration:none;color:var(--fd-ltm);font-size:13px;line-height:1.25}
.fd-belt a b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid #e2ebe666;background:var(--fd-night);font:700 12px var(--gft-font-mono);color:var(--fd-lt);position:relative;z-index:1;transition:background .3s,border-color .3s}
.fd-belt a[aria-current] {color:#fff;font-weight:700}
.fd-belt a[aria-current] b{background:var(--fd-r1);border-color:var(--fd-r1);color:var(--fd-night)}
.fd-belt__lot{position:absolute;left:5px;top:calc(clamp(56px,8.4svh,76px) / 2 - 9px);width:18px;height:18px;translate:0 calc(min(var(--fd-s),4) * clamp(56px,8.4svh,76px));transition:translate .6s var(--fd-out);pointer-events:none;z-index:2}
.fd-belt__lot i{display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #e5ab4d66}
.fd-st__hub{grid-area:hub;min-height:0;display:grid;place-items:center;position:relative}
.fd-st__hubmove{height:100%;max-width:100%;aspect-ratio:1;overflow-anchor:none}
.fd-st__hubmove svg{display:block;width:100%;height:100%;overflow:visible}
.fd-h__hr{fill:none;stroke-width:2;opacity:0;transition:opacity .6s}
.fd-h__hr--1{stroke:var(--fd-r1)}.fd-h__hr--2{stroke:var(--fd-r2)}.fd-h__hr--3{stroke:var(--fd-r3);stroke-dasharray:2 8}.fd-h__hr--4{stroke:var(--fd-r4);stroke-dasharray:18 10}
.fd-st:is([data-step="4"],[data-step="5"]) .fd-h__hr{opacity:.75}
.fd-h__hex{fill:#072d2b;stroke:none}
.fd-h__edge{stroke:#e2ebe640;stroke-width:4;stroke-dasharray:10 9}
.fd-h__seal{stroke:var(--fd-r1);stroke-width:10;stroke-linecap:round;opacity:clamp(0,calc(var(--fd-s) - var(--e) + 1),1);transition:opacity .5s}
.fd-h__now{stroke:var(--fd-r2);stroke-width:16;stroke-linecap:round;opacity:0;transition:opacity .4s}
.fd-st[data-step="0"] .fd-h__now[data-e="0"],.fd-st[data-step="1"] .fd-h__now[data-e="1"],.fd-st[data-step="2"] .fd-h__now[data-e="2"],
.fd-st[data-step="3"] .fd-h__now[data-e="3"],.fd-st[data-step="4"] .fd-h__now[data-e="4"],.fd-st[data-step="5"] .fd-h__now[data-e="5"]{opacity:.55}
.fd-p{opacity:0;transition:opacity .45s}
.fd-st[data-step="0"] .fd-p[data-p="0"],.fd-st[data-step="1"] .fd-p[data-p="1"],.fd-st[data-step="2"] .fd-p[data-p="2"],
.fd-st[data-step="3"] .fd-p[data-p="3"],.fd-st[data-step="4"] .fd-p[data-p="4"],.fd-st[data-step="5"] .fd-p[data-p="5"]{opacity:1}
.fd-p__pill{fill:#072d2bf2;stroke:#6bb68f88;stroke-width:1.8}
.fd-p__pill--r1{fill:#072d2bf5;stroke:var(--fd-r1);stroke-width:2}
.fd-p__pill--r2{fill:#072d2bf5;stroke:var(--fd-r2);stroke-width:2}
.fd-p__pill--r4{fill:#072d2bf5;stroke:var(--fd-r4);stroke-width:2}
.fd-p__leader{stroke:#e2ebe688;stroke-width:1.6;stroke-dasharray:4 4}
.fd-p__garment{fill:#e2ebe6;stroke:#9fd7b8;stroke-width:3}
.fd-p__thread{fill:none;stroke:#f0c47c;stroke-width:3;stroke-linecap:round}
.fd-p__spot{fill:#b0401f}.fd-p__spotring{fill:none;stroke:#f4a283;stroke-width:2.5;stroke-dasharray:4 4}
.fd-p__lab{font:600 15px var(--gft-font-mono);letter-spacing:.06em;fill:#e2ebe6;paint-order:stroke;stroke:#072d2b;stroke-width:4px;stroke-linejoin:round}
.fd-p__lab--in{fill:var(--fd-night);stroke:none}
.fd-p__lab--l{font-size:15px}
.fd-p__lab--r1{fill:#9fd7b8}.fd-p__lab--r2{fill:#f0c47c}.fd-p__lab--r4{fill:#f4a283}
.fd-p__plate{fill:#a9c2da}
.fd-p__wisp{fill:none;stroke:#cfe0ef;stroke-width:3;stroke-linecap:round;opacity:.8}
.fd-p__dim{fill:none;stroke:var(--fd-r1p);stroke-width:3.5}
.fd-p__arch{fill:none;stroke:#a9c2da;stroke-width:10;stroke-linejoin:round}
.fd-p__belt{stroke:#e2ebe6;stroke-width:5}
.fd-p__flat{fill:#e2ebe6}
.fd-p__sweep{stroke:var(--fd-r2);stroke-width:4}
.fd-p__qbox{fill:#072d2be6;stroke:#ec7a52;stroke-width:3}
.fd-p__qlab{font:700 11px var(--gft-font-mono);letter-spacing:.06em;fill:#f4a283}
.fd-p__qrbg{fill:#e2ebe6}.fd-p__qr{fill:var(--fd-night)}
.fd-p__chain rect{fill:#072d2bcc;stroke:#9fd7b8;stroke-width:2.5}
.fd-p__chain path{stroke:#9fd7b8;stroke-width:3}
.fd-p__chain>*{opacity:.18;transition:opacity .3s calc(var(--c) * 130ms + 200ms)}
.fd-st:is([data-step="3"]) .fd-p__chain>*{opacity:1}
.fd-p__chip{font:700 14px var(--gft-font-mono);fill:#e2ebe6}
.fd-p__out{fill:none;stroke:#e2ebe6aa;stroke-width:3;stroke-dasharray:8 6}
.fd-p__carton{fill:#c98a2b;stroke:#f0c47c;stroke-width:3}
.fd-p__tape{fill:none;stroke:#072d2b;stroke-width:3}
.fd-p__van{fill:var(--fd-r1)}.fd-p__wheel{fill:#e2ebe6}
.fd-p__pallet{fill:var(--fd-r2)}
.fd-p__shut{fill:none;stroke:var(--fd-r4);stroke-width:6;stroke-linecap:round}
.fd-h__lossg{opacity:0;transition:opacity .4s}
.fd-h__losspill{fill:#072d2bf5;stroke:#ec7a5299;stroke-width:1.8}
.fd-h__losst{font:600 15px var(--gft-font-mono);letter-spacing:.05em;fill:#f4a283}
.fd-st[data-step="0"] .fd-h__lossg[data-l="0"],.fd-st[data-step="1"] .fd-h__lossg[data-l="1"],.fd-st[data-step="2"] .fd-h__lossg[data-l="2"],
.fd-st[data-step="3"] .fd-h__lossg[data-l="3"],.fd-st[data-step="4"] .fd-h__lossg[data-l="4"]{opacity:1}
.fd-p__tails,.fd-p__steam,.fd-p__sweepw,.fd-h__now{transform-box:view-box;transform-origin:300px 300px}
:root[data-m-go] .fd-st__frame[data-m-on] .fd-p__tails{animation-name:fd-drop;animation-duration:2.4s;animation-timing-function:ease-in;animation-iteration-count:infinite}
:root[data-m-go] .fd-st__frame[data-m-on] .fd-p__steam{animation-name:fd-steam;animation-duration:2.2s;animation-timing-function:ease-out;animation-iteration-count:infinite}
:root[data-m-go] .fd-st__frame[data-m-on] .fd-p__sweepw{animation-name:fd-sweep;animation-duration:2.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] .fd-st__frame[data-m-on] .fd-belt__lot i{animation-name:fd-shuttle;animation-duration:1.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes fd-drop{0%{transform:translateY(0);opacity:1}80%{opacity:.15}100%{transform:translateY(18px);opacity:0}}
@keyframes fd-steam{0%{transform:translateY(8px);opacity:0}40%{opacity:.9}100%{transform:translateY(-10px);opacity:0}}
@keyframes fd-sweep{from{transform:translateX(0)}to{transform:translateX(172px)}}
@keyframes fd-shuttle{from{transform:translateY(0)}to{transform:translateY(22px)}}
.fd-st__foot{grid-area:foot;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr);gap:16px;align-items:start;border-top:1px solid #e2ebe633;padding-top:10px}
.fd-trace{margin:0;padding:8px 10px;border:1px solid #6bb68f33;background:#072d2bcc}
.fd-trace svg{display:block;width:100%;height:68px;cursor:crosshair;touch-action:none;overflow:visible}
.fd-trace__bg{fill:#052220}
.fd-trace__grid{stroke:#e2ebe61a;stroke-width:1;stroke-dasharray:3 3}
.fd-trace__alert{stroke:#ec7a5288;stroke-width:1.2;stroke-dasharray:4 4}
.fd-trace__base{stroke:#e2ebe640;stroke-width:1.2}
.fd-trace__line{fill:none;stroke:var(--fd-r1);stroke-width:2.5;opacity:0;transition:opacity .4s}
.fd-trace__cur{opacity:.92;transition:transform .15s var(--fd-out)}
.fd-trace__curl{stroke:#fff;stroke-width:1.8;stroke-dasharray:3 2}
.fd-trace__curdot{fill:var(--fd-r2);stroke:#fff;stroke-width:2}
.fd-trace__scan{stroke:var(--fd-r2);stroke-width:2}
:root[data-m-go] .fd-trace[data-m-on] .fd-trace__scanw{animation-name:fd-scanx;animation-duration:3.2s;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes fd-scanx{from{transform:translateX(0)}to{transform:translateX(280px)}}
.fd-trace figcaption{font-size:13px;line-height:1.45;color:var(--fd-lt);margin-top:6px}
.fd-trace figcaption b{font:600 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#9fd7b8;margin-right:8px}
.fd-trace__sig{display:inline-grid}
.fd-trace__sig>span{grid-area:1 / 1;opacity:0;transition:opacity .3s;color:#e2ebe6}
.fd-trace__out{display:block;font:600 12px/1.5 var(--gft-font-mono);color:#f0c47c;min-height:1.5em;margin-top:2px}
.fd-st__io{margin:0;display:grid;padding:8px 10px;border:1px solid #6bb68f33;background:#072d2bcc}
/* Switch station read-outs atomically so outgoing and incoming text never overlap. */
.fd-st__io>div{grid-area:1 / 1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;opacity:0;font-size:13px;line-height:1.45}
.fd-st__io dt{font:600 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#9fd7b8}
.fd-st__io dd{margin:0;color:#fff}
.fd-st[data-step="0"] :is(.fd-trace__line[data-tr="0"],.fd-trace__sig>[data-tr="0"],.fd-st__io>[data-io="0"]),
.fd-st[data-step="1"] :is(.fd-trace__line[data-tr="1"],.fd-trace__sig>[data-tr="1"],.fd-st__io>[data-io="1"]),
.fd-st[data-step="2"] :is(.fd-trace__line[data-tr="2"],.fd-trace__sig>[data-tr="2"],.fd-st__io>[data-io="2"]),
.fd-st[data-step="3"] :is(.fd-trace__line[data-tr="3"],.fd-trace__sig>[data-tr="3"],.fd-st__io>[data-io="3"]),
.fd-st:is([data-step="4"],[data-step="5"]) :is(.fd-trace__line[data-tr="4"],.fd-trace__sig>[data-tr="4"],.fd-st__io>[data-io="4"]){opacity:1}
.fd-st__track{padding-bottom:0}
.fd-head--st{padding-top:clamp(48px,10svh,96px);padding-bottom:4svh}
.fd-step{min-height:84svh;display:flex;flex-direction:column;justify-content:center;padding-block:4svh;position:relative;max-width:54ch}
.fd-step__card{display:grid;gap:12px;padding:20px 22px;border:1px solid #6bb68f3d;border-left:4px solid var(--fd-r1);background:#0a3a37cc}
.fd-step__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.fd-step__tag{font:600 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#9fd7b8}
.fd-step__no{font:850 clamp(3rem,5vw,4.6rem)/.9 var(--gft-font-display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px #6bb68f99;margin:0}
.fd-step h3{font-size:clamp(1.35rem,1.9vw,1.75rem);line-height:1.2;letter-spacing:-.02em}
.fd-step__card>p{font-size:15px;line-height:1.62;color:var(--fd-lt)}
.fd-step__loss{display:grid;gap:4px;border-left:3px solid var(--fd-r4);padding:8px 12px;background:#072d2b99;font-size:14px}
.fd-step__loss b{font:600 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#f4a283}
.fd-step__io{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;font-size:13px;margin:0;padding-top:8px;border-top:1px solid #e2ebe626}
.fd-step__io dt{font:600 12px var(--gft-font-mono);text-transform:uppercase;color:#9fd7b8}
.fd-step__io dd{margin:0;color:var(--fd-ltm)}
.fd-step--release{min-height:102svh;justify-content:center;padding-block:12svh}
.fd-step--release .fd-step__card{border-left-color:var(--fd-r2)}
.fd-step--release .fd-step__loss{border-color:var(--fd-r1)}
.fd-step--release .fd-step__loss b{color:#9fd7b8}
:root[data-m-go] .fd-page .fd-st .fd-step[data-m=pick]:not([data-m-in]){opacity:.22;transform:translateX(26px)}
.fd-seam{position:relative;width:100%;overflow:hidden;pointer-events:none}
.fd-seam svg{display:block;width:100%;height:100%}
.fd-seam--st2cv{height:112px;background:linear-gradient(to bottom,var(--fd-night) 0%,#0a3d3a 55%,var(--fd-paper) 100%)}
.fd-seam--st2cv svg{height:56px}
.fd-seam__warp{fill:none;stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}
.fd-seam__warp--r1{stroke:var(--fd-r1)}
.fd-seam__warp--r2{stroke:var(--fd-r2)}
.fd-seam__node{fill:var(--fd-r1);stroke:var(--fd-night);stroke-width:2;vector-effect:non-scaling-stroke}
.fd-seam__tag{position:absolute;left:var(--gut);bottom:12px;max-width:calc(100% - 2 * var(--gut));padding:6px 10px;border:1px solid #9fd7b8;border-radius:4px;background:var(--fd-night);color:var(--fd-lt);font:600 12px/1.4 var(--gft-font-mono);letter-spacing:.04em}
.fd-seam__thread{fill:none;stroke-width:3;stroke-linecap:round}
.fd-seam__thread--r1{stroke:var(--fd-r1)}
.fd-seam__thread--r2{stroke:var(--fd-r2);stroke-dasharray:8 6}
.fd-seam__thread--r3{stroke:var(--fd-r3);stroke-dasharray:3 8}
.fd-seam__thread--r4{stroke:var(--fd-r4);stroke-dasharray:14 8}
.fd-seam__dot{fill:var(--fd-r1);stroke:var(--fd-night);stroke-width:2}
.fd-seam__ring{fill:none;stroke:var(--fd-r1p);stroke-width:3;stroke-dasharray:6 5}
.fd-feed{position:absolute;width:3px;background:linear-gradient(var(--fd-r1),var(--fd-r2));pointer-events:none;z-index:1}
.fd-feed--down{display:none}
/* the sixth edge is the gate: the hub shrinks to carton size and drops toward Douala-Dibamba below */
@supports (animation-timeline:view()){
  .fd-st{timeline-scope:--fd-rel}
  .fd-step--release{view-timeline-name:--fd-rel;view-timeline-axis:block}
  :root[data-m-go] .fd-st__hubmove{animation-name:fd-st-out;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--fd-rel;animation-range-start:exit 0%;animation-range-end:exit 45%}
}
@keyframes fd-st-out{to{transform:translate(-8%,40%) scale(.26)}}

/* =====================================================================================================
   ACT II · paper · Block 4 corridor film
   ===================================================================================================== */
.fd-cv{background:var(--fd-paper);color:var(--fd-ink)}
.fd-cv__grid{display:grid;grid-template-columns:minmax(0,67fr) minmax(0,33fr)}
.fd-cv__plate{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,17vw,262px);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"bar bar" "map read" "label read";gap:10px 18px;padding:clamp(12px,2.4svh,24px) 0 clamp(12px,2.4svh,24px) var(--gut);overflow-anchor:none}
.fd-cv__bar{grid-area:bar;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.fd-seg{display:inline-flex;border:1px solid #25302e40;background:#fff}
.fd-seg__opt{position:relative;cursor:pointer}
.fd-seg__opt input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.fd-seg__opt span{display:grid;min-height:48px;align-content:center;padding:4px 14px;font-size:14px;font-weight:700;line-height:1.2;transition:background .3s,color .3s}
.fd-seg__opt small{font:500 12px var(--gft-font-mono);letter-spacing:.04em}
.fd-seg__opt:has(input:checked) span{background:var(--fd-night);color:#fff}
.fd-seg__opt:has(input:focus-visible){outline:3px solid var(--gft-ochre);outline-offset:2px}
.fd-cv__tabs{display:flex;gap:4px;flex-wrap:wrap}
.fd-cv__tabs a{display:grid;align-content:center;min-height:48px;padding:2px 12px;border-bottom:3px solid #25302e26;text-decoration:none;color:var(--fd-ink);font-size:14px;font-weight:650;line-height:1.2}
.fd-cv__tabs a small{font:12px var(--gft-font-mono);color:var(--fd-mute)}
.fd-cv__tabs a[aria-current]{border-color:var(--fd-r4p);color:var(--fd-r4p)}
.fd-cv__map{grid-area:map;min-height:0;position:relative}
.fd-cv__map svg{display:block;width:100%;height:100%;overflow:visible}
.fd-cv__t{font:600 18px var(--gft-font-mono);letter-spacing:.05em;fill:var(--fd-ink)}
.fd-cv__t--city{font-size:18px;font-weight:700;fill:var(--fd-night)}
.fd-cv__t--note{font-size:15px;font-weight:700;fill:var(--fd-ink)}
.fd-cv__t--big{font:800 28px var(--gft-font-display);fill:var(--fd-ink)}
.fd-cv__t--w{fill:#fff;font-weight:700}
.fd-cv__pill{fill:#f6f4eff5;stroke:#25302e55;stroke-width:1.8}
.fd-cv__citypill{fill:#fffffffa;stroke:var(--fd-night);stroke-width:2}
.fd-cv__citylead{stroke:var(--fd-night);stroke-width:2;stroke-dasharray:4 3}
.fd-cv__cardbg{fill:#fffffffa;stroke:#25302e40;stroke-width:1.8}
.fd-cv__sea path{fill:none;stroke:#4f6f8c;stroke-width:3;opacity:.55}
.fd-cv__feed{stroke:var(--fd-r1p);stroke-width:4;stroke-dasharray:2 10;stroke-linecap:round}
.fd-cv__order{fill:none;stroke-width:5;transform-box:view-box;transform-origin:150px 470px;transition:opacity .6s,scale .9s var(--fd-out)}
.fd-cv__order--r1{stroke:var(--fd-r1p)}.fd-cv__order--r2{stroke:#b06f17}
.fd-cv[data-step="0"] .fd-cv__orders{opacity:.25}
.fd-cv__orders{transition:opacity .6s}
.fd-cv[data-step="5"] .fd-cv__order{scale:1.22;opacity:.85}
.fd-cv__branch{fill:none;stroke:#25302e80;stroke-width:3;stroke-dasharray:10 8}
.fd-cv__band{fill:none;stroke:#b06f17;stroke-width:46;stroke-linecap:round;opacity:0;transition:opacity .6s}
.fd-cv[data-step="3"] .fd-cv__band{opacity:.22}
.fd-cv__cor{fill:none;stroke:var(--fd-night);stroke-width:6;stroke-linejoin:round}
.fd-cv__long{fill:none;stroke:#b06f17;stroke-width:6;stroke-dasharray:14 10;opacity:0;transition:opacity .5s}
.fd-cv__short{fill:none;stroke:var(--fd-r1p);stroke-width:10;stroke-linecap:round;opacity:0;transition:opacity .5s}
.fd-cv[data-step="0"] .fd-cv__long,.fd-cv[data-site=garoua] .fd-cv__long{opacity:1}
.fd-cv[data-step="1"] .fd-cv__short{opacity:1}
.fd-cv__dot{fill:var(--fd-night);stroke:#fff;stroke-width:3}
.fd-cv__dot--port{fill:var(--fd-r1p)}
.fd-cv__gr{fill:none;stroke:#b06f17;stroke-width:3;opacity:.25;transition:opacity .5s}
.fd-cv[data-site=garoua] .fd-cv__gr{opacity:1}
.fd-cv__lay{opacity:0;transition:opacity .5s}
.fd-cv[data-step="2"] .fd-cv__lay[data-l="2"],.fd-cv[data-step="4"] .fd-cv__lay[data-l="4"],.fd-cv[data-step="5"] .fd-cv__lay[data-l="5"]{opacity:1}
.fd-cv__gtrack{fill:none;stroke:#25302e33;stroke-width:14;stroke-linecap:round}
.fd-cv__gzone{fill:none;stroke:#b0401f;stroke-width:14}
.fd-cv__needle,.fd-cv__tremble{transform-box:view-box;transform-origin:310px 166px}
.fd-cv__needle{rotate:var(--fd-a);transition:rotate .45s var(--fd-out)}
.fd-cv__needle line{stroke:var(--fd-night);stroke-width:5;stroke-linecap:round}
.fd-cv__needle circle{fill:var(--fd-night)}
.fd-cv__hubpt circle{fill:#fff;stroke:var(--fd-r1p);stroke-width:3}
.fd-cv__hubpt .fd-cv__hubc{fill:var(--fd-r1p);stroke:none}
.fd-cv__pbox{fill:#c98a2b;stroke:var(--fd-night);stroke-width:2}
.fd-cv__pqr{fill:var(--fd-night)}
.fd-cv__peg1{fill:var(--fd-night)}.fd-cv__peg2{fill:#8f5a10}
.fd-cv__pegl{stroke:var(--fd-night);stroke-width:3;stroke-dasharray:4 4}
.fd-cv__usd{fill:#4f6f8c;opacity:.35}
.fd-cv__wob{fill:#4f6f8c;stroke:#fff;stroke-width:3}
.fd-cv__carton{transform:translate(150px,470px)}
.fd-cv__box{fill:#c98a2b;stroke:var(--fd-night);stroke-width:2.5}
.fd-cv__ctape{stroke:var(--fd-night);stroke-width:2}
.fd-cv__wall{fill:none;stroke:var(--fd-night);stroke-width:2.5;stroke-dasharray:5 4;opacity:0;transition:opacity .4s}
.fd-cv__dess{fill:#4f6f8c;opacity:0;transition:opacity .4s}
.fd-cv:is([data-step="2"],[data-step="3"],[data-step="4"],[data-step="5"]):not([data-dry]) :is(.fd-cv__wall,.fd-cv__dess){opacity:1}
.fd-cv__wobw,.fd-cv__parcelmove{transform-box:view-box}
:root[data-m-go] .fd-cv__map[data-m-on] .fd-cv__sea{animation-name:fd-sea;animation-duration:5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] .fd-cv[data-step="2"] .fd-cv__map[data-m-on] .fd-cv__tremble{animation-name:fd-tremble;animation-duration:.5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] .fd-cv[data-step="3"] .fd-cv__map[data-m-on] .fd-cv__band{animation-name:fd-bandb;animation-duration:2.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] .fd-cv[data-step="5"] .fd-cv__map[data-m-on] .fd-cv__wobw{animation-name:fd-wob;animation-duration:4.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] .fd-cv[data-step="4"] .fd-cv__map[data-m-on] .fd-cv__parcelmove{animation-name:fd-parcel;animation-duration:2.8s;animation-delay:calc(var(--k) * .3s);animation-timing-function:var(--fd-out);animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] .fd-cv[data-step="0"] .fd-cv__map[data-m-on] .fd-cv__carton{animation-name:fd-cv-long;animation-duration:6.5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
:root[data-m-go] .fd-cv[data-step="1"] .fd-cv__map[data-m-on] .fd-cv__carton{animation-name:fd-cv-short;animation-duration:3.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
:root[data-m-go] .fd-cv[data-step="3"] .fd-cv__map[data-m-on] .fd-cv__carton{animation-name:fd-cv-slow;animation-duration:11s;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes fd-sea{from{transform:translateX(-6px)}to{transform:translateX(8px)}}
@keyframes fd-tremble{from{rotate:-1deg}to{rotate:1deg}}
@keyframes fd-bandb{from{opacity:.14}to{opacity:.32}}
@keyframes fd-wob{from{transform:translateX(0)}to{transform:translateX(250px)}}
@keyframes fd-parcel{from{transform:translate(0,0)}to{transform:translate(var(--dx),var(--dy))}}
@keyframes fd-cv-long{0%{transform:translate(560px,90px)}48%{transform:translate(400px,540px)}92%,100%{transform:translate(150px,470px)}}
@keyframes fd-cv-short{0%,8%{transform:translate(150px,470px)}50%,58%{transform:translate(400px,540px)}100%{transform:translate(150px,470px)}}
@keyframes fd-cv-slow{0%{transform:translate(400px,540px)}100%{transform:translate(700px,380px)}}
/* selvedge-draw: the corridor draws from Douala-Dibamba toward Garoua; the nodes tie on (knot) */
:root[data-m-go] .fd-page .fd-cv__map[data-m=selvedge-draw]:not([data-m-in]){opacity:.3;transform:none;clip-path:inset(0 72% 0 0)}
:root[data-m-go] .fd-page .fd-cv__map[data-m=selvedge-draw][data-m-in]{animation-name:fd-cv-draw;animation-duration:900ms;animation-timing-function:var(--gft-ease-in-out)}
@keyframes fd-cv-draw{from{opacity:.3;clip-path:inset(0 72% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
.fd-cv__node{transform-box:fill-box;transform-origin:center}
:root[data-m-go] .fd-cv__map[data-m-in] .fd-cv__node{animation-name:fd-knot;animation-duration:380ms;animation-delay:calc(220ms + var(--n) * 160ms);animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes fd-knot{from{transform:scale(.2) rotate(-40deg);opacity:0}}
.fd-cv__read{grid-area:read;display:grid;align-self:center;padding-right:var(--gut)}
.fd-cv__panel{grid-area:1 / 1;display:grid;gap:8px;align-content:start;padding:18px 18px 16px;background:#fff;border:1px solid #25302e26;border-top:4px solid var(--fd-r1p);opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}
.fd-cv[data-step="0"] .fd-cv__panel[data-p="0"],.fd-cv[data-step="1"] .fd-cv__panel[data-p="1"],.fd-cv[data-step="2"] .fd-cv__panel[data-p="2"],
.fd-cv[data-step="3"] .fd-cv__panel[data-p="3"],.fd-cv[data-step="4"] .fd-cv__panel[data-p="4"],.fd-cv[data-step="5"] .fd-cv__panel[data-p="5"]{opacity:1;visibility:visible;transition:opacity .45s,visibility 0s}
.fd-cv__panel[data-p="0"]{border-top-color:#b06f17}
.fd-cv__panel .gft-eyebrow{color:var(--fd-mute)}
.fd-cv__big{font:820 clamp(2rem,2.8vw,2.7rem)/1.02 var(--gft-font-display);letter-spacing:-.035em;margin:0}
.fd-cv__big small{font:600 14px var(--gft-font-mono);letter-spacing:0}
.fd-cv__big--txt{font-size:clamp(1.3rem,1.7vw,1.6rem);letter-spacing:-.02em;line-height:1.15}
.fd-cv__sub{font-size:14px;line-height:1.5;color:var(--fd-mute)}
.fd-cv__badge{font:600 12px var(--gft-font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fd-r1p)}
.fd-cv__win{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px 10px;align-items:center;font:12px var(--gft-font-mono);color:var(--fd-mute)}
.fd-cv__win i{display:block;height:12px;position:relative;background:#25302e14}
.fd-cv__w1{grid-column:2;grid-row:1}
.fd-cv__w2{grid-column:2;grid-row:2}
.fd-cv__winl:first-child{grid-row:1}.fd-cv__winl:last-child{grid-row:2;grid-column:1}
.fd-cv__w1::after,.fd-cv__w2::after{content:'';position:absolute;top:0;bottom:0;background:var(--fd-r1p)}
.fd-cv__w1::after{left:10%;width:15%}
.fd-cv__w2::after{left:75%;width:25%;background:#b06f17}
.fd-cv__label{grid-area:label;font:600 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fd-mute);display:grid;min-height:3em}
.fd-cv__label span{grid-area:1 / 1;opacity:0;transition:opacity .4s}
.fd-cv[data-step="0"] .fd-cv__label [data-p="0"],.fd-cv[data-step="1"] .fd-cv__label [data-p="1"],.fd-cv[data-step="2"] .fd-cv__label [data-p="2"],
.fd-cv[data-step="3"] .fd-cv__label [data-p="3"],.fd-cv[data-step="4"] .fd-cv__label [data-p="4"],.fd-cv[data-step="5"] .fd-cv__label [data-p="5"]{opacity:1}
.fd-cv__track{padding:0 var(--gut) 0 clamp(20px,3vw,44px)}
.fd-cv__track .fd-head{padding-top:clamp(44px,9svh,88px);padding-bottom:3svh}
.fd-cv__track .fd-head__title{font-size:clamp(1.8rem,2.6vw,2.7rem)}
.fd-cvstep{min-height:80svh;display:flex;flex-direction:column;justify-content:center;padding-block:4svh;max-width:48ch}
.fd-cvstep:last-child{min-height:98svh}
.fd-cvstep__card{display:grid;gap:10px;padding:18px 20px;background:#fff;border:1px solid #25302e26;border-left:4px solid var(--fd-r1p);box-shadow:0 8px 24px #1f2b280a}
.fd-cvstep[data-i="0"] .fd-cvstep__card,.fd-cvstep[data-i="3"] .fd-cvstep__card,.fd-cvstep[data-i="5"] .fd-cvstep__card{border-left-color:#b06f17}
.fd-cvstep[data-i="2"] .fd-cvstep__card{border-left-color:#b0401f}
.fd-cvstep__meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px}
.fd-cvstep__pill{font:700 12px var(--gft-font-mono);letter-spacing:.04em;padding:2px 8px;background:var(--fd-sand);color:var(--fd-ink)}
.fd-cvstep h3{font-size:clamp(1.25rem,1.65vw,1.55rem);line-height:1.22;letter-spacing:-.02em}
.fd-cvstep p,.fd-cvstep li{font-size:15px;line-height:1.58}
.fd-cvstep ul{padding-left:20px;display:grid;gap:6px;margin:0}
.fd-cvstep .gft-eyebrow{color:var(--fd-r1p)}
.fd-cvstep__c,.fd-cvstep__ver{display:grid;gap:2px;font-size:14px!important;color:var(--fd-mute);border-left:3px solid #b06f17;padding:6px 10px;background:var(--fd-paper);margin:0}
.fd-cvstep__ver{border-left-color:var(--fd-r1p)}
.fd-cvstep__c b,.fd-cvstep__ver b{font:600 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#8f5a10}
.fd-cvstep__ver b{color:var(--fd-r1p)}
.fd-cvstep__rh{padding:10px 12px;background:var(--fd-paper);border:1px solid #25302e26;font-size:14px}
.fd-cvstep__rh input{accent-color:#b0401f}
.fd-cvstep__ticks{display:flex;justify-content:space-between;font:12px var(--gft-font-mono);color:var(--fd-mute)}
.fd-cv .fd-drawer>p{font-size:14px}
.fd-feed--in{display:none}

/* =====================================================================================================
   Block 5 · the market bands (sand breath inside Act II): the dial unrolled
   ===================================================================================================== */
.fd-bd{background:var(--fd-sand);color:var(--fd-ink);padding-top:0}
.fd-bd__cut{display:grid;gap:7px;padding:22px 0 0 calc(var(--gut) + 6%)}
.fd-bd__cut i{display:block;height:5px;background:var(--fd-r1p);transform-origin:0 50%}
.fd-bd__cut [data-ring=r2]{background:#b06f17}
.fd-bd__cut [data-ring=r3]{background:radial-gradient(circle,var(--fd-r3p) 2px,transparent 2.5px) 0 50%/12px 5px repeat-x}
.fd-bd__cut [data-ring=r4]{background:repeating-linear-gradient(90deg,#bd472a 0 22px,transparent 22px 32px)}
.fd-bd>.fd-wrap{padding-top:clamp(40px,8svh,88px)}
.fd-head--wide .fd-head__title{max-width:30ch}
.fd-bd__chips{border:0;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.fd-bd__chips legend{margin-bottom:8px;color:var(--fd-mute)}
.fd-bd__chips label{position:relative;cursor:pointer}
.fd-bd__chips input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.fd-bd__chips span{display:grid;place-items:center;min-height:44px;padding:0 18px;border:1px solid #25302e40;background:#fff;font-size:14px;font-weight:700;transition:background .3s,color .3s}
.fd-bd__chips label:has(input:checked) span{background:var(--fd-night);color:#fff;border-color:var(--fd-night)}
.fd-bd__chips label:has(input:focus-visible){outline:3px solid var(--gft-ochre);outline-offset:2px}
.fd-bd__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(24px,4vw,64px);margin-top:28px;align-items:start}
.fd-bd__axis{display:grid;gap:10px;border-left:3px solid var(--fd-ink);padding-left:0}
.fd-band{display:grid;gap:8px;text-align:left;border:0;background:transparent;color:var(--fd-mute);padding:10px 14px 12px 18px;cursor:pointer;min-height:44px;transition:background .35s,color .35s}
.fd-band .fd-band__bar{opacity:.38;transition:opacity .35s}
.fd-band[aria-pressed=true]{color:var(--fd-ink);background:#ffffff99}
.fd-band[aria-pressed=true] .fd-band__bar{opacity:1}
.fd-band__lab{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.fd-band__lab b{font-size:16px}
.fd-band__lab small{font:12px var(--gft-font-mono);color:var(--fd-mute)}
.fd-band__bar{display:block;position:relative;height:24px;overflow:hidden;background:var(--fd-r1p);container-type:inline-size}
.fd-band[data-ring=r2] .fd-band__bar{background:#b06f17}
.fd-band[data-ring=r3] .fd-band__bar{background:radial-gradient(circle,var(--fd-r3p) 5px,transparent 5.5px) 0 50%/22px 24px repeat-x}
.fd-band[data-ring=r4] .fd-band__bar{background:repeating-linear-gradient(90deg,#bd472a 0 40px,transparent 40px 56px)}
.fd-band__bar em{position:absolute;top:-4px;bottom:-4px;width:8px;background:var(--fd-ink);left:calc(14% + var(--g) * 24%)}
.fd-band__run{position:absolute;top:0;bottom:0;left:0;width:72px;background:linear-gradient(90deg,transparent,#ffffffcc,transparent);opacity:0}
.fd-band[aria-pressed=true] .fd-band__run{opacity:1}
:root[data-m-go] .fd-bd__axis .fd-band[aria-pressed=true] .fd-band__run{animation-name:fd-run;animation-duration:3.6s;animation-timing-function:linear;animation-iteration-count:infinite}
.fd-band[data-ring=r4] .fd-band__run{display:none}
@keyframes fd-run{from{transform:translateX(-80px)}to{transform:translateX(100cqw)}}
.fd-bd__axisnote{font:12px/1.6 var(--gft-font-mono);color:var(--fd-mute);padding:4px 18px 0}
.fd-bd__chart{display:grid}
.fd-bd__panel{grid-area:1 / 1;display:grid;gap:12px;align-content:start;padding:22px 24px;background:#fff;border:1px solid #25302e26;border-top:5px solid var(--fd-r1p);visibility:hidden;opacity:0;transition:opacity .4s,visibility 0s .4s}
.fd-bd[data-sel=all] .fd-bd__panel[data-p=all],.fd-bd[data-sel=r1] .fd-bd__panel[data-p=r1],.fd-bd[data-sel=r2] .fd-bd__panel[data-p=r2],
.fd-bd[data-sel=r3] .fd-bd__panel[data-p=r3],.fd-bd[data-sel=r4] .fd-bd__panel[data-p=r4]{visibility:visible;opacity:1;transition:opacity .45s,visibility 0s}
.fd-bd__panel[data-p=r2]{border-top-color:#b06f17}.fd-bd__panel[data-p=r3]{border-top-color:var(--fd-r3p)}.fd-bd__panel[data-p=r4]{border-top-color:#bd472a}.fd-bd__panel[data-p=all]{border-top-color:var(--fd-ink)}
.fd-bd__panel .gft-eyebrow{color:var(--fd-mute)}
.fd-bd__big{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0}
.fd-bd__big strong{font:850 clamp(3rem,5.4vw,5.2rem)/.95 var(--gft-font-display);letter-spacing:-.05em}
.fd-bd__big small{font:600 14px/1.3 var(--gft-font-mono);color:var(--fd-mute);max-width:24ch}
.fd-bd__sub{font-size:15px;line-height:1.55;color:var(--fd-mute);min-height:3.1em}
.fd-bd__hexes{width:100%;height:auto;display:block}
.fd-hx{fill:transparent;stroke:var(--fd-r1p);stroke-width:2.5;transition:fill .3s}
.fd-hx[data-on]{fill:var(--fd-r1p)}
:root[data-m-go] .fd-bd[data-sel=r1] .fd-hx[data-on]{animation-name:fd-shimmer;animation-duration:4s;animation-delay:calc(var(--k) * .25s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}
@keyframes fd-shimmer{0%,70%,100%{opacity:1}80%{opacity:.55}}
.fd-bd__ctl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:end}
.fd-bd__scrub label{font-size:14px}
.fd-cur{border:0;padding:0;margin:0;display:flex;gap:4px;flex-wrap:wrap}
.fd-cur legend{color:var(--fd-mute);margin-bottom:6px}
.fd-cur label{position:relative;cursor:pointer}
.fd-cur input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.fd-cur span{display:grid;place-items:center;min-height:44px;min-width:56px;padding:0 10px;border:1px solid #25302e40;font:700 13px var(--gft-font-mono)}
.fd-cur label:has(input:checked) span{background:var(--fd-r1p);color:#fff;border-color:var(--fd-r1p)}
.fd-cur label:has(input:focus-visible){outline:3px solid var(--gft-ochre);outline-offset:2px}
.fd-bd__bars{display:grid;gap:8px}
.fd-bd__barrow{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:14px;margin:0}
.fd-bd__barrow span{font:600 12px var(--gft-font-mono)}
.fd-bd__barrow i{display:block;height:18px;width:var(--w);background:var(--fd-r1p)}
.fd-bd__panel[data-p=r2] .fd-bd__barrow i{background:#b06f17}
.fd-bd__panel[data-p=r3] .fd-bd__barrow i{background:var(--fd-r3p)}
.fd-bd__barrow--alt i{background:repeating-linear-gradient(90deg,var(--fd-r3p) 0 10px,#4f6f8c88 10px 14px)!important}
.fd-bd__barrow b{font-size:14px;white-space:nowrap}
.fd-bd__barnote{font:12px/1.6 var(--gft-font-mono);color:var(--fd-mute)}
.fd-bd__peg{display:grid;grid-template-columns:auto 40px auto;align-items:center;gap:0;justify-content:start}
.fd-bd__peg span{padding:10px 16px;font:700 15px var(--gft-font-mono);color:#fff}
.fd-bd__peg1{background:var(--fd-night)}.fd-bd__peg2{background:#8f5a10}
.fd-bd__peg i{height:0;border-top:3px dashed var(--fd-ink)}
.fd-bd__range{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;font:600 12px var(--gft-font-mono)}
.fd-bd__range i{display:block;height:14px;background:#4f6f8c33;position:relative}
.fd-bd__range em{position:absolute;left:30%;width:45%;top:0;bottom:0;background:#4f6f8c}
.fd-bd__range b{font-size:14px}
.fd-bd__tariff{display:grid;grid-template-columns:92.3fr 7.7fr;height:40px;position:relative}
.fd-bd__tariff i{background:var(--fd-r3p)}
.fd-bd__tariff em{display:grid;place-items:center end;background:#bd472a;color:#fff;font:700 12px var(--gft-font-mono);font-style:normal;white-space:nowrap;padding-right:6px;overflow:visible;direction:rtl}
.fd-bd__gate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;font:700 13px var(--gft-font-mono)}
.fd-bd__gate i{height:24px;background:repeating-linear-gradient(90deg,#bd472a 0 40px,transparent 40px 56px);position:relative}
.fd-bd__gate i::after{content:'';position:absolute;left:0;top:-8px;bottom:-8px;width:10px;background:var(--fd-ink)}
.fd-bd__gate b{color:#b0401f}
.fd-bd__sum{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.fd-bd__sum li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;font-size:15px;padding:8px 0 8px 12px;border-left:4px solid var(--fd-r1p)}
.fd-bd__sum [data-ring=r2]{border-color:#b06f17}.fd-bd__sum [data-ring=r3]{border-color:var(--fd-r3p)}.fd-bd__sum [data-ring=r4]{border-color:#bd472a}
.fd-bd__sum b{font:700 12px var(--gft-font-mono);text-transform:uppercase;letter-spacing:.06em;padding-top:2px}
.fd-table--open{margin-top:28px;padding:18px 20px;background:#fff;border:1px solid #25302e26;border-top:4px solid var(--fd-night)}
.fd-table__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}
.fd-table__head .gft-eyebrow{color:var(--fd-r1p)}
.fd-table__hint{font:12px/1.6 var(--gft-font-mono);color:var(--fd-mute);margin-top:4px}
.fd-table__scroll{overflow-x:auto;margin-top:10px}
.fd-table table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px;background:#fff}
.fd-table th,.fd-table td{border-bottom:1px solid #25302e26;padding:10px 12px;text-align:left;vertical-align:top}
.fd-table th{font:600 12px var(--gft-font-mono);text-transform:uppercase;letter-spacing:.04em;background:var(--fd-paper)}
.fd-table th button{all:unset;cursor:pointer;display:inline-flex;gap:6px;align-items:center;min-height:44px}
.fd-table th button:focus-visible{outline:3px solid var(--gft-ochre)}
.fd-table__dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--fd-r1p);margin-right:8px;vertical-align:middle}
.fd-table__dot[data-ring=r2]{background:#b06f17}.fd-table__dot[data-ring=r3]{background:var(--fd-r3p)}.fd-table__dot[data-ring=r4]{background:#bd472a}
.fd-table[data-filtered] tbody tr:not([data-hit]) td{color:#59665f}.fd-table tbody tr[data-hit]{background:#6bb68f1f}
.fd-bd__drawers{display:grid;grid-template-columns:1fr;gap:0;margin-top:18px;align-items:start}
.fd-evcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fd-evcard{padding:12px 14px;background:#fff;border-left:4px solid var(--fd-r1p)}
.fd-evcard[data-ring=r2]{border-color:#b06f17}.fd-evcard[data-ring=r3]{border-color:var(--fd-r3p)}.fd-evcard[data-ring=r4]{border-color:#bd472a}
.fd-evcard h3{font-size:15px}
.fd-evcard p{font-size:15px;line-height:1.6;margin-top:6px}
/* hand-over 5 → 6: the selected band curls back into a hub at the left, where the interlude's iris opens */
.fd-bd__curl{position:relative;height:148px;margin-top:clamp(32px,6svh,64px);background:linear-gradient(to bottom,var(--fd-sand) 0%,var(--fd-sand) 38%,#1a3b38 78%,var(--fd-night) 100%);overflow:hidden;overflow-anchor:none}
.fd-seam--bd2il{position:absolute;inset:0;width:100%;height:100%}
.fd-bd__curlhub{position:absolute;left:12%;top:108px;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:5px solid var(--fd-r1p);background:var(--fd-night)}
.fd-bd__curlarc{position:absolute;left:12%;top:108px;width:110px;height:110px;margin:-55px 0 0 -55px;border-radius:50%;border:5px solid transparent;border-top-color:var(--fd-r1p);border-right-color:var(--fd-r1p);opacity:0}
.fd-bd__curlband{position:absolute;left:calc(12% + 23px);right:0;top:103px;height:8px;background:var(--fd-r1p);transform-origin:0 50%}
.fd-bd[data-sel=r2] :is(.fd-bd__curlband){background:#b06f17}.fd-bd[data-sel=r2] :is(.fd-bd__curlhub,.fd-bd__curlarc){border-color:#b06f17}.fd-bd[data-sel=r2] .fd-bd__curlarc{border-left-color:transparent;border-bottom-color:transparent}
.fd-bd[data-sel=r3] .fd-bd__curlband{background:var(--fd-r3p)}.fd-bd[data-sel=r3] :is(.fd-bd__curlhub,.fd-bd__curlarc){border-color:var(--fd-r3p)}.fd-bd[data-sel=r3] .fd-bd__curlarc{border-left-color:transparent;border-bottom-color:transparent}
.fd-bd[data-sel=r4] .fd-bd__curlband{background:#bd472a}.fd-bd[data-sel=r4] :is(.fd-bd__curlhub,.fd-bd__curlarc){border-color:#bd472a}.fd-bd[data-sel=r4] .fd-bd__curlarc{border-left-color:transparent;border-bottom-color:transparent}
@supports (animation-timeline:view()){
  :root[data-m-go] .fd-bd__curlband{animation-name:fd-curl;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:cover 35%;animation-range-end:cover 85%}
  :root[data-m-go] .fd-bd__curlarc{animation-name:fd-curlarc;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:cover 35%;animation-range-end:cover 85%}
}
@keyframes fd-curl{to{transform:scaleX(.02)}}
@keyframes fd-curlarc{from{opacity:0;transform:rotate(-200deg)}to{opacity:1;transform:rotate(0deg)}}

/* =====================================================================================================
   ACT III · night · Block 6 interlude: the dial at viewport scale, the gate shuts as it is read
   ===================================================================================================== */
.fd-il{background:var(--fd-night);color:var(--fd-lt);min-height:100svh;overflow:clip;display:grid;view-timeline-name:--fd-il;view-timeline-axis:block}
.fd-il__art{position:absolute;inset:0;pointer-events:none;overflow:clip}
.fd-il__dial{position:absolute;left:72%;top:50%;width:max(96vmax,880px);aspect-ratio:1;translate:-50% -50%}
.fd-il__dial svg,.fd-il__lowl,.fd-il__openl,.fd-il__canvas{position:absolute;inset:0;width:100%;height:100%}
.fd-il__lowl svg,.fd-il__openl svg{width:100%;height:100%;display:block;overflow:visible}
.fd-il__dial svg{overflow:visible}
.fd-il__ring{fill:none;stroke-width:3.5}
.fd-il__ring--r1{stroke:var(--fd-r1)}.fd-il__ring--r2{stroke:var(--fd-r2)}
.fd-il__ring--r3{stroke:var(--fd-r3);stroke-dasharray:2 11;stroke-linecap:round;stroke-width:4.5}
.fd-il__ring--r4{stroke:var(--fd-r4);stroke-dasharray:26 12;stroke-width:3}
.fd-il__bar{fill:var(--fd-r4);transform-box:fill-box;transform-origin:center}
.fd-il__edge{stroke:var(--fd-r1);stroke-width:5;stroke-linecap:round}
.fd-il__sel{fill:none;stroke-width:16;opacity:0;transition:opacity .5s;transform-box:view-box;transform-origin:300px 300px}
.fd-il__sel--r1{stroke:var(--fd-r1)}.fd-il__sel--r2{stroke:var(--fd-r2)}.fd-il__sel--r3{stroke:var(--fd-r3)}.fd-il__sel--r4{stroke:var(--fd-r4)}
.fd-page[data-fd-ring=r1] .fd-il__sel--r1,.fd-page[data-fd-ring=r2] .fd-il__sel--r2,.fd-page[data-fd-ring=r3] .fd-il__sel--r3,.fd-page[data-fd-ring=r4] .fd-il__sel--r4{opacity:.2}
:root[data-m-go] .fd-il__dial[data-m-on] .fd-il__sel{animation-name:fd-pulse;animation-duration:2.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.fd-il__halo{transform-box:view-box;transform-origin:300px 300px}
:root[data-m-go] .fd-il__dial[data-m-on] .fd-il__halo{animation-name:fd-spin;animation-duration:160s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:reverse}
.fd-il__canvas{pointer-events:none}
.fd-il__lowl,.fd-il__openl{overflow-anchor:none}
@supports (animation-timeline:view()){
  :root[data-m-go] .fd-il__bar{animation-name:fd-gate;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--fd-il;animation-range-start:cover 12%;animation-range-end:cover 52%}
  :root[data-m-go] .fd-il__openl{animation-name:fd-il-open;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--fd-il;animation-range-start:exit 0%;animation-range-end:exit 70%}
  :root[data-m-go] .fd-il__lowl{animation-name:fd-il-low;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--fd-il;animation-range-start:exit 0%;animation-range-end:exit 40%}
}
@keyframes fd-gate{from{transform:rotate(90deg)}to{transform:rotate(0deg)}}
@keyframes fd-il-open{to{transform:translateY(22%) scale(.62)}}
@keyframes fd-il-low{to{opacity:0}}
/* iris from the hub where the band curled */
:root[data-m-go] .fd-page .fd-il__art[data-m=iris]:not([data-m-in]){clip-path:circle(8% at 12% 0%)}
.fd-il__in{position:relative;z-index:2;display:grid;grid-template-rows:auto auto;align-content:center;gap:clamp(20px,3.2svh,36px);padding-block:clamp(40px,6svh,68px) clamp(24px,4svh,44px);min-height:96svh}
.fd-il__text{position:relative;max-width:min(46rem,58vw);padding:12px 32px 12px 0}
/* the text column's own night floor, feathered wide to the right and at the foot, so the full-scale dial fades out
   before it reaches the headline, quote or attribution */
.fd-il__text::before{content:'';position:absolute;z-index:-1;top:-80px;bottom:-60px;left:-100vw;right:-240px;background:linear-gradient(90deg,var(--fd-night) 0,var(--fd-night) calc(100% - 320px),#072d2b00 100%);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 90px),#0000 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - 90px),#0000 100%);pointer-events:none}
.fd-head--il .fd-head__title{font-size:clamp(2rem,3.4vw,3.4rem);max-width:19ch;color:#fff}
.fd-il__quote{margin:18px 0 0 74px;padding-left:20px;border-left:3px solid var(--fd-r2);max-width:42ch}
.fd-il__quote p{font:italic 500 clamp(1.15rem,1.6vw,1.5rem)/1.38 var(--gft-font-serif);color:#fff}
.fd-il__quote footer{font:12px/1.55 var(--gft-font-mono);color:var(--fd-ltm);margin-top:8px}
.fd-il__text .fd-drawer{margin-left:74px;max-width:60ch}
.fd-il__bottom{grid-row:2;display:grid;gap:12px;position:relative;isolation:isolate;padding-top:20px}
.fd-seam--il2gv{height:56px;background:linear-gradient(to bottom,var(--fd-night),var(--fd-deep));z-index:2}
/* the read-out band owns its rows: an opaque night floor (feathered at the top edge) so the full-scale dial and its
   exit arcs pass behind the figures, never through them */
.fd-il__bottom::before{content:'';position:absolute;z-index:-1;top:-72px;bottom:-240px;left:-100vw;right:-100vw;background:linear-gradient(to bottom,#072d2b00 0,var(--fd-night) 72px);border-top:0;pointer-events:none}
.fd-il__bottom::after{content:'';position:absolute;z-index:-1;top:0;left:0;right:0;height:1px;background:var(--fd-line);pointer-events:none}
.fd-il__figs{display:flex;flex-wrap:wrap;gap:8px 32px;align-items:baseline;font-size:15px}
.fd-il__fig strong{font:850 clamp(2.4rem,3.6vw,3.6rem)/1 var(--gft-font-display);letter-spacing:-.04em;color:var(--fd-r3);margin-right:8px}
.fd-il__fig--open strong{color:var(--fd-r4)}
.fd-il__states{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fd-state{display:grid;gap:4px;text-align:left;min-height:64px;padding:12px 14px;border:1px solid #e2ebe633;border-top:4px solid var(--fd-r1);background:#072d2bd9;color:var(--fd-lt);cursor:pointer;transition:background .3s}
.fd-state[data-ring=r2]{border-top-color:var(--fd-r2)}.fd-state[data-ring=r3]{border-top-color:var(--fd-r3)}.fd-state[data-ring=r4]{border-top-color:var(--fd-r4)}
.fd-state[aria-pressed=true]{background:#e2ebe6;color:var(--fd-night)}
.fd-state__stage{font:600 12px var(--gft-font-mono);letter-spacing:.05em;text-transform:uppercase}
.fd-state__state{font-size:17px}
.fd-il__read{display:grid;min-height:4.4em}
.fd-il__detail{grid-area:1 / 1;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s;font-size:16px}
.fd-page[data-fd-ring=r1] .fd-il__detail[data-ring=r1],.fd-page[data-fd-ring=r2] .fd-il__detail[data-ring=r2],.fd-page[data-fd-ring=r3] .fd-il__detail[data-ring=r3],.fd-page[data-fd-ring=r4] .fd-il__detail[data-ring=r4]{opacity:1;visibility:visible;transition:opacity .4s,visibility 0s}

/* =====================================================================================================
   Block 7 · governance (deep night): KPI gauges cut from the dial's arcs; the huddle dial
   ===================================================================================================== */
.fd-gv{background:var(--fd-deep);color:var(--fd-lt);padding-block:clamp(56px,9svh,100px) clamp(40px,6svh,64px)}
.fd-gv__top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(24px,4vw,64px);align-items:end}
.fd-gv__r27{position:relative;padding:16px 18px;border:1px solid #e2ebe633;background:#072d2b99}
.fd-gv__leader{position:absolute;left:-40px;top:50%;width:40px;height:2px;background:var(--fd-r2)}
.fd-gv__r27 .gft-eyebrow{color:#f0c47c}
.fd-gv__fig{display:flex;gap:10px;align-items:baseline;margin-top:6px}
.fd-gv__fig strong{font:850 clamp(1.8rem,2.6vw,2.6rem)/1 var(--gft-font-display);letter-spacing:-.04em;color:#fff}
.fd-gv__fig span{font-size:14px;color:var(--fd-ltm)}
.fd-gv__note{font-size:13px;line-height:1.55;color:var(--fd-ltm);margin-top:10px}
.fd-gv__bar{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-top:28px;padding:12px 0;border-block:1px solid #e2ebe626}
.fd-seg--cad{background:transparent;border-color:#e2ebe640}
.fd-seg--cad .fd-seg__opt span{color:var(--fd-lt)}
.fd-seg--cad .fd-seg__opt:has(input:checked) span{background:#e2ebe6;color:var(--fd-night)}
.fd-gv__scrub{flex:1;min-width:220px;font-size:14px}
.fd-switch{position:relative;display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer;font-size:14px}
.fd-switch input{position:absolute;opacity:0;width:44px;height:28px;margin:0;cursor:pointer}
.fd-switch i{width:44px;height:24px;border-radius:12px;background:#e2ebe633;position:relative;transition:background .3s}
.fd-switch i::after{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:translate .3s var(--fd-out)}
.fd-switch input:checked+i{background:var(--fd-r1)}
.fd-switch input:checked+i::after{translate:20px 0}
.fd-switch input:focus-visible+i{outline:3px solid var(--gft-ochre);outline-offset:2px}
.fd-gv__tag{font:12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#f0c47c}
.fd-gv__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(24px,3.4vw,56px);margin-top:24px;align-items:start}
.fd-gv__kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fd-kpi{display:grid;gap:8px;padding:14px 16px;border:1px solid #e2ebe626;background:#072d2bb3;height:100%}
.fd-kpi header{display:flex;justify-content:space-between;gap:8px;font:12px/1.3 var(--gft-font-mono);color:var(--fd-ltm)}
.fd-kpi h3{font-size:16px;line-height:1.25}
.fd-kpi__main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.fd-gauge{width:100%;max-width:190px;height:auto;overflow:visible}
.fd-gauge__track{fill:none;stroke:var(--fd-r1);stroke-width:11;stroke-linecap:round;opacity:.9}
.fd-kpi[data-ki="1"] .fd-gauge__track{stroke:var(--fd-r2)}
.fd-kpi[data-ki="2"] .fd-gauge__track{stroke:var(--fd-r3)}
.fd-kpi[data-ki="3"] .fd-gauge__track{stroke:var(--fd-r4)}
.fd-gauge__alert,.fd-gauge__needle,.fd-gauge__ndraw{transform-box:view-box;transform-origin:80px 82px}
.fd-gauge__alert{rotate:var(--fd-a);transition:opacity .3s}
.fd-gauge__alert line{stroke:#fff;stroke-width:2;stroke-dasharray:4 3}
.fd-gauge__needle{rotate:var(--fd-a);transition:rotate .6s var(--fd-out)}
.fd-gauge__needle line{stroke:#fff;stroke-width:4;stroke-linecap:round}
.fd-gauge__needle circle{fill:#fff}
.fd-kpi__num{display:grid;gap:4px;text-align:right}
.fd-kpi__num strong{font:850 clamp(1.7rem,2.4vw,2.3rem)/1 var(--gft-font-display);letter-spacing:-.03em}
.fd-kpi__num span{font:12px var(--gft-font-mono);color:#9fd7b8}
.fd-kpi__num span[data-breach=y]{color:#f4a283}
.fd-spark{position:relative;container-type:inline-size}
.fd-spark svg{display:block;width:100%;height:60px;cursor:crosshair;touch-action:none}
.fd-spark__alert{stroke:#f4a283;stroke-width:1.5;stroke-dasharray:5 4;transition:opacity .3s}
.fd-spark__line{fill:none;stroke:#e2ebe6;stroke-width:2;vector-effect:non-scaling-stroke}
.fd-spark__mark line{stroke:#f0c47c;stroke-width:1.5;vector-effect:non-scaling-stroke}
.fd-spark__mark circle{fill:#f0c47c}
.fd-spark__mark{translate:var(--fd-x) 0;transition:translate .35s var(--fd-out)}
.fd-spark::after{content:'';position:absolute;top:0;bottom:0;left:0;width:2px;background:#9fd7b8;opacity:0;pointer-events:none}
:root[data-m-go] .fd-gv__kpis .fd-kpiw[data-m-in] .fd-spark::after{animation-name:fd-walk;animation-duration:6s;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes fd-walk{0%{transform:translateX(0);opacity:0}10%,90%{opacity:.5}100%{transform:translateX(100cqw);opacity:0}}
.fd-gv[data-fd-alerts=off] :is(.fd-spark__alert,.fd-gauge__alert){opacity:0}
.fd-kpi:has([data-breach=y]) .fd-spark__alert{stroke-width:2.5}
:root[data-m-go] .fd-gv[data-fd-alerts=on] .fd-kpi:has([data-breach=y]) .fd-spark__alert{animation-name:fd-blink;animation-duration:1.1s;animation-timing-function:steps(2,jump-none);animation-iteration-count:infinite}
@keyframes fd-blink{50%{opacity:.25}}
.fd-kpi__alert{font-size:13px;color:var(--fd-ltm)}
.fd-kpi__f{margin-top:2px}
.fd-kpi__f>p{font-size:13px!important}
.fd-kpi__f code{font:12px/1.5 var(--gft-font-mono);white-space:normal}
/* stack: each card lands, then its needle swings in and its sparkline draws */
:root[data-m-go] .fd-kpiw:not([data-fd-in]){opacity:.22;transform:translateY(24px)}
:root[data-m-go] .fd-kpiw[data-fd-in]{animation-name:fd-card-in;animation-duration:800ms;animation-delay:calc(140ms + var(--ki,0) * 90ms);animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .fd-kpiw:is([data-m-in],[data-fd-in]) .fd-gauge__ndraw{animation-name:fd-ndraw;animation-duration:780ms;animation-delay:calc(140ms + var(--ki,0) * 90ms);animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .fd-kpiw:is([data-m-in],[data-fd-in]) .fd-spark__draw{animation-name:fd-sdraw;animation-duration:760ms;animation-delay:calc(160ms + var(--ki,0) * 90ms);animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes fd-ndraw{from{rotate:calc(-120deg - var(--fd-a))}}
@keyframes fd-sdraw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.fd-gv__huddle{display:grid;gap:16px;padding:18px;border:1px solid #e2ebe626;background:#072d2bb3}
.fd-hd__top{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:center}
.fd-hd__dial{position:relative;width:100%;max-width:200px;aspect-ratio:1;justify-self:center}
.fd-hd__dial svg{width:100%;height:100%;display:block;overflow:visible}
.fd-hd__meta{display:grid;gap:8px}
.fd-hd__meta .gft-eyebrow{color:#9fd7b8}
.fd-hd__sub{font-size:13px;line-height:1.5;color:var(--fd-ltm)}
.fd-hd__segs{display:flex;flex-wrap:wrap;gap:6px}
.fd-hd__segs span{font:600 12px var(--gft-font-mono);padding:3px 8px;border-left:3px solid var(--fd-r1);background:#0a3d3a}
.fd-hd__segs [data-ring=r2]{border-color:var(--fd-r2)}.fd-hd__segs [data-ring=r3]{border-color:var(--fd-r3)}
.fd-hd__track{fill:none;stroke-width:9;opacity:.24}
.fd-hd__track--r1,.fd-hd__lit--r1{stroke:var(--fd-r1)}.fd-hd__track--r2,.fd-hd__lit--r2{stroke:var(--fd-r2)}.fd-hd__track--r3,.fd-hd__lit--r3{stroke:var(--fd-r3)}
.fd-hd__lit{fill:none;stroke-width:12;opacity:0;transform-box:view-box;transform-origin:300px 300px;rotate:-90deg;transition:opacity .5s,rotate .7s var(--fd-out)}
.fd-hd__lit[data-on]{opacity:1;rotate:0deg}
.fd-hd__count{position:absolute;left:50%;bottom:-6px;translate:-50% 0;font:800 18px var(--gft-font-display);background:var(--fd-night);padding:2px 10px;border:1px solid #e2ebe633;white-space:nowrap}
.fd-gv__huddle[data-done="3"] .fd-hd__count{color:#9fd7b8}
.fd-hd__panels{display:grid;width:100%}
.fd-hd__panel{grid-area:1 / 1;display:grid;gap:8px;align-content:start;visibility:hidden;opacity:0;transition:opacity .35s,visibility 0s .35s}
.fd-hd__panel[data-on]{visibility:visible;opacity:1;transition:opacity .4s,visibility 0s}
.fd-hd__panel .gft-eyebrow{color:#9fd7b8}
.fd-hd__panel h3{font-size:17px;line-height:1.3}
.fd-hd__list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fd-hd__list label{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:center;min-height:48px;padding:8px 12px;border:1px solid #e2ebe633;cursor:pointer;font-size:14px;line-height:1.4}
.fd-hd__list input{position:absolute;opacity:0;width:28px;height:28px;margin:0;left:12px;cursor:pointer}
.fd-hd__list i{width:26px;height:26px;border-radius:50%;border:3px solid var(--fd-r1);position:relative}
.fd-hd__list i[data-ring=r2]{border-color:var(--fd-r2)}.fd-hd__list i[data-ring=r3]{border-color:var(--fd-r3)}
.fd-hd__list input:checked+i{background:currentColor}
.fd-hd__list input:checked+i::after{content:'';position:absolute;left:7px;top:2px;width:6px;height:12px;border:solid var(--fd-night);border-width:0 3px 3px 0;rotate:45deg}
.fd-hd__list input:checked+i[data-ring=r1]{background:var(--fd-r1)}.fd-hd__list input:checked+i[data-ring=r2]{background:var(--fd-r2)}.fd-hd__list input:checked+i[data-ring=r3]{background:var(--fd-r3)}
.fd-hd__list input:focus-visible+i{outline:3px solid var(--gft-ochre);outline-offset:3px}
.fd-hd__status{font:12px/1.5 var(--gft-font-mono);color:var(--fd-ltm)}
.fd-hd__status[data-state=done]{color:#9fd7b8}
.fd-gv__bstrip{margin-top:20px;padding:14px 18px;border:1px solid #e2ebe626;background:#072d2b99;display:grid;gap:8px}
.fd-gv__bpills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fd-gv__bpills span{display:grid;gap:2px;padding:8px 10px;border-left:3px solid var(--fd-r1);background:#0a3d3acc;font-size:13px;color:var(--fd-lt)}
.fd-gv__bpills span:nth-child(2){border-color:var(--fd-r2)}.fd-gv__bpills span:nth-child(3){border-color:var(--fd-r3)}.fd-gv__bpills span:nth-child(4){border-color:var(--fd-r4)}
.fd-gv__bpills b{font:600 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#9fd7b8}
.fd-gv__more{max-width:78ch;margin-top:4px}
.fd-seam--gv2cl{height:44px;background:linear-gradient(to bottom,var(--fd-deep),var(--fd-night))}

/* =====================================================================================================
   Block 8 · closing (night): the release dial, the routes on its rings, the stage rail into the footer
   ===================================================================================================== */
.fd-cl{background:var(--fd-night);color:var(--fd-lt);padding-block:clamp(56px,9svh,96px) 0;min-height:100svh}
.fd-cl__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,2.6vw,40px);align-items:start}
.fd-cl__ctl{display:grid;gap:14px}
.fd-cl__turn{display:grid;gap:6px}
.fd-cl__turn .fd-k{text-transform:none;letter-spacing:.02em;font-size:13px}
.fd-cl__turn strong{color:#fff}
.fd-cl__btns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.fd-cl__btns button{min-height:44px;border:1px solid #e2ebe640;background:transparent;color:var(--fd-lt);font:700 13px var(--gft-font-mono);cursor:pointer;border-top:3px solid var(--fd-r1)}
.fd-cl__btns [data-ring=r2]{border-top-color:var(--fd-r2)}.fd-cl__btns [data-ring=r3]{border-top-color:var(--fd-r3)}.fd-cl__btns [data-ring=r4]{border-top-color:var(--fd-r4)}
.fd-cl__btns button[aria-pressed=true]{background:#e2ebe6;color:var(--fd-night)}
.fd-cl__read{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 20px;align-items:start;padding:12px 16px;border-left:3px solid var(--fd-r1);background:#0a3d3a99}
.fd-cl__lit{display:flex;gap:12px;align-items:baseline}
.fd-cl__lit strong{font:850 3rem/1 var(--gft-font-display);letter-spacing:-.04em;color:#fff}
.fd-cl__lit span{font-size:15px;color:var(--fd-ltm)}
.fd-cl__rule{display:grid;gap:4px;font-size:15px;line-height:1.5;min-height:4.5em}
.fd-cl__rule b{font:600 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#9fd7b8}
.fd-cl__dialcol{display:grid;gap:14px;justify-items:stretch;position:sticky;top:max(8px,calc(50svh - 430px));align-self:start;overflow-anchor:none}
.fd-cl__dialwrap{width:calc(100% + var(--gut));max-width:820px;margin:-12px calc(var(--gut) * -1) -8px 0}
.fd-cl__svg{display:block;width:100%;height:auto;overflow:visible}
.fd-cl__halo{transform-box:view-box;transform-origin:300px 300px}
.fd-cl__ring circle{fill:none;stroke-width:4;opacity:.5;transition:opacity .4s,stroke-width .4s}
.fd-cl__ring--r1 circle{stroke:var(--fd-r1)}.fd-cl__ring--r2 circle{stroke:var(--fd-r2)}
.fd-cl__ring--r3 circle{stroke:var(--fd-r3);stroke-dasharray:2 11;stroke-linecap:round;stroke-width:5}
.fd-cl__ring--r4 circle{stroke:var(--fd-r4);stroke-dasharray:26 12}
.fd-page[data-fd-ring=r1] .fd-cl__ring--r1 circle,.fd-page[data-fd-ring=r2] .fd-cl__ring--r2 circle,.fd-page[data-fd-ring=r3] .fd-cl__ring--r3 circle,.fd-page[data-fd-ring=r4] .fd-cl__ring--r4 circle{opacity:1;stroke-width:8}
.fd-cl__hand,.fd-cl__hline,.fd-cl__lotmove{transform-box:view-box;transform-origin:300px 300px}
.fd-cl__hand{rotate:var(--fd-deg);transition:rotate .8s var(--fd-out)}
.fd-cl__hline{stroke:#fff;stroke-width:3;opacity:.9}
.fd-cl__hdot{fill:#fff;stroke:var(--fd-r1);stroke-width:5}
.fd-page[data-fd-ring=r2] .fd-cl__hdot{stroke:var(--fd-r2)}.fd-page[data-fd-ring=r3] .fd-cl__hdot{stroke:var(--fd-r3)}.fd-page[data-fd-ring=r4] .fd-cl__hdot{stroke:var(--fd-r4)}
.fd-cl__lot{fill:#c98a2b;stroke:#fff;stroke-width:2.5}
:root[data-m-go] .fd-cl__dialwrap[data-m-on] .fd-cl__lotmove{animation-name:fd-release;animation-duration:2.6s;animation-timing-function:var(--fd-out);animation-iteration-count:infinite}
:root[data-m-go] .fd-cl__dialwrap[data-m-on] .fd-cl__halo{animation-name:fd-spin;animation-duration:150s;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes fd-release{0%{transform:translateY(0);opacity:0}12%{opacity:1}78%{transform:translateY(calc(var(--fd-r) * -1));opacity:1}100%{transform:translateY(calc(var(--fd-r) * -1));opacity:0}}
.fd-cl__node :is(.fd-cl__leader,.fd-cl__ndot){opacity:.35;transition:opacity .45s}
.fd-cl__node[data-lit] :is(.fd-cl__leader,.fd-cl__ndot){opacity:1}
.fd-cl__node:not([data-lit]) .fd-cl__nlab{fill:#9fb5a9}
.fd-cl .fd-head__title{font-size:clamp(1.9rem,2.8vw,2.8rem);max-width:24ch}
.fd-cl__leader{stroke:#e2ebe699;stroke-width:1.5;stroke-dasharray:3 4}
.fd-cl__ndot{fill:var(--fd-night);stroke:#fff;stroke-width:3;transform-box:fill-box;transform-origin:center;transition:scale .4s var(--fd-out),fill .3s}
.fd-cl__node[data-lit] .fd-cl__ndot{fill:#c98a2b;scale:1.25}
.fd-cl__node[data-hover] .fd-cl__ndot{fill:var(--fd-r1);scale:1.55}
.fd-cl__node[data-hover] .fd-cl__nlab{fill:#fff}
.fd-cl__nlab{font:600 22px var(--gft-font-mono);fill:#e2ebe6;letter-spacing:.02em}
/* wind: the release line winds out from the hub, the nodes tie on along it */
:root[data-m-go] .fd-cl__dialwrap[data-m-in] .fd-cl__hline{animation-name:fd-windline;animation-duration:760ms;animation-delay:140ms;animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .fd-cl__dialwrap[data-m-in] .fd-cl__node{animation-name:fd-tie;animation-duration:480ms;animation-delay:calc(220ms + var(--k) * 70ms);animation-timing-function:var(--fd-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes fd-windline{from{transform:scale(.1) rotate(-90deg);opacity:0}}
@keyframes fd-tie{from{opacity:0}}
.fd-cl__rows{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fd-cl__rows li{transition:opacity .4s}
.fd-cl__rows li:not([data-lit]) :is(.fd-cl__t b,.fd-cl__t small,.fd-cl__on){color:#9fb5a9}
.fd-cl__rows li:not([data-lit]) .fd-cl__go{opacity:.35}
.fd-cl__rows a,.fd-cl__res{display:grid;grid-template-rows:auto 1fr auto;gap:8px;height:100%;min-height:132px;padding:12px 14px;border:1px solid #e2ebe626;border-top:3px solid #e2ebe633;background:#0a3a3780;text-decoration:none;color:var(--fd-lt);transition:background .3s,border-color .3s,transform .3s var(--fd-out)}
.fd-cl__rows li[data-lit] a{border-top-color:var(--gft-ochre);background:#0a3a37cc}
.fd-cl__rows a:hover{background:#0e4d4a;transform:translateY(-2px)}
.fd-cl__tiletop{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fd-cl__glyph{width:38px;height:26px;fill:none;stroke:var(--fd-r1);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.fd-cl__rows li[data-lit] .fd-cl__glyph{stroke:var(--gft-ochre);opacity:1}
.fd-cl__code{font:600 12px/1.3 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#f0c47c}
.fd-cl__t{display:grid;gap:4px;align-content:start}
.fd-cl__t b{font-size:15px;line-height:1.28}
.fd-cl__t small{font-size:13px;line-height:1.42;color:var(--fd-ltm)}
.fd-cl__on{font:12px var(--gft-font-mono);color:#9fd7b8}
.fd-cl__go{font-size:18px;color:var(--fd-r1)}
.fd-rail{margin-top:clamp(28px,5svh,48px);padding:20px 22px;border:1px solid #6bb68f40;background:#0a3a3799;position:relative}
.fd-rail__bar{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between}
.fd-rail__title{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fd-rail__pill{font:700 12px var(--gft-font-mono);letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;background:var(--gft-ochre);color:var(--fd-night)}
.fd-rail__bar label{font-size:14px}
.fd-rail__bar input{flex:1;min-width:200px}
.fd-rail__list{list-style:none;margin:16px 0 0;padding:12px 8px;background:#072d2bcc;border:1px solid #e2ebe626;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));position:relative}
.fd-rail__line{position:absolute;left:8px;right:8px;top:27px;height:4px;background:#e2ebe633;container-type:inline-size;pointer-events:none}
.fd-rail__thread{position:absolute;left:calc(100% * 7.5 / 9);right:0;top:0;height:4px;background:var(--gft-ochre)}
.fd-rail__lot{position:absolute;left:0;top:-9px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:#c98a2b;border:3px solid #fff;box-shadow:0 0 0 4px #e5ab4d44;translate:calc((var(--fd-i) + .5) * 100cqw / 9) 0;transition:translate .5s var(--fd-out)}
.fd-rail__shuttle{position:absolute;left:0;top:-4px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#f0c47c;translate:calc(7.5 * 100cqw / 9) 0}
:root[data-m-go] .fd-rail__shuttle[data-m-on]{animation-name:fd-railgo;animation-duration:2.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
@keyframes fd-railgo{from{translate:calc(7.5 * 100cqw / 9) 0;opacity:1}to{translate:calc(8.5 * 100cqw / 9) 0;opacity:0}}
.fd-rail__st{display:grid;justify-items:center;text-align:center;gap:6px;padding:0 4px}
.fd-rail__node{width:16px;height:16px;margin-top:8px;border-radius:50%;border:2px solid #e2ebe699;background:var(--fd-night);position:relative;z-index:1}
.fd-rail__st[data-on] .fd-rail__node{border-color:var(--gft-ochre);background:var(--gft-ochre)}
.fd-rail__code{font:600 12px var(--gft-font-mono);color:#f0c47c}
.fd-rail__st a,.fd-rail__res{font-size:13px;line-height:1.3;color:var(--fd-lt);min-height:44px;display:block}
.fd-rail__st.is-cur a{color:#fff;font-weight:700}
.fd-rail__res em{font-style:normal;color:var(--fd-ltm)}
.fd-rail__conduit{display:block;width:100%;height:34px;overflow:visible}
.fd-rail__cpath{fill:none;stroke:var(--fd-r1);stroke-width:2.5;stroke-dasharray:6 5}
.fd-rail__cpath--weft{stroke:var(--gft-ochre);stroke-width:3;stroke-dasharray:none}
.fd-weftcard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 28px;align-items:center;padding:18px 22px;border:1px solid #e5ab4d88;border-left:5px solid var(--gft-ochre);background:#072d2be6}
.fd-weftcard__copy{display:grid;gap:6px}
.fd-weftcard__copy .gft-eyebrow{color:#f0c47c}
.fd-weftcard__copy h3{font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.2}
.fd-weftcard__copy h3 a{color:#fff;text-decoration:none}
.fd-weftcard__copy h3 a:hover{text-decoration:underline}
.fd-weftcard__copy>p{font-size:15px;line-height:1.55;color:var(--fd-lt)}
.fd-rail__hand{font:13px/1.55 var(--gft-font-mono)!important;color:#9fd7b8!important;max-width:80ch}
.fd-cl__basis{max-width:80ch;margin-bottom:0}
.fd-cl__exit{display:block;margin:18px 0 0 auto;width:3px;height:56px;margin-right:calc(var(--gut) + 22px);background:linear-gradient(var(--gft-ochre),#c98a2b00)}

/* =====================================================================================================
   Narrower desktops and tablets
   ===================================================================================================== */
@media (max-width:1100px) and (min-width:761px){
  .fd-st__frame{grid-template-columns:clamp(110px,14vw,140px) minmax(0,1fr)}
  .fd-belt a span{font-size:12px}
  .fd-st__ticks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fd-cv__plate{grid-template-columns:minmax(0,1fr) 220px}
  .fd-gv__grid{grid-template-columns:1fr}
  .fd-cl__grid{grid-template-columns:1fr}
}

/* =====================================================================================================
   Phones
   ===================================================================================================== */
@media (max-width:760px){
  .fd-head{grid-template-columns:40px minmax(0,1fr);gap:4px 12px}
  .fd-head__mark{width:40px;height:40px}
  .fd-head__title{font-size:clamp(1.65rem,7.4vw,2.2rem)}
  .fd-head__lede{font-size:16px}
  /* Act I: the dial in an opaque 38 vh band pinned under the header, starting in the splash's free band */
  .fd-a1{--fd-col:100vw;display:flex;flex-direction:column}
  .fd-a1>.gft-splash{order:1}
  .fd-a1>.fd-ins{order:3}
  /* in flow between the splash and the instrument, raised into the splash's free band (no measurement, no shift) */
  .fd-a1__col{order:2;position:sticky;top:0;bottom:auto;right:auto;width:100%;height:38svh;margin-top:calc(-38svh - 68px);margin-bottom:68px}
  .fd-a1__pin{position:static;height:100%;padding:6px 16px;background:var(--fd-night);grid-template-rows:minmax(0,1fr) auto;row-gap:6px;border-bottom:1px solid #6bb68f40}
  .fd-a1__dialbox{height:100%}
  .fd-a1__legend{display:none}
  .fd-d__label{display:none}
  .fd-d__day{font-size:30px}
  .fd-page .fd-a1 .gft-splash__content{padding-bottom:calc(38svh + 28px);padding-right:0}
  .fd-page .fd-a1 .gft-splash__structure{display:none}
  .fd-seals{grid-template-columns:1fr 1fr}
  .fd-a1__cta{width:100%;justify-content:center}
  .fd-a1__actions{justify-items:stretch}
  .fd-ins__grid{grid-template-columns:minmax(0,1fr);padding-inline:var(--gut)}
  .fd-ins__void{display:none}
  .fd-ins__ctl{padding-top:32px;max-width:none}
  .fd-ins__tail{height:6svh}
  .fd-chips{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:6px;padding-bottom:4px}
  .fd-chip{flex:0 0 72%;scroll-snap-align:start}
  .fd-lead{grid-template-columns:minmax(0,1fr)}
  .fd-lead__read{justify-content:space-between}
  /* stations: reserve room for the complete passport and station illustration; cards scroll beneath */
  .fd-st__grid{grid-template-columns:1fr}
  .fd-st__stagecol{display:contents}
  .fd-st__stage{height:54svh;z-index:4;padding:0;align-self:start;background:var(--fd-night);margin-inline:calc(var(--gut) * -1)}
  .fd-st__frame{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"belt" "hub" "ticks";padding:8px 12px;gap:6px;border-inline:0}
  .fd-belt ol{display:grid;grid-template-columns:repeat(5,1fr)}
  .fd-belt ol::before{left:10%;right:10%;top:21px;bottom:auto;width:auto;height:2px;background:repeating-linear-gradient(90deg,#e2ebe666 0 6px,transparent 6px 12px)}
  .fd-belt li{height:auto;justify-content:center}
  .fd-belt a{grid-template-columns:1fr;justify-items:center}
  .fd-belt a span{display:none}
  .fd-belt__lot{display:none}
  .fd-st__ticks{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .fd-st__hub{overflow:hidden}
  .fd-st__hubmove{width:min(100%,25svh);height:min(100%,25svh)}
  .fd-tk{padding:4px 6px;grid-template-columns:1fr}
  .fd-tk i{display:none}
  .fd-tk span{font-size:12px}
  .fd-st__foot{display:none}
  .fd-h__losst,.fd-p__lab{font-size:16px}
  .fd-head--st{padding-top:32px}
  .fd-step{min-height:70svh;max-width:none}
  .fd-step__io{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;font-size:14px;margin:0}
  .fd-step__io dt{font:600 12px var(--gft-font-mono);text-transform:uppercase;color:#9fd7b8}
  .fd-step__io dd{margin:0}
  .fd-step--release{min-height:110svh;padding-top:10svh}
  .fd-feed{display:none}
  .fd-seam--st2cv{height:144px}
  /* corridor: the plate as a 40 vh band (map only), read-out in the scrolling column */
  .fd-cv__grid{grid-template-columns:1fr}
  .fd-cv__platecol{display:contents}
  .fd-cv__plate{height:40svh;z-index:4;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);grid-template-areas:"map";padding:6px 8px;background:var(--fd-paper);border-bottom:1px solid #25302e26;align-self:start}
  .fd-cv__bar,.fd-cv__read,.fd-cv__label{display:none}
  .fd-cv__t{font-size:18px}
  .fd-cv__t--city{font-size:18px}
  .fd-cv__track{padding-inline:var(--gut)}
  .fd-cvstep{min-height:72svh;max-width:none}
  .fd-cvstep:last-child{min-height:100svh}
  /* bands */
  .fd-bd__grid{grid-template-columns:1fr}
  .fd-bd__chips{flex-wrap:nowrap;overflow-x:auto}
  .fd-bd__chips span{white-space:nowrap}
  .fd-band__bar{height:24px}
  .fd-bd__ctl{grid-template-columns:1fr}
  .fd-bd__big strong{font-size:2.8rem}
  .fd-bd__drawers,.fd-evcards{grid-template-columns:1fr}
  .fd-bd__panel{padding:16px}
  .fd-bd__barrow{grid-template-columns:56px minmax(0,1fr) auto}
  /* interlude */
  .fd-il{min-height:110svh}
  .fd-il__dial{left:58%;top:34%;width:200vw;opacity:.6}
  .fd-il__in{min-height:110svh}
  .fd-il__text{max-width:none;padding-right:0}
  .fd-il__quote,.fd-il__text .fd-drawer{margin-left:0}
  .fd-il__states{grid-template-columns:1fr 1fr}
  /* governance */
  .fd-gv__top{grid-template-columns:1fr}
  .fd-gv__leader{display:none}
  .fd-gv__grid{grid-template-columns:1fr}
  .fd-gv__kpis{gap:8px}
  .fd-kpi{padding:10px}
  .fd-kpi header{flex-direction:column}
  .fd-kpi h3{font-size:14px}
  .fd-kpi__main{grid-template-columns:1fr}
  .fd-kpi__num{text-align:left}
  .fd-gauge{max-width:150px}
  .fd-hd__top{grid-template-columns:1fr}
  .fd-hd__dial{width:180px}
  .fd-gv__bpills{grid-template-columns:1fr 1fr}
  .fd-gv__bar{flex-direction:column;align-items:stretch}
  /* closing */
  .fd-cl__grid{grid-template-columns:minmax(0,1fr)}
  .fd-cl__ctl{display:contents}
  .fd-cl__ctl>.fd-head{order:1}
  .fd-cl__rows{order:3}
  .fd-cl__dialcol{order:2;position:static;overflow:hidden;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)}
  .fd-cl__dialwrap{max-width:none;width:165%;margin:0 0 0 calc(-32.5% - var(--gut))}
  .fd-cl__nlab{display:none}
  .fd-cl__code{overflow-wrap:anywhere}
  .fd-cl__rows,.fd-weftcard{grid-template-columns:1fr}
  .fd-rail__list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;padding-bottom:6px}
  .fd-rail__st{flex:0 0 34%;scroll-snap-align:center}
  .fd-rail__line,.fd-rail__conduit{display:none}
}

@media (prefers-reduced-motion:reduce){
  .fd-a1__ringsl,.fd-a1__hubl,.fd-st__hubmove,.fd-bd__curlband,.fd-bd__curlarc,.fd-il__bar,.fd-il__openl,.fd-il__lowl{animation-name:none;animation-timeline:auto}
}
:root[data-motion=calm] :is(.fd-a1__ringsl,.fd-a1__hubl,.fd-st__hubmove,.fd-bd__curlband,.fd-bd__curlarc,.fd-il__bar,.fd-il__openl,.fd-il__lowl){animation-name:none;animation-timeline:auto}
