/* /programmes/cameroon-textile/workforce/ only (choreography sheet control/choreo/programmes__cameroon-textile__workforce.md).
   Everything is prefixed wf-. HTML is the composed end state; pre-states live only under :root[data-m-go]. Entrances
   play once when about 38 percent of a block is in view ([data-wf-act] gains [data-wf-in]); states animate transform,
   opacity, clip-path and filter only. Sticky pins never counter-translate. Without motion (reduced motion, Calm, no
   runtime) the pinned scenes fall back to a static, finished composition. */
.wf-page{--wf-night:#072d2b;--wf-deep:#0a3d3a;--wf-forest:#0e4d4a;--wf-paper:#f6f4ef;--wf-breath:#e4eee8;--wf-ink:#10322d;--wf-muted:#34503f;--wf-on:#e8f1ec;--wf-on2:#d3e6db;--wf-och:#c98a2b;--wf-och-l:#f0bf6a;--wf-och-d:#80520e;--wf-mint:#9fd7b8;--wf-ease:cubic-bezier(.16,1,.3,1);--wf-io:cubic-bezier(.65,0,.35,1);overflow-x:clip;font-variant-numeric:tabular-nums lining-nums}
.wf-kicker{font:500 13px/1.6 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase}
.wf-tag{display:inline-block;font:500 13px/1.4 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid currentColor;padding:6px 10px}
.wf-note{font:400 14px/1.7 var(--gft-font-mono);color:var(--wf-muted);max-width:110ch;margin-top:14px}
.wf-note--dark{color:var(--wf-on2)}
.wf-page .gft-eyebrow{font-size:13px;letter-spacing:.1em}
.wf-page .gft-section__seam{display:none}
.wf-block{padding-block:0}
.wf-page h2{letter-spacing:-.04em}
.wf-page svg [data-m-live]{transform-box:fill-box;transform-origin:center}

/* the motif: 30 dotted picks (one dot per estimated person) */
.wf-row{fill:none;stroke:#6bb68f;stroke-linecap:round;stroke-dasharray:0 9.15;stroke-width:4.6;transition:opacity .35s ease}
.wf-row--a{stroke:#f6f4ef}
.wf-row--b{stroke:#e6ab4a;stroke-width:6}

/* HTML labels placed in an SVG's coordinates */
.wf-lbl{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);transform:translate(0,-50%);font:500 14px/1.3 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--wf-on);white-space:nowrap;pointer-events:none}
.wf-lbl--end{transform:translate(-100%,-50%)}
.wf-lbl--head,.wf-lbl--base{transform:translate(-50%,-50%)}
.wf-lbl--head{font-size:22px;font-weight:600;letter-spacing:.1em;color:#fff}
.wf-lbl--base{text-transform:none;letter-spacing:.02em;font-size:14px;color:var(--wf-on2)}
.wf-lbl--a{color:#f6f4ef}
.wf-lbl--b{color:var(--wf-och-l)}
.wf-lbl--c{color:var(--wf-mint)}
.wf-lbl small{display:block;font:italic 16px/1.4 var(--gft-font-serif);text-transform:none;letter-spacing:0;color:var(--wf-on2);margin-top:2px}

/* segmented radios */
.wf-seg{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
.wf-seg legend{font:500 13px/1.6 var(--gft-font-mono);text-transform:uppercase;letter-spacing:.08em;padding:0 0 10px;float:left;width:100%}
.wf-seg__opt{display:flex;align-items:center;gap:10px;border:1px solid #9fb6a8;min-height:48px;padding:8px 18px;cursor:pointer;font-size:15px;font-weight:650;background:var(--wf-paper);color:var(--wf-ink);transition:background-color .25s ease,color .25s ease}
.wf-seg__opt input{width:17px;height:17px;accent-color:var(--wf-forest);flex-shrink:0;margin:0}
.wf-seg__opt:has(input:checked){background:var(--wf-forest);color:#fff;border-color:var(--wf-forest)}
.wf-seg__opt:focus-within{outline:3px solid #2c3e7a;outline-offset:3px}
.wf-seg--dark legend{color:var(--wf-on2)}
.wf-seg--dark .wf-seg__opt{background:transparent;border-color:#9fc4af99;color:var(--wf-on)}
.wf-seg--dark .wf-seg__opt input{accent-color:var(--wf-och)}
.wf-seg--dark .wf-seg__opt:has(input:checked){background:var(--wf-och);border-color:var(--wf-och);color:var(--wf-night)}
.wf-seg--dark .wf-seg__opt:focus-within{outline-color:#f6f4ef}

.wf-more{margin-top:14px;font-size:15px}
.wf-more summary{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;font:500 13px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--wf-ink)}
.wf-more__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px 36px;padding:10px 0 6px}
.wf-more__body p{font-size:17px;line-height:1.7;max-width:62ch}
.wf-more--dark summary{color:var(--wf-on)}
.wf-more--dark .wf-more__body p{color:var(--wf-on)}

/* ===== 1 · splash (night): the pyramid woven pick by pick ===== */
.wf-page .gft-splash{min-height:max(760px,calc(100svh - 88px))}
.wf-page .gft-splash__structure{inset:0 0 0 34%;align-items:stretch}
.wf-page .gft-splash__structure::after{background:linear-gradient(90deg,#072d2b 0%,#072d2baa 5%,#072d2b00 22%)}
.wf-page .gft-splash__content{padding-block:52px 40px;pointer-events:none}
.wf-page .gft-splash__content>*{pointer-events:auto}
.wf-page .gft-splash h1{font-size:clamp(4.2rem,6vw,7rem);max-width:9ch;line-height:1.02}
.wf-page .gft-splash h1 .gft-serif{display:inline-block}
.wf-page .gft-splash__lede{max-width:34ch;font-size:clamp(17px,1.3vw,19px);color:#e3eee7}
.wf-page .gft-splash__data,.wf-page .gft-splash__signal,.wf-page .gft-splash__caption,.wf-page .gft-splash__position{color:var(--wf-on2);font-size:13px}
.wf-page .gft-splash__cue{font-size:14px}
:root[data-m-go] .wf-page .gft-splash h1[data-m-in]{animation-name:wf-h1;animation-duration:760ms;animation-timing-function:var(--wf-ease);animation-delay:0ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-page .gft-splash h1[data-m-in] .gft-serif{animation-name:wf-h1b;animation-duration:720ms;animation-timing-function:var(--wf-ease);animation-delay:180ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes wf-h1{from{opacity:.12;transform:translateY(-.34em)}}
@keyframes wf-h1b{from{opacity:.1;transform:translateY(-.5em) rotate(-2deg)}}
.wf-sp{position:relative;width:100%;height:100%;container-type:size;display:grid;place-items:center}
.wf-sp__fig{position:relative;width:min(100cqw,calc(100cqh * 740 / 540));aspect-ratio:740/540}
.wf-sp__svg{position:absolute;inset:0;width:100%;height:100%}
.wf-hit{fill:transparent;pointer-events:all;cursor:crosshair}
.wf-veil{stroke:#f6f4ef;stroke-width:6}
.wf-sp__veil{opacity:0}
.wf-sp__shut,.wf-sp__lap{opacity:0}
.wf-sp[data-layer=a] .wf-rows .wf-row:not(.wf-row--a),.wf-sp[data-layer=b] .wf-rows .wf-row:not(.wf-row--b),.wf-sp[data-layer=c] .wf-rows .wf-row:not(.wf-row--c){opacity:.24}
.wf-sp__read{position:absolute;right:20px;top:64px;width:268px;pointer-events:none}
.wf-sp__read p{display:none;gap:6px;border-left:3px solid var(--wf-och);padding:10px 14px 12px 16px;background:#072d2bdd}
.wf-sp__read strong{font:700 21px/1.25 var(--gft-font-display);letter-spacing:-.02em;color:#fff}
.wf-sp__read span:last-child{font-size:15px;line-height:1.55;color:var(--wf-on)}
.wf-sp__read .wf-kicker{color:var(--wf-och-l)}
.wf-sp[data-layer=all] p[data-for=all],.wf-sp[data-layer=a] p[data-for=a],.wf-sp[data-layer=b] p[data-for=b],.wf-sp[data-layer=c] p[data-for=c]{display:grid}
.wf-sp__legend{display:none}
.wf-sp-actions{display:grid;gap:18px;max-width:46ch}
.wf-layerbtns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.wf-layerbtns .wf-kicker{width:100%;color:var(--wf-on2)}
.wf-layerbtns button{min-height:46px;padding:8px 18px;border:1px solid #9fc4af99;background:#072d2bcc;color:#f6f4ef;font:500 14px var(--gft-font-mono);transition:background-color .25s ease,color .25s ease}
.wf-layerbtns button[aria-pressed=true]{background:var(--wf-och);border-color:var(--wf-och);color:var(--wf-night)}
.wf-sp-actions .gft-button{justify-self:start;font-size:15px;min-height:52px}
.wf-sp__sweep{opacity:.9}
:root[data-m-go] .wf-page .wf-sp__sweep[data-m-live~=scan][data-m-on]{animation-name:wf-sweep;animation-duration:6.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes wf-sweep{from{transform:translateY(0);opacity:0}12%{opacity:.9}88%{opacity:.9}to{transform:translateY(330px);opacity:0}}
/* the weave: each row opens behind the shuttle, alternating direction; the band's paper veil lifts last */
:root[data-m-go] .wf-sp .wf-row{animation-name:wf-wv-r;animation-duration:var(--wv-t);animation-delay:var(--wv-d);animation-timing-function:linear;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-sp .wf-rows .wf-row:nth-child(2n),:root[data-m-go] .wf-sp .wf-veil:nth-child(2n+1){animation-name:wf-wv-l}
:root[data-m-go] .wf-sp .wf-sp__veil{animation-name:wf-veil;animation-duration:900ms;animation-timing-function:ease-out;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-sp .wf-sp__shut{animation-name:wf-sp-shut;animation-duration:900ms;animation-timing-function:linear;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-sp .wf-sp__outline,:root[data-m-go] .wf-sp .wf-sp__marks,:root[data-m-go] .wf-sp__fig .wf-lbl{animation-name:wf-fade;animation-duration:700ms;animation-timing-function:var(--wf-ease);animation-delay:180ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-sp__fig .wf-lbl--b{animation-delay:620ms}
:root[data-m-go] .wf-sp__lap[data-m-on]{animation-name:wf-sp-lap;animation-duration:6s;animation-timing-function:ease-in-out;animation-delay:900ms;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes wf-wv-l{from{clip-path:inset(-14px 100% -14px 0)}to{clip-path:inset(-14px -14px -14px -14px)}}
@keyframes wf-wv-r{from{clip-path:inset(-14px 0 -14px 100%)}to{clip-path:inset(-14px -14px -14px -14px)}}
@keyframes wf-veil{0%,80%{opacity:1}100%{opacity:0}}
@keyframes wf-fade{from{opacity:.15}}
@keyframes wf-sp-lap{from{transform:translate(414px,209.7px);opacity:.95}to{transform:translate(546px,209.7px);opacity:.95}}

/* ===== 2 · ramp loom (deep) ===== */
.wf-b2{background:var(--wf-deep);padding-block:56px 76px}
.wf-ld{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-areas:'head stage' 'rail stage' 'read stage';grid-template-rows:auto auto 1fr;gap:22px 56px;color:var(--wf-on)}
.wf-ld__head{grid-area:head}
.wf-ld__head .gft-eyebrow{color:var(--wf-mint);margin-bottom:16px}
.wf-ld__head h2{font-size:clamp(2.1rem,3.1vw,3.1rem);line-height:1.07;max-width:17ch}
.wf-ld__lede{font-size:17px;line-height:1.65;color:var(--wf-on);max-width:46ch;margin-top:16px}
.wf-ld__read{grid-area:read;align-self:start;padding-top:2px}
.wf-ld__panels{display:grid}
.wf-panel{grid-area:1/1;visibility:hidden;opacity:0;transition:opacity .18s ease,visibility 0s .18s}
.wf-panel .wf-kicker{color:var(--wf-mint)}
.wf-panel h3{font-size:clamp(1.5rem,1.9vw,1.9rem);line-height:1.12;margin:6px 0 8px;color:#fff}
.wf-panel p:not(.wf-kicker){font-size:17px;line-height:1.6;color:var(--wf-on);max-width:46ch}
.wf-ld:has(input[name=wf-role][value="0"]:checked) .wf-panel--0,.wf-ld:has(input[name=wf-role][value="1"]:checked) .wf-panel--1,.wf-ld:has(input[name=wf-role][value="2"]:checked) .wf-panel--2{visibility:visible;opacity:1;transition:opacity .4s ease .22s,visibility 0s .2s}
.wf-ld__out{grid-column:1;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0;align-self:start}
.wf-ld__out dt{font:500 13px/1.5 var(--gft-font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--wf-on2)}
.wf-ld__out dd{display:inline-block;margin:4px 0 0;font:850 clamp(2.5rem,3.3vw,3.4rem)/1 var(--gft-font-display);letter-spacing:-.05em;color:#fff}
.wf-ld__msg{grid-column:2;align-self:center;font-size:16px;line-height:1.55;color:var(--wf-on);max-width:46ch;min-height:4.65em;border-left:3px solid var(--wf-och);padding-left:14px}
.wf-ld__stage{grid-area:stage;align-self:start;min-width:0;position:sticky;top:48px}
.wf-ld__fig{position:relative;aspect-ratio:660/430}
.wf-ld__plate{position:absolute;inset:0}
.wf-ld__plate svg{position:absolute;inset:0;width:100%;height:100%}
.wf-ld__note{font:400 13px/1.6 var(--gft-font-mono);color:var(--wf-on2);margin-top:8px;text-align:right}
.wf-ld__call{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:35%;font-size:15px;line-height:1.55;color:var(--wf-on);border-left:3px solid var(--wf-och);padding:8px 0 8px 14px;background:linear-gradient(90deg,#0a3d3af0,#0a3d3acc)}
.wf-ld__rail{grid-area:rail;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 28px;align-items:end;border-block:1px solid #ffffff2b;padding-block:18px 20px;background:linear-gradient(90deg,#072d2b99,#072d2b00)}
.wf-ld__rail .wf-seg,.wf-ld__rail .wf-ramp{grid-column:1/-1}
.wf-ramp label{display:block;font:500 13px/1.6 var(--gft-font-mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;color:var(--wf-on2)}
.wf-ramp input{width:100%;min-height:44px;accent-color:var(--wf-och)}
.wf-ld__trace{position:absolute;left:0;right:0;bottom:-38px;height:2px;background:var(--wf-och);opacity:.7;pointer-events:none;transform-origin:left}
.wf-ld .wf-row{clip-path:inset(-14px -14px -14px -14px);transition:opacity .35s ease,clip-path .45s var(--wf-ease);transition-delay:calc(var(--r) * 10ms)}
.wf-ld .wf-row.is-off{clip-path:inset(-14px 50% -14px 50%)}
.wf-ld:has(input[name=wf-role][value="0"]:checked) .wf-row:not(.wf-row--c),.wf-ld:has(input[name=wf-role][value="1"]:checked) .wf-row:not(.wf-row--b),.wf-ld:has(input[name=wf-role][value="2"]:checked) .wf-row:not(.wf-row--a){opacity:.35}
.wf-ld .wf-mk{color:#a9c7b8;transition:color .3s ease}
.wf-ld:has(input[name=wf-role][value="0"]:checked) .wf-mk--0{color:var(--wf-mint)}
.wf-ld:has(input[name=wf-role][value="1"]:checked) .wf-mk--1{color:var(--wf-och-l)}
.wf-ld:has(input[name=wf-role][value="2"]:checked) .wf-mk--2{color:#fff}
.wf-ld__lap{opacity:0}
:root[data-m-go] .wf-ld:has(input[name=wf-role][value="0"]:checked) .wf-ld__lap--0[data-m-on],:root[data-m-go] .wf-ld:has(input[name=wf-role][value="1"]:checked) .wf-ld__lap--1[data-m-on],:root[data-m-go] .wf-ld:has(input[name=wf-role][value="2"]:checked) .wf-ld__lap--2[data-m-on]{animation-name:wf-lapx;animation-duration:4.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes wf-lapx{from{transform:translate(var(--x0),var(--y0));opacity:.95}to{transform:translate(var(--x1),var(--y0));opacity:.95}}
/* entrance "weft": picks re-weave from the apex, then the read-out slides out on its own clip */
:root[data-m-go] .wf-ld:not([data-wf-in]) .wf-row{clip-path:inset(-14px 50% -14px 50%)}
:root[data-m-go] .wf-ld:not([data-wf-in]) :is(.wf-ld__read,.wf-ld__rail){opacity:.2}
:root[data-m-go] .wf-ld[data-wf-in] .wf-row{animation-name:wf-wv-r;animation-duration:240ms;animation-delay:calc(var(--r) * 14ms);animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-ld[data-wf-in] .wf-row:nth-child(2n){animation-name:wf-wv-l}
:root[data-m-go] .wf-ld[data-wf-in] .wf-ld__read{animation-name:wf-slideclip;animation-duration:640ms;animation-delay:200ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-ld[data-wf-in] .wf-ld__rail{animation-name:wf-rise;animation-duration:560ms;animation-delay:340ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-ld[data-wf-in] .wf-ld__out dd{animation-name:wf-rollin;animation-duration:560ms;animation-delay:420ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-ld[data-wf-in] .wf-ld__out div+div dd{animation-delay:540ms}
@keyframes wf-rollin{from{opacity:.2;clip-path:inset(0 0 100% 0);transform:translateY(.45em)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
:root[data-m-go] .wf-ld[data-wf-in] .wf-ld__call{animation-name:wf-slideclip;animation-duration:600ms;animation-delay:420ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes wf-slideclip{from{opacity:.2;clip-path:inset(0 100% 0 0);transform:translateX(-24px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
@keyframes wf-rise{from{opacity:.2;transform:translateY(18px)}}

/* ===== 3 · ramp scene, sticky A (night loom room: the splash film continues) ===== */
.wf-b3{background:var(--wf-night);color:var(--wf-on)}
.wf-b3>.gft-container{width:100%}
.wf-rs{position:relative}
.wf-drop{position:absolute;left:0;right:0;top:-150px;height:300px;z-index:3;pointer-events:none}
.wf-drop svg{width:100%;height:100%;overflow:visible}
.wf-drop path{fill:none;stroke:url(#wf-drop-g);stroke-width:1.6;stroke-dasharray:5 6;vector-effect:non-scaling-stroke}
.wf-rs__pin{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;padding:30px max(48px,calc((100% - 1440px) / 2)) 22px;background:radial-gradient(120% 80% at 30% 60%,#0d403c 0%,#072d2b 62%);z-index:1}
.wf-rs__track{display:none}
.wf-rs__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px 56px;align-items:end}
.wf-rs__head .gft-eyebrow{color:var(--wf-mint);margin-bottom:8px}
.wf-rs__head h2{font-size:clamp(1.9rem,2.7vw,2.7rem);line-height:1.06;max-width:22ch;color:#fff}
.wf-rs__lede{font-size:17px;line-height:1.6;color:var(--wf-on);max-width:56ch}
.wf-rs__no{font:500 14px/1.4 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--wf-och-l);white-space:nowrap;min-width:25ch;text-align:right}
.wf-rs__no b{color:#fff}
.wf-rs__rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 12px;border-top:1px solid #ffffff2b;padding-top:10px}
.wf-rs__prog{grid-column:1/-1;position:relative;height:3px;background:#ffffff1f;overflow:hidden;margin:2px 0 4px}
.wf-rs__prog i{position:absolute;inset:0;background:linear-gradient(90deg,#6bb68f,#f0bf6a);transform-origin:0 50%;transform:scaleX(var(--p,1));transition:transform .8s var(--wf-io)}
.wf-rs[data-step="0"] .wf-rs__prog{--p:.25}.wf-rs[data-step="1"] .wf-rs__prog{--p:.5}.wf-rs[data-step="2"] .wf-rs__prog{--p:.75}
.wf-rs__leg{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;max-width:none;font:400 13px/1.5 var(--gft-font-mono);color:var(--wf-on2)}
.wf-rs__bar{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:0 12px;align-items:end;text-align:left;background:transparent;border:0;border-top:3px solid transparent;padding:6px 0 2px;min-height:48px;cursor:pointer;color:var(--wf-on)}
.wf-rs__barfill{grid-row:1/3;width:30px;height:40px;position:relative;background:#ffffff14}
.wf-rs__barfill i{position:absolute;inset:0;background:var(--wf-mint);opacity:.35;transform-origin:bottom;transform:scaleY(var(--h));transition:opacity .3s ease,background-color .3s ease}
.wf-rs__barlab{font-size:16px;font-weight:700;color:#fff}
.wf-rs__barlab i{font:normal 500 13px var(--gft-font-mono);color:var(--wf-och-l);margin-right:8px}
.wf-rs__barnote{font:400 13px/1.4 var(--gft-font-mono);color:var(--wf-on2)}
.wf-rs__bar:hover .wf-rs__barfill i{opacity:.7}
.wf-rs__bar:focus-visible{outline:3px solid #fff;outline-offset:2px}
.wf-rs[data-step="0"] [data-wf-jump="0"],.wf-rs[data-step="1"] [data-wf-jump="1"],.wf-rs[data-step="2"] [data-wf-jump="2"],.wf-rs[data-step="3"] [data-wf-jump="3"]{border-top-color:var(--wf-och)}
.wf-rs[data-step="0"] [data-wf-jump="0"] .wf-rs__barfill i,.wf-rs[data-step="1"] [data-wf-jump="1"] .wf-rs__barfill i,.wf-rs[data-step="2"] [data-wf-jump="2"] .wf-rs__barfill i,.wf-rs[data-step="3"] [data-wf-jump="3"] .wf-rs__barfill i{opacity:1;background:var(--wf-och)}
:root[data-m-go] .wf-rs__pin[data-m-on] :is(.wf-rs[data-step="0"] [data-wf-jump="0"],.wf-rs[data-step="1"] [data-wf-jump="1"],.wf-rs[data-step="2"] [data-wf-jump="2"],.wf-rs[data-step="3"] [data-wf-jump="3"]) .wf-rs__barfill::after{content:'';position:absolute;inset:0;background:#c98a2b;transform-origin:bottom;transform:scaleY(var(--h));animation-name:wf-breathe;animation-duration:2.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes wf-breathe{from{opacity:0}to{opacity:.55;transform:scaleY(calc(var(--h) * 1.06))}}
.wf-rs__stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.6fr);grid-template-rows:minmax(0,1fr) auto auto;gap:10px 32px;min-height:0}
.wf-rs__fig{grid-area:1/1/2/-1;position:relative;min-height:340px;container-type:size;display:flex;align-items:center;justify-content:flex-start;overflow:clip}
.wf-rs__pan{position:relative;width:min(100cqw,calc(100cqh * 1200 / 460));aspect-ratio:1200/460;transform-origin:0 0;transition:transform .8s var(--wf-io)}
.wf-rs__pan svg{position:absolute;inset:0;width:100%;height:100%}
.wf-rs__side{grid-area:2/1/3/-1;position:relative;display:grid;grid-template-columns:1fr 1fr;align-content:center;z-index:2}
.wf-rs__side>*{grid-area:1/1}
.wf-rs__strip{grid-area:3/1/4/-1;display:grid;min-height:88px}
.wf-rs__strip>*{grid-area:1/1}
.wf-rs__base{grid-area:4/1/5/-1;font:400 13px/1.5 var(--gft-font-mono);color:var(--wf-on2);max-width:none}
.wf-rs__card .wf-kicker{color:var(--wf-och-l)}
.wf-rs__card h3{font-size:clamp(1.75rem,2.15vw,2.2rem);line-height:1.1;margin:6px 0 10px;color:#fff;letter-spacing:-.025em}
.wf-rs__card p:not(.wf-kicker){font-size:17px;line-height:1.62;color:var(--wf-on);max-width:56ch}
.wf-rs__side .wf-rs__card{background:#072d2bf0;border-left:3px solid var(--wf-och);padding:14px 0 14px 20px}
.wf-rs__strip .wf-rs__card{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:6px 36px;align-items:start;border-top:3px solid var(--wf-och);padding-top:12px;background:#072d2b}
.wf-rs__strip .wf-rs__card h3{margin-bottom:0}
.wf-rs__cap{font-size:17px;line-height:1.6;color:var(--wf-on);border-top:1px solid #ffffff2b;padding-top:12px;align-self:start}
.wf-rs__mx{background:#0a3d3af0;padding:20px 22px;display:grid;gap:12px;border-left:3px solid var(--wf-mint)}
.wf-rs__mx .wf-kicker{color:var(--wf-mint)}
.wf-rs__mxrow{display:grid;gap:4px}
.wf-rs__mxrow span{font-size:16px;font-weight:600;color:#fff}
.wf-rs__mxrow i{display:block;height:12px;background:#ffffff1a}
.wf-rs__mxrow b{display:block;height:100%;background:#6bb68f;clip-path:inset(0 calc((1 - var(--v)) * 100%) 0 0);transition:clip-path .8s var(--wf-ease);transition-delay:calc(var(--i) * 90ms + 200ms)}
.wf-rs__mxcap{font:400 13px/1.5 var(--gft-font-mono);color:var(--wf-on2)}
.wf-rs__blk{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);padding:7px 12px;border:1.5px dashed #e6ab4a;background:#072d2beb;font:600 14px/1.2 var(--gft-font-mono);letter-spacing:.03em;color:#fff;white-space:nowrap;transform:translateY(-50%)}
.wf-rs__lab{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);transform:translateY(-50%);font:500 14px/1.35 var(--gft-font-mono);letter-spacing:.06em;color:var(--wf-on);white-space:nowrap}
.wf-rs__lab b{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--wf-och-l)}
.wf-rs__lab--end{transform:translate(-100%,-50%);text-align:right}
.wf-rs__lab--mid{transform:translate(-50%,-50%);text-align:center}
.wf-rs__lab--l1,.wf-rs__lab--l2{transform:translate(-50%,-50%)}
/* night inks: the motif keeps its splash colours */
.wf-rs__loom path{stroke-width:1;opacity:.5}
/* step states: the HTML default is step 4 (Release); the script sets the step in view */
.wf-rs .wf-row{transition:opacity .45s ease,clip-path .5s var(--wf-ease);transition-delay:var(--dly,0ms)}
.wf-rs__l1{transition:transform .8s var(--wf-io)}
.wf-rs__loom,.wf-rs__out,.wf-rs__seed,.wf-rs__gauge,.wf-rs__l2,.wf-rs__ok{transition:opacity .45s ease}
/* labels never cross-fade in one place: the outgoing set leaves in 220 ms, the incoming set waits for it */
.wf-rs__blk,.wf-rs__lab{transition:opacity .2s ease}
.wf-rs[data-step="0"] .wf-rs__blk,.wf-rs[data-step="1"] :is(.wf-rs__lab--seed,.wf-rs__lab--kt),.wf-rs[data-step="3"] :is(.wf-rs__lab--l1,.wf-rs__lab--l2,.wf-rs__lab--ok){transition:opacity .4s ease .3s}
.wf-rs__loom,.wf-rs__out--dash,.wf-rs__seed,.wf-rs__blk,.wf-rs__lab--seed,.wf-rs__lab--kt{opacity:0}
.wf-rs[data-step="0"] .wf-rs__l1 .wf-row{opacity:0}
.wf-rs[data-step="0"] :is(.wf-rs__loom,.wf-rs__out--dash,.wf-rs__blk){opacity:1}
.wf-rs[data-step="0"] .wf-rs__out--solid{opacity:0}
.wf-rs[data-step="1"] .wf-rs__l1 .wf-row--a{opacity:.12}
.wf-rs[data-step="1"] .wf-rs__l1 .wf-row--c{opacity:.08}
.wf-rs[data-step="1"] .wf-rs__l1 .wf-row--b{--dly:calc((var(--r) - 7) * 90ms)}
.wf-rs[data-step="1"] :is(.wf-rs__out--dash,.wf-rs__seed,.wf-rs__lab--seed,.wf-rs__lab--kt){opacity:1}
.wf-rs[data-step="1"] .wf-rs__loom{opacity:.6}
.wf-rs[data-step="1"] .wf-rs__out--solid{opacity:0}
.wf-rs:is([data-step="0"],[data-step="1"],[data-step="2"]) .wf-rs__l1{transform:translateX(40px)}
.wf-rs[data-step="2"] .wf-rs__l1 .wf-row--a{opacity:.5}
.wf-rs[data-step="2"] .wf-rs__l1 .wf-row--c{--dly:calc((var(--r) - 11) * 26ms)}
.wf-rs__gauge,.wf-rs__l2,.wf-rs__lab--l1,.wf-rs__lab--l2,.wf-rs__lab--ok{opacity:0}
.wf-rs[data-step="3"] :is(.wf-rs__gauge,.wf-rs__l2,.wf-rs__lab--l1,.wf-rs__lab--l2,.wf-rs__lab--ok){opacity:1}
.wf-rs__l2 .wf-row{opacity:.12}
.wf-rs__l2 .wf-row--b{opacity:1}
.wf-rs[data-step="3"] .wf-rs__l2 .wf-row--b{--dly:calc((var(--r) - 7) * 80ms + 300ms)}
.wf-rs__gfill{transform-box:fill-box;transform-origin:0 50%;transform:scaleX(1);transition:transform .9s var(--wf-ease) .2s}
.wf-rs:not([data-step="3"]) .wf-rs__gfill{transform:scaleX(.06)}
.wf-rs__ok{transform-box:fill-box;transform-origin:center;transition:opacity .4s ease .8s,transform .5s var(--wf-ease) .8s}
.wf-rs:not([data-step="3"]) .wf-rs__ok{opacity:0;transform:scale(.4)}
.wf-rs__cdot{transform:translate(var(--x1),var(--y1));opacity:0}
:root[data-m-go] .wf-rs[data-step="1"] .wf-rs__pin[data-m-on] .wf-rs__cdot{animation-name:wf-coach;animation-duration:1.9s;animation-timing-function:ease-in;animation-delay:calc(var(--i) * .45s);animation-iteration-count:infinite;animation-direction:normal}
@keyframes wf-coach{from{transform:translate(var(--x0),var(--y0));opacity:0}15%{opacity:1}85%{opacity:1}to{transform:translate(var(--x1),var(--y1));opacity:0}}
:root[data-m-go] .wf-rs[data-step="3"] .wf-rs__pin[data-m-on] .wf-rs__l2 .wf-row--b{animation-name:wf-shim;animation-duration:2.2s;animation-timing-function:ease-in-out;animation-delay:1.4s;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes wf-shim{from{opacity:1}to{opacity:.45}}

/* static composition (no motion, Calm, phone): every card shown, stage at step 4 */
.wf-rs__card,.wf-rs__mx,.wf-rs__cap{transition:opacity .18s ease,visibility 0s .18s}
.wf-rs__mx,.wf-rs__cap{display:none}
.wf-rs__side,.wf-rs__strip{gap:22px}
.wf-rs__side>*,.wf-rs__strip>*{grid-area:auto}
@media(min-width:761px){
 :root[data-m-go] .wf-rs__pin{position:sticky;top:0;height:100svh;min-height:660px;max-height:1000px;overflow:clip}
 :root[data-m-go] .wf-rs__track{display:block;margin-top:-100svh}
 :root[data-m-go] .wf-rs__track>div{height:90svh}
 :root[data-m-go] .wf-rs__track>div:last-child{height:120svh}
 :root[data-m-go] .wf-rs__side{grid-area:1/2/2/3;grid-template-columns:1fr}
 :root[data-m-go] .wf-rs:is([data-step="0"],[data-step="1"],[data-step="2"]) .wf-rs__pan{transform:translateY(-8.5%) scale(1.2)}
 :root[data-m-go] .wf-rs__strip{grid-area:2/1/3/-1}
 :root[data-m-go] .wf-rs__base{grid-area:3/1/4/-1}
 :root[data-m-go] .wf-rs__side>*,:root[data-m-go] .wf-rs__strip>*{grid-area:1/1}
 :root[data-m-go] .wf-rs__mx,:root[data-m-go] .wf-rs__cap{display:grid}
 :root[data-m-go] .wf-rs__cap{display:block}
 :root[data-m-go] :is(.wf-rs__card,.wf-rs__mx,.wf-rs__cap){opacity:0;visibility:hidden}
 :root[data-m-go] :is(.wf-rs[data-step="0"] :is(.wf-rs__card--0,.wf-rs__cap--0),.wf-rs[data-step="1"] :is(.wf-rs__card--1,.wf-rs__cap--1),.wf-rs[data-step="2"] :is(.wf-rs__card--2,.wf-rs__mx),.wf-rs[data-step="3"] .wf-rs__card--3){opacity:1;visibility:visible;transition:opacity .4s ease .22s,visibility 0s .2s}
 :root[data-m-go] .wf-rs:not([data-step="2"]) .wf-rs__mxrow b{clip-path:inset(0 100% 0 0);transition-delay:0s}
 :root[data-m-go] .wf-rs[data-step="0"] .wf-rs__card--0{animation-name:wf-thread;animation-delay:200ms;animation-duration:700ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
 :root[data-m-go] .wf-rs[data-step="1"] .wf-rs__card--1{animation-name:wf-heddle;animation-delay:200ms;animation-duration:700ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
 :root[data-m-go] .wf-rs[data-step="2"] .wf-rs__card--2{animation-name:wf-beat;animation-delay:200ms;animation-duration:700ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
 :root[data-m-go] .wf-rs[data-step="3"] .wf-rs__card--3{animation-name:wf-ply;animation-delay:200ms;animation-duration:700ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
 :root[data-m-go] .wf-rs[data-step="0"] .wf-rs__blk{animation-name:wf-blk;animation-duration:520ms;animation-delay:calc(var(--i) * 90ms + 120ms);animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
 :root[data-m-go] .wf-rs[data-step="2"] .wf-rs__mx{animation-name:wf-pull;animation-duration:700ms;animation-delay:320ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
}
@keyframes wf-thread{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes wf-heddle{from{opacity:0;transform:translateY(-22px) scaleY(.94)}}
@keyframes wf-beat{from{opacity:0;transform:translateY(16px) scaleY(.92)}}
@keyframes wf-ply{from{opacity:0;transform:translateX(-22px) skewX(-4deg)}}
@keyframes wf-blk{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes wf-pull{from{opacity:0;transform:translateX(60px)}}
/* entrance "comb": the stage's picks comb down into place, rail bars rise */
:root[data-m-go] .wf-rs__pin:not([data-wf-in]) :is(.wf-rs__pan,.wf-rs__rail){opacity:.25}
:root[data-m-go] .wf-rs__pin[data-wf-in] .wf-rs__pan{animation-name:wf-comb;animation-duration:820ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-rs__pin[data-wf-in] .wf-rs__bar{animation-name:wf-rise;animation-duration:560ms;animation-delay:calc(var(--h) * 300ms);animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-rs__pin[data-wf-in] .wf-rs__rail{animation-name:wf-fade;animation-duration:300ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes wf-comb{0%{opacity:.25;clip-path:inset(0 0 100% 0);transform:translateY(-16px)}55%{opacity:1;clip-path:inset(0 0 30% 0)}100%{opacity:1;clip-path:inset(0 0 0 0);transform:none}}

/* ===== 4 · cost (sage breath) ===== */
.wf-b4{background:var(--wf-breath);color:var(--wf-ink);padding-block:36px 64px}
.wf-cost{position:relative}
.wf-cost__band{position:relative;height:150px;container-type:inline-size}
.wf-cost__rail{position:absolute;left:0;right:0;top:46px;height:2px;background:#0e4d4a55}
.wf-cost__rail::after{content:'';position:absolute;left:86%;right:-30px;top:0;height:2px;background:var(--wf-och)}
.wf-cost__ribbon{position:absolute;left:0;right:0;top:43px;height:8px;overflow:visible}
.wf-cost__ribbon i{position:absolute;left:0;top:0;width:8px;height:8px;border-radius:50%;background:var(--wf-forest);transform:translateX(calc((var(--k) / 44) * 100cqw))}
.wf-cost__ribbon i.is-rej{background:#b5761a}
.wf-cost__ribbon i.is-rej{transform:translateX(calc(min(var(--k) / 44, .86) * 100cqw))}
:root[data-m-go] .wf-cost__ribbon[data-m-on] i{animation-name:wf-rib;animation-duration:var(--rib,9s);animation-delay:calc(var(--k) * var(--rib,9s) / -44);animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
:root[data-m-go] .wf-cost__ribbon[data-m-on] i.is-rej{animation-name:wf-rib-rej}
@keyframes wf-rib{from{transform:translateX(-1cqw)}to{transform:translateX(101cqw)}}
@keyframes wf-rib-rej{0%{transform:translate(-1cqw,0);opacity:1}84%{transform:translate(86cqw,0);opacity:1}94%{transform:translate(91cqw,22px);opacity:1}100%{transform:translate(91cqw,22px);opacity:0}}
.wf-cost__tray{position:absolute;right:0;top:60px;width:164px;height:50px;border:1.5px dashed #a46a12;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px}
.wf-cost__tray em{font:normal 500 13px var(--gft-font-mono);color:var(--wf-och-d);white-space:nowrap;line-height:1;background:var(--wf-breath);padding:2px 4px}
.wf-gate{position:absolute;top:0;left:calc(var(--g) * 1%);transform:translateX(-50%);display:grid;justify-items:center;gap:6px;background:transparent;border:0;padding:0;cursor:pointer;color:var(--wf-ink);min-width:44px}
.wf-gate__heddle{position:relative;width:26px;height:92px;display:block}
.wf-gate__heddle::before{content:'';position:absolute;left:12px;top:0;bottom:0;width:2px;background:var(--wf-forest)}
.wf-gate__heddle i{position:absolute;left:3px;top:36px;width:20px;height:22px;border:2px solid var(--wf-forest);border-radius:10px;background:var(--wf-breath)}
.wf-gate__lab{font-size:16px;font-weight:700;text-align:center;white-space:nowrap;background:var(--wf-breath);padding:0 8px}
.wf-gate__lab small{display:block;font:500 13px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--wf-muted)}
.wf-gate--0 .wf-gate__lab,.wf-gate--2 .wf-gate__lab{transform:translateY(0)}
.wf-gate[aria-pressed=true] .wf-gate__heddle i{border-color:var(--wf-och);background:#f3d9ae}
.wf-gate[aria-pressed=true] .wf-gate__lab{color:var(--wf-och-d)}
.wf-gate:focus-visible{outline:3px solid #2c3e7a;outline-offset:4px}
.wf-cost__token{position:absolute;left:0;top:35px;width:24px;height:24px;margin-left:-12px;border:3px solid var(--wf-och);border-radius:50%;transform:translateX(calc(var(--g,50) * 1cqw));transition:transform .8s var(--wf-io);pointer-events:none}
.wf-cost[data-gate="0"] .wf-cost__token{--g:14}.wf-cost[data-gate="1"] .wf-cost__token{--g:50}.wf-cost[data-gate="2"] .wf-cost__token{--g:86}
.wf-cost__flowtext{font-size:17px;line-height:1.55;max-width:70ch;margin:8px auto 0;text-align:center;min-height:3.2em}
.wf-cost__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px 56px;align-items:end;margin-top:18px;border-top:1px solid #0e4d4a33;padding-top:20px}
.wf-cost__head .gft-eyebrow{color:var(--wf-muted);margin-bottom:10px}
.wf-cost__head h2{font-size:clamp(2rem,3vw,3rem);line-height:1.06;max-width:20ch}
.wf-cost__tagline{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:flex-end;color:var(--wf-forest)}
.wf-cost__cols{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr) minmax(0,.9fr);gap:40px;margin-top:22px;align-items:start}
.wf-cost__controls{display:grid;gap:18px}
.wf-slider{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}
.wf-slider label{font-size:15px;font-weight:600}
.wf-slider output{font:700 18px var(--gft-font-mono);color:var(--wf-forest)}
.wf-slider input{grid-column:1/-1;width:100%;min-height:44px;accent-color:var(--wf-forest)}
.wf-bars{position:relative;display:grid;gap:14px;padding-top:6px}
.wf-bar{display:grid;gap:6px}
.wf-bar__label{font:500 13px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--wf-muted)}
.wf-bar__track{position:relative;height:34px;background:#0e4d4a10}
.wf-bar__track i{position:absolute;inset:0;background-image:radial-gradient(circle,currentColor 3.2px,transparent 3.8px);background-size:10.5px 11px;background-position:2px 0;transition:clip-path .6s var(--wf-ease)}
.wf-bar__a{color:var(--wf-forest);clip-path:inset(0 calc((1 - var(--w)) * 100%) 0 0)}
.wf-bar__b{color:#b5761a;clip-path:inset(0 calc((1 - var(--x) - var(--w)) * 100%) 0 calc(var(--x) * 100%))}
.wf-bars__ref{position:absolute;left:40%;top:0;bottom:30px;border-left:2px dashed var(--wf-ink)}
.wf-bars__ref em{position:absolute;top:-4px;left:8px;font:normal 500 13px var(--gft-font-mono);color:var(--wf-ink);white-space:nowrap;transform:translateY(-100%)}
.wf-bars__key{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:14px;color:var(--wf-muted)}
.wf-bars__key i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:-1px}
.wf-bars__key .k-a{background:var(--wf-forest)}.wf-bars__key .k-b{background:#b5761a}
.wf-cost__out{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}
.wf-cost__out dt{font:500 13px/1.45 var(--gft-font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--wf-muted)}
.wf-cost__out dd{display:inline-block;margin:6px 0 0;font:850 clamp(2.5rem,3.4vw,3.4rem)/1 var(--gft-font-display);letter-spacing:-.05em;color:var(--wf-forest)}
.wf-cost[data-over=true] [data-wf-cost-total]{color:var(--wf-och-d)}
.wf-cost__msg{font-size:16px;line-height:1.55;margin-top:10px;min-height:3.1em}
.wf-cost__notes{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,2.25fr);gap:16px 40px;margin-top:22px;border-top:1px solid #0e4d4a33;padding-top:18px}
.wf-cost__tabs{display:grid;gap:6px;align-content:start}
.wf-cost__tabs button{display:flex;gap:12px;align-items:center;min-height:44px;padding:6px 12px;text-align:left;font-size:16px;font-weight:650;background:transparent;border:0;border-left:3px solid #0e4d4a33;color:var(--wf-ink);cursor:pointer}
.wf-cost__tabs button i{font:normal 500 13px var(--gft-font-mono);color:var(--wf-muted)}
.wf-cost__tabs button[aria-pressed=true]{border-left-color:var(--wf-och);background:#ffffff8c}
.wf-cost__tabs button:focus-visible{outline:3px solid #2c3e7a}
.wf-cost__panels{display:grid}
.wf-cost__panel{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s .18s}
.wf-cost__panel p{font-size:17px;line-height:1.65;max-width:78ch}
.wf-cost[data-gate="0"] .wf-cost__panel--0,.wf-cost[data-gate="1"] .wf-cost__panel--1,.wf-cost[data-gate="2"] .wf-cost__panel--2{opacity:1;visibility:visible;transition:opacity .4s ease .22s,visibility 0s .2s}
.wf-cost .wf-more summary{color:var(--wf-forest)}
.wf-cost__exit{position:absolute;right:-31px;top:46px;bottom:-64px;width:6px;height:auto;overflow:visible;pointer-events:none}
.wf-cost__exit path{stroke:var(--wf-och);stroke-width:2.4;stroke-dasharray:3 6;fill:none;vector-effect:non-scaling-stroke}
/* entrance "shed": the gates open apart, then the ribbon threads through them */
:root[data-m-go] .wf-cost:not([data-wf-in]) :is(.wf-cost__ribbon,.wf-cost__cols){opacity:.2}
:root[data-m-go] .wf-cost[data-wf-in] .wf-gate__heddle{animation-name:wf-shedopen;animation-duration:520ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-cost[data-wf-in] .wf-gate--0 .wf-gate__heddle{--sx:60px}
:root[data-m-go] .wf-cost[data-wf-in] .wf-gate--2 .wf-gate__heddle{--sx:-60px}
:root[data-m-go] .wf-cost[data-wf-in] .wf-cost__ribbon{animation-name:wf-ribin;animation-duration:620ms;animation-delay:260ms;animation-timing-function:var(--wf-io);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-cost[data-wf-in] .wf-cost__cols>*{animation-name:wf-rise;animation-duration:560ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-cost[data-wf-in] .wf-cost__cols>:nth-child(2){animation-delay:120ms}
:root[data-m-go] .wf-cost[data-wf-in] .wf-cost__cols>:nth-child(3){animation-delay:240ms}
@keyframes wf-shedopen{from{transform:translateX(var(--sx,0)) scaleY(.3);opacity:.2}}
@keyframes wf-ribin{from{opacity:.2;clip-path:inset(-80px 100% -80px 0)}to{opacity:1;clip-path:inset(-80px -40px -80px 0)}}

/* ===== 5 · interlude (night, full bleed, pinned three beats) ===== */
.wf-b5{background:var(--wf-night);color:var(--wf-on)}
.wf-b5>.gft-container{width:100%}
.wf-int{position:relative}
.wf-int__pin{position:relative;height:100svh;min-height:640px;max-height:1000px;overflow:clip;container-type:size}
.wf-int__track{display:none}
.wf-int__field,.wf-int__scrim{position:absolute;inset:0;pointer-events:none}
.wf-int__field svg{width:100%;height:100%}
.wf-int__weft{overflow-anchor:none}
.wf-int__ghost{opacity:.5}
.wf-int__weft path{stroke-width:1.4}
.wf-int__scrim{background:linear-gradient(90deg,#072d2bf5 0%,#072d2be0 34%,#072d2b70 60%,#072d2b10 80%)}
.wf-int__in{opacity:.9}
.wf-int__head{position:absolute;left:48px;top:44px;max-width:60%}
.wf-int__head .gft-eyebrow{color:var(--wf-mint);margin:0}
.wf-int .wf-statement{position:absolute;left:48px;top:96px;margin:0;font:italic 400 clamp(3rem,5.6vw,5.5rem)/1.04 var(--gft-font-serif);letter-spacing:-.02em;max-width:12ch;color:#fff}
.wf-statement__l{display:block;color:#86a99b;transition:color .5s ease}
.wf-int[data-beat="0"] .wf-statement__l--0,.wf-int[data-beat="1"] :is(.wf-statement__l--0,.wf-statement__l--1),.wf-int[data-beat="2"] .wf-statement__l{color:#fff}
.wf-int[data-beat="2"] .wf-statement__l--2{color:var(--wf-och-l)}
.wf-int__copy{position:absolute;right:5%;top:104px;width:min(32%,460px);background:#072d2be6;border-left:3px solid var(--wf-sage,#6bb68f);padding:16px 20px}
.wf-int__copy p{font-size:17px;line-height:1.65;color:var(--wf-on)}
.wf-int__band{position:absolute;left:0;right:0;top:var(--wf-bandy,54%);height:8px;margin-top:-4px;background-image:radial-gradient(circle,#e6ab4a 3.2px,transparent 3.8px);background-size:12px 8px;container-type:inline-size}
.wf-int__pulse{position:absolute;left:0;top:-7px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:radial-gradient(circle,#fff3d6 0,#f0bf6a 45%,#f0bf6a00 70%);opacity:0}
:root[data-m-go] .wf-int__pin[data-m-on] .wf-int__pulse{animation-name:wfp-pulse;animation-duration:2.2s;animation-timing-function:var(--wf-io);animation-iteration-count:infinite;animation-direction:normal}
.wf-int[data-beat="0"] .wf-int__pulse{--p0:12;--p1:50}
.wf-int[data-beat="1"] .wf-int__pulse{--p0:50;--p1:86}
.wf-int[data-beat="2"] .wf-int__pulse{--p0:12;--p1:86}
@keyframes wfp-pulse{0%{transform:translateX(calc(var(--p0,12) * 1cqw));opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateX(calc(var(--p1,50) * 1cqw));opacity:0}}
.wf-int__return{position:absolute;left:0;right:0;top:calc(var(--wf-bandy,54%) + 200px);height:44px;width:100%;overflow:visible;opacity:0;clip-path:inset(0 0 0 100%);transition:opacity .4s ease,clip-path 1s var(--wf-io)}
.wf-int__return path{fill:none;stroke:#9fd7b8;stroke-width:2;stroke-dasharray:6 6}
.wf-int[data-beat="2"] .wf-int__return{opacity:1;clip-path:inset(0 0 0 0)}
.wf-int__beats{list-style:none;margin:0;padding:0;position:absolute;left:0;right:0;top:var(--wf-bandy,54%)}
.wf-beat{position:absolute;top:0;left:calc(var(--bx) * 1%);transform:translateX(-50%);width:min(300px,24vw)}
.wf-beat--0{--bx:12}.wf-beat--1{--bx:50}.wf-beat--2{--bx:86}
.wf-beat button{display:grid;justify-items:center;text-align:center;gap:6px;width:100%;background:transparent;border:0;color:var(--wf-on);cursor:pointer;padding:0 14px 14px;margin-top:-17px;border:1px solid transparent;transition:background-color .35s ease,border-color .35s ease}
.wf-beat__node{display:block;width:34px;height:34px;border-radius:50%;border:3px solid #e6ab4a;background:var(--wf-night);transition:background-color .4s ease,transform .4s var(--wf-ease)}
.wf-beat strong{font:600 15px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--wf-och-l)}
.wf-beat__t{font-size:16px;line-height:1.5;color:var(--wf-on)}
.wf-beat button:focus-visible{outline:3px solid #f6f4ef;outline-offset:4px}
.wf-beat__own{display:grid;gap:2px;width:100%;font-size:16px;line-height:1.45;color:#fff;border-top:1px solid #ffffff33;padding-top:8px;margin-top:4px;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s .18s}
.wf-beat__own small{font:500 13px/1.5 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--wf-och-l)}
.wf-int[data-beat="0"] .wf-beat--0 button,.wf-int[data-beat="1"] .wf-beat--1 button,.wf-int[data-beat="2"] .wf-beat--2 button{background:#0a3d3af2;border-color:#f0bf6a99}
.wf-int[data-beat="0"] .wf-beat--0 .wf-beat__own,.wf-int[data-beat="1"] .wf-beat--1 .wf-beat__own,.wf-int[data-beat="2"] .wf-beat--2 .wf-beat__own{opacity:1;visibility:visible;transition:opacity .4s ease .3s,visibility 0s .3s}
.wf-int[data-beat="0"] .wf-beat--0 .wf-beat__node,.wf-int[data-beat="1"] :is(.wf-beat--0,.wf-beat--1) .wf-beat__node,.wf-int[data-beat="2"] .wf-beat__node{background:#e6ab4a}
.wf-int[data-beat="0"] .wf-beat--0 .wf-beat__node,.wf-int[data-beat="1"] .wf-beat--1 .wf-beat__node,.wf-int[data-beat="2"] .wf-beat--2 .wf-beat__node{transform:scale(1.25)}
.wf-int__cloth{position:absolute;left:48px;right:48px;bottom:4%;height:14%;display:grid;align-content:space-between;container-type:inline-size}
.wf-int__cl{display:block;position:relative;height:1px;background:#9fd7b866}
.wf-int__cl em{position:absolute;left:0;bottom:4px;font:normal 500 14px var(--gft-font-mono);letter-spacing:.06em;color:var(--wf-on);background:var(--wf-night);padding-right:12px}
.wf-int__tick{position:absolute;left:0;top:-5px;width:64px;height:11px;border-radius:6px;background:linear-gradient(90deg,#f0bf6a00,#f0bf6a 70%,#fff3d6);opacity:0;pointer-events:none}
:root[data-m-go] .wf-int__tick[data-m-on]{animation-name:wf-tick;animation-duration:3.6s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes wf-tick{from{transform:translateX(150px);opacity:0}10%{opacity:.9}90%{opacity:.9}to{transform:translateX(calc(100cqw - 64px));opacity:0}}
.wf-int__cl--1{background:#f0bf6a99}
.wf-int__peel{position:absolute;left:170px;right:48px;top:var(--wf-bandy,54%);height:8px;margin-top:-4px;background-image:radial-gradient(circle,#f0bf6a 2.6px,transparent 3.2px);background-size:12px 8px;opacity:0;transition:transform 1s var(--wf-io),opacity .6s ease}
.wf-int[data-beat="2"] .wf-int__peel{opacity:.85;transform:translateY(calc(89cqh - 54cqh))}
@media(min-width:761px) and (max-height:820px){
 .wf-int__pin{--wf-bandy:50%}
 .wf-int__return{display:none}
 .wf-int__cloth{height:9%;bottom:3%}
 .wf-int[data-beat="2"] .wf-int__peel{transform:translateY(calc(92.5cqh - 50cqh))}
}
/* entrance "knot": the field opens as an iris from where the token arrives, then the three nodes tie in order */
:root[data-m-go] .wf-int__pin:not([data-wf-in]) .wf-int__field{clip-path:circle(22% at 98% 0%)}
:root[data-m-go] .wf-int__pin:not([data-wf-in]) .wf-beat__node{transform:scale(.35)}
:root[data-m-go] .wf-int__pin[data-wf-in] .wf-int__field{animation-name:wf-iris;animation-duration:880ms;animation-timing-function:var(--wf-io);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-int__pin[data-wf-in] .wf-beat{animation-name:wf-knot;animation-duration:520ms;animation-timing-function:cubic-bezier(.34,1.56,.64,1);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-int__pin[data-wf-in] .wf-beat--1{animation-delay:150ms}
:root[data-m-go] .wf-int__pin[data-wf-in] .wf-beat--2{animation-delay:300ms}
:root[data-m-go] .wf-int__pin[data-wf-in] .wf-statement{animation-name:wf-rise;animation-duration:700ms;animation-delay:120ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes wf-iris{from{clip-path:circle(22% at 98% 0%)}to{clip-path:circle(150% at 98% 0%)}}
@keyframes wf-knot{from{opacity:.2;transform:translateX(-50%) scale(.6) rotate(-8deg)}to{opacity:1;transform:translateX(-50%)}}
:root[data-m-go] .wf-int__pin{position:sticky;top:0}
:root[data-m-go] .wf-int__track{display:block;margin-top:-100svh}
:root[data-m-go] .wf-int__track>div{height:86.67svh}

/* ===== 6 · record cloth, sticky B (deep) ===== */
.wf-b6{background:var(--wf-deep);color:var(--wf-on)}
.wf-b6>.gft-container{width:100%}
.wf-cl{position:relative;view-timeline-name:--wf-cltl;view-timeline-axis:block}
.wf-cl__pin{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:18px;padding:40px max(48px,calc((100% - 1440px) / 2)) 26px}
.wf-cl__track{display:none}
.wf-cl__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 40px;align-items:end}
.wf-cl__head .gft-eyebrow{color:var(--wf-mint);margin-bottom:10px}
.wf-cl__head h2{font-size:clamp(1.9rem,2.8vw,2.8rem);line-height:1.08;max-width:24ch;color:#fff}
.wf-cl__focus{max-width:640px;justify-content:flex-end}
.wf-cl__focus .wf-seg__opt{min-height:44px;padding:6px 14px;font-size:14px}
.wf-cl__main{display:grid;grid-template-columns:minmax(0,.56fr) minmax(0,1fr);gap:40px;align-items:center;min-height:0}
.wf-cl__steps{display:grid;gap:24px}
.wf-cl__step{border-left:3px solid var(--wf-och);padding:6px 0 6px 20px}
.wf-cl__step .wf-kicker{color:var(--wf-och-l)}
.wf-cl__step h3{font-size:clamp(1.45rem,1.9vw,1.9rem);line-height:1.15;margin:6px 0 10px;color:#fff}
.wf-cl__step p:not(.wf-kicker){font-size:17px;line-height:1.62;color:var(--wf-on)}
.wf-cl__cloth{position:relative;min-width:0}
.wf-cl__grid{position:relative;display:grid;gap:6px;container-type:inline-size}
.wf-cl__cols,.wf-cl__rowin{display:grid;grid-template-columns:150px repeat(6,minmax(64px,1fr));gap:6px;align-items:stretch}
.wf-cl__cols{align-items:end;min-height:56px}
.wf-cl__corner{display:block}
.wf-cl__glyph{width:96px;height:auto;display:block}
.wf-cl__glyph .wf-row{stroke-width:7;opacity:.25}
.wf-cl__col{font-size:13px;line-height:1.3;font-weight:600;color:var(--wf-on);padding-bottom:4px}
.wf-cl__rlab{font-size:15px;font-weight:700;color:var(--wf-on);align-self:center;transition:color .3s ease}
.wf-cl__row{transform-origin:50% 0}
.wf-cell{position:relative;min-height:66px;border:1px solid #9fd7b844;background:#072d2b;cursor:pointer;padding:0;overflow:hidden;transition:opacity .4s ease,border-color .3s ease;transition-delay:calc(var(--d) * 45ms)}
.wf-cell__weave{position:absolute;inset:0;opacity:.85;transition:opacity .4s ease}
.wf-cell[data-level="2"] .wf-cell__weave{background:repeating-linear-gradient(90deg,#6bb68f 0 6px,#2f7d5a 6px 9px),#6bb68f;background-blend-mode:normal}
.wf-cell[data-level="1"] .wf-cell__weave{background:repeating-linear-gradient(90deg,#6bb68f66 0 4px,transparent 4px 10px)}
.wf-cell[data-level="0"] .wf-cell__weave{background:none;border:1px dashed #9fd7b844}
.wf-cell__dots{position:absolute;left:8px;bottom:6px;display:flex;gap:4px}
.wf-cell__dots i{width:8px;height:8px;border-radius:50%;border:1.5px solid #f6f4ef;background:transparent}
.wf-cell__dots i.on{background:#f6f4ef}
.wf-cell[aria-pressed=true]{border:3px solid var(--wf-och-l);outline:2px solid #072d2b}
.wf-cell:focus-visible{outline:3px solid #fff;outline-offset:2px}
.wf-cl__warp{position:absolute;top:58px;bottom:0;right:0;width:calc((100cqw - 150px - 36px) / 6);border:2px solid var(--wf-och-l);opacity:0;pointer-events:none;clip-path:inset(0 0 100% 0);transition:opacity .4s ease,clip-path .8s var(--wf-io)}
.wf-cl[data-step="3"] .wf-cl__warp{opacity:1;clip-path:inset(0 0 0 0)}
.wf-cl__scan{position:absolute;left:156px;right:0;top:calc(62px + var(--n) * 72px);height:66px;pointer-events:none;opacity:0;transition:opacity .4s ease;overflow:clip}
.wf-cl__scan--0{--n:0}.wf-cl__scan--1{--n:1}.wf-cl__scan--2{--n:2}
.wf-cl[data-step="0"] .wf-cl__scan--0,.wf-cl[data-step="1"] .wf-cl__scan--1,.wf-cl[data-step="2"] .wf-cl__scan--2{opacity:1}
.wf-cl__scan i{position:absolute;left:0;bottom:0;width:70px;height:3px;background:linear-gradient(90deg,#f0bf6a00,#f0bf6a);opacity:0}
:root[data-m-go] .wf-cl__pin[data-m-on] .wf-cl__scan i{animation-name:wf-clscan;animation-duration:3.2s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes wf-clscan{from{transform:translateX(-70px);opacity:1}to{transform:translateX(calc(100cqw - 156px));opacity:1}}
/* lit row per step, the warp on step 4, the user's layer focus */
.wf-cl[data-step="0"] .wf-cl__row:not(.wf-cl__row--0) .wf-cell,.wf-cl[data-step="1"] .wf-cl__row:not(.wf-cl__row--1) .wf-cell,.wf-cl[data-step="2"] .wf-cl__row:not(.wf-cl__row--2) .wf-cell,.wf-cl[data-step="3"] .wf-cell:not(.wf-cell--c5){opacity:.42}
.wf-cl[data-step="0"] .wf-cl__row--0 .wf-cl__rlab,.wf-cl[data-step="1"] .wf-cl__row--1 .wf-cl__rlab,.wf-cl[data-step="2"] .wf-cl__row--2 .wf-cl__rlab{color:var(--wf-och-l)}
.wf-cl:has(input[name=wf-heat][value="0"]:checked) :is(.wf-cl__row--1,.wf-cl__row--2) .wf-cell,.wf-cl:has(input[name=wf-heat][value="1"]:checked) :is(.wf-cl__row--0,.wf-cl__row--2) .wf-cell,.wf-cl:has(input[name=wf-heat][value="2"]:checked) :is(.wf-cl__row--0,.wf-cl__row--1) .wf-cell{opacity:.22}
.wf-cl[data-step="0"] .wf-cl__glyph .wf-row--c,.wf-cl[data-step="1"] .wf-cl__glyph .wf-row--b,.wf-cl[data-step="2"] .wf-cl__glyph .wf-row--a,.wf-cl[data-step="3"] .wf-cl__glyph .wf-row{opacity:1}
.wf-cl__under{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;margin-top:12px}
.wf-cl__key{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14px;color:var(--wf-on2)}
.wf-cl__sel{flex:0 1 27rem;display:inline-flex;align-items:center;gap:10px;margin:0;padding:6px 12px;border:1px solid var(--wf-och-l);background:#072d2b;font-size:15px;color:#fff}
.wf-cl__sel span{font:500 13px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--wf-och-l)}
.wf-cl__key i{display:inline-block;width:9px;height:9px;border-radius:50%;border:1.5px solid #f6f4ef;margin-right:3px;vertical-align:-1px}
.wf-cl__key i.on{background:#f6f4ef}
.wf-cl__ledger{display:grid;grid-template-columns:minmax(0,.56fr) minmax(0,1fr);gap:40px;border-top:1px solid #ffffff2b;padding-top:16px;min-height:0}
.wf-cl__cellout{align-self:start;background:#072d2b;border-left:3px solid var(--wf-och);padding:14px 18px 16px}
.wf-cl__cellout .wf-kicker{color:var(--wf-och-l)}
.wf-cl__cellout h3{font-size:22px;margin:4px 0 6px;color:#fff}
.wf-cl__cellout p:not(.wf-kicker){font-size:16px;line-height:1.55;color:var(--wf-on)}
.wf-cl__cellout,.wf-rec{transition:opacity .18s ease,visibility 0s .18s}
.wf-cl__records{display:grid}
.wf-rec{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8px 28px}
.wf-rec__top{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between}
.wf-rec__top .wf-kicker{color:var(--wf-mint)}
.wf-rec__top .wf-tag{color:var(--wf-och-l)}
.wf-rec dl{margin:0;display:grid;gap:8px}
.wf-rec dt{font:500 13px/1.4 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--wf-on2)}
.wf-rec dd{margin:2px 0 0;font-size:16px;line-height:1.5;color:var(--wf-on)}
.wf-chain{list-style:none;margin:0;padding:0;display:grid;gap:8px;align-content:start}
.wf-chain li{display:grid;grid-template-columns:16px 1fr;gap:10px;align-items:start;font-size:15px;color:var(--wf-on)}
.wf-chain li i{width:12px;height:12px;border-radius:50%;border:2px solid #9fd7b8;margin-top:5px}
.wf-chain li.is-owner i{background:var(--wf-och);border-color:var(--wf-och)}
.wf-chain small{display:block;font:500 13px var(--gft-font-mono);color:var(--wf-on2)}
.wf-rec--3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.wf-rec--3 .wf-chain{grid-column:1/-1;grid-template-columns:repeat(3,1fr);border-top:1px dashed #9fd7b855;padding-top:10px}
:root[data-m-go] .wf-cl__pin[data-m-on] .wf-rec .is-owner i{animation-name:wf-own;animation-duration:1.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes wf-own{from{transform:scale(1)}to{transform:scale(1.35)}}
/* static: all four steps and records listed; the cloth shows step 2 */
.wf-cl__records{gap:24px}
@media(min-width:761px){
 :root[data-m-go] .wf-cl__pin{position:sticky;top:0;height:100svh;min-height:680px;max-height:1000px;overflow:clip}
 :root[data-m-go] .wf-cl__track{display:block;margin-top:-100svh}
 :root[data-m-go] .wf-cl__track>div{height:80svh}
 :root[data-m-go] .wf-cl__track>div:last-child{height:110svh}
 :root[data-m-go] .wf-cl__steps>*,:root[data-m-go] .wf-cl__records>*{grid-area:1/1}
 :root[data-m-go] .wf-cl__records{grid-column:1/-1;grid-row:1}
 :root[data-m-go] .wf-cl__cellout{grid-column:1;grid-row:1}
 :root[data-m-go] .wf-cl__records>:not(.wf-rec--3){margin-left:calc(36% + 40px)}
 :root[data-m-go] :is(.wf-cl__step,.wf-rec){opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s .18s}
 :root[data-m-go] :is(.wf-cl[data-step="0"] :is(.wf-cl__step--0,.wf-rec--0),.wf-cl[data-step="1"] :is(.wf-cl__step--1,.wf-rec--1),.wf-cl[data-step="2"] :is(.wf-cl__step--2,.wf-rec--2),.wf-cl[data-step="3"] :is(.wf-cl__step--3,.wf-rec--3)){opacity:1;visibility:visible;transition:opacity .4s ease .22s,visibility 0s .2s}
 :root[data-m-go] .wf-cl:not([data-step="3"]) .wf-cl__cellout{transition:opacity .4s ease .22s,visibility 0s .2s}
 :root[data-m-go] .wf-cl[data-step="3"] .wf-cl__cellout{opacity:0;visibility:hidden}
 :root[data-m-go] .wf-cl[data-step="0"] .wf-cl__step--0{animation-name:wf-wind;animation-delay:200ms;animation-duration:700ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
 :root[data-m-go] .wf-cl[data-step="1"] .wf-cl__step--1{animation-name:wf-beat;animation-delay:200ms;animation-duration:700ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
 :root[data-m-go] .wf-cl[data-step="2"] .wf-cl__step--2{animation-name:wf-card;animation-delay:200ms;animation-duration:700ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
 :root[data-m-go] .wf-cl[data-step="3"] .wf-cl__step--3{animation-name:wf-heddle;animation-delay:200ms;animation-duration:700ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
 :root[data-m-go] .wf-cl[data-step="3"] .wf-rec--3{animation-name:wf-swing;animation-delay:200ms;animation-duration:760ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;transform-origin:50% 0}
 @supports (animation-timeline:view()){
  :root[data-m-go] .wf-cl__row{animation-name:wf-rollup;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--wf-cltl;animation-range-start:exit 4%;animation-range-end:exit 40%}
 }
}
@keyframes wf-wind{from{opacity:0;transform:translateX(26px) rotate(1deg)}}
@keyframes wf-card{from{opacity:0;transform:perspective(800px) rotateX(10deg) translateY(12px)}}
@keyframes wf-swing{from{opacity:0;transform:perspective(900px) rotateX(-24deg)}}
@keyframes wf-rollup{from{transform:scaleY(1)}to{transform:scaleY(.3)}}
/* entrance "twill-shift": cloth rows slide in from alternate sides */
:root[data-m-go] .wf-cl__pin:not([data-wf-in]) .wf-cl__rowin{opacity:.2}
:root[data-m-go] .wf-cl__pin[data-wf-in] .wf-cl__rowin{animation-name:wf-twill;animation-duration:720ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-cl__pin[data-wf-in] .wf-cl__row--1 .wf-cl__rowin{--tx:46px;animation-delay:110ms}
:root[data-m-go] .wf-cl__pin[data-wf-in] .wf-cl__row--2 .wf-cl__rowin{animation-delay:220ms}
:root[data-m-go] .wf-cl__pin[data-wf-in] .wf-cl__cols{animation-name:wf-fade;animation-duration:600ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes wf-twill{from{opacity:.2;transform:translate(var(--tx,-46px),10px)}}

/* ===== 7 · release docket (forest) ===== */
.wf-b7{background:linear-gradient(180deg,#0e4d4a 0%,#0e4d4a 82%,#072d2b 100%);color:var(--wf-on);padding-block:52px 150px}
.wf-dk{position:relative}
.wf-dk__ghost{position:absolute;right:0;top:-30px;width:min(400px,30%);height:auto;pointer-events:none;overflow:visible}
.wf-dk__ghost path{stroke:#9fd7b8;opacity:.16}
:root[data-m-go] .wf-dk__ghost g[data-m-on]{animation-name:wf-arc;animation-duration:9s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.wf-dk__ghost g{transform-box:view-box;transform-origin:150px 160px}
@keyframes wf-arc{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
.wf-dk__head{position:relative}
.wf-dk__head .gft-eyebrow{color:var(--wf-mint);margin-bottom:10px}
.wf-dk__head h2{font-size:clamp(2rem,3.1vw,3.1rem);line-height:1.06;max-width:22ch;color:#fff}
.wf-dk__cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,.95fr);gap:40px;margin-top:30px;align-items:start}
.wf-dk__lines{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.wf-dk__line{margin:0}
.wf-dk__line svg{width:100%;height:auto;display:block}
.wf-dk__line figcaption{font:500 13px/1.45 var(--gft-font-mono);letter-spacing:.04em;color:var(--wf-on2);margin-top:8px}
.wf-dk__ex{grid-column:1/-1;font:500 13px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--wf-och-l);border-top:1px solid #ffffff2b;padding-top:10px}
.wf-dk__l2 .wf-row{opacity:.13;clip-path:inset(-14px -14px -14px -14px);transition:opacity .4s ease}
.wf-dk:is([data-count="1"],[data-count="2"],[data-count="3"],[data-count="4"],[data-count="5"]) .wf-dk__l2 .wf-z0,.wf-dk:is([data-count="2"],[data-count="3"],[data-count="4"],[data-count="5"]) .wf-dk__l2 .wf-z1,.wf-dk:is([data-count="3"],[data-count="4"],[data-count="5"]) .wf-dk__l2 .wf-z2,.wf-dk:is([data-count="4"],[data-count="5"]) .wf-dk__l2 .wf-z3,.wf-dk[data-count="5"] .wf-dk__l2 .wf-z4{opacity:1}
:root[data-m-go] :is(.wf-dk[data-count="0"] .wf-dk__l2 svg[data-m-on] .wf-z0,.wf-dk[data-count="1"] .wf-dk__l2 svg[data-m-on] .wf-z1,.wf-dk[data-count="2"] .wf-dk__l2 svg[data-m-on] .wf-z2,.wf-dk[data-count="3"] .wf-dk__l2 svg[data-m-on] .wf-z3,.wf-dk[data-count="4"] .wf-dk__l2 svg[data-m-on] .wf-z4){animation-name:wf-shim2;animation-duration:1.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes wf-shim2{from{opacity:.13}to{opacity:.5}}
.wf-dk__dialcol{display:grid;justify-items:center;text-align:center;gap:6px}
.wf-dk__dialcol .wf-kicker{color:var(--wf-on2)}
.wf-dial{width:100%;max-width:300px}
.wf-dial svg{width:100%;height:auto;display:block}
.wf-dial__seg{stroke:#2a6862;transition:stroke .35s ease}
.wf-dial__seg.on{stroke:#e6ab4a}
.wf-dial__needle{transform-box:view-box;transform-origin:150px 160px;transform:rotate(var(--a));transition:transform .8s cubic-bezier(.34,1.4,.64,1)}
.wf-dial__hunt{transform-box:view-box;transform-origin:150px 160px}
:root[data-m-go] .wf-dk[data-ready=false] .wf-dial__hunt[data-m-on]{animation-name:wf-hunt;animation-duration:2.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes wf-hunt{from{transform:rotate(-1.6deg)}to{transform:rotate(1.6deg)}}
.wf-dial__read{display:grid;gap:2px;margin:0}
.wf-dial__read strong{font:850 clamp(2.6rem,3.6vw,3.6rem)/1 var(--gft-font-display);letter-spacing:-.04em;color:#fff}
.wf-dk[data-ready=true] .wf-dial__read strong{color:var(--wf-och-l)}
.wf-dial__read span{font:500 14px var(--gft-font-mono);letter-spacing:.05em;color:var(--wf-on2)}
.wf-dk__next{font-size:16px;line-height:1.5;color:var(--wf-on);min-height:3em;max-width:34ch}
.wf-dk__tools{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.wf-dk__tools button{min-height:44px;padding:8px 16px;border:1px solid #9fd7b899;background:transparent;color:var(--wf-on);font:500 14px var(--gft-font-mono);cursor:pointer}
.wf-dk__tools button:hover{background:#ffffff14}
.wf-dk__tools button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.wf-dk__checks{display:grid;gap:8px}
.wf-check{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center;min-height:56px;padding:8px 14px;border:1px solid #9fd7b844;background:#072d2b66;cursor:pointer;position:relative}
.wf-check input{position:absolute;opacity:0;width:28px;height:28px;margin:0;left:14px;cursor:pointer}
.wf-check__box{width:24px;height:24px;border:2px solid #9fd7b8;display:grid;place-items:center;transition:background-color .25s ease}
.wf-check input:checked+.wf-check__box{background:#e6ab4a;border-color:#e6ab4a}
.wf-check input:checked+.wf-check__box::after{content:'';width:11px;height:6px;border-left:3px solid #072d2b;border-bottom:3px solid #072d2b;transform:rotate(-45deg) translate(1px,-1px)}
.wf-check input:focus-visible+.wf-check__box{outline:3px solid #fff;outline-offset:3px}
.wf-check__t{font-size:16px;line-height:1.4;color:var(--wf-on)}
.wf-check__t small{display:block;font:500 13px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--wf-on2)}
.wf-dk__caps{list-style:none;margin:26px 0 0;padding:16px 0 0;border-top:1px solid #ffffff2b;display:grid;grid-template-columns:1fr 1fr;gap:12px 40px}
.wf-dk__caps li{display:grid;grid-template-columns:24px 1fr;gap:12px;font-size:16px;line-height:1.5;color:var(--wf-on)}
.wf-dk__caps svg{width:24px;height:24px;fill:none;stroke:#f0bf6a;stroke-width:1.8}
.wf-dk__join{position:absolute;left:0;right:0;bottom:-150px;height:170px;width:100%;overflow:visible;pointer-events:none}
.wf-dk__join path{fill:none;stroke:#9fd7b8;stroke-width:1.6;stroke-dasharray:5 6;opacity:.7}
/* entrance "selvedge-draw": line 2's outline is stitched left to right, then the dial segments draw */
:root[data-m-go] .wf-dk:not([data-wf-in]) .wf-dk__l2 svg{clip-path:inset(0 70% 0 0)}
:root[data-m-go] .wf-dk:not([data-wf-in]) :is(.wf-dial__seg,.wf-check){opacity:.25}
:root[data-m-go] .wf-dk[data-wf-in] .wf-dk__l2 svg{animation-name:wf-selv;animation-duration:620ms;animation-timing-function:var(--wf-io);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-dk[data-wf-in] .wf-dial__seg{animation-name:wf-fade;animation-duration:380ms;animation-delay:calc(360ms + var(--di,0) * 80ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
.wf-dial__seg[data-i="1"]{--di:1}.wf-dial__seg[data-i="2"]{--di:2}.wf-dial__seg[data-i="3"]{--di:3}.wf-dial__seg[data-i="4"]{--di:4}
:root[data-m-go] .wf-dk[data-wf-in] .wf-check{animation-name:wf-selcheck;animation-duration:520ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-dk[data-wf-in] .wf-check:nth-child(2){animation-delay:60ms}
:root[data-m-go] .wf-dk[data-wf-in] .wf-check:nth-child(3){animation-delay:120ms}
:root[data-m-go] .wf-dk[data-wf-in] .wf-check:nth-child(4){animation-delay:180ms}
:root[data-m-go] .wf-dk[data-wf-in] .wf-check:nth-child(5){animation-delay:240ms}
@keyframes wf-selv{from{clip-path:inset(0 70% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes wf-selcheck{from{opacity:.25;clip-path:inset(0 0 0 100%)}to{opacity:1;clip-path:inset(0 0 0 0)}}

/* ===== 8 · closing: pull the binding pick (night, into the footer) ===== */
.wf-b8{background:var(--wf-night);color:var(--wf-on);padding-block:30px 36px;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.wf-b8>.gft-container{width:min(1440px,calc(100% - 96px))}
.wf-cx{position:relative}
.wf-cx__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 40px;align-items:end}
.wf-cx__head .gft-eyebrow{color:var(--wf-mint);margin-bottom:10px}
.wf-cx__head h2{font-size:clamp(2.2rem,3.6vw,3.6rem);line-height:1.04;color:#fff}
.wf-cx__verdict{display:grid;margin:14px 0 0;font:italic 400 clamp(1.6rem,2.5vw,2.5rem)/1.2 var(--gft-font-serif);color:var(--wf-on);max-width:46ch}
.wf-cx__vd{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease,visibility 0s .22s}
.wf-cx__vd b{font-weight:400;color:var(--wf-och-l)}
.wf-cx[data-layer="0"] .wf-cx__vd--0,.wf-cx[data-layer="1"] .wf-cx__vd--1,.wf-cx[data-layer="2"] .wf-cx__vd--2{opacity:1;visibility:visible;transform:none;transition:opacity .4s ease .24s,transform .5s var(--wf-ease) .24s,visibility 0s .24s}
.wf-cx__stage{position:relative;aspect-ratio:1340/520;margin-top:10px}
.wf-cx__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wf-cx__pyr .wf-row{clip-path:inset(-14px -14px -14px -14px);transition:opacity .4s ease,clip-path .5s var(--wf-ease),transform .6s var(--wf-io);transition-delay:calc(var(--r) * 8ms)}
.wf-cx__pyr .wf-row.is-off{clip-path:inset(-14px 50% -14px 50%)}
.wf-cx__pyr:is([data-ticks="0"]) :is(.wf-z0,.wf-z1,.wf-z2,.wf-z3,.wf-z4),.wf-cx__pyr[data-ticks="1"] :is(.wf-z1,.wf-z2,.wf-z3,.wf-z4),.wf-cx__pyr[data-ticks="2"] :is(.wf-z2,.wf-z3,.wf-z4),.wf-cx__pyr[data-ticks="3"] :is(.wf-z3,.wf-z4),.wf-cx__pyr[data-ticks="4"] .wf-z4{opacity:.34}
.wf-cx__pyr .wf-row{transform-box:fill-box;transform-origin:50% 50%}
.wf-cx[data-layer="0"] .wf-cx__pyr .wf-row:not(.wf-row--c),.wf-cx[data-layer="1"] .wf-cx__pyr .wf-row:not(.wf-row--b),.wf-cx[data-layer="2"] .wf-cx__pyr .wf-row:not(.wf-row--a){transform:scaleX(.8);stroke:#4f7f6c}
.wf-cx[data-layer="0"] .wf-cx__pyr .wf-row--c,.wf-cx[data-layer="1"] .wf-cx__pyr .wf-row--b,.wf-cx[data-layer="2"] .wf-cx__pyr .wf-row--a{transform:translateX(9px) scaleX(1.04)}
.wf-cx__thread path{stroke:#e6ab4a;stroke-width:2.6;stroke-dasharray:3 7;fill:none}
.wf-cx__knot{fill:#e6ab4a}
.wf-cx__bead{fill:#fff3d6;opacity:0}
.wf-cx__thread{opacity:0;clip-path:inset(0 100% 0 0);transition:opacity .35s ease,clip-path .9s var(--wf-io)}
.wf-cx[data-layer="0"] .wf-cx__thread--0,.wf-cx[data-layer="1"] .wf-cx__thread--1,.wf-cx[data-layer="2"] .wf-cx__thread--2{opacity:1;clip-path:inset(-20px -20px -20px -20px)}
:root[data-m-go] .wf-cx[data-m-on] .wf-cx__bead{animation-name:wf-bead;animation-duration:1.8s;animation-delay:calc(var(--k) * 140ms);animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:normal}
@keyframes wf-bead{0%,100%{opacity:0}30%{opacity:1}60%{opacity:0}}
.wf-cx__state{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);transform:translateY(-50%);margin:0;font:500 14px var(--gft-font-mono);letter-spacing:.04em;color:var(--wf-on2)}
.wf-cx__state b{color:#fff}
.wf-cx__doors{position:absolute;left:59%;right:0;top:0;bottom:0}
.wf-door{position:absolute;left:0;right:0;top:calc(var(--top) * 1%);transform:translateY(-50%);min-height:118px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-content:center;padding:14px 20px 14px 22px;border:1px solid #9fd7b844;border-left:3px solid #9fd7b866;background:#0a3d3a;color:var(--wf-on);text-decoration:none;transition:border-color .35s ease,background-color .35s ease}
.wf-door .wf-kicker{grid-column:1;color:var(--wf-on2)}
.wf-door h3{grid-column:1;font-size:clamp(1.25rem,1.6vw,1.6rem);line-height:1.15;color:#fff}
.wf-door__vs{grid-column:1;display:grid}
.wf-door__v{grid-area:1/1;font-size:15px;line-height:1.5;color:var(--wf-on);visibility:hidden;opacity:0;transition:opacity .18s ease,visibility 0s .18s}
.wf-door__arrow{grid-column:2;grid-row:1/4;align-self:center;font-size:26px;color:var(--wf-mint);transition:transform .3s var(--wf-ease)}
.wf-door:hover .wf-door__arrow{transform:translate(4px,-4px)}
.wf-door:hover h3{text-decoration:underline;text-underline-offset:.15em}
.wf-door:focus-visible{outline:3px solid #fff;outline-offset:3px}
.wf-cx[data-layer="0"] .wf-door--0,.wf-cx[data-layer="1"] .wf-door--1,.wf-cx[data-layer="2"] .wf-door--2{border-color:#e6ab4a;border-left-color:#e6ab4a;background:#0e4d4a}
.wf-cx[data-layer="0"] .wf-door--0 .wf-kicker,.wf-cx[data-layer="1"] .wf-door--1 .wf-kicker,.wf-cx[data-layer="2"] .wf-door--2 .wf-kicker{color:var(--wf-och-l)}
.wf-cx[data-layer="0"] .wf-door__v--0,.wf-cx[data-layer="1"] .wf-door__v--1,.wf-cx[data-layer="2"] .wf-door__v--2{visibility:visible;opacity:1;transition:opacity .4s ease .22s,visibility 0s .2s}
.wf-cx__exit{position:absolute;right:-31px;top:0;bottom:-36px;width:3px;pointer-events:none;clip-path:inset(calc(var(--cut,50) * 1%) 0 0 0);transition:clip-path .8s var(--wf-io)}
.wf-cx__exit i{position:absolute;inset:0;background-image:linear-gradient(#e6ab4a 50%,transparent 50%);background-size:3px 10px}
.wf-cx[data-layer="2"] .wf-cx__exit{--cut:17}.wf-cx[data-layer="1"] .wf-cx__exit{--cut:50}.wf-cx[data-layer="0"] .wf-cx__exit{--cut:83}
.wf-cx__reading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr);gap:16px 36px;align-items:start;border-top:1px solid #ffffff2b;padding-top:16px;margin-top:10px;position:relative}
.wf-cx__reading::after{content:'';position:absolute;right:-31px;top:-14px;bottom:-36px;width:3px;background-image:linear-gradient(#e6ab4a 50%,transparent 50%);background-size:3px 10px}
.wf-cx__lede{font:italic 18px/1.5 var(--gft-font-serif);color:var(--wf-on)}
.wf-cx__papers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wf-cx__papers li{display:grid;gap:2px;font-size:16px;line-height:1.35}
.wf-cx__papers .wf-kicker{color:var(--wf-on2)}
.wf-cx__papers a,.wf-cx__pt{color:#fff;font-weight:700}
.wf-cx__papers small{font:500 13px var(--gft-font-mono);color:var(--wf-och-l)}
.wf-cx__links{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
.wf-cx__links .wf-kicker{width:100%;color:var(--wf-on2)}
.wf-cx__links a{min-height:44px;display:inline-flex;align-items:center;color:var(--wf-on);font-size:15px;font-weight:600;text-underline-offset:.2em}
.wf-cx__fine{font:400 13px/1.55 var(--gft-font-mono);color:var(--wf-on2);margin-top:8px}
/* entrance "reed": the pyramid beats up row by row, then the thread pulls out to its door */
:root[data-m-go] .wf-cx:not([data-wf-in]) .wf-cx__pyr .wf-row{opacity:.2}
:root[data-m-go] .wf-cx:not([data-wf-in]) :is(.wf-cx__thread,.wf-door){opacity:.2}
:root[data-m-go] .wf-cx[data-wf-in] .wf-cx__pyr .wf-rows{animation-name:wf-reed;animation-duration:600ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;transform-box:fill-box;transform-origin:50% 0}
:root[data-m-go] .wf-cx[data-wf-in] .wf-cx__thread{animation-name:wf-pullout;animation-duration:560ms;animation-delay:380ms;animation-timing-function:var(--wf-io);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-cx[data-wf-in] .wf-door{animation-name:wf-doorin;animation-duration:520ms;animation-timing-function:var(--wf-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .wf-cx[data-wf-in] .wf-door--1{animation-delay:120ms}
:root[data-m-go] .wf-cx[data-wf-in] .wf-door--0{animation-delay:240ms}
@keyframes wf-reed{from{transform:scaleY(.55);opacity:.3}}
@keyframes wf-pullout{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(-20px -20px -20px -20px)}}
@keyframes wf-doorin{from{opacity:.2;transform:translate(30px,-50%)}to{opacity:1;transform:translate(0,-50%)}}

/* ===== wide, short screens ===== */
@media(min-width:761px) and (max-height:820px){
 .wf-rs__lede{display:none}
 .wf-rs__barnote{display:none}
 .wf-cl__ledger{padding-top:10px}
 .wf-rec dd,.wf-cl__cellout p:not(.wf-kicker){font-size:15px}
}

/* ===== tablet ===== */
@media(max-width:1100px){
 .wf-sp__read{display:none}
 .wf-ld{grid-template-columns:minmax(0,1fr);grid-template-areas:'head' 'rail' 'stage' 'read'}
 .wf-ld__stage{position:relative;top:auto}
 .wf-cost__cols{grid-template-columns:1fr 1fr}
 .wf-cost__read{grid-column:1/-1}
 .wf-dk__cols{grid-template-columns:1fr 1fr}
 .wf-dk__lines{grid-column:1/-1}
}

/* ===== phone ===== */
@media(max-width:760px){
 .wf-page .gft-splash__data{display:none}
 .wf-page .gft-splash__structure{inset:auto 0 96px 0;height:268px}
 .wf-page .gft-splash__structure::after{background:linear-gradient(180deg,#072d2b 0%,#072d2b00 20%)}
 .wf-page .gft-splash__content{padding-top:28px;padding-bottom:300px}
 .wf-page .gft-splash h1{font-size:clamp(3rem,12.5vw,4.2rem);margin-top:20px}
 .wf-page .gft-splash__lede{margin-top:18px}
 .wf-page .gft-splash__actions{margin-top:18px}
 .wf-sp-actions .gft-button{display:none}
 .wf-sp{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}
 .wf-sp__fig{width:min(100cqw,calc((100cqh - 40px) * 740 / 540))}
 .wf-sp__fig .wf-lbl:not(.wf-lbl--head){display:none}
 .wf-lbl--head{font-size:15px}
 .wf-sp__legend{display:flex;justify-content:center;gap:6px;list-style:none;margin:0;padding:0}
 .wf-chip{font:500 13px var(--gft-font-mono);padding:3px 8px;border:1px solid currentColor;white-space:nowrap}
 .wf-chip--a{color:#f6f4ef}.wf-chip--b{color:var(--wf-och-l)}.wf-chip--c{color:var(--wf-mint)}
 .wf-layerbtns{display:grid;grid-template-columns:repeat(3,1fr)}
 .wf-layerbtns .wf-kicker{grid-column:1/-1}
 .wf-layerbtns button{padding:8px 4px;font-size:13px}
 .wf-b2{padding-block:40px 64px}
 .wf-ld{gap:18px}
 .wf-ld__fig{aspect-ratio:auto}
 .wf-ld__plate{position:relative;aspect-ratio:660/430}
 .wf-ld__call{position:static;width:auto;margin-top:10px;background:none}
 .wf-ld .wf-lbl{display:none}
 .wf-ld__note{text-align:left}
 .wf-ld__out dd{font-size:2.1rem}
 .wf-ld__rail{grid-template-columns:1fr}
 .wf-ld__out,.wf-ld__msg{grid-column:1}
 .wf-ld__rail .wf-seg{display:grid;grid-template-columns:repeat(3,1fr)}
 .wf-ld__rail .wf-seg legend{grid-column:1/-1}
 .wf-ld__rail .wf-seg__opt{padding:6px;font-size:13px;gap:6px}
 /* scene A on phones: the stage band stays pinned, step cards scroll beneath it */
 .wf-drop{top:-90px;height:180px}
 .wf-rs__pin{padding:28px 16px 24px;gap:12px}
 .wf-rs__head{grid-template-columns:1fr}
 .wf-rs__head h2{font-size:1.75rem}
 .wf-rs__lede{font-size:17px}
 .wf-rs__rail{grid-template-columns:repeat(4,1fr);gap:4px 6px}
 .wf-rs__barnote{display:none}
 .wf-rs__bar{grid-template-columns:1fr;gap:4px}
 .wf-rs__barfill{grid-row:auto;width:100%;height:28px}
 .wf-rs__barlab{font-size:13px}
 .wf-rs__barlab i{display:block;margin:0}
 .wf-rs__stage{grid-template-columns:1fr;grid-template-rows:auto}
 .wf-rs__fig{grid-area:auto;position:sticky;top:0;z-index:3;background:var(--wf-night);min-height:0;width:100%;aspect-ratio:700/460;container-type:inline-size;border-bottom:1px solid #ffffff2b}
 .wf-rs__pan{width:171.43%;aspect-ratio:1200/460;flex:none}
 .wf-rs[data-step="2"] .wf-rs__pan{transform:translateX(-10%)}
 .wf-rs[data-step="3"] .wf-rs__pan{transform:scale(.5833)}
 .wf-rs__blk{font-size:13px;padding:4px 6px}
 .wf-rs__lab{font-size:13px}
 .wf-rs[data-step="3"] .wf-rs__pan :is(.wf-rs__lab--l1,.wf-rs__lab--l2,.wf-rs__lab--ok){opacity:0}
 .wf-rs__blk{transform:none}
 .wf-rs__blk--0{left:.5%;top:4%}
 .wf-rs__blk--1{left:calc(58.33% - 158px);top:4%}
 .wf-rs__blk--2{left:calc(58.33% - 150px);top:22%}
 .wf-rs__blk--3{left:.5%;top:22%}
 .wf-rs__lab--seed{left:.5%;top:3%;transform:none}
 .wf-rs__lab--kt{left:calc(58.33% - 150px);top:3%;transform:none;text-align:left}
 .wf-rs__side,.wf-rs__strip{grid-area:auto;display:grid;grid-template-columns:1fr;gap:26px}
 .wf-rs__strip .wf-rs__card{grid-template-columns:1fr}
 .wf-rs__side .wf-rs__card{background:none;padding-left:16px}
 .wf-rs__base{grid-area:auto}
 /* cost */
 .wf-b4{padding-block:28px 56px}
 .wf-cost__band{height:auto;display:grid;grid-template-columns:44px 1fr;grid-auto-rows:minmax(84px,auto);container-type:normal}
 .wf-cost__rail{left:21px;right:auto;top:0;bottom:0;width:2px;height:auto}
 .wf-cost__rail::after{display:none}
 .wf-cost__ribbon{left:18px;top:0;bottom:0;width:8px;height:auto;container-type:size}
 .wf-cost__ribbon i{transform:translateY(calc((var(--k) / 44) * 100cqh))}
 .wf-cost__ribbon i.is-rej{transform:translateY(calc(min(var(--k) / 44, .86) * 100cqh))}
 @keyframes wf-rib{from{transform:translateY(-1cqh)}to{transform:translateY(101cqh)}}
 @keyframes wf-rib-rej{0%{transform:translate(0,-1cqh);opacity:1}84%{transform:translate(0,86cqh);opacity:1}94%{transform:translate(26px,86cqh);opacity:1}100%{transform:translate(26px,86cqh);opacity:0}}
 .wf-cost__tray{display:none}
 .wf-gate{position:relative;left:auto;transform:none;grid-column:1/-1;grid-template-columns:44px 1fr;justify-items:start;align-items:center;text-align:left}
 .wf-gate__heddle{width:44px;height:40px}
 .wf-gate__heddle::before{display:none}
 .wf-gate__heddle i{left:11px;top:9px}
 .wf-gate__lab{text-align:left;background:none;white-space:normal}
 .wf-cost__token{display:none}
 .wf-cost__flowtext{text-align:left}
 .wf-cost__head,.wf-cost__cols,.wf-cost__notes{grid-template-columns:1fr}
 .wf-cost__tagline{justify-content:flex-start}
 .wf-cost__out dd{font-size:2.1rem}
 .wf-cost__exit{right:-12px}
 :root[data-m-go] .wf-cost[data-wf-in] .wf-gate__heddle{--sx:0}
 /* interlude */
 .wf-int__pin{min-height:600px}
 .wf-int__head{left:16px;right:16px;top:24px;max-width:none}
 .wf-int .wf-statement{left:16px;right:16px;top:96px;font-size:2.6rem;max-width:none}
 .wf-int__copy{position:absolute;left:16px;right:16px;top:41%;width:auto;padding:8px 12px}
 .wf-int__copy p{font-size:15px;line-height:1.55}
 .wf-int__in{display:none}
 .wf-int__band{left:auto;right:30px;top:72%;bottom:3%;width:8px;height:auto;margin:0;background-size:8px 12px}
 .wf-int__pulse{display:none}
 .wf-int__return,.wf-int__cloth,.wf-int__peel{display:none}
 .wf-int__beats{top:71%;bottom:2%}
 .wf-beat{left:auto;right:18px;transform:none;width:calc(100% - 34px);top:calc(var(--bi) * 33%)}
 .wf-beat--0{--bi:0}.wf-beat--1{--bi:1}.wf-beat--2{--bi:2}
 .wf-beat button{grid-template-columns:1fr 34px;justify-items:end;text-align:right;margin:0;gap:2px 10px}
 .wf-beat__node{grid-column:2;grid-row:1/3;width:28px;height:28px}
 .wf-beat strong,.wf-beat__t{grid-column:1}
 .wf-beat__t{font-size:14px}
 .wf-beat__own{display:none}
 .wf-int[data-beat] .wf-beat button{background:none;border-color:transparent;padding:0}
 @keyframes wf-knot{from{opacity:.2;transform:scale(.6)}to{opacity:1;transform:none}}
 :root[data-m-go] .wf-int__track>div{height:60svh}
 /* cloth */
 .wf-cl__pin{padding:28px 16px 24px}
 .wf-cl__head{grid-template-columns:1fr}
 .wf-cl__head h2{font-size:1.6rem}
 .wf-cl__focus{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}
 .wf-cl__focus legend{grid-column:1/-1}
 .wf-cl__main{grid-template-columns:1fr;gap:20px}
 .wf-cl__cloth{order:-1;position:sticky;top:0;z-index:3;background:var(--wf-deep);padding-block:8px;overflow-x:auto}
 .wf-cl__grid{width:max-content}
 .wf-cl__cols,.wf-cl__rowin{grid-template-columns:110px repeat(6,72px)}
 .wf-cl__rlab,.wf-cl__corner{position:sticky;left:0;background:var(--wf-deep);z-index:1}
 .wf-cl__glyph{width:70px}
 .wf-cell{min-height:52px}
 .wf-cl__scan{display:none}
 .wf-cl__warp{display:none}
 .wf-cl__steps{gap:40px}
 .wf-cl__ledger{grid-template-columns:1fr}
 .wf-cl__sel{flex:1 1 100%;min-height:66px}
 /* the read-out holds the height of its longest cell text, so reading a cell never moves the page */
 .wf-cl__cellout{min-height:192px}
 .wf-rec,.wf-rec--3{grid-template-columns:1fr}
 .wf-rec--3 .wf-chain{grid-template-columns:1fr}
 /* docket */
 .wf-b7{padding-block:40px 96px}
 .wf-dk__join{bottom:-96px;height:110px}
 .wf-dk__ghost{display:none}
 .wf-dk__cols{grid-template-columns:1fr}
 .wf-dk__lines{grid-column:auto;max-width:340px}
 .wf-dk__caps{grid-template-columns:1fr}
 .wf-dial{max-width:220px}
 /* closing */
 .wf-b8{min-height:0;padding-block:36px 40px}
 .wf-b8>.gft-container{width:calc(100% - 32px)}
 .wf-cx__head{grid-template-columns:1fr}
 .wf-cx__pick{display:grid;grid-template-columns:repeat(3,1fr)}
 .wf-cx__pick legend{grid-column:1/-1}
 .wf-cx__pick .wf-seg__opt{padding:6px;font-size:13px;gap:6px}
 .wf-cx__stage{aspect-ratio:auto;display:grid;gap:0}
 .wf-cx__svg{position:relative;inset:auto;width:190%;height:auto;aspect-ratio:1340/520;max-width:none}
 .wf-cx__stage::before{content:'';display:block;height:0}
 .wf-cx__state{position:static;transform:none;margin:4px 0 10px}
 .wf-cx__thread{display:none}
 .wf-cx__doors{position:static;display:grid;gap:8px;border-top:3px dashed #e6ab4a;padding-top:14px}
 .wf-door{position:relative;top:auto;transform:none;min-height:0}
 .wf-cx[data-layer="0"] .wf-door--0,.wf-cx[data-layer="1"] .wf-door--1,.wf-cx[data-layer="2"] .wf-door--2{order:-1}
 .wf-cx:not([data-layer="0"]) .wf-door--0 .wf-door__vs,.wf-cx:not([data-layer="1"]) .wf-door--1 .wf-door__vs,.wf-cx:not([data-layer="2"]) .wf-door--2 .wf-door__vs{display:none}
 @keyframes wf-doorin{from{opacity:.2;transform:translateX(20px)}to{opacity:1;transform:none}}
 .wf-cx__exit{display:none}
 .wf-cx__reading{grid-template-columns:1fr}
 .wf-cx__reading::after{right:-10px}
 .wf-cx__papers{grid-template-columns:1fr}
}
/* phone with motion: steps follow the card under the reading line (script); no pinned full frame */
@media(max-width:760px){
 .wf-cl__steps>*,.wf-cl__records>*{grid-area:auto}
}
@media(max-width:380px){.wf-cl__cellout{min-height:236px}}
