/* /programmes/cameroon-textile/logistics/ only (choreography sheet 2026-10-31). Every class, keyframe and property is
   prefixed lgx- (lane rule). Stability: HTML is the composed end state; pre-states live only under :root[data-m-go];
   a section's staged entrance plays when the client marks it [data-arr] (about 38 percent of the viewport holds it);
   hand-overs are [data-exit] transitions; one sticky pin (#3), no counter-translation; transform, opacity, clip-path
   and filter only. */
@property --lgx-px{syntax:'<number>';inherits:false;initial-value:0}
@property --lgx-py{syntax:'<number>';inherits:false;initial-value:0}
.lgx-page{--lgx-gut:max(48px,calc((100vw - 1440px) / 2 + 48px));--lgx-amber:#e0a64e;--lgx-amb7:#f0c077;--lgx-sage7:#9fd2b4;--lgx-ink:#25302e;--lgx-ease:cubic-bezier(.65,0,.35,1);--lgx-out:cubic-bezier(.16,1,.3,1);overflow-x:clip;font-variant-numeric:tabular-nums lining-nums}
.lgx-wrap{margin-inline:var(--lgx-gut);position:relative}
.lgx-vh{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.lgx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lgx-kicker{font:13px/1.6 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase}
.lgx-cap{font:13px/1.6 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.lgx-page .gft-eyebrow{font-size:13px;letter-spacing:.1em}
.lgx-eye{margin-bottom:18px}
.lgx-lede{font-size:18px;line-height:1.65;max-width:52ch}
.lgx-source{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;font:13px/1.7 var(--gft-font-mono)}
.lgx-source>span{flex:1;min-width:200px}
.lgx-sec{position:relative}
.lgx-h{font-size:clamp(2.4rem,4.2vw,4.6rem);line-height:1.05;max-width:18ch}
.lgx-w{display:inline-block}

/* staged entrances: one shared longhand set, a name per element ----------------------------------------------------- */
:root[data-m-go] .lgx-sec[data-arr] :is(.lgx-w,.lgx-eye,.lgx-lede,.lgx-led__plate>*,.lgx-led__ctl,.lgx-led__read,.lgx-seq__intro,.lgx-stage__in,.lgx-ghost,.lgx-fold,.lgx-chan__ctl,.lgx-weave__in,.lgx-strand__line,.lgx-strand__name,.lgx-weave__slots,.lgx-weave__inset,.lgx-chan__band,.lgx-cmp__heads,.lgx-lane__seg,.lgx-lane__id,.lgx-cmp__under,.lgx-cmp__range,.lgx-source--rail,.lgx-iris,.lgx-bnd__ctl,.lgx-chain__track,.lgx-bmark,.lgx-bnd__read,.lgx-docket__ring svg,.lgx-ring__c,.lgx-chk,.lgx-docket__band,.lgx-docket__sum,.lgx-close__map>svg,.lgx-close__lede,.lgx-lights,.lgx-send,.lgx-door,.lgx-lotread,.lgx-stations,.lgx-tags){animation-duration:760ms;animation-timing-function:var(--lgx-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}

/* headings: whole words, partial pre-state (opacity .35, 12 px), settled within 700 ms; one fx per section */
:root[data-m-go] .lgx-sec:not([data-arr]) :is(.lgx-h,.lgx-statement) .lgx-w{opacity:.35;translate:0 12px}
:root[data-m-go] .lgx-sec[data-arr] :is(.lgx-h,.lgx-statement) .lgx-w{animation-name:lgx-w-rise;animation-duration:600ms;animation-delay:min(calc(var(--i) * 36ms),240ms)}
:root[data-m-go] .lgx-sec[data-arr] [data-fx=skew] .lgx-w{animation-name:lgx-w-skew}
:root[data-m-go] .lgx-sec[data-arr] [data-fx=wdth] .lgx-w{animation-name:lgx-w-wdth;transform-origin:0 100%}
:root[data-m-go] .lgx-sec[data-arr] [data-fx=blur] .lgx-w{animation-name:lgx-w-blur}
:root[data-m-go] .lgx-sec[data-arr] [data-fx=zoom] .lgx-w{animation-name:lgx-w-zoom}
:root[data-m-go] .lgx-sec[data-arr] [data-fx=drop] .lgx-w{animation-name:lgx-w-drop;animation-duration:680ms;animation-delay:calc(160ms + min(var(--i) * 50ms,240ms))}
:root[data-m-go] .lgx-sec[data-arr] [data-fx=turn] .lgx-w{animation-name:lgx-w-turn;transform-origin:50% 100%}
:root[data-m-go] .lgx-sec[data-arr] [data-fx=track] .lgx-w{animation-name:lgx-w-track;transform-origin:50% 100%}
@keyframes lgx-w-rise{from{opacity:.35;translate:0 12px}}
@keyframes lgx-w-skew{from{opacity:.35;translate:0 12px;transform:skewY(7deg)}}
@keyframes lgx-w-wdth{from{opacity:.35;translate:0 12px;transform:scaleX(.62)}}
@keyframes lgx-w-blur{from{opacity:.35;translate:0 12px;filter:blur(4px)}}
@keyframes lgx-w-zoom{from{opacity:.35;translate:0 12px;transform:scale(1.28);filter:blur(3px)}}
@keyframes lgx-w-drop{from{opacity:.35;translate:0 -.45em}}
@keyframes lgx-w-turn{from{opacity:.35;translate:0 12px;transform:perspective(600px) rotateX(-72deg)}}
@keyframes lgx-w-track{from{opacity:.35;translate:0 12px;transform:scaleX(1.32)}}
:root[data-m-go] .lgx-sec:not([data-arr]) :is(.lgx-eye,.lgx-lede){opacity:.35;translate:0 12px}
:root[data-m-go] .lgx-sec[data-arr] :is(.lgx-eye,.lgx-lede){animation-name:lgx-w-rise;animation-duration:620ms}
:root[data-m-go] .lgx-sec[data-arr] .lgx-lede{animation-delay:140ms}

/* chain rail ------------------------------------------------------------------------------------------------------- */
.lgx-rail{position:fixed;left:14px;top:50%;z-index:30;translate:0 -50%;pointer-events:none}
.lgx-rail ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.lgx-rail a{pointer-events:auto;display:flex;align-items:center;gap:10px;min-height:28px;text-decoration:none;color:#e2ebe6}
.lgx-rail i{display:block;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--lgx-amber);background:#072d2b;transition:scale 300ms var(--lgx-out),background-color 300ms}
.lgx-rail span{font:13px var(--gft-font-mono);letter-spacing:.06em;padding:3px 8px;background:#072d2bf0;opacity:0;translate:-6px 0;transition:opacity 260ms,translate 260ms}
.lgx-rail a[aria-current] i{background:var(--lgx-amber);scale:1.35}
.lgx-rail a:hover span,.lgx-rail a:focus-visible span{opacity:1;translate:0 0}
@media(max-width:1100px){.lgx-rail{display:none}}

/* #1 splash ------------------------------------------------------------------------------------------------------- */
.lgx-page .gft-splash{min-height:max(720px,calc(100svh - 88px))}
.lgx-page .gft-splash__data{font-size:13px;color:#c3d6ca}
.lgx-page .gft-splash__position{font-size:13px;color:#c3d6ca}
.lgx-page .gft-splash__cue{font-size:14px}
.lgx-page .gft-splash__caption{font-size:13px;color:#c3d6ca}
.lgx-page .gft-splash__structure{inset:18px -3% 232px 26%;align-items:stretch}
.lgx-page .gft-splash__structure::after{background:linear-gradient(90deg,#072d2b 0%,#072d2bd9 14%,#072d2b00 38%);pointer-events:none}
.lgx-page .gft-splash__content{flex:1;display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);grid-template-rows:auto auto auto 1fr;align-content:start;padding-block:34px 0}
.lgx-page .gft-splash__content>.gft-eyebrow,.lgx-page .gft-splash__content>h1,.lgx-page .gft-splash__lede{grid-column:1}
.lgx-page .gft-splash h1{font-size:clamp(56px,6.2vw,104px);max-width:9ch;line-height:1;margin-top:28px}
.lgx-page .gft-splash__lede{font-size:19px;line-height:1.6;max-width:34ch;margin-top:24px}
.lgx-page .gft-splash__actions{grid-column:1/-1;align-self:end;margin-top:28px}
.lgx-splash-map{width:100%;height:100%;translate:calc(var(--lgx-px) * -14px) calc(var(--lgx-py) * -9px);transition:translate 700ms var(--lgx-out);overflow-anchor:none}
.lgx-splash-map__in{width:100%;height:100%;transform-origin:0 100%;transition:transform 900ms var(--lgx-ease),opacity 700ms}
.lgx-splash-map .lgx-map{width:100%;height:100%}
.lgx-map--splash .lgx-lab--trims{display:none}
/* hand-over 1 -> 2: the headline lifts and fades while the map grows toward the ledger plate */
.lgx-page .gft-splash__content>:is(.gft-eyebrow,h1,.gft-splash__lede){transition:translate 800ms var(--lgx-ease),opacity 700ms}
:root[data-m-go] .lgx-page .gft-splash[data-exit] .gft-splash__content>:is(.gft-eyebrow,h1,.gft-splash__lede){translate:0 -40px;opacity:.2}
:root[data-m-go] .lgx-page .gft-splash[data-exit] .lgx-splash-map__in{transform:translate(-4%,6%) scale(1.1)}
/* splash entrance (load): accent swing; outline, inbound, outbound, knot and token in order */
:root[data-m-go] .lgx-page .gft-splash h1 .gft-serif{display:inline-block;transform-origin:0 50%;animation-name:lgx-swing;animation-duration:760ms;animation-delay:360ms;animation-timing-function:var(--lgx-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes lgx-swing{from{opacity:0;transform:perspective(700px) rotateY(64deg)}}
:root[data-m-go] .lgx-map--splash :is(.lgx-outline,.lgx-grid,.lgx-base__in,.lgx-base__out,.lgx-ov--c,.lgx-knot,.lgx-tok--src,.lgx-labels){animation-timing-function:var(--lgx-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .lgx-map--splash :is(.lgx-outline,.lgx-grid){animation-name:lgx-fadein;animation-duration:250ms}
:root[data-m-go] .lgx-map--splash .lgx-base__in{animation-name:lgx-draw-down;animation-duration:400ms;animation-delay:150ms}
:root[data-m-go] .lgx-map--splash :is(.lgx-base__out,.lgx-ov--c){animation-name:lgx-draw-right;animation-duration:400ms;animation-delay:350ms}
:root[data-m-go] .lgx-map--splash .lgx-labels{animation-name:lgx-fadein;animation-duration:400ms;animation-delay:400ms}
:root[data-m-go] .lgx-map--splash .lgx-tok--src{animation-name:lgx-pop;animation-duration:250ms;animation-delay:600ms;transform-box:fill-box;transform-origin:center}
@keyframes lgx-fadein{from{opacity:0}}
@keyframes lgx-draw-down{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes lgx-draw-right{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes lgx-pop{from{opacity:0;transform:scale(.3)}}
/* the instrument band: full width along the bottom of the first screen */
.lgx-band{display:grid;grid-template-columns:minmax(300px,auto) minmax(0,1fr);gap:16px 56px;align-items:center;padding:20px 0 18px;border-top:1px solid #a3c8b347}
.lgx-band__cap{font:13px/1.5 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--lgx-amb7);margin-bottom:8px}
.lgx-hseg{--lgx-i:0;position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:2px solid #8bb89b;background:#ffffff12;min-width:440px}
.lgx-hseg__opt{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:52px;padding:8px 16px;font-size:17px;font-weight:750;color:#e8f0eb;cursor:pointer;transition:color 360ms}
.lgx-hseg__opt:has(input:checked){color:var(--gft-night)}
.lgx-hseg__opt:has(input:focus-visible){outline:3px solid #fff;outline-offset:-5px}
.lgx-hseg__thumb{position:absolute;z-index:0;inset:0 auto 0 0;width:50%;background:var(--lgx-amber);translate:calc(var(--lgx-i) * 100%) 0;transition:translate 560ms var(--lgx-out)}
.lgx-hseg:has(label:nth-of-type(2) input:checked){--lgx-i:1}
.lgx-hbars{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lgx-hbars li{display:grid;grid-template-columns:6.5rem 34vw 5.5rem;gap:18px;align-items:center}
.lgx-hbars__k{font:13px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#d2e0d7}
.lgx-hbars__v{font:800 24px/1 var(--gft-font-display);letter-spacing:-.02em;color:#fff}
.lgx-hv{display:none;font-style:normal}
.lgx-hv--c{display:inline}
.lgx-band:has(input[value=north]:checked) .lgx-hv--c{display:none}
.lgx-band:has(input[value=north]:checked) .lgx-hv--n{display:inline}
.lgx-hbar{display:block;height:12px;background:#ffffff24;position:relative;overflow:hidden}
.lgx-hbar i{position:absolute;inset:0;background:#7fc79f;transform-origin:left center;scale:var(--v,.86) 1;transition:scale 760ms var(--lgx-ease)}
.lgx-hbar--in{--v:.86}.lgx-hbar--out{--v:.22}
.lgx-hbar--out i{background:var(--lgx-amber)}
.lgx-band:has(input[value=north]:checked) .lgx-hbar--in{--v:.22}
.lgx-band:has(input[value=north]:checked) .lgx-hbar--out{--v:.86}
.lgx-band__line{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;max-width:none;font:13px/1.7 var(--gft-font-mono);letter-spacing:.06em;color:#d8e6dd}
.lgx-band__mark{width:10px;height:10px;flex:0 0 10px;border:1.5px solid var(--lgx-amber);rotate:45deg}
.lgx-band__lot{display:flex;gap:14px;align-items:center;color:#f6f4ef;border-left:1px solid #a3c8b34d;padding-left:18px}
.lgx-band__lot b{font-weight:700;min-width:24ch}
.lgx-band__lot time{color:var(--lgx-amb7);min-width:8ch}
.lgx-band__ill{margin-left:auto;color:#c3d6ca}

/* the route map (one drawing in three variants) ------------------------------------------------------------------- */
.lgx-map{display:block;width:100%;height:100%;color:#6bb68f;overflow:visible;font:15px var(--gft-font-mono)}
.lgx-map [data-m-live]{transform-box:fill-box;transform-origin:center}
.lgx-map text{fill:#e2ebe6;font-size:15px;letter-spacing:.04em}
.lgx-map .lgx-small{font-size:15px;fill:#d2e0d7}
.lgx-map .lgx-tag{font-size:14px;font-weight:700;letter-spacing:.1em}
.lgx-map .lgx-tag--o{fill:var(--lgx-amb7)}
.lgx-map .lgx-tag--s{fill:var(--lgx-sage7)}
.lgx-grid{opacity:.1}
.lgx-outline{fill:#6bb68f;fill-opacity:.07;stroke:#6bb68f;stroke-opacity:.5}
.lgx-r{fill:none;stroke-linecap:round}
.lgx-r--long{stroke:#6bb68f;stroke-width:3.5;opacity:.34}
.lgx-r--cotton,.lgx-r--yaounde,.lgx-r--port{stroke:#6bb68f;stroke-width:3;opacity:.34}
.lgx-r--trims{stroke:#a8b9e3;stroke-width:2;opacity:.5}
.lgx-r--regional,.lgx-r--direct{stroke:#c98a2b;stroke-width:2;opacity:.42}
.lgx-r--north-out{stroke:#c98a2b;stroke-width:1.5;opacity:.26}
.lgx-hot{fill:none;stroke-linecap:round}
.lgx-hot--in{stroke:#7fc79f;stroke-width:5}
.lgx-hot--out{stroke:var(--lgx-amber);stroke-width:4}
.lgx-hot--dash{stroke:var(--lgx-amber);stroke-width:3.5;stroke-dasharray:3 9}
.lgx-hot--chain{stroke:var(--lgx-amber);stroke-width:5}
.lgx-factory circle:first-child{fill:none;stroke:var(--lgx-amber);stroke-width:2.5}
.lgx-core{fill:var(--lgx-amber)}
.lgx-buffer circle{fill:none;stroke:#f6f4ef;stroke-opacity:.75;stroke-width:1.5}
.lgx-node-dot circle{fill:#f6f4ef}
.lgx-chainknots circle{fill:#f6f4ef;stroke:var(--lgx-amber);stroke-width:2}
.lgx-ov{opacity:0;transition:opacity 420ms var(--lgx-out)}
.lgx-ov--c{opacity:1}
.lgx-knot__pulse circle{fill:#e0a64e1f;stroke:var(--lgx-amber);stroke-width:2.5}
.lgx-tok__ring{fill:none;stroke:#f6f4ef;stroke-width:2}
.lgx-tok__core{fill:#f6f4ef}
.lgx-map .lgx-tok__lab{fill:#fff;font-size:15px;font-weight:700;letter-spacing:.05em}
.lgx-tok__lab--n{opacity:0}
/* the factory knot slides along the long leg (precomputed points) when the state changes; the leg re-lights */
.lgx-knot{transform-box:view-box}
:is(.lgx-led,.lgx-page .gft-splash):has(input[value=north]:checked) .lgx-knot{translate:170px -302px}
.lgx-led-touched:is(.lgx-led,.lgx-page .gft-splash):has(input[value=north]:checked) .lgx-knot{animation-name:lgx-knot-n;animation-duration:820ms;animation-timing-function:var(--lgx-ease);animation-fill-mode:both;animation-iteration-count:1;animation-direction:normal}
.lgx-led-touched:is(.lgx-led,.lgx-page .gft-splash):not(:has(input[value=north]:checked)) .lgx-knot{animation-name:lgx-knot-c;animation-duration:820ms;animation-timing-function:var(--lgx-ease);animation-fill-mode:both;animation-iteration-count:1;animation-direction:normal}
@keyframes lgx-knot-n{0%{translate:0 0}10%{translate:14px -40px}20%{translate:41px -72px}30%{translate:72px -98px}40%{translate:97px -122px}50%{translate:109px -147px}60%{translate:113px -179px}70%{translate:121px -216px}80%{translate:134px -256px}90%{translate:152px -293px}100%{translate:170px -302px}}
@keyframes lgx-knot-c{0%{translate:170px -302px}10%{translate:152px -293px}20%{translate:134px -256px}30%{translate:121px -216px}40%{translate:113px -179px}50%{translate:109px -147px}60%{translate:97px -122px}70%{translate:72px -98px}80%{translate:41px -72px}90%{translate:14px -40px}100%{translate:0 0}}
:is(.lgx-led,.lgx-page .gft-splash):has(input[value=north]:checked) .lgx-ov--c{opacity:0}
:is(.lgx-led,.lgx-page .gft-splash):has(input[value=north]:checked) .lgx-ov--n{opacity:1}
:is(.lgx-led,.lgx-page .gft-splash):has(input[value=north]:checked) .lgx-tok__lab--c{opacity:0}
:is(.lgx-led,.lgx-page .gft-splash):has(input[value=north]:checked) .lgx-tok__lab--n{opacity:1}
.lgx-tok__lab{transition:opacity 300ms}
/* the long leg re-draws by a clip sweep when the state changes */
.lgx-led-touched .lgx-ov :is(.lgx-hot--in,.lgx-hot--out){animation-name:lgx-draw-down;animation-duration:420ms;animation-timing-function:var(--lgx-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
.lgx-led-touched.lgx-led-flip .lgx-ov :is(.lgx-hot--in,.lgx-hot--out){animation-name:lgx-draw-down2}
@keyframes lgx-draw-down2{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}

/* segmented controls ------------------------------------------------------------------------------------------------ */
.lgx-seg{--cols:2;--lgx-i:0;position:relative;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));border:2px solid #8bb89b;background:#ffffff0d}
.lgx-seg--3{--cols:3}
.lgx-seg__opt{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:52px;padding:8px 18px;font-size:17px;font-weight:750;text-align:center;color:#e2ebe6;cursor:pointer;transition:color 360ms}
.lgx-seg__opt:has(input:checked){color:var(--gft-night)}
.lgx-seg__opt:has(input:focus-visible){outline:3px solid #fff;outline-offset:-5px}
.lgx-seg__thumb{position:absolute;z-index:0;inset:0 auto 0 0;width:calc(100% / var(--cols));background:var(--lgx-amber);translate:calc(var(--lgx-i) * 100%) 0;transition:translate 560ms var(--lgx-out)}
.lgx-seg:has(label:nth-of-type(2) input:checked){--lgx-i:1}
.lgx-seg:has(label:nth-of-type(3) input:checked){--lgx-i:2}

/* #2 ledger: map plate left 62 %, read column right 38 % ------------------------------------------------------------ */
.lgx-sec--ledger{background:var(--gft-night);color:var(--gft-paper);padding-block:44px 88px}
.lgx-led{display:grid;grid-template-columns:minmax(0,62fr) minmax(0,38fr);grid-template-areas:'head ctl' 'plate read';row-gap:26px}
.lgx-led__head{grid-area:head;padding-left:var(--lgx-gut);padding-right:32px;align-self:end}
.lgx-led__head .lgx-eye{color:var(--lgx-sage7)}
.lgx-led__head .lgx-h{font-size:clamp(2.2rem,3.4vw,3.6rem);max-width:22ch}
.lgx-led__ctl{grid-area:ctl;padding:0 var(--lgx-gut) 0 44px;align-self:end}
.lgx-led__ctl .lgx-cap{color:var(--lgx-amb7)}
.lgx-led__plate{grid-area:plate;position:relative;min-height:max(600px,76svh);background:radial-gradient(ellipse at 40% 45%,#13605b 0%,#0e4d4a 62%);border-top:3px solid var(--lgx-amber);overflow:clip;isolation:isolate}
.lgx-led__map{position:absolute;inset:40px 18px 150px var(--lgx-gut);overflow-anchor:none}
.lgx-led__map .lgx-map{transition:opacity 500ms}
.lgx-led__map .lgx-knot,.lgx-led__map .lgx-ov{cursor:pointer}
.lgx-legend{position:absolute;left:var(--lgx-gut);top:14px;display:flex;flex-wrap:wrap;gap:6px 22px;margin:0;padding:0;list-style:none;font:13px var(--gft-font-mono);color:#e2ebe6}
.lgx-legend li{display:flex;align-items:center;gap:8px}
.lgx-legend i{display:block;width:22px;height:4px}
.lgx-legend__in{background:#7fc79f}.lgx-legend__out{background:var(--lgx-amber)}
.lgx-legend__knot{width:12px!important;height:12px!important;border-radius:50%;border:2px solid var(--lgx-amber)}
.lgx-led__burn{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;padding:12px 28px 14px var(--lgx-gut);border-top:1px solid #ffffff2e;background:#0a3d3a;font:13px/1.5 var(--gft-font-mono);color:#e2ebe6}
.lgx-led__burn p{max-width:none}
.lgx-led__burn b{color:var(--lgx-amb7);font-weight:700}
.lgx-led__read{grid-area:read;display:grid;padding:22px var(--lgx-gut) 0 44px;min-width:0}
.lgx-state{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;translate:0 10px;transition:opacity 160ms linear,translate 160ms linear,visibility 0s 160ms}
.lgx-state--corridor,.lgx-led:has(input[value=north]:checked) .lgx-state--north{opacity:1;visibility:visible;translate:0 0;transition:opacity 360ms var(--lgx-out) 180ms,translate 360ms var(--lgx-out) 180ms,visibility 0s 160ms}
.lgx-led:has(input[value=north]:checked) .lgx-state--corridor{opacity:0;visibility:hidden;translate:0 10px;transition:opacity 160ms linear,translate 160ms linear,visibility 0s 160ms}
.lgx-state__k{font:13px/1.6 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--lgx-amb7)}
.lgx-state__line{font-size:17px;line-height:1.55;color:var(--lgx-sage7);margin-top:6px;max-width:44ch}
.lgx-state h3{font-size:clamp(1.8rem,2.4vw,2.6rem);line-height:1.08;margin:14px 0 16px;max-width:16ch}
.lgx-legs{list-style:none;margin:0 0 16px;padding:0}
.lgx-legs li{display:grid;grid-template-columns:7.2rem minmax(0,1fr);gap:4px 16px;align-items:center;padding:10px 0;border-top:1px solid #ffffff26}
.lgx-legs__k{font:13px/1.5 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#d2e0d7}
.lgx-legs__v{grid-column:2;font-size:17px;line-height:1.4;font-weight:650}
.lgx-bar{display:block;height:14px;background:#ffffff1f;position:relative;overflow:hidden}
.lgx-bar i{position:absolute;inset:0;background:#7fc79f;transform-origin:left center;scale:var(--lvl) 1}
.lgx-bar--o i{background:var(--lgx-amber)}
.lgx-state__text{font-size:17px;line-height:1.6;color:#e2ebe6;max-width:50ch;margin-bottom:14px}
.lgx-chips{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.lgx-chips li{border:1px solid #8bb89b99;padding:6px 12px;font-size:15px;line-height:1.4;background:#ffffff0a}
/* entrance: weft (plate and column slide in from opposite sides), then the bars grow */
:root[data-m-go] .lgx-sec--ledger:not([data-arr]) .lgx-led__plate>*{opacity:.3;translate:-60px 0}
:root[data-m-go] .lgx-sec--ledger:not([data-arr]) :is(.lgx-led__read,.lgx-led__ctl){opacity:.3;translate:60px 0}
:root[data-m-go] .lgx-sec--ledger[data-arr] .lgx-led__plate>*{animation-name:lgx-from-left;animation-duration:820ms}
:root[data-m-go] .lgx-sec--ledger[data-arr] .lgx-led__plate>.lgx-led__burn{animation-delay:180ms}
:root[data-m-go] .lgx-sec--ledger[data-arr] :is(.lgx-led__read,.lgx-led__ctl){animation-name:lgx-from-right;animation-duration:760ms;animation-delay:90ms}
:root[data-m-go] .lgx-sec--ledger:not([data-arr]) .lgx-bar i{scale:0 1}
:root[data-m-go] .lgx-sec--ledger[data-arr] .lgx-bar i{animation-name:lgx-bar-in;animation-duration:600ms;animation-delay:300ms;animation-timing-function:var(--lgx-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes lgx-from-left{from{opacity:.3;translate:-60px 0}}
@keyframes lgx-from-right{from{opacity:.3;translate:60px 0}}
@keyframes lgx-bar-in{from{scale:0 1}}
/* hand-over 2 -> 3: outline and grid fade; the thread alone lifts and turns toward the stage below */
.lgx-map--ledger :is(.lgx-grid,.lgx-outline,.lgx-labels,.lgx-base){transition:opacity 500ms var(--lgx-out)}
.lgx-map--ledger :is(.lgx-ov--c,.lgx-ov--n){transform-origin:465px 300px;transition:opacity 420ms var(--lgx-out),transform 900ms var(--lgx-ease)}
:root[data-m-go] .lgx-sec--ledger[data-exit] .lgx-map--ledger :is(.lgx-grid,.lgx-outline,.lgx-labels,.lgx-base){opacity:.12}
:root[data-m-go] .lgx-sec--ledger[data-exit] .lgx-map--ledger :is(.lgx-ov--c,.lgx-ov--n){transform:translate(0,-36px) rotate(-10deg) scale(1.06)}

/* #3 handover: full-bleed dark stage, translucent step overlays left 32 %, sticky stage right 68 % ------------------ */
.lgx-sec--seq{--H:100svh;background:var(--gft-night);color:var(--gft-paper);padding-top:0;border-top:2px solid #6bb68f38;isolation:isolate}
.lgx-fold{position:absolute;left:0;right:0;top:0;height:100svh;z-index:0;background:var(--gft-night);opacity:0;pointer-events:none}
:root[data-m-go] .lgx-sec--seq:not([data-arr]) .lgx-fold{opacity:1}
:root[data-m-go] .lgx-sec--seq[data-arr] .lgx-fold{animation-name:lgx-fold;animation-duration:900ms;animation-timing-function:var(--lgx-ease)}
@keyframes lgx-fold{0%{opacity:1;clip-path:inset(0 0 0 0)}68%{opacity:1;clip-path:inset(0 0 0 32%)}100%{opacity:0;clip-path:inset(0 0 0 32%)}}
.lgx-seq{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,32fr) minmax(0,68fr)}
.lgx-seq__steps{position:relative;z-index:2;padding:34px clamp(16px,2vw,28px) 44px var(--lgx-gut);min-width:0;background:linear-gradient(90deg,#072d2bf7 0%,#072d2be0 88%,#072d2b00 100%)}
.lgx-seq__steps::before{content:'';position:absolute;left:calc(var(--lgx-gut) - 16px);top:48px;bottom:56px;width:2px;background:linear-gradient(180deg,var(--lgx-amber),#7fc79f 55%,var(--lgx-amber));opacity:.55}
.lgx-seq__intro{min-height:38svh;display:flex;flex-direction:column;justify-content:center;gap:4px;padding-bottom:14px}
.lgx-seq__intro .lgx-eye{color:var(--lgx-sage7)}
.lgx-seq__intro .lgx-lede{color:#e2ebe6;font-size:17px}
.lgx-seq__hint{font:13px/1.6 var(--gft-font-mono);letter-spacing:.06em;color:var(--lgx-amb7);margin-top:12px}
.lgx-stepcard{min-height:60svh;display:flex;align-items:center}
.lgx-stepcard--3{min-height:68svh;align-items:flex-start;padding-top:10svh}
.lgx-stepcard__in{position:relative;width:100%;background:#0a3d3aeb;border:1px solid #6bb68f66;border-left:5px solid var(--lgx-amber);padding:clamp(20px,2vw,28px);box-shadow:0 18px 38px #0000004d;color:#f6f4ef}
.lgx-stepcard__thr{position:absolute;right:16px;top:16px;width:68px;height:auto;fill:none;stroke-linecap:round}
.lgx-stepcard__thr path{stroke:#ffffff2e;stroke-width:14}
.lgx-stepcard__thr .lgx-stepcard__lit{stroke:var(--lgx-amber);stroke-width:22}
.lgx-stepcard__thr circle{fill:#7fc79f}
.lgx-stepcard__pr{display:flex;gap:6px;margin-bottom:14px;max-width:calc(100% - 84px)}
.lgx-stepcard__pr i{flex:1;height:6px;background:#ffffff29}
.lgx-stepcard__pr i.is-on{background:#7fc79f}
.lgx-stepcard__pr i.is-now{background:var(--lgx-amber)}
.lgx-stepcard .lgx-kicker{color:var(--lgx-amb7);padding-right:76px}
.lgx-stepcard h3{font-size:clamp(1.55rem,2vw,2.15rem);line-height:1.1;margin:8px 0 12px;max-width:16ch;color:#fff}
.lgx-stepcard__t{font-size:16px;line-height:1.62;max-width:46ch;color:#e2ebe6}
.lgx-stepcard__rec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:14px 0 0;padding-top:12px;border-top:1px solid #ffffff24}
.lgx-stepcard__rec div{display:grid;gap:2px}
.lgx-stepcard__rec dt{font:700 13px var(--gft-font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--lgx-amb7)}
.lgx-stepcard__rec dd{margin:0;font-size:14px;line-height:1.35;color:#f6f4ef}
.lgx-seq__col{position:relative;min-width:0;padding-right:0}
.lgx-stage{position:sticky;top:0;height:var(--H);display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--gft-forest);color:var(--gft-paper);border-top:3px solid var(--lgx-amber);border-left:1px solid #6bb68f38;overflow:clip;isolation:isolate}
.lgx-stage::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#b4d4c512 1px,transparent 1px),linear-gradient(90deg,#b4d4c512 1px,transparent 1px);background-size:44px 44px;pointer-events:none}
.lgx-stage__bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.lgx-stage__bg-layer{position:absolute;inset:0;opacity:0;transition:opacity 600ms var(--lgx-out)}
.lgx-stage__bg-layer--0{background:radial-gradient(circle at 18% 76%,#e0a64e2b 0%,#0e4d4a 58%,#072d2b 100%)}
.lgx-stage__bg-layer--1{background:radial-gradient(circle at 38% 40%,#7fc79f33 0%,#0c4542 58%,#072d2b 100%)}
.lgx-stage__bg-layer--2{background:radial-gradient(circle at 64% 68%,#e0a64e2e 0%,#123d52 56%,#072d2b 100%)}
.lgx-stage__bg-layer--3{background:radial-gradient(circle at 84% 32%,#7fc79f38 0%,#0e4d4a 58%,#072d2b 100%)}
.lgx-seq[data-step="0"] .lgx-stage__bg-layer--0,.lgx-seq[data-step="1"] .lgx-stage__bg-layer--1,.lgx-seq[data-step="2"] .lgx-stage__bg-layer--2,.lgx-seq[data-step="3"] .lgx-stage__bg-layer--3{opacity:1}
.lgx-stage__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 24px;align-items:end;padding:20px var(--lgx-gut) 14px 28px;background:#072d2b99;border-bottom:1px solid #ffffff2b}
.lgx-stage__h{grid-column:1;font-size:clamp(1.7rem,2.3vw,2.45rem);line-height:1.06;max-width:22ch;color:#fff}
.lgx-stage__meta{grid-column:2;display:grid;gap:6px;justify-items:end;text-align:right}
.lgx-stage__lot{display:inline-flex;align-items:center;gap:10px;padding:4px 10px;border:1px solid #8bb89b66;background:#0a3d3a;font:13px var(--gft-font-mono);letter-spacing:.06em;color:#e2ebe6;white-space:nowrap}
.lgx-stage__lot b{color:var(--lgx-amb7)}
.lgx-stage__ro{display:grid;max-width:none}
.lgx-stage__rov{grid-area:1/1;font:700 16px/1.3 var(--gft-font-mono);letter-spacing:.02em;color:#f8deb0;opacity:0;transition:opacity 160ms linear}
.lgx-stage__rov.is-cur{opacity:1;transition:opacity 320ms linear 170ms}
.lgx-stage__pin{display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-height:0}
.lgx-stage__main{position:relative;min-height:0;overflow:clip}
.lgx-plates{position:absolute;left:24px;top:12px;display:grid;z-index:2;pointer-events:none}
.lgx-plate{grid-area:1/1;opacity:0;transition:opacity 160ms linear}
.lgx-plate.is-cur{opacity:1;transition:opacity 380ms linear 180ms}
.lgx-plate__n{display:block;font:700 13px var(--gft-font-mono);letter-spacing:.1em;color:var(--lgx-amb7)}
.lgx-plate strong{display:block;font:850 clamp(2.1rem,3.1vw,3.3rem)/1 var(--gft-font-display);letter-spacing:-.05em}
.lgx-badge{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:4px 10px;border:1.5px solid var(--lgx-amber);background:#072d2be6;font:700 13px/1.35 var(--gft-font-mono);letter-spacing:.05em;text-transform:uppercase;font-style:normal;color:#f8deb0}
.lgx-badge i{display:block;width:8px;height:8px;border-radius:50%;background:var(--lgx-amber)}
.lgx-stage__wm{position:absolute;right:var(--lgx-gut);bottom:12px;display:grid;pointer-events:none;z-index:0}
.lgx-wm{grid-area:1/1;font:850 clamp(110px,13vw,180px)/.85 var(--gft-font-display);letter-spacing:-.06em;color:#ffffff12;opacity:0;transition:opacity 300ms}
.lgx-seq[data-step="0"] .lgx-wm--0,.lgx-seq[data-step="1"] .lgx-wm--1,.lgx-seq[data-step="2"] .lgx-wm--2,.lgx-seq[data-step="3"] .lgx-wm--3{opacity:1}
.lgx-stage__svg{position:absolute;inset:0;width:100%;height:100%;padding:32px var(--lgx-gut) 0 28px;overflow:visible}
.lgx-stepvis{opacity:0;transition:opacity 420ms var(--lgx-out)}
.lgx-seq[data-step="0"] .lgx-stepvis--0,.lgx-seq[data-step="1"] .lgx-stepvis--1,.lgx-seq[data-step="2"] .lgx-stepvis--2,.lgx-seq[data-step="3"] .lgx-stepvis--3{opacity:1}
.lgx-sv-k{fill:var(--lgx-amb7);font:700 13px var(--gft-font-mono);letter-spacing:.08em}
.lgx-sv-v{fill:#f6f4ef;font:600 14px var(--gft-font-display)}
.lgx-thread{fill:none;stroke:#ffffff42;stroke-width:4;stroke-linecap:round}
.lgx-thread--lit{stroke:#7fc79f;stroke-width:7;clip-path:inset(0 100% 0 0);transition:clip-path 900ms var(--lgx-ease),stroke 500ms}
.lgx-seq[data-step="1"] .lgx-thread--lit:nth-of-type(2),.lgx-seq[data-step="2"] .lgx-thread--lit:is(:nth-of-type(2),:nth-of-type(3)),.lgx-seq[data-step="3"] .lgx-thread--lit{clip-path:inset(0 0 0 0)}
.lgx-seq[data-step="1"] .lgx-thread--lit:nth-of-type(2),.lgx-seq[data-step="2"] .lgx-thread--lit:nth-of-type(3),.lgx-seq[data-step="3"] .lgx-thread--lit:nth-of-type(4){stroke:var(--lgx-amber)}
.lgx-nd text{fill:#d2e0d7;font:700 20px var(--gft-font-mono);letter-spacing:.12em;transition:fill 400ms}
.lgx-nd__ring{fill:#0e4d4a;stroke:#ffffff66;stroke-width:3;transition:stroke 400ms}
.lgx-nd__core{fill:#ffffff4d;transition:fill 400ms}
.lgx-nd__halo{opacity:0;transition:opacity 500ms}
.lgx-nd__halo circle{fill:#e0a64e2e;stroke:var(--lgx-amber);stroke-width:2.5}
.lgx-nd__halo [data-m-live]{transform-box:fill-box;transform-origin:center}
.lgx-nd.is-past .lgx-nd__ring{stroke:#7fc79f}
.lgx-nd.is-past .lgx-nd__core{fill:#7fc79f}
.lgx-nd.is-past text{fill:#e2ebe6}
.lgx-nd.is-active .lgx-nd__ring{stroke:var(--lgx-amber)}
.lgx-nd.is-active .lgx-nd__core{fill:var(--lgx-amber)}
.lgx-nd.is-active text{fill:#fff}
.lgx-nd.is-active .lgx-nd__halo{opacity:1}
.lgx-token circle:first-child{fill:#f6f4ef}
.lgx-token__ring{fill:none;stroke:#f6f4ef;stroke-opacity:.8;stroke-width:2.5}
.lgx-split{fill:none;opacity:0;transition:opacity 500ms 300ms}
.lgx-split path{stroke:var(--lgx-amber);stroke-width:3;stroke-dasharray:6 6}
.lgx-split text{fill:var(--lgx-amb7);stroke:none;font:700 15px var(--gft-font-mono);letter-spacing:.08em}
.lgx-seq:is([data-step="2"],[data-step="3"]) .lgx-split{opacity:1}
.lgx-fray path{fill:none;stroke:var(--lgx-amber);stroke-width:3.5;stroke-linecap:round;clip-path:inset(0 0 100% 0);transition:clip-path 900ms var(--lgx-ease) calc(var(--k) * 90ms)}
.lgx-fray path:nth-child(2){stroke:#7fc79f}.lgx-fray path:nth-child(4){stroke:#a8b9e3}
.lgx-seq[data-step="3"] .lgx-fray path{clip-path:inset(0 0 0 0)}
.lgx-ghost{opacity:0;pointer-events:none;transform-box:view-box;transform-origin:0 0;transform:translate(110px,480px) rotate(-100.84deg) scale(1.537) translate(-542px,-100px)}
.lgx-ghost path{fill:none;stroke:var(--lgx-amber);stroke-width:4;stroke-linecap:round}
:root[data-m-go] .lgx-sec--seq[data-arr] .lgx-ghost{animation-name:lgx-ghost;animation-duration:900ms;animation-timing-function:var(--lgx-ease)}
@keyframes lgx-ghost{0%{opacity:1;transform:translate(330px,40px) rotate(0deg) scale(1) translate(-542px,-100px)}30%{opacity:1;transform:translate(330px,40px) rotate(0deg) scale(1) translate(-542px,-100px)}82%{opacity:1;transform:translate(110px,480px) rotate(-100.84deg) scale(1.537) translate(-542px,-100px)}100%{opacity:0;transform:translate(110px,480px) rotate(-100.84deg) scale(1.537) translate(-542px,-100px)}}
:root[data-m-go] .lgx-sec--seq:not([data-arr]) .lgx-ghost{opacity:1;transform:translate(330px,40px) rotate(0deg) scale(1) translate(-542px,-100px)}
.lgx-recs{position:relative;display:grid;padding:12px var(--lgx-gut) 12px 28px;background:#072d2bb3;border-top:1px solid #ffffff33}
.lgx-rec{grid-area:1/1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0;opacity:0;visibility:hidden;transition:opacity 150ms linear,visibility 0s 150ms}
.lgx-rec.is-cur{opacity:1;visibility:visible;transition:opacity 200ms linear 170ms,visibility 0s 150ms}
.lgx-rec__row{display:grid;grid-template-columns:8.4rem minmax(0,1fr);gap:12px;padding:6px 0;border-bottom:1px solid #ffffff1f;font:15px/1.45 var(--gft-font-mono)}
.lgx-rec dt{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--lgx-amb7)}
.lgx-rec dd{margin:0;color:#f6f4ef}
:root[data-m-go] .lgx-rec.is-cur .lgx-rec__row{animation-name:lgx-deal;animation-duration:420ms;animation-timing-function:var(--lgx-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:calc(180ms + var(--r) * 40ms)}
@keyframes lgx-deal{from{opacity:0;translate:-14px 0}}
.lgx-stage__nav{display:flex;background:#072d2b;border-top:1px solid #ffffff33}
.lgx-stage__nav a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;font:700 13px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#d2e0d7;border-top:3px solid transparent;margin-top:-1px}
.lgx-stage__nav a b{color:var(--lgx-amb7)}
.lgx-stage__nav a.is-cur{border-color:var(--lgx-amber);background:#0e4d4a;color:#fff}
/* entrance: twill-shift, the stage arrives on a diagonal offset; the intro and cards follow */
:root[data-m-go] .lgx-sec--seq:not([data-arr]) .lgx-seq__intro{opacity:.3;translate:-30px 20px}
:root[data-m-go] .lgx-sec--seq[data-arr] .lgx-seq__intro{animation-name:lgx-twill;animation-delay:240ms}
@keyframes lgx-twill{from{opacity:.3;translate:-30px 20px}}

/* #4 channels: integrated dark weave + route diagram + layered channel card & overlapping evidence ------------------ */
.lgx-sec--chan{background:var(--gft-paper);color:var(--lgx-ink);padding-block:44px 0}
.lgx-chan__head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:end;margin-bottom:18px}
.lgx-chan__head .lgx-eye{color:#1d593e}
.lgx-chan__head .lgx-h{font-size:clamp(2.1rem,3.3vw,3.4rem)}
.lgx-chan__ctl .lgx-cap{color:#1f3830;font-weight:700}
.lgx-tabs{--lgx-i:0;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:2px solid var(--gft-night);background:var(--gft-night)}
.lgx-tabs__opt{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:54px;padding:8px 14px;border-left:1px solid #ffffff24;font-size:clamp(1.05rem,1.45vw,1.35rem);font-weight:800;letter-spacing:-.02em;color:#e2ebe6;cursor:pointer;transition:color 360ms}
.lgx-tabs__opt:first-of-type{border-left:0}
.lgx-tabs__opt b{font:700 13px var(--gft-font-mono);margin-right:10px;color:var(--lgx-amb7);letter-spacing:.06em}
.lgx-tabs__opt:has(input:checked){color:var(--gft-night)}
.lgx-tabs__opt:has(input:checked) b{color:var(--gft-night)}
.lgx-tabs__opt:has(input:focus-visible){outline:3px solid #fff;outline-offset:-5px}
.lgx-tabs__thumb{position:absolute;z-index:0;inset:0 auto 0 0;width:25%;background:var(--lgx-amber);translate:calc(var(--lgx-i) * 100%) 0;transition:translate 560ms var(--lgx-out)}
.lgx-tabs:has(label:nth-of-type(2) input:checked){--lgx-i:1}
.lgx-tabs:has(label:nth-of-type(3) input:checked){--lgx-i:2}
.lgx-tabs:has(label:nth-of-type(4) input:checked){--lgx-i:3}
.lgx-chan__ro{display:grid;max-width:none;margin:10px 0 0;min-height:2em}
.lgx-chan__rov{grid-area:1/1;font:700 16px/1.4 var(--gft-font-display);color:#0e4d4a;opacity:0;visibility:hidden;transition:opacity 160ms linear,visibility 0s 160ms}
.lgx-chan__rov--domestic{opacity:1;visibility:visible}
.lgx-chan:has(input[value=regional]:checked) .lgx-chan__rov--domestic,.lgx-chan:has(input[value=direct]:checked) .lgx-chan__rov--domestic,.lgx-chan:has(input[value=continuity]:checked) .lgx-chan__rov--domestic{opacity:0;visibility:hidden}
.lgx-chan:has(input[value=regional]:checked) .lgx-chan__rov--regional,.lgx-chan:has(input[value=direct]:checked) .lgx-chan__rov--direct,.lgx-chan:has(input[value=continuity]:checked) .lgx-chan__rov--continuity{opacity:1;visibility:visible;transition:opacity 320ms linear 170ms,visibility 0s 160ms}
.lgx-weave{margin-top:12px;background:var(--gft-night);color:var(--gft-paper);border-top:3px solid var(--lgx-amber);overflow:clip}
.lgx-weave__in{display:grid;grid-template-columns:minmax(0,1fr) min(33%,460px);min-height:348px}
.lgx-weave__main{--rowh:72px;position:relative;padding:0 0 12px var(--lgx-gut);display:grid;grid-template-rows:46px repeat(4,var(--rowh));overflow-anchor:none}
.lgx-weave__slots,.lgx-weave__wefts,.lgx-strand{display:grid;grid-template-columns:144px repeat(4,minmax(0,1fr))}
.lgx-weave__slots{align-items:center;border-bottom:1px solid #ffffff26}
.lgx-weave__slots>*{text-align:center;font:13px/1.3 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--lgx-amb7)}
.lgx-weave__slots b{font-weight:700}
.lgx-weave__corner{text-align:left!important;color:#c3d6ca!important}
.lgx-flip{display:grid;perspective:600px}
.lgx-flip b{grid-area:1/1;backface-visibility:hidden;transition:transform 600ms var(--lgx-ease),opacity 300ms}
.lgx-flip b:nth-child(2){transform:rotateX(-90deg);opacity:0;color:#f8deb0}
.lgx-weave__wefts{position:absolute;inset:46px 0 12px var(--lgx-gut);pointer-events:none}
.lgx-weave__wefts span{position:relative}
.lgx-weave__wefts i{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#9fd2b44d}
.lgx-strand{position:relative;cursor:pointer;transition:transform 900ms var(--lgx-ease),opacity 500ms}
.lgx-strand__name{display:flex;align-items:baseline;gap:8px;padding-top:14px;font-size:17px;font-weight:800;letter-spacing:-.02em;color:#e2ebe6}
.lgx-strand__name b{font:13px var(--gft-font-mono);color:var(--lgx-amb7)}
.lgx-strand__line{position:absolute;left:144px;right:0;top:24px;height:4px;overflow:clip}
.lgx-strand__glow{position:absolute;inset:0;background:#9fd2b4;opacity:.4}
.lgx-strand__packet{position:absolute;left:0;top:0;bottom:0;width:100%;background:linear-gradient(90deg,transparent 0 2%,#fff3e4 6%,transparent 10%);translate:-12% 0;opacity:0}
.lgx-strand__knot{position:relative;display:flex;flex-direction:column;align-items:center;padding:16px 6px 0;text-align:center}
.lgx-strand__knot i{display:block;width:15px;height:15px;border-radius:50%;border:2px solid #9fd2b4;background:var(--gft-night);opacity:.7;transition:opacity 400ms,background-color 400ms}
.lgx-strand__knot em{font-style:normal;font-size:15px;line-height:1.22;font-weight:650;letter-spacing:-.01em;color:#fff;margin-top:6px;max-width:16ch;opacity:0;visibility:hidden;transition:opacity 160ms linear,visibility 0s 160ms}
/* the chosen strand: ochre, knot values printed, packet running */
.lgx-chan:not(:has(input[name=lgx-channel]:not([value=domestic]):checked)) .lgx-strand--domestic,.lgx-chan:has(input[value=regional]:checked) .lgx-strand--regional,.lgx-chan:has(input[value=direct]:checked) .lgx-strand--direct,.lgx-chan:has(input[value=continuity]:checked) .lgx-strand--continuity{z-index:1}
.lgx-chan:not(:has(input[name=lgx-channel]:not([value=domestic]):checked)) .lgx-strand--domestic .lgx-strand__glow,.lgx-chan:has(input[value=regional]:checked) .lgx-strand--regional .lgx-strand__glow,.lgx-chan:has(input[value=direct]:checked) .lgx-strand--direct .lgx-strand__glow,.lgx-chan:has(input[value=continuity]:checked) .lgx-strand--continuity .lgx-strand__glow{background:var(--lgx-amber);opacity:1}
.lgx-chan:not(:has(input[name=lgx-channel]:not([value=domestic]):checked)) .lgx-strand--domestic .lgx-strand__knot i,.lgx-chan:has(input[value=regional]:checked) .lgx-strand--regional .lgx-strand__knot i,.lgx-chan:has(input[value=direct]:checked) .lgx-strand--direct .lgx-strand__knot i,.lgx-chan:has(input[value=continuity]:checked) .lgx-strand--continuity .lgx-strand__knot i{border-color:var(--lgx-amber);background:var(--lgx-amber);opacity:1}
.lgx-chan:not(:has(input[name=lgx-channel]:not([value=domestic]):checked)) .lgx-strand--domestic .lgx-strand__knot em,.lgx-chan:has(input[value=regional]:checked) .lgx-strand--regional .lgx-strand__knot em,.lgx-chan:has(input[value=direct]:checked) .lgx-strand--direct .lgx-strand__knot em,.lgx-chan:has(input[value=continuity]:checked) .lgx-strand--continuity .lgx-strand__knot em{opacity:1;visibility:visible;transition:opacity 320ms linear calc(170ms + var(--k) * 50ms),visibility 0s 160ms}
.lgx-chan:not(:has(input[name=lgx-channel]:not([value=domestic]):checked)) .lgx-strand--domestic .lgx-strand__name,.lgx-chan:has(input[value=regional]:checked) .lgx-strand--regional .lgx-strand__name,.lgx-chan:has(input[value=direct]:checked) .lgx-strand--direct .lgx-strand__name,.lgx-chan:has(input[value=continuity]:checked) .lgx-strand--continuity .lgx-strand__name{color:#f8deb0}
:root[data-m-go] .lgx-chan:not(:has(input[name=lgx-channel]:not([value=domestic]):checked)) .lgx-strand--domestic .lgx-strand__packet[data-m-on],:root[data-m-go] .lgx-chan:has(input[value=regional]:checked) .lgx-strand--regional .lgx-strand__packet[data-m-on],:root[data-m-go] .lgx-chan:has(input[value=direct]:checked) .lgx-strand--direct .lgx-strand__packet[data-m-on],:root[data-m-go] .lgx-chan:has(input[value=continuity]:checked) .lgx-strand--continuity .lgx-strand__packet[data-m-on]{animation-name:lgx-packet;animation-duration:3.6s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal;animation-play-state:var(--m-play)}
@keyframes lgx-packet{0%{translate:-12% 0;opacity:0}8%{opacity:1}92%{opacity:1}100%{translate:96% 0;opacity:0}}
:root[data-m-go] .lgx-strand__glow[data-m-on]{animation-name:lgx-strandb;animation-duration:5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;animation-play-state:var(--m-play)}
@keyframes lgx-strandb{from{opacity:.25}to{opacity:.5}}
.lgx-chan:not(:has(input[name=lgx-channel]:not([value=domestic]):checked)) .lgx-strand--domestic .lgx-strand__glow,.lgx-chan:has(input[value=regional]:checked) .lgx-strand--regional .lgx-strand__glow,.lgx-chan:has(input[value=direct]:checked) .lgx-strand--direct .lgx-strand__glow,.lgx-chan:has(input[value=continuity]:checked) .lgx-strand--continuity .lgx-strand__glow{animation-name:none}
/* the knot nearest the packet brightens as it passes (same 3.6 s period, a quarter apart) */
:root[data-m-go] .lgx-chan:not(:has(input[name=lgx-channel]:not([value=domestic]):checked)) .lgx-strand--domestic .lgx-strand__knot i[data-m-on],:root[data-m-go] .lgx-chan:has(input[value=regional]:checked) .lgx-strand--regional .lgx-strand__knot i[data-m-on],:root[data-m-go] .lgx-chan:has(input[value=direct]:checked) .lgx-strand--direct .lgx-strand__knot i[data-m-on],:root[data-m-go] .lgx-chan:has(input[value=continuity]:checked) .lgx-strand--continuity .lgx-strand__knot i[data-m-on]{animation-name:lgx-kpulse;animation-duration:3.6s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal;animation-delay:calc(var(--k) * .9s - 3.6s + .45s);animation-play-state:var(--m-play)}
@keyframes lgx-kpulse{0%,30%,100%{scale:1}12%{scale:1.6}}
.lgx-weave__inset{display:grid;padding:16px var(--lgx-gut) 16px 20px;border-left:1px solid #ffffff1f;background:#0a3d3a;align-content:center}
.lgx-inset{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity 160ms linear,visibility 0s 160ms}
.lgx-inset .lgx-kicker{color:var(--lgx-amb7);margin-bottom:6px}
.lgx-inset--domestic{opacity:1;visibility:visible}
.lgx-chan:has(input[name=lgx-channel]:not([value=domestic]):checked) .lgx-inset--domestic{opacity:0;visibility:hidden}
.lgx-chan:has(input[value=regional]:checked) .lgx-inset--regional,.lgx-chan:has(input[value=direct]:checked) .lgx-inset--direct,.lgx-chan:has(input[value=continuity]:checked) .lgx-inset--continuity{opacity:1;visibility:visible;transition:opacity 320ms linear 170ms,visibility 0s 160ms}
.lgx-dia{display:block;width:100%;height:auto;max-height:230px;overflow:visible}
.lgx-dp{fill:none;stroke-width:3;stroke-linecap:round}
.lgx-dp--s{stroke:#7fc79f;stroke-width:4}
.lgx-dp--o{stroke:var(--lgx-amber)}
.lgx-dp--dash{stroke-dasharray:7 8}
.lgx-dc{fill:#f6f4ef}
.lgx-dhub circle:first-child{fill:none;stroke:var(--lgx-amber);stroke-width:2.5}
.lgx-dcore{fill:var(--lgx-amber)}
.lgx-dt{font:700 15px var(--gft-font-mono);letter-spacing:.06em;fill:var(--lgx-amb7)}
.lgx-dt--m{fill:#e2ebe6;font-weight:500;font-size:15px}
.lgx-dgate{stroke:#f6f4ef;stroke-dasharray:4 7;stroke-width:2;fill:none}
.lgx-dbar{fill:#7fc79f}
.lgx-dbar--gap{fill:none;stroke:var(--lgx-amber);stroke-dasharray:5 5;stroke-width:2}
.lgx-dbar--o{fill:var(--lgx-amber)}
.lgx-dtick{stroke:#f6f4ef;stroke-width:2;fill:none}
.lgx-chan:has(input[name=lgx-channel]:checked) .lgx-inset .lgx-dg{animation-name:none}
.lgx-chan__band{position:relative;padding:24px 0 30px;background:linear-gradient(95deg,#093835 0%,#0e4d4a 58%,#072d2b 100%);border-top:1px solid #6bb68f45;overflow:clip;isolation:isolate}
.lgx-chan__bgmap{position:absolute;left:55%;right:var(--lgx-gut);top:-14px;max-width:440px;height:250px;opacity:.14;pointer-events:none;z-index:0;display:grid;overflow:clip}
.lgx-chan__bgmap .lgx-dt{display:none}
.lgx-chan__bgsvg{grid-area:1/1;opacity:0;transition:opacity 300ms}
.lgx-chan__bgsvg--domestic,.lgx-chan:has(input[value=regional]:checked) .lgx-chan__bgsvg--regional,.lgx-chan:has(input[value=direct]:checked) .lgx-chan__bgsvg--direct,.lgx-chan:has(input[value=continuity]:checked) .lgx-chan__bgsvg--continuity{opacity:1}
.lgx-chan:has(input[name=lgx-channel]:not([value=domestic]):checked) .lgx-chan__bgsvg--domestic{opacity:0}
.lgx-chan__band-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,3.5vw,52px);align-items:center}
.lgx-chan__texts,.lgx-chan__evs{display:grid;align-items:start}
.lgx-chtext,.lgx-evidence{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity 160ms linear,visibility 0s 160ms}
.lgx-chtext--domestic,.lgx-evidence--domestic{opacity:1;visibility:visible}
.lgx-chan:has(input[name=lgx-channel]:not([value=domestic]):checked) :is(.lgx-chtext--domestic,.lgx-evidence--domestic){opacity:0;visibility:hidden}
.lgx-chan:has(input[value=regional]:checked) :is(.lgx-chtext--regional,.lgx-evidence--regional),.lgx-chan:has(input[value=direct]:checked) :is(.lgx-chtext--direct,.lgx-evidence--direct),.lgx-chan:has(input[value=continuity]:checked) :is(.lgx-chtext--continuity,.lgx-evidence--continuity){opacity:1;visibility:visible;transition:opacity 320ms linear 170ms,visibility 0s 160ms}
.lgx-chtext .lgx-kicker{color:var(--lgx-amb7);margin-bottom:6px}
.lgx-chtext h3{font-size:clamp(1.65rem,2.2vw,2.3rem);line-height:1.1;max-width:22ch;margin-bottom:10px;color:#fff}
.lgx-chtext p:not(.lgx-kicker){font-size:16px;line-height:1.62;max-width:58ch;color:#e2ebe6}
.lgx-evidence{background:#072d2bf2;border:1px solid #8bb89b66;border-left:5px solid var(--lgx-amber);box-shadow:0 14px 34px #00000045}
.lgx-evidence summary{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 18px;border-bottom:1px solid #ffffff1f;font-weight:700;font-size:15px;color:#f8deb0;cursor:pointer;list-style:none}
.lgx-evidence summary::-webkit-details-marker{display:none}
.lgx-evidence summary::before{content:'+';font:700 22px/1 var(--gft-font-mono);color:var(--lgx-amber);transition:rotate 400ms var(--lgx-out)}
.lgx-evidence[open] summary::before{rotate:45deg}
.lgx-evidence__off{display:none}
.lgx-evidence[open] .lgx-evidence__on{display:none}
.lgx-evidence[open] .lgx-evidence__off{display:inline}
.lgx-evidence__body{position:relative;padding:16px 20px 18px;color:#fff}
.lgx-evidence__body p{font-size:16px;line-height:1.6;max-width:50ch;color:#f6f4ef}
.lgx-evidence__stamp{display:inline-block;font:700 13px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#f8deb0;border:1.5px solid #f8deb0;padding:2px 10px;margin-bottom:10px;rotate:-1.5deg}
/* entrance: pick, the strands are picked in from the shed line one by one */
:root[data-m-go] .lgx-sec--chan:not([data-arr]) .lgx-strand__line{clip-path:inset(0 100% 0 0)}
:root[data-m-go] .lgx-sec--chan:not([data-arr]) :is(.lgx-strand__name,.lgx-weave__slots,.lgx-weave__inset){opacity:.3;translate:0 14px}
:root[data-m-go] .lgx-sec--chan:not([data-arr]) :is(.lgx-chan__ctl,.lgx-chan__band){opacity:.35;translate:0 12px}
:root[data-m-go] .lgx-sec--chan[data-arr] .lgx-strand__line{animation-name:lgx-pick;animation-duration:620ms;animation-delay:calc(140ms + var(--s) * 90ms)}
:root[data-m-go] .lgx-sec--chan[data-arr] .lgx-strand__name{animation-name:lgx-w-rise;animation-duration:520ms;animation-delay:calc(100ms + var(--s) * 90ms)}
:root[data-m-go] .lgx-sec--chan[data-arr] .lgx-weave__slots{animation-name:lgx-w-rise;animation-duration:520ms}
:root[data-m-go] .lgx-sec--chan[data-arr] .lgx-weave__inset{animation-name:lgx-w-rise;animation-duration:620ms;animation-delay:420ms}
:root[data-m-go] .lgx-sec--chan[data-arr] :is(.lgx-chan__ctl,.lgx-chan__band){animation-name:lgx-w-rise;animation-duration:620ms;animation-delay:160ms}
@keyframes lgx-pick{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
/* hand-over 4 -> 5: the four strands close into two lanes; the evidence weft flips to Customer receipt */
:root[data-m-go] .lgx-sec--chan[data-exit] .lgx-strand--domestic{transform:translateY(calc(var(--rowh) * .5))}
:root[data-m-go] .lgx-sec--chan[data-exit] .lgx-strand--regional{transform:translateY(calc(var(--rowh) * -.5))}
:root[data-m-go] .lgx-sec--chan[data-exit] .lgx-strand--direct{transform:translateY(calc(var(--rowh) * .5))}
:root[data-m-go] .lgx-sec--chan[data-exit] .lgx-strand--continuity{transform:translateY(calc(var(--rowh) * -.5))}
:root[data-m-go] .lgx-sec--chan[data-exit] .lgx-strand__knot em{opacity:0;transition:opacity 200ms}
:root[data-m-go] .lgx-sec--chan[data-exit] :is(.lgx-strand--regional,.lgx-strand--continuity) .lgx-strand__name{opacity:0}
.lgx-strand__name{transition:opacity 300ms}
:root[data-m-go] .lgx-sec--chan[data-exit] .lgx-flip b:nth-child(1){transform:rotateX(90deg);opacity:0}
:root[data-m-go] .lgx-sec--chan[data-exit] .lgx-flip b:nth-child(2){transform:rotateX(0deg);opacity:1}

/* #5 compare: rail left 34 %, operable source switch + stage scrubber + lanes right 66 % on sage ------------------- */
.lgx-sec--cmp{color:#162e26;padding-block:52px 58px;overflow-x:clip;isolation:isolate}
.lgx-weftbg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:clip}
.lgx-weftbg i{position:absolute;left:-30%;width:160%;height:2px;background:linear-gradient(90deg,transparent,#3f8f6b 40%,#c98a2b 60%,transparent);opacity:.4;overflow-anchor:none}
.lgx-weftbg i:nth-child(1){top:18%}.lgx-weftbg i:nth-child(2){top:56%}.lgx-weftbg i:nth-child(3){top:86%}
:root[data-m-go] .lgx-weftbg i[data-m-on]{animation-name:lgx-weft;animation-duration:11s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;animation-play-state:var(--m-play)}
:root[data-m-go] .lgx-weftbg i[data-m-on]:nth-child(2){animation-duration:14s}
:root[data-m-go] .lgx-weftbg i[data-m-on]:nth-child(3){animation-duration:17s}
@keyframes lgx-weft{from{translate:-12% 0}to{translate:12% 0}}
.lgx-cmp{--st:0;display:grid;grid-template-columns:minmax(0,34fr) minmax(0,66fr);gap:clamp(28px,3.6vw,52px);align-items:start}
.lgx-cmp[data-stage="1"]{--st:1}.lgx-cmp[data-stage="2"]{--st:2}
.lgx-cmp__rail .lgx-eye{color:#164a33}
.lgx-cmp__rail .lgx-h{font-size:clamp(2.1rem,3.2vw,3.5rem);margin-bottom:16px;color:#072d2b}
.lgx-cmp__rail .lgx-lede{font-size:17px;color:#162e26}
.lgx-source--rail{color:#162e26}
.lgx-cmp__vis{min-width:0}
.lgx-cmp__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:12px;padding:10px 14px;background:#072d2b;color:#f6f4ef;border-top:3px solid var(--lgx-amber)}
.lgx-cmp__src{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.lgx-cmp__src .lgx-cap{margin:0;color:var(--lgx-amb7)}
.lgx-cmp__srcbtns{display:flex;flex-wrap:wrap;gap:6px}
.lgx-srcbtn{min-height:44px;padding:6px 14px;border:1.5px solid #8bb89b80;background:#0e4d4a;color:#e2ebe6;font:700 13px var(--gft-font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background-color 250ms,color 250ms,border-color 250ms}
.lgx-srcbtn.is-on{background:var(--lgx-amber);border-color:var(--lgx-amber);color:var(--gft-night)}
.lgx-srcbtn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.lgx-cmp__live{margin:0;font:700 13px/1.4 var(--gft-font-mono);letter-spacing:.04em;color:#f8deb0}
.lgx-cmp__heads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.lgx-cmp__head{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:58px;padding:8px 14px;background:#fff;border:2px solid var(--gft-forest);border-bottom:4px solid var(--gft-forest);text-align:left;font-size:clamp(1rem,1.3vw,1.25rem);font-weight:800;letter-spacing:-.02em;color:var(--gft-forest);cursor:pointer;transition:background-color 250ms,color 250ms,border-color 250ms}
.lgx-cmp__head b{font:700 13px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#7a4f0a}
.lgx-cmp__head[aria-pressed="true"]{background:var(--gft-forest);color:#fff;border-bottom-color:var(--lgx-amber)}
.lgx-cmp__head[aria-pressed="true"] b{color:#f8deb0}
.lgx-cmp__lanes{position:relative;padding:12px 0 18px}
.lgx-lane{position:relative;padding:12px 14px 14px;margin-bottom:10px;background:#ffffffb8;border:1px solid #0e4d4a38;transition:opacity 300ms}
.lgx-cmp[data-src="r03"] .lgx-lane--b,.lgx-cmp[data-src="r06"] .lgx-lane--a{opacity:.32}
.lgx-cmp[data-src="r03"] .lgx-ro__t--r06,.lgx-cmp[data-src="r06"] .lgx-ro__t--r03{opacity:.4}
.lgx-lane__id{display:flex;gap:12px;align-items:baseline;font:700 14px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#162e26;margin:0 0 8px}
.lgx-lane__id b{font:800 22px var(--gft-font-display);letter-spacing:-.01em;color:var(--lgx-lc)}
.lgx-lane--a{--lgx-lc:#16543a}.lgx-lane--b{--lgx-lc:#1e2d5e}
.lgx-lane__track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lgx-lane__seg{position:relative;display:block;height:62px;padding:30px 10px 0;background:#f6f4ef99;border:1px solid #0e4d4a24}
.lgx-lane__seg i{position:absolute;left:0;right:0;top:0;height:20px;background:var(--lgx-lc)}
.lgx-lane__seg--off i{height:0;border-top:6px dashed var(--lgx-lc);top:8px;opacity:.85;background:none}
.lgx-lane__seg--gap i{right:auto;width:28px;height:20px;background:repeating-linear-gradient(90deg,var(--lgx-lc) 0 5px,transparent 5px 10px);opacity:.85}
.lgx-lane__seg--gap em{visibility:hidden}
.lgx-lane__seg em{font:700 14px var(--gft-font-mono);font-style:normal;letter-spacing:.05em;text-transform:uppercase;color:#162e26}
.lgx-lane__seg--on em{color:var(--lgx-lc);font-weight:800}
.lgx-break{position:absolute;left:calc(200% / 3 + 12px);right:6px;top:10px;bottom:16px;border:2px dashed #6e4506;background:#f8deb040;border-radius:4px;overflow:clip;display:flex;align-items:flex-end;padding:8px 10px}
.lgx-break i{position:absolute;left:-40%;right:-40%;top:50%;height:2px;background:repeating-linear-gradient(90deg,#6e4506 0 8px,transparent 8px 18px);opacity:.65}
:root[data-m-go] .lgx-break i[data-m-on]{animation-name:lgx-crawl;animation-duration:2.6s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal;animation-play-state:var(--m-play)}
@keyframes lgx-crawl{to{translate:36px 0}}
.lgx-break b{position:relative;font:700 13px/1.3 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#5c3804;background:#fff;padding:3px 6px;border:1px solid #6e450666}
.lgx-rline{position:absolute;left:0;top:-12px;bottom:8px;width:100%;pointer-events:none;translate:calc((var(--st) + .5) * 100% / 3) 0;transition:translate 700ms var(--lgx-ease);overflow-anchor:none}
.lgx-rline i{position:absolute;left:-1px;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#6e4506 0 24px,transparent 24px 70px,#6e4506 70px 92px,transparent 92px 204px,#6e4506 204px 226px,transparent 226px 100%)}
.lgx-rline b{position:absolute;left:-9px;top:-6px;width:18px;height:18px;border-radius:50%;background:var(--gft-ochre);border:3px solid #072d2b}
.lgx-cmp[data-follow] .lgx-rline{transition:none;translate:var(--fx) 0}
.lgx-cmp__under{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:18px;align-items:stretch}
.lgx-cmp__card{display:grid;align-content:start;min-height:220px;padding:16px 20px;background:#fff;border:2px solid var(--gft-forest);border-top:5px solid var(--gft-ochre)}
.lgx-ro{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity 150ms linear,visibility 0s 150ms}
.lgx-ro.is-cur{opacity:1;visibility:visible;transition:opacity 300ms linear 160ms,visibility 0s 150ms}
.lgx-ro__h{font:800 22px/1.2 var(--gft-font-display);letter-spacing:-.02em;color:var(--gft-forest)}
.lgx-ro__lv{font:700 13px/1.5 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;margin:4px 0 8px;color:#162e26}
.lgx-ro__a{color:#16543a}.lgx-ro__b{color:#1e2d5e}
.lgx-ro__t{font-size:16px;line-height:1.5;margin-top:6px;max-width:62ch;color:#162e26;transition:opacity 250ms}
.lgx-ro__t b{font:700 13px var(--gft-font-mono);margin-right:6px;color:#6e4506}
.lgx-ro__chip{grid-row:2;justify-self:start;margin-top:10px;padding:5px 12px;background:var(--gft-night);color:#fff;font:700 13px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase}
.lgx-cmp__cap{position:relative;padding:14px 16px;border:1px solid #0e4d4a38;border-left:5px solid #6e4506;background:#fff}
.lgx-cmp__cap::before{content:'';position:absolute;left:-5px;top:-18px;width:5px;height:18px;background:#6e4506}
.lgx-cmp__cap p{font-size:15px;line-height:1.52;color:#162e26}
.lgx-cmp__cap .lgx-source{margin-top:10px;color:#162e26}
.lgx-cmp__range{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 18px;align-items:center;margin-top:12px;padding:8px 14px;background:#ffffffb8;border:1px solid #0e4d4a38}
.lgx-cmp__range .lgx-cap{margin:0;color:#162e26;font-weight:700}
.lgx-cmp__range input{width:100%;height:44px;margin:0;accent-color:var(--gft-forest);cursor:pointer}
.lgx-cmp__ends{grid-column:2;display:flex;justify-content:space-between;font:700 13px var(--gft-font-mono);color:#162e26}
.lgx-diff{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* entrance: comb, lanes combed in from the left, columns 60 ms apart */
:root[data-m-go] .lgx-sec--cmp:not([data-arr]) .lgx-lane__seg{clip-path:inset(0 100% 0 0)}
:root[data-m-go] .lgx-sec--cmp:not([data-arr]) :is(.lgx-cmp__heads,.lgx-lane__id){opacity:.3;translate:0 -12px}
:root[data-m-go] .lgx-sec--cmp:not([data-arr]) :is(.lgx-cmp__under,.lgx-cmp__range,.lgx-source--rail){opacity:.35;translate:0 14px}
:root[data-m-go] .lgx-sec--cmp[data-arr] .lgx-lane__seg{animation-name:lgx-pick;animation-duration:560ms;animation-delay:calc(120ms + var(--c) * 60ms)}
:root[data-m-go] .lgx-sec--cmp[data-arr] .lgx-lane--b .lgx-lane__seg{animation-delay:calc(200ms + var(--c) * 60ms)}
:root[data-m-go] .lgx-sec--cmp[data-arr] :is(.lgx-cmp__heads,.lgx-lane__id){animation-name:lgx-comb;animation-duration:560ms}
:root[data-m-go] .lgx-sec--cmp[data-arr] :is(.lgx-cmp__under,.lgx-cmp__range,.lgx-source--rail){animation-name:lgx-w-rise;animation-duration:620ms;animation-delay:300ms}
@keyframes lgx-comb{from{opacity:.3;translate:0 -12px}}
/* hand-over 5 -> 6: the reading line runs to the break before Customer receipt */
:root[data-m-go] .lgx-sec--cmp[data-exit] .lgx-cmp:not([data-user]) .lgx-rline{translate:calc(200% / 3 + 14px) 0}
:root[data-m-go] .lgx-sec--cmp[data-exit] .lgx-break{border-color:#c98a2b;background:#c98a2b24;transition:background-color 500ms,border-color 500ms}

/* #6 boundary interlude: the night opens as an iris from the lanes' broken end ---------------------------------------- */
.lgx-sec--bound{background:var(--gft-night);color:var(--gft-paper);padding-block:clamp(76px,9svh,116px) 52px;overflow:clip;isolation:isolate}
.lgx-irisbg{position:absolute;inset:0;z-index:-2;background:#e2ebe6;opacity:0;pointer-events:none}
:root[data-m-go] .lgx-sec--bound:not([data-arr]) .lgx-irisbg{opacity:1}
:root[data-m-go] .lgx-sec--bound[data-arr] .lgx-irisbg{animation-name:lgx-hold;animation-duration:900ms;animation-timing-function:linear;animation-iteration-count:1;animation-direction:normal}
@keyframes lgx-hold{from{opacity:1}to{opacity:1}}
.lgx-iris{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 70% 30%,#0b3b38 0%,#072d2b 60%);pointer-events:none}
:root[data-m-go] .lgx-sec--bound:not([data-arr]) .lgx-iris{clip-path:circle(0% at 78% 0%)}
:root[data-m-go] .lgx-sec--bound[data-arr] .lgx-iris{animation-name:lgx-iris;animation-duration:880ms;animation-timing-function:var(--lgx-ease)}
@keyframes lgx-iris{from{clip-path:circle(0% at 78% 0%)}to{clip-path:circle(150% at 78% 0%)}}
.lgx-field{position:absolute;inset:0;overflow:clip;opacity:.6}
.lgx-field__layer{position:absolute;inset:-6% 0}
.lgx-field svg{width:100%;height:100%}
.lgx-field__shuttle{position:absolute;left:12%;top:44%;width:56px;height:3px;background:var(--gft-ochre)}
.lgx-sec--bound.is-inst .lgx-field__shuttle{animation-play-state:paused!important}
.lgx-bound__s1{min-height:max(380px,56svh);display:flex;flex-direction:column;justify-content:flex-start}
.lgx-bound__s1 .lgx-eye{color:var(--lgx-sage7)}
.lgx-bound__h2{font-size:clamp(1.6rem,2.3vw,2.4rem);font-weight:750;letter-spacing:-.02em;line-height:1.2;color:#cfeedd;max-width:30ch}
.lgx-statement{font:italic clamp(56px,7vw,120px)/1.04 var(--gft-font-serif);letter-spacing:-.04em;max-width:13ch;margin-top:26px;color:#fff}
.lgx-bnd{display:grid;gap:26px}
.lgx-bnd__ctl{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:8px 44px;align-items:end}
.lgx-bnd__ctl .lgx-cap{grid-column:1;color:var(--lgx-amb7)}
.lgx-bnd__ctl .lgx-seg{grid-column:1}
.lgx-bnd__ro{grid-column:2;grid-row:1/3;display:grid;max-width:none;align-self:end}
.lgx-bnd__rov{grid-area:1/1;font:800 clamp(22px,1.9vw,28px)/1.25 var(--gft-font-display);letter-spacing:-.02em;color:#f8deb0;opacity:0;visibility:hidden;transition:opacity 160ms linear,visibility 0s 160ms}
.lgx-bnd__rov--fibre,.lgx-bnd:has(input[value=yarn]:checked) .lgx-bnd__rov--yarn,.lgx-bnd:has(input[value=fabric]:checked) .lgx-bnd__rov--fabric{opacity:1;visibility:visible;transition:opacity 320ms linear 170ms,visibility 0s 160ms}
.lgx-bnd:has(input[name=lgx-form]:not([value=fibre]):checked) .lgx-bnd__rov--fibre{opacity:0;visibility:hidden;transition:opacity 160ms linear,visibility 0s 160ms}
.lgx-chain{--f:0;position:relative;width:90%;margin-inline:auto;padding:70px 0 10px}
.lgx-bnd:has(input[value=yarn]:checked) .lgx-chain{--f:1}
.lgx-bnd:has(input[value=fabric]:checked) .lgx-chain{--f:2}
.lgx-chain__track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.lgx-chain__seg{position:relative;padding:44px 18px 0 0;min-width:0;--rc:#9fd2b4;transition:transform 900ms var(--lgx-ease),opacity 600ms}
.lgx-chain__line{position:absolute;left:0;right:0;top:-3px;height:14px;overflow:clip}
.lgx-chain__line i{position:absolute;inset:0 -40px 0 0;background:var(--rc);transition:background-color 400ms}
.lgx-chain__seg[data-rc=p] .lgx-chain__line i{background:repeating-linear-gradient(90deg,var(--lgx-amber) 0 14px,transparent 14px 24px)}
.lgx-chain__knot{position:absolute;left:-22px;top:-18px;width:44px;height:44px;border-radius:50%;border:0;background:transparent;padding:0;display:grid;place-items:center;cursor:pointer;z-index:2}
.lgx-chain__knot::before{content:'';width:26px;height:26px;border-radius:50%;background:var(--gft-night);border:3px solid var(--rc);transition:border-color 400ms}
.lgx-chain__knot i{position:absolute;inset:6px;border-radius:50%;border:2px solid var(--rc);opacity:.6}
.lgx-chain__st{display:block;font-size:clamp(1.3rem,2.1vw,2.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;color:#fff}
.lgx-chain__roles{display:grid;margin-top:8px}
.lgx-chain__role{grid-area:1/1;font:700 14px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--rc);opacity:0;transition:opacity 200ms}
.lgx-chain__role--0{opacity:1}
.lgx-bnd:has(input[name=lgx-form]:not([value=fibre]):checked) .lgx-chain__role--0{opacity:0}
.lgx-bnd:has(input[value=yarn]:checked) .lgx-chain__role--1,.lgx-bnd:has(input[value=fabric]:checked) .lgx-chain__role--2{opacity:1;transition:opacity 300ms 160ms}
/* role colours: Supplier sage solid, Partnered step ochre dashed, Base concept ochre solid */
.lgx-chain__seg[data-r0=p]{--rc:var(--lgx-amb7)}.lgx-chain__seg[data-r0=f]{--rc:var(--lgx-amber)}
.lgx-bnd:has(input[value=yarn]:checked) .lgx-chain__seg[data-r1=s],.lgx-bnd:has(input[value=fabric]:checked) .lgx-chain__seg[data-r2=s]{--rc:#9fd2b4}
.lgx-bnd:has(input[value=yarn]:checked) .lgx-chain__seg[data-r1=p],.lgx-bnd:has(input[value=fabric]:checked) .lgx-chain__seg[data-r2=p]{--rc:var(--lgx-amb7)}
.lgx-chain__seg[data-r0=p] .lgx-chain__line i{background:repeating-linear-gradient(90deg,var(--lgx-amber) 0 14px,transparent 14px 24px)}
.lgx-bnd:has(input[name=lgx-form]:not([value=fibre]):checked) .lgx-chain__seg[data-r0=p] .lgx-chain__line i{background:var(--rc)}
.lgx-bnd:has(input[value=yarn]:checked) .lgx-chain__seg[data-r1=p] .lgx-chain__line i,.lgx-bnd:has(input[value=fabric]:checked) .lgx-chain__seg[data-r2=p] .lgx-chain__line i{background:repeating-linear-gradient(90deg,var(--lgx-amber) 0 14px,transparent 14px 24px)}
:root[data-m-go] .lgx-chain__track[data-m-on] .lgx-chain__line i{animation-name:lgx-dash;animation-duration:1.6s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal;animation-play-state:var(--m-play)}
@keyframes lgx-dash{to{translate:24px 0}}
.lgx-bmark{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;translate:calc(var(--f) * 25%) 0;transition:translate 760ms var(--lgx-ease)}
.lgx-bmark__pin{position:absolute;left:25%;top:6px;bottom:6px;display:block}
.lgx-bmark__pin i{position:absolute;left:-2px;top:0;bottom:0;width:4px;background:var(--lgx-amber)}
.lgx-bmark__pin i::after{content:'';position:absolute;left:-7px;top:46px;width:18px;height:18px;border-radius:50%;background:var(--lgx-amber);box-shadow:0 0 0 6px #e0a64e33}
.lgx-bmark__t{position:absolute;right:12px;top:4px;text-decoration:none;font:700 14px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--lgx-amb7);white-space:nowrap;opacity:0;transition:opacity 160ms}
.lgx-bmark__t--fibre{opacity:1;right:auto;left:12px}
.lgx-bnd:has(input[name=lgx-form]:not([value=fibre]):checked) .lgx-bmark__t--fibre{opacity:0}
.lgx-bnd:has(input[value=yarn]:checked) .lgx-bmark__t--yarn,.lgx-bnd:has(input[value=fabric]:checked) .lgx-bmark__t--fabric{opacity:1;transition:opacity 300ms 400ms}
.lgx-bnd__read{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,64px);align-items:start;margin-top:8px}
.lgx-bnd__stack{display:grid}
.lgx-bst{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity 160ms linear,visibility 0s 160ms}
.lgx-bst--fibre,.lgx-bnd:has(input[value=yarn]:checked) .lgx-bst--yarn,.lgx-bnd:has(input[value=fabric]:checked) .lgx-bst--fabric{opacity:1;visibility:visible;transition:opacity 320ms linear 170ms,visibility 0s 160ms}
.lgx-bnd:has(input[name=lgx-form]:not([value=fibre]):checked) .lgx-bst--fibre{opacity:0;visibility:hidden;transition:opacity 160ms linear,visibility 0s 160ms}
.lgx-bst h3{font-size:clamp(1.6rem,2.3vw,2.4rem);line-height:1.12;max-width:24ch;color:#fff}
.lgx-bst p{font-size:17px;line-height:1.65;color:#e2ebe6;max-width:60ch;margin-top:12px}
.lgx-bnd__more{border-left:3px solid var(--gft-ochre);padding:2px 0 2px clamp(18px,2.2vw,30px)}
.lgx-bnd__more .lgx-kicker{color:var(--lgx-amb7)}
.lgx-bnd__more p:not(.lgx-kicker){margin-top:8px}
.lgx-bnd .lgx-source{color:#e2ebe6}
.lgx-capline{font:13px/1.6 var(--gft-font-mono);color:#c3d6ca;max-width:none}
/* entrance: satin-float, the field and the chain float up; statement drops word by word */
:root[data-m-go] .lgx-sec--bound:not([data-arr]) :is(.lgx-bnd__ctl,.lgx-chain__track,.lgx-bmark,.lgx-bnd__read){opacity:.3;translate:0 28px}
:root[data-m-go] .lgx-sec--bound[data-arr] :is(.lgx-bnd__ctl,.lgx-chain__track,.lgx-bmark,.lgx-bnd__read){animation-name:lgx-float;animation-duration:820ms;animation-delay:200ms}
:root[data-m-go] .lgx-sec--bound[data-arr] .lgx-chain__track{animation-delay:300ms}
:root[data-m-go] .lgx-sec--bound[data-arr] .lgx-bmark{animation-name:lgx-float2;animation-delay:420ms}
@keyframes lgx-float{from{opacity:.3;translate:0 28px}}
@keyframes lgx-float2{from{opacity:0;translate:0 28px}}
/* hand-over 6 -> 7: the four segments coil toward the ring's quadrants and fade (the ring winds in below) */
:root[data-m-go] .lgx-sec--bound[data-exit] .lgx-chain__seg{opacity:0}
:root[data-m-go] .lgx-sec--bound[data-exit] .lgx-chain__seg:nth-child(1){transform:translate(14%,120px) rotate(-38deg)}
:root[data-m-go] .lgx-sec--bound[data-exit] .lgx-chain__seg:nth-child(2){transform:translate(-10%,140px) rotate(48deg)}
:root[data-m-go] .lgx-sec--bound[data-exit] .lgx-chain__seg:nth-child(3){transform:translate(-30%,170px) rotate(130deg)}
:root[data-m-go] .lgx-sec--bound[data-exit] .lgx-chain__seg:nth-child(4){transform:translate(-56%,150px) rotate(-130deg)}

/* #7 dispatch docket on deep forest ------------------------------------------------------------------------------- */
.lgx-sec--disp{background:var(--gft-forest);color:var(--gft-paper);padding-block:clamp(40px,4.5vw,64px)}
.lgx-disp__head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:end;margin-bottom:20px}
.lgx-disp__head .lgx-eye{color:#e2ebe6;margin-bottom:10px}
.lgx-disp__head .lgx-h{font-size:clamp(2.1rem,3.4vw,3.4rem)}
.lgx-disp__head .lgx-lede{color:#e2ebe6;font-size:17px;line-height:1.55}
.lgx-docket{--n:1;display:grid;grid-template-columns:minmax(300px,38fr) minmax(0,62fr);gap:16px clamp(24px,3vw,44px);padding:20px clamp(20px,2.4vw,34px);background:#0a3d3a;border:1px solid #9fd2b433;border-top:3px solid var(--lgx-amber);box-shadow:0 20px 48px #03151466}
.lgx-docket__top{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;padding-bottom:10px;border-bottom:1px solid #ffffff1f}
.lgx-docket__cap{color:#f8deb0;margin:0}
.lgx-docket__foot{font:13px/1.5 var(--gft-font-mono);color:#e2ebe6;margin:0;max-width:none}
.lgx-docket__left{display:grid;gap:14px;align-content:space-between}
.lgx-docket__right{display:grid;gap:12px;align-content:space-between}
.lgx-docket__ring{position:relative;width:min(100%,236px);aspect-ratio:1;justify-self:center;align-self:center}
.lgx-docket__ring svg{width:100%;height:100%;rotate:-90deg}
.lgx-ring__base{fill:none;stroke:#ffffff1f;stroke-width:22}
.lgx-ring__inner{fill:none;stroke:#ffffff33;stroke-width:1.5;stroke-dasharray:3 6}
.lgx-arc__dim{fill:none;stroke:#9fd2b4;stroke-width:20;stroke-linecap:butt;opacity:.55}
.lgx-arc{fill:none;stroke:var(--lgx-amber);stroke-width:24;stroke-linecap:butt;opacity:0;transition:opacity 420ms var(--lgx-out)}
.lgx-docket:has(.lgx-chk--0 input:checked) .lgx-arc--0,.lgx-docket:has(.lgx-chk--1 input:checked) .lgx-arc--1,.lgx-docket:has(.lgx-chk--2 input:checked) .lgx-arc--2,.lgx-docket:has(.lgx-chk--3 input:checked) .lgx-arc--3{opacity:1}
.lgx-ring__c{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.lgx-ring__c b{display:block;font:850 56px/1 var(--gft-font-display);letter-spacing:-.05em;color:#fff}
.lgx-ring__c span{font:700 13px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#f8deb0;margin-top:6px}
.lgx-ring__stamp{position:absolute;right:-6%;top:4%;padding:6px 10px;border:2px solid #f8deb0;background:#072d2be6;color:#f8deb0;font:700 13px/1.35 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;rotate:8deg;opacity:0;scale:1.4;transition:opacity 300ms,scale 400ms var(--lgx-out)}
.lgx-docket[data-n="4"] .lgx-ring__stamp{opacity:1;scale:1}
.lgx-docket__checks{display:grid;gap:8px;align-content:start}
.lgx-chk{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start;padding:10px 14px;border:1px solid #ffffff2e;background:#072d2b99;cursor:pointer;transition:background-color 300ms,border-color 300ms}
.lgx-chk:hover{border-color:#f8deb080;background:#072d2bcc}
.lgx-chk:has(input:checked){background:#e0a64e24;border-color:var(--lgx-amber)}
.lgx-chk:has(input:focus-visible){outline:3px solid #f8deb0;outline-offset:2px}
.lgx-chk__box{position:relative;width:30px;height:30px;margin-top:2px;border:2px solid #e2ebe6;background:#072d2b;display:grid;place-items:center}
.lgx-chk__box::after{content:'';width:10px;height:18px;border:solid var(--gft-night);border-width:0 3.5px 3.5px 0;rotate:45deg;translate:0 -2px;opacity:0;scale:.4;transition:opacity 200ms,scale 300ms var(--lgx-out)}
.lgx-chk:has(input:checked) .lgx-chk__box{background:var(--lgx-amber);border-color:var(--lgx-amber)}
.lgx-chk:has(input:checked) .lgx-chk__box::after{opacity:1;scale:1}
.lgx-chk__box i{position:absolute;inset:-6px;border:2px solid #f8deb0;border-radius:2px;opacity:0}
.lgx-chk.is-next .lgx-chk__box i{opacity:1}
.lgx-chk__txt b{display:block;font-size:18px;line-height:1.25;font-weight:750;color:#fff}
.lgx-chk__txt em{display:block;font-style:normal;font-size:15px;line-height:1.45;color:#e2ebe6;margin-top:2px}
.lgx-chk__carry{font:13px/1.45 var(--gft-font-mono)!important;letter-spacing:.04em;color:#f8deb0!important;margin-top:4px!important}
.lgx-docket__band{position:relative;display:grid;min-height:74px;border:2px solid #f8deb0;background:#072d2b;overflow:clip;isolation:isolate}
.lgx-band2__fill{position:absolute;inset:0;z-index:-1;background:#e0a64e;clip-path:inset(0 calc(100% - var(--n) * 25%) 0 0);transition:clip-path 700ms var(--lgx-ease)}
.lgx-band2__t{grid-area:1/1;display:flex;align-items:center;gap:18px;padding:10px 18px;max-width:none;transition:opacity 300ms}
.lgx-band2__t b{font:850 clamp(1.5rem,2.2vw,2.1rem)/1 var(--gft-font-display);letter-spacing:-.04em;text-transform:uppercase;padding:5px 12px;border:3px solid currentColor;rotate:-2deg;flex:0 0 auto}
.lgx-band2__t span{font-size:16px;line-height:1.45;max-width:68ch;padding:2px 8px}
.lgx-band2__t--hold{color:#fff}
.lgx-band2__t--ready{color:var(--gft-night);opacity:0}
.lgx-docket[data-n="4"] .lgx-band2__t--hold{opacity:0}
.lgx-docket[data-n="4"] .lgx-band2__t--ready{opacity:1}
.lgx-docket:not([data-n="0"]):not([data-n="4"]) .lgx-band2__t--hold span{background:#072d2be6}
.lgx-docket:not([data-n="0"]):not([data-n="4"]) .lgx-band2__t--hold b{background:#072d2be6}
.lgx-docket__sum{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lgx-sumc{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:2px 10px;align-items:center;padding:8px 10px;border:1px solid #ffffff2e;background:#072d2b80;min-height:68px}
.lgx-sumc svg{grid-row:1/3;width:32px;height:32px;fill:none;stroke:#9fd2b4;stroke-width:3}
.lgx-sumc svg circle:last-child{fill:#9fd2b4;stroke:none}
.lgx-sumc__k{font:13px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#f8deb0}
.lgx-sumc b{grid-column:1/-1;font-size:15px;line-height:1.25;font-weight:700;color:#fff}
.lgx-sumc__s{grid-column:1/-1;display:grid;font:700 13px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase}
.lgx-sumc__open,.lgx-sumc__ok{grid-area:1/1;transition:opacity 250ms}
.lgx-sumc__open{color:#e2ebe6}
.lgx-sumc__ok{color:#f8deb0;opacity:0}
.lgx-docket:has(.lgx-chk--0 input:checked) .lgx-sumc--0,.lgx-docket:has(.lgx-chk--1 input:checked) .lgx-sumc--1,.lgx-docket:has(.lgx-chk--2 input:checked) .lgx-sumc--2,.lgx-docket:has(.lgx-chk--3 input:checked) .lgx-sumc--3{border-color:var(--lgx-amber);background:#e0a64e1f}
.lgx-docket:has(.lgx-chk--0 input:checked) .lgx-sumc--0 .lgx-sumc__ok,.lgx-docket:has(.lgx-chk--1 input:checked) .lgx-sumc--1 .lgx-sumc__ok,.lgx-docket:has(.lgx-chk--2 input:checked) .lgx-sumc--2 .lgx-sumc__ok,.lgx-docket:has(.lgx-chk--3 input:checked) .lgx-sumc--3 .lgx-sumc__ok{opacity:1}
.lgx-docket:has(.lgx-chk--0 input:checked) .lgx-sumc--0 .lgx-sumc__open,.lgx-docket:has(.lgx-chk--1 input:checked) .lgx-sumc--1 .lgx-sumc__open,.lgx-docket:has(.lgx-chk--2 input:checked) .lgx-sumc--2 .lgx-sumc__open,.lgx-docket:has(.lgx-chk--3 input:checked) .lgx-sumc--3 .lgx-sumc__open{opacity:0}
.lgx-sumc.is-stamp{animation-name:lgx-stamp;animation-duration:420ms;animation-timing-function:var(--lgx-out);animation-iteration-count:1;animation-direction:normal;animation-fill-mode:backwards}
@keyframes lgx-stamp{from{transform:scale(1.08);opacity:.6}}
/* entrance: wind, the ring winds on clockwise, then the checks follow */
:root[data-m-go] .lgx-sec--disp:not([data-arr]) .lgx-docket__ring svg{opacity:.3;transform:rotate(-120deg) scale(.86)}
:root[data-m-go] .lgx-sec--disp:not([data-arr]) .lgx-ring__c{opacity:.3}
:root[data-m-go] .lgx-sec--disp:not([data-arr]) .lgx-chk{opacity:.3;translate:40px 0}
:root[data-m-go] .lgx-sec--disp:not([data-arr]) :is(.lgx-docket__band,.lgx-docket__sum){opacity:.35;translate:0 14px}
:root[data-m-go] .lgx-sec--disp[data-arr] .lgx-docket__ring svg{animation-name:lgx-wind;animation-duration:880ms}
:root[data-m-go] .lgx-sec--disp[data-arr] .lgx-ring__c{animation-name:lgx-fadein2;animation-duration:500ms;animation-delay:320ms}
:root[data-m-go] .lgx-sec--disp[data-arr] .lgx-chk{animation-name:lgx-from-right2;animation-duration:600ms}
:root[data-m-go] .lgx-sec--disp[data-arr] .lgx-chk--1{animation-delay:70ms}
:root[data-m-go] .lgx-sec--disp[data-arr] .lgx-chk--2{animation-delay:140ms}
:root[data-m-go] .lgx-sec--disp[data-arr] .lgx-chk--3{animation-delay:210ms}
:root[data-m-go] .lgx-sec--disp[data-arr] :is(.lgx-docket__band,.lgx-docket__sum){animation-name:lgx-w-rise;animation-duration:600ms;animation-delay:260ms}
@keyframes lgx-wind{from{opacity:.3;transform:rotate(-120deg) scale(.86)}}
@keyframes lgx-fadein2{from{opacity:.3}}
@keyframes lgx-from-right2{from{opacity:.3;translate:40px 0}}
/* hand-over 7 -> 8: the ring turns a quarter and drops toward the closing map's factory knot */
.lgx-docket__ring{transition:transform 900ms var(--lgx-ease),opacity 700ms}
:root[data-m-go] .lgx-sec--disp[data-exit] .lgx-docket__ring{transform:translate(10%,22%) rotate(90deg) scale(.72);opacity:.55}

/* #8 closing: the whole thread on the map, an overlay panel, one door, stations on the exit leg ---------------------- */
.lgx-sec--close{background:var(--gft-night);color:var(--gft-paper);overflow:clip;isolation:isolate}
.lgx-close{position:relative;display:grid}
.lgx-close::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#b4d4c50d 1px,transparent 1px),linear-gradient(90deg,#b4d4c50d 1px,transparent 1px);background-size:56px 56px}
.lgx-close__stage{--fw:min(620px,calc(100vw - var(--lgx-gut) * 2 - 680px));--fh:calc(var(--fw) / 1.463);--fx:calc(var(--lgx-gut) + min(380px,28vw) + 18px);--fy:78px;position:relative;min-height:730px;padding-block:28px 34px}
.lgx-close__map{position:absolute;left:var(--fx);top:var(--fy);width:var(--fw);height:var(--fh)}
.lgx-close__map .lgx-map{width:100%;height:100%}
.lgx-map--close :is(.lgx-r--trims,.lgx-r--north-out,.lgx-lab--trims,.lgx-lab--edge){display:none}
.lgx-map--close .lgx-ov{opacity:0}
.lgx-close[data-light=sites] .lgx-ov--sites,.lgx-close[data-light=buffer] .lgx-ov--buffer,.lgx-close[data-light=trace] .lgx-ov--trace{opacity:1}
.lgx-close:not([data-light]) .lgx-ov--trace{opacity:1}
.lgx-exit__under{stroke:#e0a64e33;stroke-width:12}
.lgx-exit__line{stroke:var(--lgx-amber);stroke-width:4;stroke-dasharray:10 8}
.lgx-tok--end{transition:opacity 300ms}
.lgx-map--ledger .lgx-tag--fac{display:none}
.lgx-close__state{position:absolute;left:calc((650 - 70) / 790 * 100% - 100px);top:calc((505 - 30) / 540 * 100% + 16px);white-space:nowrap;padding:4px 10px;background:#072d2bf2;border:1px solid #f8deb066;font:700 13px/1.3 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#f8deb0}
.lgx-close[data-release] .lgx-close__state{color:#9fd2b4;border-color:#9fd2b480}
.lgx-close__left{position:relative;margin-left:var(--lgx-gut);width:min(380px,28vw);z-index:2;display:grid;gap:10px;padding:18px 20px;background:#072d2bf5;border:1px solid #9fd2b44d;border-top:3px solid var(--lgx-amber);box-shadow:0 18px 42px #0213128c}
.lgx-close__head .lgx-eye{color:var(--lgx-sage7);margin-bottom:8px}
.lgx-close__head .lgx-h{font-size:clamp(32px,3vw,44px);line-height:1.02;max-width:12ch}
.lgx-close__lede{font-size:15.5px;line-height:1.48;color:#e2ebe6;margin-top:8px}
.lgx-lights{display:grid;gap:6px}
.lgx-lights .lgx-cap{color:var(--lgx-amb7);margin:0}
.lgx-lights__opt{display:flex;align-items:center;gap:12px;min-height:46px;padding:6px 14px;background:#0b3b38cc;border:1.5px solid #9fd2b480;color:#fff;font-size:17px;font-weight:700;cursor:pointer;transition:background-color 300ms,color 300ms,border-color 300ms}
.lgx-lights__opt span::before{content:'';display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--lgx-amber);margin-right:10px;vertical-align:1px}
.lgx-lights__opt:has(input:checked){background:var(--lgx-amber);border-color:var(--lgx-amber);color:var(--gft-night)}
.lgx-lights__opt:has(input:checked) span::before{background:var(--gft-night);border-color:var(--gft-night)}
.lgx-lights__opt:has(input:focus-visible){outline:3px solid #fff;outline-offset:2px}
.lgx-send{display:flex;align-items:center;gap:12px;min-height:46px;padding:8px 16px;border:1.5px solid #f8deb0;background:#0b3b3899;color:#f8deb0;font:700 15px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.lgx-send i{width:0;height:0;border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent #f8deb0}
.lgx-send:hover{background:#e0a64e26}
.lgx-close[data-play] .lgx-send{opacity:.6}
.lgx-close[data-play] .m-train{opacity:0}
.lgx-lotread{padding:8px 12px;background:#0b3b38b3;border-left:4px solid #9fd2b4}
.lgx-lotread__bar{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;max-width:none}
.lgx-lotread__k{font:700 13px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--lgx-amb7)}
.lgx-lotread b{font-size:16.5px;line-height:1.38;font-weight:750;color:#fff}
.lgx-lotread__n{font:13px/1.48 var(--gft-font-mono);color:#e2ebe6;margin-top:4px;max-width:none}
.lgx-door{position:absolute;right:var(--lgx-gut);top:28px;width:min(314px,23.5vw);min-height:248px;z-index:2;display:grid;padding:16px 18px;background:#0b3b38f5;border:1px solid #9fd2b459;border-left:4px solid var(--lgx-amber);box-shadow:0 18px 42px #0213128c}
.lgx-door__s{grid-area:1/1;display:flex;flex-direction:column;gap:6px;opacity:0;visibility:hidden;transition:opacity 160ms linear,visibility 0s 160ms}
.lgx-close[data-light=sites] .lgx-door__s--sites,.lgx-close[data-light=buffer] .lgx-door__s--buffer,.lgx-close[data-light=trace] .lgx-door__s--trace,.lgx-close:not([data-light]) .lgx-door__s--trace{opacity:1;visibility:visible;transition:opacity 320ms linear 170ms,visibility 0s 160ms}
.lgx-door .lgx-kicker{color:var(--lgx-amb7)}
.lgx-door__s>b{font-size:21px;line-height:1.15;letter-spacing:-.02em;color:#fff}
.lgx-door__s>p:not(.lgx-kicker){font-size:15px;line-height:1.45;color:#e2ebe6}
.lgx-door__s .lgx-door__lit{font:13px/1.45 var(--gft-font-mono);color:#f8deb0}
.lgx-door a{margin-top:auto;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:6px 14px;background:var(--lgx-amber);color:var(--gft-night);font-size:16px;font-weight:800;text-decoration:none}
.lgx-tags{position:absolute;right:var(--lgx-gut);top:364px;width:min(314px,23.5vw);list-style:none;margin:0;padding:0;display:grid;gap:8px;z-index:2}
.lgx-tag-p a,.lgx-tag-p__off{position:relative;display:grid;gap:3px;padding:10px 14px;background:#072d2bf2;border:1px solid #9fd2b466;border-left:3px solid #9fd2b4;text-decoration:none;color:#fff;box-shadow:0 12px 28px #02131266}
.lgx-tag-p__k{font:700 13px var(--gft-font-mono);letter-spacing:.06em;color:var(--lgx-amb7)}
.lgx-tag-p b{font-size:15px;line-height:1.3;color:#fff}
.lgx-tags__cap{font:13px/1.5 var(--gft-font-mono);color:#e2ebe6;background:#072d2bd9;padding:6px 10px;border-left:2px solid var(--lgx-amber)}
/* full-width programme hand-over terminal band */
.lgx-stations{position:relative;z-index:2;background:linear-gradient(180deg,#072d2b 0%,#041e1d 100%);border-top:2px solid #e0a64e80;border-bottom:1px solid #9fd2b433;padding-block:34px 42px}
.lgx-stations__in{display:grid;gap:22px}
.lgx-stations__head{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.15fr);gap:14px 28px;align-items:baseline}
.lgx-stations__head .lgx-kicker{color:var(--lgx-amb7);margin:0}
.lgx-stations__h{font:800 clamp(22px,2.2vw,30px)/1.12 var(--gft-font-display);letter-spacing:-.02em;color:#fff;margin:0}
.lgx-stations__cap{font:13.5px/1.55 var(--gft-font-mono);color:#e2ebe6;margin:0;max-width:none}
.lgx-stations__track{position:relative;padding-top:18px}
.lgx-stations__line{position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--lgx-amber) 0%,#9fd2b4 50%,var(--lgx-amber) 100%);overflow:clip}
.lgx-stations__line i{position:absolute;inset:0 -30% 0 0;background:linear-gradient(90deg,transparent 0 4%,#fff3e4 8%,transparent 12%)}
.lgx-stations ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.lgx-stations li{background:#0b3b38d9;border:1px solid #9fd2b44d;border-top:3px solid var(--lgx-amber);transition:transform 260ms var(--lgx-out),border-color 260ms,background-color 260ms}
.lgx-stations li:hover{transform:translateY(-3px);border-color:var(--lgx-amber);background:#0f4a46}
.lgx-stations .is-last{background:#e0a64e24;border-color:var(--lgx-amber)}
.lgx-stations a{pointer-events:auto;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;min-height:92px;padding:16px 18px;font-size:17px;font-weight:750;color:#fff;text-decoration:none}
.lgx-stations__no{font:700 13px var(--gft-font-mono);letter-spacing:.08em;color:var(--lgx-amb7)}
.lgx-stations a i{width:12px;height:12px;border-radius:50%;background:var(--gft-night);border:2.5px solid var(--lgx-amber);flex:0 0 12px}
.lgx-stations .is-last a i{background:var(--lgx-amber)}
.lgx-stations__arr{justify-self:end;font:700 17px var(--gft-font-mono);color:var(--lgx-amber)}
.lgx-stations a b{grid-column:1/-1;font-size:18px;line-height:1.25;font-weight:750;color:#fff}
.lgx-stations .is-last a b{color:#f8deb0}
/* page-scoped footer CTA expansion so frame 16 has architectural presence */
body[data-page="prog-d-logistics"] .gft-footer__next{max-width:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 32px;padding:28px 34px;background:linear-gradient(90deg,#0b3b38 0%,#072d2b 100%);border:1px solid #9fd2b44d;border-top:3px solid var(--lgx-amber);box-shadow:0 16px 36px #02131266}
body[data-page="prog-d-logistics"] .gft-footer__next .gft-eyebrow{color:var(--lgx-amb7);font-size:13px}
body[data-page="prog-d-logistics"] .gft-footer__next-title{font-size:clamp(22px,2.2vw,30px);color:#fff}
body[data-page="prog-d-logistics"] .gft-footer__next-cta{padding:12px 22px;background:var(--lgx-amber);color:var(--gft-night);font-size:14px;font-weight:800}
/* entrance: unspool, the map opens from the factory knot; the panel and the door follow */
:root[data-m-go] .lgx-sec--close:not([data-arr]) .lgx-close__map>svg{clip-path:circle(4% at 37.3% 72.6%)}
:root[data-m-go] .lgx-sec--close[data-arr] .lgx-close__map>svg{animation-name:lgx-unspool;animation-duration:880ms;animation-timing-function:var(--lgx-ease)}
@keyframes lgx-unspool{from{clip-path:circle(4% at 37.3% 72.6%)}to{clip-path:circle(110% at 37.3% 72.6%)}}
:root[data-m-go] .lgx-sec--close:not([data-arr]) :is(.lgx-close__lede,.lgx-lights,.lgx-send){opacity:.35;translate:-24px 0}
:root[data-m-go] .lgx-sec--close:not([data-arr]) :is(.lgx-door,.lgx-lotread,.lgx-stations,.lgx-tags){opacity:.3;translate:0 16px}
:root[data-m-go] .lgx-sec--close[data-arr] :is(.lgx-close__lede,.lgx-lights,.lgx-send){animation-name:lgx-from-left2;animation-duration:600ms;animation-delay:200ms}
:root[data-m-go] .lgx-sec--close[data-arr] :is(.lgx-door,.lgx-lotread,.lgx-stations,.lgx-tags){animation-name:lgx-float3;animation-duration:600ms;animation-delay:320ms}
@keyframes lgx-from-left2{from{opacity:.35;translate:-24px 0}}
@keyframes lgx-float3{from{opacity:.3;translate:0 16px}}

/* reduced motion: state swaps without travel */
@media(prefers-reduced-motion:reduce){.lgx-page *{transition-duration:.01ms!important;transition-delay:0s!important}}

/* tablet ------------------------------------------------------------------------------------------------------------- */
@media(max-width:1200px) and (min-width:901px){
 .lgx-hbars li{grid-template-columns:6rem 30vw 5rem}
 .lgx-hseg{min-width:360px}
 .lgx-weave__slots,.lgx-weave__wefts,.lgx-strand{grid-template-columns:120px repeat(4,minmax(0,1fr))}
 .lgx-strand__line{left:120px}
 .lgx-strand__knot em{font-size:17px}
 .lgx-close__stage{--fx:calc(50vw - var(--fw) * .42)}
 .lgx-door,.lgx-tags{width:260px}
}

/* phone and narrow tablet --------------------------------------------------------------------------------------------- */
@media(max-width:900px){
 .lgx-page{--lgx-gut:20px}
 .lgx-h{font-size:clamp(2.1rem,8.6vw,3rem)}
 .lgx-lede{font-size:17px}
 /* #1 splash: headline top, map band, then the two-row instrument */
 .lgx-page .gft-splash{min-height:auto}
 .lgx-page .gft-splash__content{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto 46svh auto;padding:40px 0 0}
 .lgx-page .gft-splash__content>*{grid-column:1}
 .lgx-page .gft-splash h1{font-size:44px;margin-top:20px;max-width:10ch}
 .lgx-page .gft-splash__lede{font-size:17px;margin-top:16px}
 .lgx-page .gft-splash__actions{grid-row:5;margin-top:0}
 .lgx-page .gft-splash__structure{inset:auto 0 calc(var(--lgx-bandh) + 112px) 0;height:46svh}
 .lgx-page .gft-splash{--lgx-bandh:226px}
 .lgx-page .gft-splash__bottom{height:112px;padding-block:8px}
 .lgx-page .gft-splash__caption{font-size:13px;max-width:24ch}
 .lgx-page .gft-splash__structure::after{background:linear-gradient(180deg,#072d2b 0%,#072d2b00 12%)}
 .lgx-splash-map{overflow:clip}
 .lgx-splash-map__in{--s:calc(46svh / 470);position:absolute;width:calc(790 * var(--s));height:calc(540 * var(--s));left:calc(50% - 410 * var(--s));top:calc(-15 * var(--s))}
 .lgx-map--splash text{font-size:17px}
 .lgx-map :is(.lgx-lab--west,.lgx-tok--src .lgx-tok__lab){display:none}
 .lgx-map text.lgx-lab--north{text-anchor:end;transform:translate(-44px,-12px)}
 .lgx-map text.lgx-lab--receipt{text-anchor:end;transform:translate(-30px,26px)}
 .lgx-map--splash :is(.lgx-small,.lgx-lab--trims,.lgx-lab--edge,.lgx-lab--foot){display:none}
 .lgx-band{grid-template-columns:minmax(0,1fr);gap:12px;height:var(--lgx-bandh);align-content:start;padding-top:14px}
 .lgx-hseg{min-width:0}
 .lgx-hseg__opt{min-height:48px;font-size:16px}
 .lgx-hbars li{grid-template-columns:5.6rem minmax(0,1fr) 4rem;gap:12px}
 .lgx-hbars__v{font-size:20px}
 .lgx-band__line{gap:2px 12px;font-size:13px}
 .lgx-band__line>span:nth-child(2),.lgx-band__ill{display:none}
 .lgx-band__lot{border-left:0;padding-left:0}
 .lgx-band__lot b{min-width:0}
 .lgx-page .gft-splash__data{font-size:12px}
 /* #2 ledger */
 .lgx-sec--ledger{padding-block:36px 56px}
 .lgx-led{grid-template-columns:minmax(0,1fr);grid-template-areas:'head' 'ctl' 'plate' 'read';row-gap:18px}
 .lgx-led__head,.lgx-led__ctl{padding-inline:var(--lgx-gut)}
 .lgx-led__head .lgx-h{font-size:clamp(2rem,8vw,2.8rem)}
 .lgx-led__plate{min-height:0;display:grid;border-top-width:3px}
 .lgx-led__map{position:relative;inset:auto;height:48svh;margin:40px 0 0;overflow:clip}
 .lgx-led__map>svg.lgx-map{max-width:none;--s:calc(48svh / 470);position:absolute;width:calc(790 * var(--s));height:calc(540 * var(--s));left:calc(50% - 410 * var(--s));top:calc(-15 * var(--s))}
 .lgx-legend{left:var(--lgx-gut);top:10px}
 .lgx-legend li:last-child{display:none}
 .lgx-led__burn{position:relative;grid-template-columns:minmax(0,1fr);gap:10px;padding:14px var(--lgx-gut)}
 .lgx-led__read{padding:8px var(--lgx-gut) 0}
 .lgx-state{padding:20px;background:#0b3b38;border:1px solid #ffffff1f}
 .lgx-map--ledger text{font-size:16px}
 .lgx-map--ledger :is(.lgx-small,.lgx-lab--trims,.lgx-lab--edge,.lgx-lab--foot){display:none}
 .lgx-map--ledger .lgx-tok__lab{display:none}
 /* #3 handover: opaque pinned band 38 svh, heading unpinned above it, cards scroll under the band */
 .lgx-sec--seq{--H:38svh;padding-top:40px}
 .lgx-fold,.lgx-seq__bg,.lgx-stepvis{display:none}
 .lgx-seq{grid-template-columns:minmax(0,1fr);grid-template-areas:'stack'}
 .lgx-seq__steps,.lgx-seq__col{grid-area:stack}
 .lgx-seq__col{padding:0;z-index:2;pointer-events:none}
 .lgx-stage{position:static;height:100%;display:block;background:none;border:0;overflow:visible;box-shadow:none}
 .lgx-stage::before{display:none}
 .lgx-stage__top{display:block;height:208px;padding:0 var(--lgx-gut);border:0;color:var(--gft-paper);pointer-events:auto}
 .lgx-stage__h{font-size:clamp(1.9rem,8vw,2.4rem);color:#fff;max-width:16ch}
 .lgx-stage__ro{margin-top:10px}
 .lgx-stage__rov{color:var(--lgx-amb7);font-size:20px}
 .lgx-stage__lot{display:none}
 .lgx-stage__pin{position:sticky;top:0;height:calc(var(--H) + 96px);pointer-events:auto;background:var(--gft-forest);color:var(--gft-paper);border-top:3px solid var(--lgx-amber);grid-template-rows:minmax(0,1fr) auto;box-shadow:0 10px 22px #072d2b33}
 .lgx-stage__nav{display:none}
 .lgx-plates{left:14px;top:8px}
 .lgx-plate strong{font-size:26px}
 .lgx-plate__n{font-size:13px}
 .lgx-badge{font-size:12.5px;padding:3px 8px;margin-top:6px}
 .lgx-stage__svg{padding:6px 6px 0 44px}
 .lgx-nd text{font-size:32px}
 .lgx-split text{font-size:24px}
 .lgx-recs{padding:6px 14px 8px}
 .lgx-rec{grid-template-columns:minmax(0,1fr)}
 .lgx-rec__row{grid-template-columns:7.2rem minmax(0,1fr);font-size:14px;padding:3px 0}
 .lgx-rec__row:nth-child(n+3){display:none}
 .lgx-seq__steps{padding:calc(208px + var(--H) + 96px + 24px) var(--lgx-gut) 0}
 .lgx-seq__intro{min-height:0;padding:18px;margin-bottom:16px}
 .lgx-stepcard{min-height:72svh;align-items:flex-start;padding-top:8px}
 .lgx-stepcard--3{min-height:80svh;padding-top:8px}
 .lgx-stepcard__thr{width:44px}
 .lgx-stepcard__pr{max-width:calc(100% - 56px);padding:16px}
 .lgx-stepcard__rec{display:grid;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid #9fd2b433}
 .lgx-stepcard__rec div{display:grid;grid-template-columns:7.4rem minmax(0,1fr);gap:10px}
 .lgx-stepcard__rec dt{font:13px var(--gft-font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--lgx-amb7)}
 .lgx-stepcard__rec dd{margin:0;font-size:15px;color:#e2ebe6}
 /* #4 channels: tabs 2 x 2, the weave turns vertical */
 .lgx-chan__head{grid-template-columns:minmax(0,1fr);gap:16px}
 .lgx-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lgx-tabs__opt{min-height:48px;font-size:17px}
 .lgx-tabs__thumb{width:50%;height:50%;translate:0 0}
 .lgx-tabs:has(label:nth-of-type(2) input:checked) .lgx-tabs__thumb{translate:100% 0}
 .lgx-tabs:has(label:nth-of-type(3) input:checked) .lgx-tabs__thumb{translate:0 100%}
 .lgx-tabs:has(label:nth-of-type(4) input:checked) .lgx-tabs__thumb{translate:100% 100%}
 .lgx-weave__in{grid-template-columns:minmax(0,1fr);min-height:0}
 .lgx-weave__main{--rowh:auto;grid-template-rows:none;grid-template-columns:96px repeat(4,minmax(0,1fr));grid-auto-flow:column;padding:0 8px 0 var(--lgx-gut);min-height:60svh}
 .lgx-weave__slots{grid-row:1/6;grid-column:1;grid-template-columns:none;grid-template-rows:56px repeat(4,minmax(0,1fr));border-bottom:0;border-right:1px solid #ffffff1f}
 .lgx-weave__slots>*{text-align:left;font-size:13px;padding-right:8px;align-self:center}
 .lgx-weave__wefts{display:none}
 .lgx-strand{grid-row:1/6;grid-template-columns:none;grid-template-rows:56px repeat(4,minmax(0,1fr))}
 .lgx-strand__name{flex-direction:column;align-items:center;gap:0;padding:8px 2px 0;font-size:14px;text-align:center}
 .lgx-strand__line{left:calc(50% - 2px);right:auto;width:4px;top:56px;bottom:0;height:auto}
 .lgx-strand__packet{background:linear-gradient(180deg,transparent 0 2%,#fff3e4 6%,transparent 10%)}
 .lgx-strand__knot{justify-content:center;padding:8px 0}
 .lgx-strand__knot em{position:absolute;left:calc(50% + 12px);top:50%;translate:0 -50%;font-size:15px;width:max-content;max-width:min(150px,38vw);text-align:left;background:#072d2bf0;padding:2px 4px}
 .lgx-strand:nth-of-type(n+5) .lgx-strand__knot em{left:auto;right:calc(50% + 12px);text-align:right}
 .lgx-weave__inset{border-left:0;border-top:1px solid #ffffff1f;padding:16px var(--lgx-gut);min-height:40svh}
 .lgx-chan__band{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px var(--lgx-gut)}
 :root[data-m-go] .lgx-sec--chan[data-exit] .lgx-strand{transform:none}
 /* #5 compare: lanes turn vertical, stages become rows */
 .lgx-cmp{grid-template-columns:minmax(0,1fr)}
 .lgx-cmp__bar{flex-direction:column;align-items:stretch}
 .lgx-cmp__src{flex-wrap:wrap}
 .lgx-cmp__heads{grid-template-columns:minmax(0,1fr)}
 .lgx-cmp__head{min-height:48px}
 .lgx-cmp__lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 0 18px}
 .lgx-lane__id{margin-left:0}
 .lgx-lane__track{grid-template-columns:none;grid-template-rows:repeat(3,76px)}
 .lgx-lane__seg{height:auto;padding:8px 6px 0 24px;transition:background-color 300ms}
 .lgx-lane__seg::before{content:attr(data-st);display:block;font:700 13px var(--gft-font-mono);color:#25302e}
 .lgx-lane__seg i{left:6px;right:auto;top:0;bottom:0;width:7px;height:auto}
 .lgx-lane__seg--off i{width:0;height:auto;border-top:0;border-left:4px dashed var(--lgx-lc);top:0}
 .lgx-lane__seg--gap i{width:7px;height:16px;bottom:auto;background:repeating-linear-gradient(180deg,var(--lgx-lc) 0 4px,transparent 4px 8px)}
 .lgx-break,.lgx-rline{display:none}
 .lgx-cmp[data-stage="0"] .lgx-lane__seg:nth-child(1),.lgx-cmp[data-stage="1"] .lgx-lane__seg:nth-child(2),.lgx-cmp[data-stage="2"] .lgx-lane__seg:nth-child(3){background:#fff;box-shadow:inset 0 0 0 2px #8a5a0e}
 .lgx-cmp__under{grid-template-columns:minmax(0,1fr)}
 .lgx-cmp__card{min-height:330px}
 .lgx-cmp__heads .lgx-cmp__head{border-bottom:1px solid #9db3a5}
 .lgx-cmp[data-stage="0"] .lgx-cmp__head:nth-child(1),.lgx-cmp[data-stage="1"] .lgx-cmp__head:nth-child(2),.lgx-cmp[data-stage="2"] .lgx-cmp__head:nth-child(3){background:#0e4d4a;color:#fff;box-shadow:inset 5px 0 0 var(--lgx-amber)}
 .lgx-diff{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;display:block;margin-top:8px}
 .lgx-diff thead{display:none}
 .lgx-diff tbody,.lgx-diff tr,.lgx-diff th,.lgx-diff td{display:block}
 .lgx-diff tr{padding:12px 0;border-top:1px solid #9db3a5}
 .lgx-diff th{font-size:17px;font-weight:800;text-align:left}
 .lgx-diff td{font-size:15px;line-height:1.5;margin-top:6px}
 /* #6 boundary: statement over the field, the chain turns vertical */
 .lgx-statement{font-size:40px;max-width:12ch}
 .lgx-bound__s1{min-height:auto;padding-bottom:28px}
 .lgx-bnd__ctl{grid-template-columns:minmax(0,1fr)}
 .lgx-bnd__ro{grid-column:1;grid-row:auto}
 .lgx-chain{width:100%;padding:0 0 0 30px}
 .lgx-chain__track{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,minmax(0,1fr));min-height:62svh}
 .lgx-chain__seg{padding:0 0 0 30px}
 .lgx-chain__line{left:0;top:0;bottom:0;right:auto;width:8px;height:auto}
 .lgx-chain__line i{inset:0 0 -40px 0}
 .lgx-chain__seg[data-r0=p] .lgx-chain__line i,.lgx-bnd:has(input[value=yarn]:checked) .lgx-chain__seg[data-r1=p] .lgx-chain__line i,.lgx-bnd:has(input[value=fabric]:checked) .lgx-chain__seg[data-r2=p] .lgx-chain__line i{background:repeating-linear-gradient(180deg,var(--lgx-amber) 0 14px,transparent 14px 24px)}
 .lgx-chain__knot{left:-18px;top:-18px}
 .lgx-bmark{translate:0 calc(var(--f) * 25%)}
 .lgx-bmark__pin{left:-30px;right:0;top:25%;bottom:auto;height:4px}
 .lgx-bmark__pin i{left:0;right:0;top:-2px;bottom:auto;width:auto;height:4px}
 .lgx-bmark__pin i::after{left:0;top:-7px}
 .lgx-bmark__t,.lgx-bmark__t--fibre{left:auto;right:0;top:6px}
 .lgx-bnd__read{grid-template-columns:minmax(0,1fr)}
 :root[data-m-go] .lgx-sec--bound[data-exit] .lgx-chain__seg{opacity:1!important;transform:none!important}
 :root[data-m-go] .lgx-sec--ledger[data-exit] .lgx-map--ledger :is(.lgx-ov--c,.lgx-ov--n){transform:none}
 :root[data-m-go] .lgx-sec--ledger[data-exit] .lgx-map--ledger :is(.lgx-grid,.lgx-outline,.lgx-labels,.lgx-base){opacity:1}
 .lgx-map--ledger .lgx-grid{opacity:.1!important}
 .lgx-cmp__ends{display:none}
 /* #7 dispatch */
 .lgx-disp__head{grid-template-columns:minmax(0,1fr);gap:16px}
 .lgx-docket{grid-template-columns:minmax(0,1fr);padding:18px 16px}
 .lgx-docket__ring{width:64vw}
 .lgx-chk{grid-template-columns:40px minmax(0,1fr);min-height:48px;gap:12px}
 .lgx-band2__t{flex-direction:column;align-items:flex-start;gap:10px}
 .lgx-docket__sum{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lgx-sumc{min-height:44px}
 :root[data-m-go] .lgx-sec--disp[data-exit] .lgx-docket__ring{transform:none!important;opacity:1!important}
 /* #8 closing: heading, map, lights, door, read-out, tags, stations down the left edge into the footer */
 .lgx-close__stage{--fh:54svh;--fw:100%;min-height:0;height:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:44px var(--lgx-gut) 28px}
 .lgx-close__left{display:contents}
 .lgx-close__head{order:1}
 .lgx-close__map{order:2;position:relative;left:auto;top:auto;width:auto;height:54svh;margin-inline:calc(var(--lgx-gut) * -1);overflow:clip}
 .lgx-close__map>svg.lgx-map{max-width:none;--s:calc(54svh / 500);position:absolute;width:calc(790 * var(--s));height:calc(540 * var(--s));left:calc(50% - 420 * var(--s));top:calc(-25 * var(--s))}
 .lgx-lights{order:3;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1.5px solid #8bb89b80}
 .lgx-lights .lgx-cap{grid-column:1/-1;padding:6px 8px}
 .lgx-lights__opt{border:0;border-left:1px solid #8bb89b66;font-size:14px;justify-content:center;text-align:center;padding:6px}
 .lgx-lights__opt:first-of-type{border-left:0}
 .lgx-lights__opt span::before{display:none}
 .lgx-send{order:4}
 .lgx-door{order:5;position:relative;right:auto;top:auto;width:auto;height:auto;min-height:250px}
 .lgx-lotread{order:6}
 .lgx-tags{order:7;position:static;width:auto}
 .lgx-close__state{left:var(--lgx-gut);right:auto;top:12px;bottom:auto;font-size:13px}
 .lgx-stations{padding-block:28px 36px}
 .lgx-stations__head{grid-template-columns:minmax(0,1fr);gap:8px}
 .lgx-stations ol{grid-template-columns:minmax(0,1fr);gap:10px}
 .lgx-stations a{min-height:64px;padding:12px 14px}
 body[data-page="prog-d-logistics"] .gft-footer__next{grid-template-columns:minmax(0,1fr);padding:20px}
 .lgx-map--close text{font-size:16px}
 .lgx-map--close :is(.lgx-small,.lgx-lab--foot){display:none}
}
