/* /tools/labour-cost/ : the two wage threads, built to control/choreo/tools__labour-cost.md.
   Motif: bead (paid minute) → thread (efficiency penalty) → diamond (earned standard minute); Cameroon sage, Cambodia ochre.
   Animated properties: transform, opacity, clip-path, filter only. Pre-states and transitions live under :root[data-m-go];
   block entrances key on [data-lc-in] (set by film.ts at about 38% in view) and retire on [data-lc-done]. */
.lc-sec,.lc-ticker,.lc-sp{--lc-night:#072d2b;--lc-deep:#05302d;--lc-forest:#0e4d4a;--lc-sage:#6bb68f;--lc-sage-ink:#9fd6b5;--lc-ochre:#c98a2b;--lc-ochre-ink:#e8b765;--lc-mist:#e2ebe6;--lc-soft:#c4d8cc;--lc-paper:#f6f4ef;--lc-ink:#0b2a28;--lc-leaf-ink:#2a6e50;--lc-ochre-dk:#7f5210;--lc-out:cubic-bezier(.16,1,.3,1);--lc-swing:cubic-bezier(.34,1.4,.5,1);--lc-gut:max(24px,calc((100vw - 1440px)/2 + 48px));font-variant-numeric:tabular-nums;min-width:0}
.lc-sec{position:relative;overflow-x:clip;font-size:17px;line-height:1.6}
.lc-sec [hidden],.lc-ticker [hidden]{display:none!important}
.lc-sec p{max-width:none}
.lc-sec h2{font-size:clamp(2.3rem,3.9vw,3.9rem);line-height:1.02;letter-spacing:-.05em}
.lc-sec h3{font-size:clamp(1.3rem,1.8vw,1.75rem);line-height:1.18;letter-spacing:-.035em}
.lc-sec button,.lc-sec input,.lc-sec select{font:inherit}
.lc-sec button{cursor:pointer}
.lc-sec button:disabled{cursor:not-allowed;opacity:.5}
.lc-sec :is(input,select,button,a,summary,tr):focus-visible,.lc-ticker :is(a,button):focus-visible{outline:3px solid var(--lc-ochre);outline-offset:3px}
.lc-sec a:not(.gft-button){color:inherit;text-underline-offset:4px}
.lc-wrap{width:min(1440px,calc(100% - 96px));margin-inline:auto;position:relative}
.lc-vh{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.lc-kick{font:500 13px/1.6 var(--gft-font-mono);letter-spacing:.11em;text-transform:uppercase}
.lc-note{font-size:14px;line-height:1.7}
.lc-seg{display:inline-flex;flex-wrap:wrap;border:1px solid #0e4d4a66;position:relative}
.lc-seg label{position:relative;display:block}
.lc-seg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;width:100%;height:100%}
.lc-seg span{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;font:500 13px/1.2 var(--gft-font-mono);letter-spacing:.06em;color:var(--lc-forest)}
.lc-seg input:checked+span{background:var(--lc-forest);color:var(--lc-paper)}
.lc-seg input:focus-visible+span{outline:3px solid var(--lc-ochre);outline-offset:2px}
.lc-seg--dark{border-color:#6bb68f80}.lc-seg--dark span{color:#d3e4da}.lc-seg--dark input:checked+span{background:var(--lc-sage);color:var(--lc-night)}
.lc-table-wrap{overflow-x:auto}
.lc-table-wrap table{border-collapse:collapse;width:100%;font-size:16px}
.lc-table-wrap caption{caption-side:bottom;text-align:left;padding-top:10px;font-size:14px;line-height:1.6}
.lc-table-wrap th,.lc-table-wrap td{padding:10px 14px 10px 0;text-align:left;vertical-align:middle}
.lc-table-wrap thead th{font:500 13px/1.4 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase}
.lc-table-wrap td{font-family:var(--gft-font-mono);font-size:16px}
.lc-noscript{padding:20px 48px;background:var(--lc-paper,#f6f4ef);font-size:16px}

/* the kit's own block entrances are retired here: each block runs its staged, choreographed entrance below */
:root[data-m-go] .lc-act[data-m]:not([data-m-in]){opacity:1;transform:none;clip-path:none}
:root[data-m-go] .lc-act[data-m][data-m-in]{animation-name:none}

/* split headings: whole words, each in a padded mask, spaces kept */
.lc-h{text-wrap:balance}
.lc-w{display:inline-block;vertical-align:top;overflow:clip;padding:.1em .06em .18em;margin:-.1em -.06em -.18em}
.lc-h:is([data-fx=blur],[data-fx=turn],[data-fx=wdth],[data-fx=zoom],[data-fx=swing],[data-fx=track],[data-fx=drop]) .lc-w{overflow:visible}
.lc-wi{display:inline-block}
:root[data-m-go] .lc-act:not([data-lc-in]) .lc-h .lc-wi{opacity:0}
:root[data-m-go] .lc-act:not([data-lc-in]) .lc-h[data-fx=skew] .lc-wi{opacity:1;transform:translateY(105%) skewY(8deg)}
:root[data-m-go] .lc-act:not([data-lc-in]) .lc-h[data-fx=drop] .lc-wi{opacity:0;transform:translateY(-.38em)}
:root[data-m-go] .lc-act[data-lc-in]:not([data-lc-done]) .lc-h .lc-wi{animation-duration:720ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:calc(var(--i,0) * 70ms)}
:root[data-m-go] .lc-act[data-lc-in]:not([data-lc-done]) .lc-h[data-fx=blur] .lc-wi{animation-name:lc-fx-blur}
:root[data-m-go] .lc-act[data-lc-in]:not([data-lc-done]) .lc-h[data-fx=turn] .lc-wi{animation-name:lc-fx-turn;transform-origin:50% 100%}
:root[data-m-go] .lc-act[data-lc-in]:not([data-lc-done]) .lc-h[data-fx=skew] .lc-wi{animation-name:lc-fx-skew}
:root[data-m-go] .lc-act[data-lc-in]:not([data-lc-done]) .lc-h[data-fx=wdth] .lc-wi{animation-name:lc-fx-wdth;transform-origin:0 100%}
:root[data-m-go] .lc-act[data-lc-in]:not([data-lc-done]) .lc-h[data-fx=zoom] .lc-wi{animation-name:lc-fx-zoom}
:root[data-m-go] .lc-act[data-lc-in]:not([data-lc-done]) .lc-h[data-fx=drop] .lc-wi{animation-name:lc-fx-drop}
:root[data-m-go] .lc-act[data-lc-in]:not([data-lc-done]) .lc-h[data-fx=swing] .lc-wi{animation-name:lc-fx-swing;transform-origin:0 50%}
:root[data-m-go] .lc-act[data-lc-in]:not([data-lc-done]) .lc-h[data-fx=track] .lc-wi{animation-name:lc-fx-track;transform-origin:50% 100%}
@keyframes lc-fx-blur{from{opacity:0;filter:blur(12px);transform:translateY(.25em)}}
@keyframes lc-fx-turn{from{opacity:0;transform:perspective(600px) rotateX(-88deg)}}
@keyframes lc-fx-skew{from{transform:translateY(105%) skewY(8deg)}}
@keyframes lc-fx-wdth{from{opacity:0;transform:scaleX(.45)}}
@keyframes lc-fx-zoom{from{opacity:0;filter:blur(8px);transform:scale(.55)}}
@keyframes lc-fx-drop{from{opacity:0;transform:translateY(-.38em)}}
@keyframes lc-fx-swing{from{opacity:0;transform:perspective(700px) rotateY(70deg)}}
@keyframes lc-fx-track{from{opacity:0;transform:translateX(.25em) scaleX(.7)}}
@keyframes lc-rise{from{opacity:.2;transform:translateY(22px)}}
@keyframes lc-fade{from{opacity:0}}

/* ---------------------------------------------------------------- ticker */
.lc-ticker{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:clamp(14px,3vw,44px);height:48px;padding-inline:max(20px,calc((100vw - 1440px)/2 + 48px));background:#041f1e;color:#d6e6dc;border-bottom:1px solid #6bb68f33;font:13px/1 var(--gft-font-mono);letter-spacing:.05em}
.lc-ticker p{margin:0;max-width:none;line-height:1}
.lc-ticker__id{color:var(--lc-sage-ink,#9fd6b5);letter-spacing:.16em;white-space:nowrap}
.lc-ticker__v{display:flex;align-items:center;gap:8px;white-space:nowrap;min-width:0}
.lc-ticker__v b{font-weight:700;color:#fff;margin-right:8px}
.lc-ticker__dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;vertical-align:baseline}
.lc-ticker__dot--cam{background:#6bb68f}.lc-ticker__dot--kh{background:#c98a2b;transform:rotate(45deg);border-radius:0;width:9px;height:9px}
.lc-ticker__sec{margin-left:auto;min-width:19ch;text-align:right;color:#b9cfc2;white-space:nowrap}
.lc-ticker__thread{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#6bb68f;transform-origin:0 50%}

/* ---------------------------------------------------------------- 1 · splash: S0 spun out */
.gft-splash[data-splash=labour-cost] .gft-splash__mesh{background-image:linear-gradient(#b4d4c512 1px,transparent 1px),linear-gradient(90deg,#b4d4c512 1px,transparent 1px);background-size:96px 96px}
.gft-splash[data-splash=labour-cost] .gft-splash__ground::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#072d2b 0,#072d2bee 26%,#072d2b00 42%)}
.gft-splash[data-splash=labour-cost] .gft-splash__structure{inset:0;z-index:-1;display:flex;align-items:center;justify-content:flex-end;padding:70px var(--lc-gut,48px) 70px;padding-right:max(24px,calc((100vw - 1440px)/2 + 40px));background:none}
.gft-splash[data-splash=labour-cost] .gft-splash__structure::after{display:none}
.gft-splash[data-splash=labour-cost] .gft-splash__data{display:none}
.gft-splash[data-splash=labour-cost] .gft-splash__content{pointer-events:none}
.gft-splash[data-splash=labour-cost] .gft-splash__content :is(a,button,input,h1,.gft-splash__lede,.gft-eyebrow){pointer-events:auto}
.gft-splash[data-splash=labour-cost] .gft-splash__lede{font-size:18px;color:#d5e3da;max-width:34ch}
.gft-splash[data-splash=labour-cost] :is(.gft-eyebrow,.gft-splash__caption,.gft-splash__position,.gft-splash__data span,.gft-splash__signal){font-size:13px}
.gft-splash[data-splash=labour-cost] .gft-button{min-height:58px;padding-inline:30px;font-size:16px}
.gft-splash[data-splash=labour-cost] h1{font-size:clamp(3.6rem,min(6.4vw,9.4svh),7rem);max-width:8.4ch}
.lc-sp{pointer-events:auto;width:min(58vw,900px);transform-origin:50% 100%;color:var(--lc-mist)}
.lc-sp__frame{display:grid;gap:10px}
.lc-sp p{margin:0}
.lc-sp__tag{font:13px/1.6 var(--gft-font-mono);letter-spacing:.11em;text-transform:uppercase;color:#b9cfc2}
.lc-sp__svg{width:100%;height:auto;max-height:44svh;display:block;overflow:visible;touch-action:pan-y;cursor:crosshair;-webkit-user-select:none;user-select:none}
.lc-sp__warp path{stroke:#6bb68f;stroke-opacity:.28;stroke-width:1;vector-effect:non-scaling-stroke}
.lc-sp__weft{stroke:#6bb68f;stroke-opacity:.18;stroke-width:1;stroke-dasharray:4 6;vector-effect:non-scaling-stroke}
.lc-sp__comb path{stroke:#c4d8cc;stroke-opacity:.72;stroke-width:1.6;transform-box:fill-box;transform-origin:50% 100%}
.lc-sp__axis{stroke:#9fd6b5;stroke-opacity:.78;stroke-width:1.6}
.lc-sp__lab{fill:#d6e6dc;font:15px var(--gft-font-mono);letter-spacing:.08em}
.lc-sp__axis-title{color:#d6e6dc;font:13px/1.5 var(--gft-font-mono);letter-spacing:.08em;text-align:right;padding-right:4.76%}
.lc-sp__lab--p{fill:#e8b765;font-weight:700}
.lc-sp__meta{fill:#9fd6b5;font:500 12px var(--gft-font-mono);letter-spacing:.1em}
.lc-sp__name{fill:#fff;font:700 19px var(--gft-font-display);letter-spacing:.16em}
.lc-sp__track{stroke:#9fd6b5;stroke-opacity:.58;stroke-width:2}
.lc-sp__band{opacity:.18}
.lc-sp__thread{stroke-width:6;stroke-linecap:round;transform-box:fill-box;transform-origin:0 50%}
.lc-sp__glint{stroke:#fff;stroke-width:3;stroke-linecap:round;opacity:0}
.lc-sp__bead{fill:#072d2b;stroke:#e2ebe6;stroke-width:2.6}
.lc-sp__ring{fill:none;stroke-width:1.6;stroke-dasharray:3 5;opacity:.8}
.lc-sp__parl{stroke:#c98a2b;stroke-width:1.6;stroke-dasharray:3 7;transform-box:fill-box;transform-origin:50% 0}
.lc-sp__cursor{stroke:#e2ebe6;stroke-width:1;opacity:0}
.lc-sp__read{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.lc-sp__k{display:flex;align-items:center;gap:8px;font:13px/1.6 var(--gft-font-mono);letter-spacing:.09em;color:#c4d8cc}
.lc-sp__k i{display:inline-block;width:10px;height:10px}
.lc-sp__v{display:flex;align-items:baseline;gap:10px}
.lc-sp__v output{font-size:clamp(3rem,5vw,4.5rem);font-weight:850;letter-spacing:-.06em;line-height:1.08;color:#fff}
.lc-sp__v span{font:15px var(--gft-font-mono);color:#c4d8cc}
.lc-sp__sub{font:15px/1.6 var(--gft-font-mono);color:#d0e1d6}
.lc-sp__sub b{color:#fff}
.lc-sp__verdict{font-size:17px;line-height:1.55;color:#e2ebe6;border-left:3px solid #c98a2b;padding-left:14px;min-height:3.1em}
.lc-sp__ctl{display:grid;gap:4px;font:13px/1.4 var(--gft-font-mono);letter-spacing:.06em;color:#d0e1d6;margin-top:6px}
.lc-sp__ctl span{display:flex;justify-content:space-between}
.lc-sp__ctl input{width:100%;margin:0;min-height:44px;accent-color:#6bb68f;cursor:ew-resize}
.lc-sp__ctl output{color:#fff;font-weight:700}
.lc-sp__hover{font:13px/1.5 var(--gft-font-mono);color:#c4d8cc;min-height:1.5em}
/* load: ticks comb in (0-300 ms), threads spin out and diamonds land (300-800 ms), parity line drops (600-900 ms) */
:root[data-m-go] .lc-sp__comb path{animation-name:lc-comb;animation-duration:240ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:calc(var(--i) * 9ms)}
:root[data-m-go] .lc-sp__bead{animation-name:lc-fade;animation-duration:200ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:60ms}
:root[data-m-go] .lc-sp__thread{animation-name:lc-spin;animation-duration:520ms;animation-timing-function:cubic-bezier(.55,0,.2,1);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:300ms}
:root[data-m-go] .lc-sp__land{animation-name:lc-land;animation-duration:520ms;animation-timing-function:cubic-bezier(.55,0,.2,1);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:300ms}
:root[data-m-go] [data-sp-row=kh] :is(.lc-sp__thread,.lc-sp__land){animation-delay:380ms}
:root[data-m-go] .lc-sp__parl--d{animation-name:lc-drop;animation-duration:320ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:640ms}
:root[data-m-go] :is(.lc-sp__verdict,.lc-sp__ctl,.lc-sp__sub){animation-name:lc-fade;animation-duration:300ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:640ms}
:root[data-m-go] .gft-splash[data-splash=labour-cost] h1[data-m-in]{animation-name:lc-h1;animation-duration:620ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:0ms}
:root[data-m-go] .gft-splash[data-splash=labour-cost] h1[data-m-in] .gft-serif{display:inline-block;animation-name:lc-h1b;animation-duration:420ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:720ms}
@keyframes lc-comb{from{transform:scaleY(0)}}
@keyframes lc-spin{from{transform:scaleX(0)}}
@keyframes lc-land{from{transform:translateX(calc(-1 * var(--run,0px)));opacity:.2}}
@keyframes lc-drop{from{transform:scaleY(0)}}
@keyframes lc-h1{from{clip-path:inset(0 0 100% 0);transform:translateY(28px)}to{clip-path:inset(-20% -10% -30% -10%)}}
@keyframes lc-h1b{from{opacity:0;transform:translateY(.4em)}}
/* lives: diamonds drift ±2 px along their tracks, a shuttle glint runs each thread every 6 s, the parity line breathes */
:root[data-m-go] .lc-sp__idle[data-m-on]{animation-name:lc-idle;animation-duration:4.2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] [data-sp-row=kh] .lc-sp__idle[data-m-on]{animation-delay:-2.1s}
:root[data-m-go] .lc-sp__glint[data-m-on]{animation-name:lc-glint;animation-duration:6s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;animation-direction:normal;animation-delay:1.2s}
:root[data-m-go] [data-sp-row=kh] .lc-sp__glint[data-m-on]{animation-delay:4.2s}
:root[data-m-go] .lc-sp__par{animation-name:lc-breathe;animation-duration:3.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;animation-delay:1s}
@keyframes lc-idle{from{translate:-2px 0}to{translate:2px 0}}
@keyframes lc-glint{0%{transform:translateX(0);opacity:0}6%{opacity:.95}42%{transform:translateX(var(--len,0px));opacity:.95}48%,100%{transform:translateX(var(--len,0px));opacity:0}}
@keyframes lc-breathe{from{opacity:.55}to{opacity:1}}
/* hand-over: ruler to chart, the stage compresses toward the bench as the splash leaves */
@supports (animation-timeline:view()){
 :root[data-m-go] .lc-sp{animation-name:lc-compress;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--gft-splash;animation-range-start:exit 15%;animation-range-end:exit 85%}
}
@keyframes lc-compress{to{transform:scale(.92);opacity:.5}}

/* ---------------------------------------------------------------- 2 · bench: S1 on the bench */
.lc-bench{background:var(--lc-night);color:var(--lc-mist);padding:0}
.lc-bench__a{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);min-height:calc(100svh - 48px)}
.lc-bench__ctl{display:flex;flex-direction:column;gap:16px;padding:36px 36px 32px var(--lc-gut);min-width:0}
.lc-bench__head h2{font-size:clamp(2rem,2.9vw,2.75rem);margin-top:8px;color:#fff}
.lc-bench__head .lc-kick{color:#b9cfc2}
.lc-controls,.lc-fs{display:grid;gap:12px;border:0;margin:0;padding:0;min-width:0}
.lc-presets{display:flex;flex-wrap:wrap;gap:8px}
.lc-presets button{min-height:44px;padding:8px 14px;border:1px solid #6bb68f80;background:transparent;color:#e2ebe6;font-size:15px}
.lc-presets button:hover{background:#6bb68f22}
.lc-cards{display:grid;gap:12px}
.lc-country{border:1px solid #6bb68f66;background:#05302d;padding:12px 16px 8px;margin:0;min-width:0}
.lc-country legend{display:flex;align-items:center;gap:8px;padding:0 6px;font-weight:750;font-size:17px;color:#fff}
.lc-country legend i{width:11px;height:11px;border-radius:50%;background:#6bb68f}
.lc-country--kh legend i{background:#c98a2b;border-radius:0;transform:rotate(45deg)}
.lc-country legend span{font:13px var(--gft-font-mono);font-weight:400;letter-spacing:.06em;color:#b9cfc2;margin-left:6px}
.lc-input-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:10px}
.lc-efficiency{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px;align-items:end;margin-top:8px}
.lc-country label,.lc-shared label,.lc-unit{display:grid;gap:4px;font:13px/1.4 var(--gft-font-mono);letter-spacing:.05em;color:#c4d8cc}
.lc-country input[type=number],.lc-shared input,.lc-unit select{width:100%;min-height:44px;padding:6px 10px;border:1px solid #6bb68f80;background:#072d2b;color:#fff;font-size:17px}
.lc-country input[type=range]{width:100%;accent-color:#6bb68f;margin:0}
.lc-country--kh input[type=range]{accent-color:#c98a2b}
.lc-country label[data-hot],.lc-shared label[data-hot]{outline:2px solid #e8b765;outline-offset:4px}
.lc-assume{border:1px solid #6bb68f55;background:#05302d}
.lc-assume summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-height:48px;padding:10px 16px;cursor:pointer;font-weight:700;font-size:16px}
.lc-assume summary small{font:13px var(--gft-font-mono);font-weight:400;color:#b9cfc2}
.lc-assume[open]{padding-bottom:14px}
.lc-assume>:not(summary){margin:10px 16px 0}
.lc-check{display:flex;gap:10px;align-items:center;min-height:44px;font-size:16px}
.lc-assume .lc-note{color:#c4d8cc}
.lc-bench__stage{position:relative;background:#0e4d4a;background-image:linear-gradient(#b4d4c50f 1px,transparent 1px),linear-gradient(90deg,#b4d4c50f 1px,transparent 1px);background-size:48px 48px;min-width:0;overflow:clip}
.lc-bench__live{position:absolute;inset:0}
.lc-result{position:absolute;z-index:2;left:40px;top:36px;max-width:min(560px,calc(100% - 80px));padding:22px 26px 20px;background:#072d2bdb;border:1px solid #6bb68f66}
.lc-result .lc-kick{color:#c4d8cc}
.lc-result__fig{display:flex;align-items:baseline;gap:12px;margin:4px 0 6px}
.lc-result__fig output{font-size:64px;font-weight:850;letter-spacing:-.06em;line-height:1.05;color:#fff}
.lc-result__fig span{font:16px var(--gft-font-mono);color:#c4d8cc}
.lc-result__txt{font-size:17px;line-height:1.5;color:#e2ebe6}
.lc-reconcile{margin-top:8px;font:13px/1.6 var(--gft-font-mono);color:#c4d8cc}
.lc-chart{position:absolute;inset:0 0 92px 16px}
.lc-chart svg{width:100%;height:100%;max-width:none;overflow:visible}
.lc-ch__grid{stroke:#c4d8cc;stroke-opacity:.14;stroke-width:1;transform-box:fill-box;transform-origin:50% 100%}
.lc-ch__grid--major{stroke-opacity:.28}
.lc-axis{fill:#c4d8cc;font:15px var(--gft-font-mono)}
.lc-axis--p{fill:#e8b765;letter-spacing:.08em}
.lc-country{fill:#fff;font:700 18px var(--gft-font-display);letter-spacing:.14em}
.lc-ch__bead{fill:#0e4d4a;stroke:#e2ebe6;stroke-width:2.6}
.lc-ch__row{transform-box:fill-box}
.lc-chart[data-row] .lc-ch__row{opacity:.3}
.lc-chart[data-row="0"] .lc-ch__row[style*="--i:0"],.lc-chart[data-row="1"] .lc-ch__row[style*="--i:1"],.lc-chart[data-row="2"] .lc-ch__row[style*="--i:2"]{opacity:1}
.lc-legend{position:absolute;left:40px;bottom:50px;display:flex;flex-wrap:wrap;gap:8px 22px;font:13px var(--gft-font-mono);letter-spacing:.06em;color:#d0e1d6}
.lc-legend span{display:inline-flex;align-items:center;gap:8px}
.lc-legend i{display:inline-block}
.lc-legend__bead{width:12px;height:12px;border-radius:50%;border:2px solid #e2ebe6}
.lc-legend__dia{width:11px;height:11px;background:#6bb68f;transform:rotate(45deg)}
.lc-legend__par{width:2px;height:14px;border-left:2px dashed #c98a2b}
.lc-chart-read{position:absolute;left:40px;right:32px;bottom:14px;font:13px/1.5 var(--gft-font-mono);color:#c4d8cc;min-height:1.5em}
.lc-error{position:absolute;z-index:3;left:40px;right:40px;top:36px;padding:18px 20px;border:2px solid #e8b765;background:#072d2b;color:#fff;font-size:17px}
.lc-bench__b{background:var(--lc-night);padding:56px 0 52px;border-top:1px solid #6bb68f33}
.lc-xr__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 56px;align-items:end}
.lc-xr__head .lc-kick{grid-column:1/-1;color:#b9cfc2}
.lc-xr__head h3{font-size:clamp(1.8rem,2.6vw,2.5rem);color:#fff}
.lc-xr__head p{color:#d0e1d6}
.lc-xr__rail{position:relative;margin-top:22px;padding:58px 0 62px}
.lc-xr__track{position:relative;display:block;height:6px;background:#2d6b62}
.lc-xr__fill{position:absolute;inset:0;background:#6bb68f;transform-origin:0 50%;transform:scaleX(var(--cur))}
.lc-xr__cf{position:absolute;inset:-2px auto -2px 0;width:60px;background:linear-gradient(90deg,#fff0,#ffffff99,#fff0);opacity:0}
.lc-xr__knot{position:absolute;top:50%;left:calc(var(--par) * 100%);width:30px;height:30px;margin:-15px 0 0 -15px;transform:rotate(45deg);border:3px solid #e8b765;background:#072d2b}
.lc-xr__knot i{position:absolute;inset:-9px;border:1.5px solid #e8b765;opacity:.6}
.lc-xr__rail[data-nopar] .lc-xr__knot{display:none}
.lc-xr__dia{position:absolute;top:50%;left:calc(var(--cur) * 100%);width:34px;height:34px;margin:-17px 0 0 -17px;transform:rotate(45deg);background:#6bb68f;box-shadow:0 0 0 4px #072d2b}
.lc-xr__rail input{position:absolute;left:-12px;right:-12px;top:40px;height:44px;width:calc(100% + 24px);margin:0;opacity:0;cursor:ew-resize}
.lc-xr__rail:has(input:focus-visible) .lc-xr__track{outline:3px solid #e8b765;outline-offset:12px}
.lc-xr__lab{position:absolute;left:calc(var(--par) * 100%);top:0;transform:translateX(-50%);white-space:nowrap;font:600 26px/1.1 var(--gft-font-display);letter-spacing:-.03em;color:#e8b765}
.lc-xr__lab b{font:500 13px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;margin-right:6px}
.lc-xr__lab--cur{top:auto;bottom:6px;left:calc(var(--cur) * 100%);color:#fff}
.lc-xr__lab--cur b{color:#9fd6b5}
.lc-xr__ends{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;pointer-events:none;font:600 22px/1.1 var(--gft-font-display);color:#c4d8cc}
.lc-bench__sheet{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:40px;align-items:center;margin-top:8px}
.lc-result-table th,.lc-result-table td{border-bottom:1px solid #6bb68f33}
.lc-result-table thead th{color:#b9cfc2}
.lc-result-table tbody th{font-weight:700;font-size:17px;color:#fff}
.lc-result-table td{color:#e2ebe6}
.lc-result-table tr[data-row]:hover,.lc-result-table tr[data-row]:focus-visible{background:#6bb68f1f}
.lc-result-table caption{color:#c4d8cc}
.lc-save{display:grid;gap:8px;color:#c4d8cc;font-size:15px}
.lc-save__svg{width:100%;height:auto;overflow:visible}
.lc-save__thr{stroke:#6bb68f;stroke-width:4;stroke-dasharray:8 8}
.lc-save__bead{fill:none;stroke:#e2ebe6;stroke-width:2.4;stroke-dasharray:4 4}
.lc-save__dia{fill:none;stroke:#6bb68f;stroke-width:2.6;stroke-dasharray:5 4}
.lc-bench__note{margin-top:20px;color:#c4d8cc}
:root[data-m-go] .lc-save__lift[data-m-on]{animation-name:lc-lift;animation-duration:4.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes lc-lift{from{transform:translate(0,-10px)}to{transform:translate(70px,34px)}}
:root[data-m-go] .lc-xr__cf[data-m-on]{animation-name:lc-cf;animation-duration:5s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;animation-direction:normal}
@keyframes lc-cf{0%{transform:translateX(0);opacity:0}10%{opacity:1}50%{transform:translateX(calc(var(--cur) * 100cqw - 60px));opacity:1}58%,100%{opacity:0;transform:translateX(calc(var(--cur) * 100cqw - 60px))}}
.lc-xr__track{container-type:inline-size}
:root[data-m-go] .lc-xr__knot i[data-m-on]{animation-name:lc-knotpulse;animation-duration:2.4s;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-direction:normal}
@keyframes lc-knotpulse{from{transform:scale(.7);opacity:.9}to{transform:scale(1.5);opacity:.2}}
/* entrance "reed": the comb draws in, the dumbbells pick in from the left, the figure blank-rolls */
:root[data-m-go] .lc-bench:not([data-lc-in]) .lc-ch__grid{transform:scaleY(.18)}
:root[data-m-go] .lc-bench:not([data-lc-in]) .lc-ch__row{transform:translateX(-70px);opacity:.2}
:root[data-m-go] .lc-bench:not([data-lc-in]) :is(.lc-result,.lc-presets,.lc-cards,.lc-assume){opacity:.35;transform:translateY(16px)}
:root[data-m-go] .lc-bench[data-lc-in]:not([data-lc-done]) .lc-ch__grid{animation-name:lc-comb;animation-duration:420ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:calc(var(--i) * 34ms)}
:root[data-m-go] .lc-bench[data-lc-in]:not([data-lc-done]) .lc-ch__row{animation-name:lc-pick;animation-duration:560ms;animation-timing-function:cubic-bezier(.2,.9,.25,1);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:calc(330ms + var(--i) * 110ms)}
:root[data-m-go] .lc-bench[data-lc-in]:not([data-lc-done]) :is(.lc-result,.lc-presets,.lc-cards,.lc-assume){animation-name:lc-rise;animation-duration:560ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .lc-bench[data-lc-in]:not([data-lc-done]) .lc-cards{animation-delay:80ms}
:root[data-m-go] .lc-bench[data-lc-in]:not([data-lc-done]) .lc-assume{animation-delay:160ms}
:root[data-m-go] .lc-bench[data-lc-in]:not([data-lc-done]) .lc-result{animation-delay:120ms}
@keyframes lc-pick{from{transform:translateX(-70px);opacity:.2}}
:root[data-m-go] .lc-bench__b:not([data-lc-in]) .lc-xr__track{clip-path:inset(0 70% 0 0)}
:root[data-m-go] .lc-bench__b:not([data-lc-in]) :is(.lc-xr__dia,.lc-xr__knot,.lc-xr__lab){opacity:.2}
:root[data-m-go] .lc-bench__b[data-lc-in]:not([data-lc-done]) .lc-xr__track{animation-name:lc-draw;animation-duration:640ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .lc-bench__b[data-lc-in]:not([data-lc-done]) :is(.lc-xr__knot,.lc-xr__dia){animation-name:lc-knotin;animation-duration:420ms;animation-timing-function:var(--lc-swing);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:380ms}
:root[data-m-go] .lc-bench__b[data-lc-in]:not([data-lc-done]) .lc-xr__lab{animation-name:lc-rise;animation-duration:420ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:560ms}
@keyframes lc-draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes lc-knotin{from{opacity:0;transform:rotate(45deg) scale(.2)}}

/* ---------------------------------------------------------------- 3 · A / B: S2 held and tested */
.lc-ab{background:var(--lc-deep);color:var(--lc-mist);padding:64px 0 72px;border-top:1px solid #6bb68f2e}
.lc-ab__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 64px;align-items:end}
.lc-ab__head h2{color:#fff;margin-top:8px}
.lc-ab__head .lc-kick{color:#b9cfc2}
.lc-ab__lead{color:#d0e1d6}
.lc-ab__seg{display:none;margin-top:20px}
.lc-ab__cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px}
.lc-ab__col{position:relative;overflow:clip;padding:20px 24px;border:1px dashed #6bb68fa6;background:#072d2b}
.lc-ab__col--b{border-style:solid;border-color:#6bb68f}
.lc-ab__tag{display:flex;align-items:center;gap:12px;font:500 13px var(--gft-font-mono);letter-spacing:.08em;color:#c4d8cc;text-transform:uppercase}
.lc-ab__tag b{display:grid;place-items:center;width:34px;height:34px;border:1.5px dashed #9fd6b5;color:#fff;font:700 17px var(--gft-font-display)}
.lc-ab__col--b .lc-ab__tag b{border-style:solid;background:#6bb68f;color:#072d2b}
.lc-ab__fig{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:6px}
.lc-ab__fig output{font-size:clamp(2.8rem,4.4vw,4rem);font-weight:850;letter-spacing:-.06em;line-height:1.1;color:#fff}
.lc-ab__fig small{font:15px var(--gft-font-mono);color:#c4d8cc}
.lc-ab__line{font-size:16px;color:#d0e1d6}
.lc-ab__line b{color:#fff;font-family:var(--gft-font-mono)}
.lc-ab__axis{position:relative;margin-top:30px;height:200px}
.lc-ab__lane{position:absolute;left:0;right:0;height:40px}
.lc-ab__lane--a{top:8px}.lc-ab__lane--b{top:112px}
.lc-ab__ln{position:absolute;left:-2px;top:-22px;font:700 13px var(--gft-font-mono);letter-spacing:.1em;color:#c4d8cc}
.lc-ab__track{position:absolute;left:0;right:0;top:19px;height:1px;background:#b2cdbd55}
.lc-ab__thr{position:absolute;top:17px;height:6px;left:calc(var(--n) * 1%);width:calc((var(--e) - var(--n)) * 1%);background:#6bb68f}
.lc-ab__lane--a .lc-ab__thr{background:repeating-linear-gradient(90deg,#6bb68f 0 10px,transparent 10px 18px)}
.lc-ab__bead{position:absolute;top:8px;left:calc(var(--n) * 1%);width:24px;height:24px;margin-left:-12px;border-radius:50%;border:2.5px solid #e2ebe6;background:#05302d}
.lc-ab__lane--a .lc-ab__bead{border-style:dashed}
.lc-ab__dia{position:absolute;top:5px;left:calc(var(--e) * 1%);width:30px;height:30px;margin-left:-15px;transform:rotate(45deg) scale(.8);background:#6bb68f}
.lc-ab__lane--a .lc-ab__dia{background:transparent;border:2.5px dashed #9fd6b5}
.lc-ab__kh{position:absolute;top:9px;left:calc(var(--k) * 1%);width:22px;height:22px;margin-left:-11px;transform:rotate(45deg);border:2.5px solid #c98a2b}
.lc-ab__lane--b .lc-ab__kh{background:#c98a2b}
.lc-ab__lane[data-empty]{opacity:.25}
.lc-ab__delta{position:absolute;left:0;right:0;top:48px;height:64px}
.lc-ab__dbar{position:absolute;top:26px;height:12px;left:calc(min(var(--a),var(--b)) * 1%);width:calc(max(var(--a) - var(--b),var(--b) - var(--a)) * 1% + 2px);background:#e8b765}
.lc-ab__dbar i{position:absolute;inset:-4px;background:#e8b76555}
.lc-ab__dl{position:absolute;top:0;bottom:0;width:0;border-left:2px dotted #e8b765}
.lc-ab__dl--a{left:calc(var(--a) * 1%)}.lc-ab__dl--b{left:calc(var(--b) * 1%)}
.lc-ab__scale{position:absolute;left:0;right:0;bottom:0;height:24px;border-top:1px solid #6bb68f80}
.lc-ab__scale span{position:absolute;top:6px;left:calc(var(--p) * 1%);transform:translateX(-50%);font:13px var(--gft-font-mono);color:#c4d8cc}
.lc-ab__scale span:first-child{transform:none}.lc-ab__scale span:last-child{transform:translateX(-100%)}
.lc-ab__ghosts{position:relative;height:66px;margin-top:6px}
.lc-ghost{position:absolute;top:0;left:calc(var(--p) * 1%);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;min-height:44px;padding:0 6px;background:transparent;border:0;color:#e2ebe6;font-size:14px;white-space:nowrap}
.lc-ghost i{display:block;width:2px;height:20px;background:#e8b765}
.lc-ghost b{font-family:var(--gft-font-mono);color:#fff}
.lc-ghost:hover span,.lc-ghost:focus-visible span{text-decoration:underline}
.lc-ghost:not(.lc-ghost--eq){transform:translateX(-100%)}.lc-ghost:not(.lc-ghost--eq) i{align-self:flex-end}
.lc-ghost--eq{transform:none}.lc-ghost--eq i{align-self:flex-start}
.lc-ab__read{font-size:20px;line-height:1.45;color:#fff;border-left:3px solid #e8b765;padding-left:14px;margin-top:8px;min-height:2.9em}
.lc-ab__foot{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:40px;margin-top:28px;align-items:start}
.lc-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lc-actions button{min-height:48px;padding:8px 14px;border:1px solid #6bb68f;background:transparent;color:#fff;font-size:15px;text-align:left}
.lc-actions button:first-child{background:#6bb68f;color:#072d2b;font-weight:700}
.lc-actions button:hover{background:#6bb68f33}.lc-actions button:first-child:hover{background:#9fd6b5}
.lc-ab__act .lc-note{color:#c4d8cc;min-height:1.7em;margin-top:8px}
.lc-link{display:grid;gap:6px;font:13px var(--gft-font-mono);color:#c4d8cc}
.lc-link input{min-height:44px;padding:8px;background:#072d2b;border:1px solid #6bb68f;color:#fff;font:13px var(--gft-font-mono)}
.lc-ab__sheet th,.lc-ab__sheet td{border-bottom:1px solid #6bb68f33;color:#e2ebe6}
.lc-ab__sheet tbody th{font-weight:600;font-size:16px}
.lc-ab__sheet caption{color:#c4d8cc}
.lc-ab__sheet .lc-compare-result th,.lc-ab__sheet .lc-compare-result td{color:#fff;font-weight:700}
:root[data-m-go] .lc-ghost i[data-m-on]{animation-name:lc-shimmer;animation-duration:8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:normal}
:root[data-m-go] .lc-ghost--eq i[data-m-on]{animation-delay:-4s}
@keyframes lc-shimmer{0%,86%,100%{opacity:.55}92%{opacity:1}}
/* entrance "twill-shift": A on one diagonal, B on the other, each inside its own box; the delta wipes after the heading */
:root[data-m-go] .lc-ab:not([data-lc-in]) .lc-ab__col--a>*{transform:translate(-36px,26px);opacity:.25}
:root[data-m-go] .lc-ab:not([data-lc-in]) .lc-ab__col--b>*{transform:translate(36px,-26px);opacity:.25}
:root[data-m-go] .lc-ab:not([data-lc-in]) .lc-ab__axis{clip-path:inset(0 76% 0 0)}
:root[data-m-go] .lc-ab:not([data-lc-in]) :is(.lc-ab__ghosts,.lc-ab__read){opacity:.3}
:root[data-m-go] .lc-ab[data-lc-in]:not([data-lc-done]) .lc-ab__col>*{animation-name:lc-twa;animation-duration:620ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .lc-ab[data-lc-in]:not([data-lc-done]) .lc-ab__col--b>*{animation-name:lc-twb;animation-delay:90ms}
:root[data-m-go] .lc-ab[data-lc-in]:not([data-lc-done]) .lc-ab__col>:nth-child(2){animation-delay:70ms}
:root[data-m-go] .lc-ab[data-lc-in]:not([data-lc-done]) .lc-ab__col--b>:nth-child(2){animation-delay:160ms}
:root[data-m-go] .lc-ab[data-lc-in]:not([data-lc-done]) .lc-ab__axis{animation-name:lc-draw;animation-duration:520ms;animation-timing-function:cubic-bezier(.6,0,.2,1);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:380ms}
:root[data-m-go] .lc-ab[data-lc-in]:not([data-lc-done]) :is(.lc-ab__ghosts,.lc-ab__read){animation-name:lc-fade;animation-duration:360ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:620ms}
@keyframes lc-twa{from{transform:translate(-36px,26px);opacity:.25}}
@keyframes lc-twb{from{transform:translate(36px,-26px);opacity:.25}}

/* ---------------------------------------------------------------- 4 · method: S3 unspun (sticky, five steps) */
.lc-method{background:var(--lc-paper);color:var(--lc-ink);padding:0;timeline-scope:--lc-ms}
.lc-method__pin{position:sticky;top:48px;height:calc(100svh - 48px);z-index:1;overflow:clip}
.lc-mstage{position:absolute;inset:0;background:#0e4d4a;background-image:linear-gradient(#b4d4c512 1px,transparent 1px),linear-gradient(90deg,#b4d4c512 1px,transparent 1px);background-size:48px 48px;color:var(--lc-mist);clip-path:inset(0 0 0 42%)}
.lc-mstage:is([data-st="2"],[data-st="3"],[data-st="4"]){clip-path:inset(0 0 0 0)}
.lc-ms__svg{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.lc-ms__lane{stroke:#b2cdbd;stroke-opacity:.3;stroke-width:1.4}
.lc-ms__axis{stroke:#c4d8cc;stroke-opacity:.6;stroke-width:1.4}
.lc-ms__lab{fill:#c4d8cc;font:16px var(--gft-font-mono)}
.lc-ms__name{fill:#e2ebe6;font:700 17px var(--gft-font-display);letter-spacing:.14em}
.lc-ms__bar--c{fill:#6bb68f}.lc-ms__bar--k{fill:#c98a2b}
.lc-ms__t{fill:#9fd6b5;opacity:0;transform:translateX(calc(640px + var(--i) * var(--bwc) / 208)) scaleX(.5)}
.lc-ms__scan{fill:#fff;opacity:0}
.lc-ms__thr{stroke-width:7;stroke-linecap:round;transform-box:fill-box;transform-origin:0 50%;transform:scaleX(0)}
.lc-ms__thr--c{stroke:#6bb68f}.lc-ms__thr--k{stroke:#c98a2b}
.lc-ms__bead{fill:#0e4d4a;stroke:#e2ebe6;stroke-width:3;opacity:0}
.lc-ms__bead--c{transform:translate(var(--cn),-70px)}.lc-ms__bead--k{transform:translate(var(--kn),-70px)}
.lc-ms__dia{opacity:0}
.lc-ms__dia--c{fill:#6bb68f;transform:translateX(var(--cn))}.lc-ms__dia--k{fill:#c98a2b;transform:translateX(var(--kn))}
.lc-ms__str{stroke-width:2;transform-box:fill-box;transform-origin:0 50%;transform:scaleX(0)}
.lc-ms__str--c{stroke:#9fd6b5}.lc-ms__str--k{stroke:#e8b765}
.lc-ms__g{opacity:0}
.lc-ms__g--c{fill:#6bb68f;transform:translateX(var(--ce))}.lc-ms__g--k{fill:#c98a2b;transform:translateX(var(--ke))}
.lc-ms__skel [data-ms-tick]{opacity:0}
.lc-ms__wage{opacity:1}
/* state per step: only the changed marks move, out then in */
.lc-mstage[data-st="1"] .lc-ms__wage{opacity:.16}
.lc-mstage:is([data-st="2"],[data-st="3"],[data-st="4"]) .lc-ms__wage{opacity:0}
.lc-mstage[data-st="1"] .lc-ms__t{opacity:.85}
.lc-mstage[data-st="2"] .lc-ms__t{opacity:.2;transform:translateX(calc(600px + var(--i) * 3.77px))}
.lc-mstage[data-st="2"] .lc-ms__t[data-on]{opacity:1}
.lc-mstage[data-st="3"] .lc-ms__t{opacity:.05;transform:translateX(calc(600px + var(--i) * 3.77px))}
.lc-mstage[data-st="3"] .lc-ms__t[data-on]{opacity:.9;transform:translateX(calc(640px + var(--i) * 2.4px))}
.lc-mstage[data-st="4"] .lc-ms__t{opacity:0;transform:translateX(calc(640px + var(--i) * 2.4px))}
.lc-mstage:is([data-st="1"],[data-st="2"],[data-st="3"]) .lc-ms__skel [data-ms-tick]{opacity:1}
.lc-mstage:is([data-st="1"],[data-st="2"],[data-st="3"]) .lc-ms__bead--c{opacity:1;transform:translate(var(--cn),0)}
.lc-mstage[data-st="4"] .lc-ms__bead--c{opacity:.3;transform:translate(var(--cn),0)}
.lc-mstage[data-st="3"] .lc-ms__bead--k{opacity:1;transform:translate(var(--kn),0)}
.lc-mstage[data-st="4"] .lc-ms__bead--k{opacity:.3;transform:translate(var(--kn),0)}
.lc-mstage[data-st="3"] .lc-ms__thr{transform:scaleX(1)}
.lc-mstage[data-st="4"] .lc-ms__thr{transform:scaleX(1);opacity:.25}
.lc-mstage[data-st="3"] .lc-ms__dia{opacity:1}
.lc-mstage[data-st="3"] .lc-ms__dia--c{transform:translateX(var(--ce))}.lc-mstage[data-st="3"] .lc-ms__dia--k{transform:translateX(var(--ke))}
.lc-mstage[data-st="4"] .lc-ms__dia--c{transform:translateX(var(--ce))}.lc-mstage[data-st="4"] .lc-ms__dia--k{transform:translateX(var(--ke))}
.lc-mstage[data-st="4"] .lc-ms__str{transform:scaleX(1)}
.lc-mstage[data-st="4"] .lc-ms__g{opacity:1}
.lc-mstage[data-st="4"] .lc-ms__g--c{transform:translateX(calc(640px + (var(--k) + .5) * var(--pc)))}
.lc-mstage[data-st="4"] .lc-ms__g--k{transform:translateX(calc(640px + (var(--k) + .5) * var(--pk)))}
:root[data-m-go] .lc-mstage{transition:clip-path 900ms cubic-bezier(.65,0,.25,1)}
:root[data-m-go] .lc-ms__wage,:root[data-m-go] .lc-ms__skel [data-ms-tick]{transition:opacity 420ms ease}
:root[data-m-go] .lc-ms__t{transition:transform 760ms var(--lc-out) calc(var(--i) * 1.6ms),opacity 420ms ease calc(var(--i) * 1.6ms)}
:root[data-m-go] :is(.lc-ms__bead,.lc-ms__dia){transition:transform 700ms var(--lc-out) 160ms,opacity 380ms ease 160ms}
:root[data-m-go] .lc-ms__thr{transition:transform 760ms cubic-bezier(.55,0,.2,1) 260ms,opacity 380ms ease}
:root[data-m-go] .lc-ms__str{transition:transform 620ms var(--lc-out) 200ms}
:root[data-m-go] .lc-ms__g{transition:transform 640ms var(--lc-out) calc(240ms + var(--k) * 42ms),opacity 300ms ease calc(240ms + var(--k) * 42ms)}
:root[data-m-go] .lc-mstage:is([data-st="1"],[data-st="2"]) .lc-ms__scan[data-m-on]{animation-name:lc-scanx;animation-duration:5.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes lc-scanx{0%{transform:translateX(600px);opacity:0}8%{opacity:.75}88%{opacity:.75}100%{transform:translateX(1380px);opacity:0}}
.lc-ms__hud{position:absolute;inset:0;pointer-events:none}
.lc-ms__hud>*{pointer-events:auto}
.lc-ms__top{position:absolute;top:26px;left:calc(42% + 40px);right:40px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.lc-ms__top .lc-kick{color:#c4d8cc;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lc-ms__top .lc-seg{flex:none;flex-wrap:nowrap}
.lc-ms__top output{color:#fff}
.lc-ms__figs{position:absolute;top:74px;left:calc(42% + 40px);right:40px;height:82px}
.lc-ms__fig{position:absolute;inset:0;opacity:0}
.lc-ms__big{display:flex;align-items:baseline;gap:14px}
.lc-ms__big b{font-size:64px;font-weight:850;letter-spacing:-.06em;line-height:1.1;color:#fff}
.lc-ms__big small{font:16px var(--gft-font-mono);color:#c4d8cc}
.lc-ms__formula{position:absolute;top:160px;left:calc(42% + 40px);right:40px;font:15px/1.5 var(--gft-font-mono);color:#e2ebe6}
.lc-ms__caps{position:absolute;top:194px;left:calc(42% + 40px);right:40px;height:56px}
.lc-ms__caps p{position:absolute;inset:0;opacity:0;font-size:17px;line-height:1.5;color:#d0e1d6}
.lc-ms__caps b{color:#fff;font-family:var(--gft-font-mono)}
.lc-mstage[data-st="0"] :is([data-fig="0"],[data-cap="0"]),.lc-mstage[data-st="1"] :is([data-fig="1"],[data-cap="1"]),.lc-mstage[data-st="2"] :is([data-fig="2"],[data-cap="2"]),.lc-mstage[data-st="3"] :is([data-fig="3"],[data-cap="3"]),.lc-mstage[data-st="4"] :is([data-fig="4"],[data-cap="4"]){opacity:1;transform:none}
:root[data-m-go] .lc-ms__fig{transition:opacity 320ms ease}
:root[data-m-go] .lc-mstage:is([data-st="0"],[data-st="1"],[data-st="2"],[data-st="3"],[data-st="4"]) :is(.lc-ms__fig,.lc-ms__caps p){transition-delay:0ms}
:root[data-m-go] .lc-ms__caps p{transition:opacity 300ms ease}
.lc-ms__knots{position:absolute;left:calc(42% + 40px);right:40px;top:300px;display:flex;justify-content:space-between;list-style:none;margin:0;padding:12px 0 0;border-top:2px solid #9fd6b5;opacity:0}
.lc-ms__knots li{display:grid;gap:2px;justify-items:center;position:relative;padding-top:12px;transform:translateY(16px)}
.lc-ms__knots li::before{content:'';position:absolute;top:-21px;width:16px;height:16px;border-radius:50%;background:#0e4d4a;border:3px solid #e8b765}
.lc-ms__knots span{font:13px var(--gft-font-mono);letter-spacing:.06em;color:#c4d8cc}
.lc-ms__knots b{font-size:24px;font-weight:800;color:#fff;letter-spacing:-.03em}
.lc-mstage[data-st="4"] .lc-ms__knots{opacity:1}
.lc-mstage[data-st="4"] .lc-ms__knots li{transform:none}
.lc-mstage[data-st="4"] .lc-ms__skel :is(.lc-ms__axis){opacity:.3}
:root[data-m-go] .lc-ms__knots{transition:opacity 400ms ease 300ms}
:root[data-m-go] .lc-ms__knots li{transition:transform 520ms var(--lc-swing) calc(400ms + var(--k) * 80ms)}
.lc-ms__rail{position:absolute;left:calc(42% + 40px);right:40px;bottom:22px;display:flex;align-items:center;gap:10px}
.lc-ms__prog{position:absolute;left:0;right:0;top:-12px;height:3px;background:#b2cdbd33}
.lc-ms__progfill{position:absolute;inset:0;background:#e8b765;transform-origin:0 50%;transform:scaleX(.2)}
.lc-ms__nav,.lc-ms__dots button,.lc-ms__play{min-height:44px;min-width:44px;border:1px solid #9fd6b580;background:#072d2b;color:#fff;font-size:16px}
.lc-ms__dots{display:flex;gap:6px}
.lc-ms__dots button{font:13px var(--gft-font-mono)}
.lc-ms__dots button[aria-current]{background:#9fd6b5;color:#072d2b;font-weight:700}
.lc-ms__n{margin-left:6px;font:15px var(--gft-font-mono);color:#c4d8cc}
.lc-ms__n output{color:#fff}
.lc-ms__play{margin-left:auto;padding:0 18px;font-size:15px}
@supports (animation-timeline:view()){
 :root[data-m-go] .lc-ms__progfill{animation-name:lc-prog;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--lc-ms;animation-range-start:contain 0%;animation-range-end:contain 100%}
}
@keyframes lc-prog{from{transform:scaleX(.02)}to{transform:scaleX(1)}}
.lc-method__steps{position:relative;z-index:2;list-style:none;margin:calc(-1 * (100svh - 48px)) 0 0;padding:0;pointer-events:none;view-timeline-name:--lc-ms;view-timeline-axis:block}
.lc-mstep{min-height:calc(100svh - 48px);display:flex;align-items:center;padding:40px 0 40px var(--lc-gut)}
.lc-mstep:nth-child(n+3){align-items:flex-end;padding-bottom:96px}
.lc-mstep:last-child{min-height:110svh}
.lc-mcard{pointer-events:auto;width:min(520px,calc(42vw - 88px));background:var(--lc-paper);color:var(--lc-ink);padding:28px 30px 26px;border:1px solid #c9d3cb}
.lc-mstep:nth-child(n+3) .lc-mcard{box-shadow:0 24px 70px #021a1999;border-color:#f6f4ef}
.lc-mcard .lc-kick{color:#2a6e50}
.lc-mcard h2{font-size:clamp(2.1rem,3.1vw,3rem);margin:8px 0 10px}
.lc-mcard__lede{color:#33504a;margin-bottom:16px}
.lc-mcard__no{font:700 44px/1 var(--gft-font-display);letter-spacing:-.05em;color:#2a6e50;margin-bottom:8px;position:relative;display:inline-block}
.lc-mcard__no span{font:500 13px var(--gft-font-mono);letter-spacing:.08em;color:#4d665f}
.lc-mcard__no::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:3px;background:#c98a2b;transform-origin:0 50%}
.lc-mcard h3{margin-bottom:8px}
.lc-mcard p:not(.lc-kick,.lc-mcard__no){font-size:17px;line-height:1.6}
.lc-mcard code{display:block;margin-top:14px;padding:10px 12px;background:#e7ece6;font:14px/1.5 var(--gft-font-mono);color:#0b2a28}
/* entrance "unspool": the wage bar unspools from the left, the step number lands, its underline draws */
:root[data-m-go] .lc-method:not([data-lc-in]) .lc-ms__bar{clip-path:inset(0 82% 0 0)}
:root[data-m-go] .lc-method:not([data-lc-in]) .lc-mstep:first-child .lc-mcard{opacity:.4;transform:translateX(-24px)}
:root[data-m-go] .lc-method:not([data-lc-in]) .lc-mcard__no::after{transform:scaleX(0)}
:root[data-m-go] .lc-method:not([data-lc-in]) .lc-ms__fig[data-fig="0"]{opacity:.2}
:root[data-m-go] .lc-method[data-lc-in]:not([data-lc-done]) .lc-ms__bar{animation-name:lc-draw;animation-duration:760ms;animation-timing-function:cubic-bezier(.6,0,.25,1);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:180ms}
:root[data-m-go] .lc-method[data-lc-in]:not([data-lc-done]) .lc-ms__bar--k{animation-delay:300ms}
:root[data-m-go] .lc-method[data-lc-in]:not([data-lc-done]) .lc-mstep:first-child .lc-mcard{animation-name:lc-unsp;animation-duration:600ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .lc-method[data-lc-in]:not([data-lc-done]) .lc-mcard__no::after{animation-name:lc-spin;animation-duration:520ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:420ms}
:root[data-m-go] .lc-method[data-lc-in]:not([data-lc-done]) .lc-ms__fig[data-fig="0"]{animation-name:lc-rise;animation-duration:520ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:260ms}
@keyframes lc-unsp{from{opacity:.4;transform:translateX(-24px);clip-path:inset(0 60% 0 0)}to{clip-path:inset(0 0 0 0)}}

/* ---------------------------------------------------------------- 5 · provenance: S4 knotted */
.lc-prov{background:#072d2b;color:var(--lc-mist);padding:0}
.lc-prov__band{background:#0e4d4a;color:var(--lc-mist);padding:64px 0 48px;background-image:linear-gradient(90deg,#b4d4c50d 1px,transparent 1px);background-size:96px 100%;border-bottom:1px solid #6bb68f33}
.lc-prov__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:end}
.lc-prov__head .lc-kick{color:#c4d8cc}
.lc-prov__head h2{color:#fff;margin-top:8px}
.lc-prov__sub{font:italic clamp(1.4rem,2vw,2rem)/1.25 var(--gft-font-serif);color:#9fd6b5;margin-top:6px}
.lc-prov__method{color:#d0e1d6}
.lc-knots{position:relative;height:200px;margin-top:40px}
.lc-knots__thread{position:absolute;left:-48px;right:-48px;top:36px;width:calc(100% + 96px);height:40px;max-width:none}
.lc-knots__path{fill:none;stroke:#9fd6b5;stroke-width:3;vector-effect:non-scaling-stroke}
.lc-knot{position:absolute;top:0;left:calc(10% + var(--k) * 20%);transform:translateX(-50%);display:grid;justify-items:center;gap:4px;width:19%;min-height:44px;padding:0 0 8px;background:transparent;border:0;color:#fff;text-align:center}
.lc-knot__tie{position:relative;display:block;width:44px;height:44px;margin:34px 0 6px;border-radius:50%;background:#0e4d4a;border:4px solid #e8b765}
.lc-knot__tie::before{content:'';position:absolute;inset:8px;border-radius:50%;border:2px solid #e8b765}
.lc-knot__tie i{position:absolute;inset:-10px;border-radius:50%;border:2px solid #e8b765;opacity:.18}
.lc-knot__n{font:13px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#c4d8cc}
.lc-knot__v{font-size:clamp(1.8rem,2.8vw,2.6rem);font-weight:850;letter-spacing:-.05em;line-height:1.1}
.lc-knot__u{font:13px var(--gft-font-mono);color:#c4d8cc}
.lc-knot[aria-pressed=true] .lc-knot__tie{background:#e8b765}
.lc-knot[aria-pressed=true] .lc-knot__v{color:#e8b765}
.lc-knot:hover .lc-knot__v{text-decoration:underline;text-decoration-thickness:2px}
:root[data-m-go] .lc-knot:is([data-hot],[aria-pressed=true]) .lc-knot__tie i[data-m-on]{animation-name:lc-knotpulse;animation-duration:1.8s;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-direction:normal}
.lc-knot-read{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;margin-top:22px;padding:14px 0;border-block:1px solid #9fd6b540}
.lc-knot-read p{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.lc-knot-read .lc-kick{color:#e8b765}
.lc-knot-read b{font:600 22px/1.4 var(--gft-font-mono);color:#fff}
.lc-knot-open{min-height:44px;padding:8px 16px;border:1px solid #9fd6b5;background:transparent;color:#fff;font-size:15px}
.lc-prov__notes{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:26px;align-items:start;max-width:none}
.lc-prov__src{color:#d0e1d6;font-size:16px}
.lc-prov__src .lc-kick{color:#c4d8cc}
.lc-prov__adv{margin-top:8px;font-size:15px;color:#c4d8cc}
.lc-limits{border-top:1px solid #9fd6b555;color:#d0e1d6}
.lc-limits summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer;color:#fff}
.lc-limits p{font-size:15px;margin-top:8px}
.lc-prov__ledger{background:#08322f;color:var(--lc-mist);padding:36px 0 40px}
.lc-prov__grid{display:grid;grid-template-columns:minmax(0,7.5fr) minmax(320px,4.5fr);gap:28px;align-items:start}
.lc-prov__dialbox{grid-column:2;grid-row:1;position:sticky;top:68px;margin-top:0;display:grid;gap:16px;align-self:start;z-index:2}
.lc-prov__loomcard{background:#052624;border:1px solid #6bb68f55;padding:18px 20px;display:grid;gap:14px}
.lc-prov__loomhead{display:grid;gap:2px}
.lc-prov__loomhead .lc-kick{color:#9fd6b5}
.lc-prov__loomhead h4{color:#fff;font-size:18px;letter-spacing:-.02em;margin:0}
.lc-prov__loomtop{display:grid;grid-template-columns:156px minmax(0,1fr);gap:16px;align-items:center}
.lc-dial{width:156px;background:#072d2b;border-radius:50%;padding:6px;border:1px solid #6bb68f44;box-shadow:none}
.lc-dial svg{width:100%;height:auto;display:block}
.lc-dial [data-dial-seg][data-kind=sourced]{stroke:#c98a2b}
.lc-dial [data-dial-seg][data-kind=illustrative]{stroke:#6bb68f}
.lc-dial [data-dial-seg][data-off]{stroke-opacity:.16}
.lc-dial [data-dial-seg][data-hot]{stroke:#fff}
.lc-dial__core{fill:#0e4d4a}
.lc-dial__n{fill:#fff;font:850 56px var(--gft-font-display);letter-spacing:-.04em}
.lc-dial__l{fill:#e2ebe6;font:15px var(--gft-font-mono)}
.lc-miniloom{margin:0;background:#072d2b;border:1px solid #6bb68f33;padding:8px 10px}
.lc-miniloom .lc-kick{color:#9fd6b5;margin-bottom:4px;display:block}
.lc-miniloom svg{width:100%;height:auto;display:block}
.lc-ml__weft{stroke:#9fd6b5;stroke-opacity:.32;stroke-width:1.4;stroke-dasharray:3 4}
.lc-ml__khead{fill:#072d2b;stroke:#9fd6b5;stroke-width:2}
.lc-ml__warp{stroke:#6bb68f;stroke-opacity:.35;stroke-width:1.4}
.lc-ml__row[data-kind=sourced] .lc-ml__warp{stroke:#c98a2b;stroke-opacity:.5}
.lc-ml__bead{fill:#052624;stroke:#6bb68f;stroke-width:2}
.lc-ml__row[data-kind=sourced] .lc-ml__bead{fill:#c98a2b;stroke:#e8b765}
.lc-ml__node{fill:#072d2b;stroke:#6bb68f;stroke-width:2}
.lc-ml__lab,.lc-ml__klab{fill:#c4d8cc;font:500 12px var(--gft-font-mono);letter-spacing:.05em}
.lc-ml__row[data-hot] .lc-ml__warp{stroke:#e8b765;stroke-opacity:1;stroke-width:2.6}
.lc-ml__row[data-hot] :is(.lc-ml__bead,.lc-ml__node){stroke:#fff;fill:#e8b765}
.lc-ml__row[data-hot] .lc-ml__lab{fill:#fff;font-weight:700}
.lc-ml__knot[data-hot] .lc-ml__weft{stroke:#e8b765;stroke-opacity:.9;stroke-dasharray:none;stroke-width:2.2}
.lc-ml__knot[data-hot] .lc-ml__khead{fill:#e8b765;stroke:#fff}
.lc-ml__knot[data-hot] .lc-ml__klab{fill:#e8b765;font-weight:700}
.lc-seg--pill{border-color:#6bb68f80}
.lc-pill__n{font-style:normal;font-weight:700}
.lc-reg{grid-column:1;grid-row:1;min-width:0}
.lc-reg__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px 32px;align-items:end;margin-bottom:12px}
.lc-reg__head h3{color:#fff}
.lc-reg__head p{color:#d0e1d6;font-size:15px}
.lc-reg__filters{margin-bottom:14px}
.lc-reg__table{position:relative}
.lc-reg__table th,.lc-reg__table td{height:42px;padding:7px 12px 7px 0;white-space:nowrap;border-bottom:1px solid #6bb68f2e;color:#e2ebe6}
.lc-reg__table td:nth-child(2){white-space:normal;font-size:14px;line-height:1.35;color:#d0e1d6}
.lc-reg__table thead th{color:#9fd6b5;height:36px}
.lc-reg__table tbody th{font-weight:650;font-size:15px;color:#fff}
.lc-reg__table tbody tr{cursor:pointer}
.lc-reg__table tbody tr:hover,.lc-reg__table tbody tr[aria-selected=true]{background:#0e4d4a}
.lc-reg__table tbody tr[aria-selected=true] th{box-shadow:inset 4px 0 0 #e8b765}
.lc-reg__table tr[data-off]{opacity:.28}
.lc-reg__no{display:inline-block;width:32px;padding-left:10px;font:13px var(--gft-font-mono);color:#9fd6b5}
.lc-status{display:inline-flex;align-items:center;gap:8px;font:13px var(--gft-font-mono);color:#e2ebe6}
.lc-status i{width:10px;height:10px;border:2px solid #6bb68f;border-radius:50%}
.lc-status[data-kind=sourced] i{border-radius:0;transform:rotate(45deg);background:#c98a2b;border-color:#c98a2b}
.lc-status[data-kind=derived] i{border-radius:0;transform:rotate(45deg);background:transparent;border-color:#e8b765}
.lc-feeds{font:13px var(--gft-font-mono);color:#9fd6b5}
.lc-jump{white-space:nowrap;min-height:34px;padding:4px 10px;border:1px solid #6bb68f99;background:#072d2b;color:#e2ebe6;font:13px var(--gft-font-mono)}
.lc-jump:hover{background:#6bb68f22;border-color:#9fd6b5}
.lc-jump--tag{display:inline-flex;align-items:center;border-style:dashed;color:#e8b765;border-color:#e8b76566;background:transparent}
.lc-reg .lc-table-wrap{position:relative}
.lc-reg .lc-table-wrap::after{content:'';position:absolute;left:0;right:0;top:37px;height:42px;background:#c98a2b1f;border-left:3px solid #c98a2b;pointer-events:none;opacity:0}
:root[data-m-go] .lc-reg .lc-table-wrap[data-m-on]::after{animation-name:lc-regscan;animation-duration:40s;animation-timing-function:steps(1,end);animation-iteration-count:infinite;animation-direction:normal}
.lc-reg .lc-table-wrap:hover::after{visibility:hidden}
@keyframes lc-regscan{0%{transform:translateY(0);opacity:1}12.5%{transform:translateY(42px)}25%{transform:translateY(84px)}37.5%{transform:translateY(126px)}50%{transform:translateY(168px)}62.5%{transform:translateY(210px)}75%{transform:translateY(252px)}87.5%{transform:translateY(294px)}100%{transform:translateY(294px);opacity:1}}
.lc-srcs{align-self:start;display:grid}
.lc-srcs>.lc-src{grid-area:1/1}
.lc-src:not([data-on]){visibility:hidden}
.lc-src{border:1px solid #6bb68f66;background:#052624;color:#e2ebe6;padding:18px 20px;font-size:15px}
.lc-src .lc-kick{color:#e8b765}
.lc-src h4{color:#fff;font-size:18px;letter-spacing:-.02em;margin:4px 0 6px}
.lc-src p{color:#d0e1d6}
.lc-src__cite{display:flex;align-items:center;gap:10px;margin-top:10px;font:13px var(--gft-font-mono);color:#c4d8cc}
.lc-src__feeds{margin-top:8px;font:13px var(--gft-font-mono);color:#9fd6b5}
.lc-prov__bridge{margin-top:24px;padding-top:14px;border-top:1px solid #6bb68f33;display:grid;gap:6px;justify-items:center;text-align:center}
.lc-prov__bridge svg{width:min(680px,100%);height:28px;display:block}
.lc-prov__bthreads,.lc-prov__bweft{fill:none;stroke:#9fd6b5;stroke-width:2;vector-effect:non-scaling-stroke}
.lc-prov__bridge .lc-kick{color:#9fd6b5}
/* entrance "knot": the five knots tie onto the thread one by one, then the rows stagger in */
:root[data-m-go] .lc-prov:not([data-lc-in]) .lc-knots__thread{clip-path:inset(0 70% 0 0)}
:root[data-m-go] .lc-prov:not([data-lc-in]) .lc-knot{opacity:.25}
:root[data-m-go] .lc-prov:not([data-lc-in]) .lc-knot__tie{transform:translateY(-26px) scale(.5)}
:root[data-m-go] .lc-prov[data-lc-in]:not([data-lc-done]) .lc-knots__thread{animation-name:lc-draw;animation-duration:620ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .lc-prov[data-lc-in]:not([data-lc-done]) .lc-knot{animation-name:lc-fade;animation-duration:380ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:calc(160ms + var(--k) * 80ms)}
:root[data-m-go] .lc-prov[data-lc-in]:not([data-lc-done]) .lc-knot__tie{animation-name:lc-tie;animation-duration:520ms;animation-timing-function:var(--lc-swing);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:calc(160ms + var(--k) * 80ms)}
@keyframes lc-tie{from{transform:translateY(-26px) scale(.5)}}
:root[data-m-go] .lc-prov__ledger:not([data-lc-in]) tbody tr{opacity:.3;transform:translateX(-18px)}
:root[data-m-go] .lc-prov__ledger:not([data-lc-in]) .lc-dial{transform:rotate(-30deg) scale(.9)}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) tbody tr{animation-name:lc-row;animation-duration:460ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) tbody tr:nth-child(2){animation-delay:30ms}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) tbody tr:nth-child(3){animation-delay:60ms}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) tbody tr:nth-child(4){animation-delay:90ms}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) tbody tr:nth-child(5){animation-delay:120ms}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) tbody tr:nth-child(6){animation-delay:150ms}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) tbody tr:nth-child(7){animation-delay:180ms}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) tbody tr:nth-child(8){animation-delay:210ms}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) tbody tr:nth-child(9){animation-delay:240ms}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) tbody tr:nth-child(10){animation-delay:270ms}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) tbody tr:nth-child(11){animation-delay:300ms}
:root[data-m-go] .lc-prov__ledger[data-lc-in]:not([data-lc-done]) .lc-dial{animation-name:lc-dialin;animation-duration:820ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes lc-row{from{opacity:.3;transform:translateX(-18px)}}
@keyframes lc-dialin{from{transform:rotate(-30deg) scale(.9)}}

/* ---------------------------------------------------------------- 6 · interlude: S5 woven */
.lc-loom{background:#072d2b;color:var(--lc-mist);padding:40px 0 28px;min-height:calc(100svh - 48px);isolation:isolate}
.lc-loom__iris{position:absolute;inset:0;z-index:-1;overflow:clip;background:radial-gradient(ellipse at 50% 0%,#0e4d4a 0%,#072d2b 60%)}
.lc-loom__weave{position:absolute;inset:-40px;background-image:repeating-linear-gradient(90deg,#9fd6b50d 0 2px,transparent 2px 24px),repeating-linear-gradient(0deg,#e8b76509 0 2px,transparent 2px 36px);overflow-anchor:none}
.lc-loom__head{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:20px 48px;align-items:start}
.lc-loom__head h2{font-size:clamp(2.6rem,4.4vw,4rem);color:#fff;margin-top:8px;max-width:15ch}
.lc-loom__head .lc-kick{color:#c4d8cc}
.lc-loom__ctl{display:grid;gap:8px;justify-items:end;padding-top:24px}
.lc-loom__note{font:14px/1.5 var(--gft-font-mono);color:#c4d8cc;text-align:right;max-width:32ch}
.lc-loom__lede{color:#d0e1d6;max-width:78ch;margin-top:12px}
.lc-loom__months{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:22px}
.lc-cloth{min-width:0}
.lc-cloth .lc-kick{color:#c4d8cc}
.lc-cloth__big{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.lc-cloth__big output{font-size:72px;font-weight:850;letter-spacing:-.06em;line-height:1.08;color:#fff}
.lc-cloth__big span{font:15px var(--gft-font-mono);color:#c4d8cc}
.lc-cloth__cells{position:relative;display:grid;grid-template-columns:repeat(26,minmax(0,1fr));gap:3px;margin-top:10px;overflow:clip;--cell:30px}
.lc-cloth__cells i{display:block;height:var(--cell);background:#1d4c47;border-top:1px solid #ffffff10}
.lc-cloth--sage .lc-cloth__cells i[data-on]{background:#6bb68f}
.lc-cloth--ochre .lc-cloth__cells i[data-on]{background:#c98a2b}
.lc-cloth--sage .lc-cloth__cells i[data-part]{background:linear-gradient(90deg,#6bb68f calc(var(--f) * 100%),#1d4c47 0)}
.lc-cloth--ochre .lc-cloth__cells i[data-part]{background:linear-gradient(90deg,#c98a2b calc(var(--f) * 100%),#1d4c47 0)}
.lc-loom__months[data-mode=paid] .lc-cloth__cells i{background:#5f8f86}
.lc-cloth__cells::after{content:'';position:absolute;inset:0;background:#072d2b;opacity:0;pointer-events:none}
.lc-cloth__weft{position:absolute;top:0;bottom:0;left:0;width:100%;pointer-events:none;background:linear-gradient(90deg,#fff0 0,#ffffff38 6%,#fff0 12%);transform:translateX(-14%);opacity:0}
.lc-cloth__shuttle{position:absolute;left:0;width:100%;height:var(--cell);top:calc(var(--lr) * (var(--cell) + 3px));pointer-events:none;opacity:0}
.lc-cloth__shuttle::before{content:'';position:absolute;left:0;top:50%;width:26px;height:8px;margin-top:-4px;border-radius:4px;background:#fff}
.lc-cloth__stat{margin-top:12px;font-size:16px;line-height:1.55;color:#d0e1d6}
.lc-cloth__stat b{color:#fff;font-family:var(--gft-font-mono)}
.lc-cloth__range{display:grid;gap:2px;margin-top:8px;font:13px var(--gft-font-mono);letter-spacing:.05em;color:#c4d8cc}
.lc-cloth__range span{display:flex;justify-content:space-between}
.lc-cloth__range output{color:#fff;font-weight:700}
.lc-cloth__range input{width:100%;accent-color:#6bb68f;margin:0}
.lc-cloth--ochre .lc-cloth__range input{accent-color:#c98a2b}
.lc-loom__hand{position:relative;display:flex;align-items:center;gap:20px;margin-top:22px;padding-top:18px;font-size:15px;color:#c4d8cc}
.lc-loom__rail{position:absolute;left:0;right:0;top:0;height:2px;background:#9fd6b5aa}
.lc-loom__gather{position:absolute;left:0;top:-13px;width:100%;height:28px;transform:translateX(calc(var(--cur) * 100%));pointer-events:none}
.lc-loom__gather b{position:absolute;left:-14px;top:0;width:28px;height:28px;transform:rotate(45deg) scale(.8);background:#6bb68f;box-shadow:0 0 0 5px #072d2b}
.lc-loom__hand output{color:#fff;font-weight:700}
:root[data-m-go] .lc-cloth__weft[data-m-on]{animation-name:lc-weft;animation-duration:5s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;animation-direction:normal}
:root[data-m-go] .lc-cloth--ochre .lc-cloth__weft[data-m-on]{animation-delay:-2.5s}
@keyframes lc-weft{0%{transform:translateX(-14%);opacity:1}50%,100%{transform:translateX(100%);opacity:1}}
:root[data-m-go] .lc-cloth__shuttle[data-m-on]{animation-name:lc-shuttle;animation-duration:5s;animation-timing-function:cubic-bezier(.6,0,.4,1);animation-iteration-count:infinite;animation-direction:alternate}
@keyframes lc-shuttle{from{transform:translateX(0);opacity:.9}to{transform:translateX(calc(100% - 26px));opacity:.9}}
:root[data-m-go] .lc-loom__weave[data-m-on]{animation-name:lc-weave;animation-duration:16s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes lc-weave{from{transform:translate(0,0)}to{transform:translate(24px,18px)}}
/* entrance "iris": opens from the efficiency knot behind the type, then the cells fill row by row */
:root[data-m-go] .lc-loom:not([data-lc-in]) .lc-loom__iris{clip-path:circle(22% at 50% 0%)}
:root[data-m-go] .lc-loom:not([data-lc-in]) .lc-cloth__cells i[data-on]{opacity:.22;transform:scaleY(.35)}
:root[data-m-go] .lc-loom:not([data-lc-in]) .lc-cloth__big{opacity:.3}
:root[data-m-go] .lc-loom[data-lc-in]:not([data-lc-done]) .lc-loom__iris{animation-name:lc-iris;animation-duration:820ms;animation-timing-function:cubic-bezier(.65,0,.25,1);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .lc-loom[data-lc-in]:not([data-lc-done]) .lc-cloth__cells i[data-on]{animation-name:lc-cellin;animation-duration:300ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:calc(240ms + var(--r) * 50ms)}
:root[data-m-go] .lc-loom[data-lc-in]:not([data-lc-done]) .lc-cloth__big{animation-name:lc-fade;animation-duration:300ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:200ms}
@keyframes lc-iris{from{clip-path:circle(22% at 50% 0%)}to{clip-path:circle(150% at 50% 0%)}}
@keyframes lc-cellin{from{opacity:.22;transform:scaleY(.35)}}

/* ---------------------------------------------------------------- 7 · lens: S6 under load (sticky, four steps) */
.lc-lens{background:var(--lc-deep);color:var(--lc-mist);padding:0;border-top:1px solid #6bb68f2e}
.lc-lens .lc-h{min-height:3.1em;margin-top:32px}
.lc-lens__pin{position:sticky;top:48px;height:calc(100svh - 48px);z-index:1;overflow:clip}
.lc-lens__pane{position:absolute;inset:0;background:#072d2b;background-image:radial-gradient(ellipse at 20% 30%,#0e4d4a 0,#072d2b 70%);clip-path:inset(0 40% 0 0)}
.lc-lens__pane:is([data-st="2"],[data-st="3"]){clip-path:inset(0 0 0 0)}
.lc-lens__chips{position:absolute;z-index:3;top:24px;left:var(--lc-gut);right:calc(40% + 40px);display:flex;flex-wrap:wrap;gap:10px}
.lc-chip{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:6px 16px;border:1.5px solid #9fd6b5;background:transparent;color:#fff;font:700 20px var(--gft-font-display);letter-spacing:-.02em}
.lc-chip i{font:500 13px var(--gft-font-mono);font-style:normal;color:#c4d8cc}
.lc-chip[aria-pressed=true]{background:#9fd6b5;color:#072d2b}
.lc-chip[aria-pressed=true] i{color:#072d2b}
.lc-lv{position:absolute;top:106px;left:var(--lc-gut);right:calc(40% + 40px);bottom:86px;opacity:0;pointer-events:none;visibility:hidden}
.lc-lv--2,.lc-lv--3{right:calc(min(460px,38vw) + var(--lc-gut) + 32px)}
.lc-lens__pane[data-st="0"] .lc-lv--0,.lc-lens__pane[data-st="1"] .lc-lv--1,.lc-lens__pane[data-st="2"] .lc-lv--2,.lc-lens__pane[data-st="3"] .lc-lv--3{opacity:1;pointer-events:auto;visibility:visible}
:root[data-m-go] .lc-lv{transition:opacity 180ms ease,visibility 0s linear 180ms}
:root[data-m-go] .lc-lens__pane[data-st="0"] .lc-lv--0,:root[data-m-go] .lc-lens__pane[data-st="1"] .lc-lv--1,:root[data-m-go] .lc-lens__pane[data-st="2"] .lc-lv--2,:root[data-m-go] .lc-lens__pane[data-st="3"] .lc-lv--3{transition-duration:300ms,0s;transition-delay:60ms,0ms}
:root[data-m-go] .lc-lens__pane{transition:clip-path 900ms cubic-bezier(.65,0,.25,1)}
.lc-lv .lc-kick{color:#c4d8cc}
.lc-lv0__big{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px;margin-top:8px}
.lc-lv0__big b{font-size:clamp(3rem,4.6vw,4.2rem);font-weight:850;letter-spacing:-.06em;line-height:1.08;color:#fff}
.lc-lv0__big b+span{font-size:38px;color:#e8b765}
.lc-lv0__big small{font:15px var(--gft-font-mono);color:#c4d8cc}
.lc-lv0__delta{font:600 20px/1.4 var(--gft-font-mono);color:#9fd6b5;margin-top:4px}
.lc-erail{position:relative;height:140px;margin-top:18px}
.lc-erail__line{position:absolute;left:0;right:0;top:66px;height:4px;background:#2d6b62}
.lc-erail__t{position:absolute;top:90px;left:calc(var(--p) * 100%);transform:translateX(-50%);font:14px var(--gft-font-mono);color:#c4d8cc}
.lc-erail__t:first-of-type{transform:none}.lc-erail__t:last-of-type{transform:translateX(-100%)}
.lc-erail__par,.lc-erail__ghost{position:absolute;top:54px;left:calc(var(--par) * 100%);width:28px;height:28px;margin-left:-14px}
.lc-erail__par{transform:rotate(45deg);border:3px solid #e8b765;background:#072d2b}
.lc-erail[data-nopar] .lc-erail__par{display:none}
.lc-erail__ghost{left:calc(var(--now) * 100%);border:2.5px dashed #9fd6b5;transform:rotate(45deg)}
.lc-erail em{position:absolute;font:600 15px var(--gft-font-mono);font-style:normal;white-space:nowrap;color:#fff}
.lc-erail__par em{transform:rotate(-45deg);left:-40px;top:-54px;color:#e8b765}
.lc-erail__ghost em{transform:rotate(-45deg);left:-4px;top:52px;color:#c4d8cc}
.lc-erail__cur{position:absolute;left:0;top:48px;width:100%;height:40px;transform:translateX(calc(var(--nxt) * 100%));pointer-events:none}
.lc-erail__cur i{position:absolute;left:-20px;top:0;width:40px;height:40px;transform:rotate(45deg) scale(.82);background:#6bb68f;box-shadow:0 0 0 5px #072d2b}
.lc-erail__cur em{left:-50px;top:-40px;color:#9fd6b5}
.lc-erail__rehearse{position:absolute;left:0;top:54px;width:100%;height:28px;opacity:0;pointer-events:none}
.lc-erail__rehearse::before{content:'';position:absolute;left:-14px;width:28px;height:28px;transform:rotate(45deg);border:2px solid #9fd6b5}
:root[data-m-go] .lc-erail__cur{transition:transform 640ms var(--lc-out)}
:root[data-m-go] .lc-erail[data-slide] .lc-erail__cur{animation-name:lc-slide;animation-duration:820ms;animation-timing-function:cubic-bezier(.55,0,.2,1);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:160ms}
@keyframes lc-slide{from{transform:translateX(calc(var(--now) * 100%))}}
:root[data-m-go] .lc-erail__rehearse[data-m-on]{animation-name:lc-rehearse;animation-duration:6s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;animation-direction:normal;animation-delay:2s}
@keyframes lc-rehearse{0%{transform:translateX(calc(var(--now) * 100%));opacity:0}10%{opacity:.8}55%{transform:translateX(calc(var(--nxt) * 100%));opacity:.8}65%,100%{transform:translateX(calc(var(--nxt) * 100%));opacity:0}}
.lc-lv__range{display:grid;gap:2px;max-width:640px;font:13px var(--gft-font-mono);letter-spacing:.05em;color:#c4d8cc}
.lc-lv__range span{display:flex;justify-content:space-between}
.lc-lv__range output{color:#fff;font-weight:700}
.lc-lv__range input{width:100%;accent-color:#6bb68f;margin:0}
.lc-lv__cap{margin-top:10px;max-width:62ch;color:#d0e1d6;font-size:15px}
.lc-gbars{display:grid;gap:18px;margin-top:20px}
.lc-gbar{display:grid;grid-template-columns:110px minmax(0,1fr) 100px;align-items:center;gap:16px}
.lc-gbar__n{font-weight:700;font-size:17px;color:#fff}
.lc-gbar__t{position:relative;height:52px;background:#ffffff0d}
.lc-gbar__f{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--g));background:#6bb68f}
.lc-gbar--kh .lc-gbar__f{background:#c98a2b}
.lc-gbar__ceil{position:absolute;top:-6px;bottom:-6px;left:calc(var(--c) * 100%);border-left:2px dashed #fff}
.lc-gbar__v{font-size:38px;font-weight:850;letter-spacing:-.05em;color:#fff}
.lc-gbars__ceil{font-size:15px;color:#d0e1d6}
.lc-gbars__ceil b{color:#fff;font-family:var(--gft-font-mono)}
:root[data-m-go] .lc-gbar__f{transition:transform 600ms var(--lc-out)}
.lc-stepper{display:flex;align-items:center;gap:12px;margin-top:16px}
.lc-stepper button{width:48px;height:48px;border:1.5px solid #9fd6b5;background:transparent;color:#fff;font-size:26px;line-height:1}
.lc-stepper output{min-width:2.2ch;text-align:center;font-size:38px;font-weight:850;color:#fff}
.lc-stepper span{font:15px var(--gft-font-mono);color:#c4d8cc}
.lc-std-loom{margin-top:14px;padding:12px 16px;background:#052624;border:1px solid #6bb68f44;display:grid;gap:6px;max-width:640px}
.lc-std-loom__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.lc-std-loom__head .lc-kick{color:#9fd6b5}
.lc-std-loom__read{font:600 13px var(--gft-font-mono);color:#e8b765}
.lc-std-loom__sub{margin:0;color:#d0e1d6;font:12px/1.6 var(--gft-font-mono);letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere}
.lc-std-loom__svg{width:100%;height:auto;display:block}
.lc-std-loom__svg text{fill:#d0e1d6;font:500 12px var(--gft-font-mono);letter-spacing:.04em}
.lc-lv__more{margin-top:12px;max-width:64ch;color:#d0e1d6;border-top:1px solid #9fd6b544}
.lc-lv__more summary{min-height:40px;display:flex;align-items:center;font-weight:700;cursor:pointer;color:#fff;font-size:15px}
.lc-lv__more p{font-size:15px}
.lc-sens{position:relative;margin-top:10px;height:min(380px,42svh)}
.lc-sens__plot{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px;height:100%;padding-bottom:4px}
.lc-sens__col{display:grid;grid-template-rows:1fr auto auto;gap:6px;min-height:44px;padding:0;border:0;background:transparent;color:#fff;text-align:center}
.lc-sens__bar{position:relative;display:block;height:100%}
.lc-sens__bar i{position:absolute;inset:0;transform-origin:50% 100%;transform:scaleY(var(--h));background:linear-gradient(180deg,#6bb68f,#2a6e50)}
.lc-sens__d{position:absolute;left:50%;bottom:calc(var(--h,0) * 100%);width:0;height:0}
.lc-sens__col b{font-size:20px;font-weight:800;letter-spacing:-.03em}
.lc-sens__pct{font:14px var(--gft-font-mono);color:#c4d8cc}
.lc-sens__col[aria-pressed=true] .lc-sens__bar i{background:linear-gradient(180deg,#9fd6b5,#6bb68f);box-shadow:0 0 0 2px #fff}
.lc-sens__col:hover .lc-sens__bar i{filter:brightness(1.15)}
.lc-sens__kh{position:absolute;left:0;right:0;bottom:calc(62px + var(--kh) * (100% - 66px));height:0;border-top:3px solid #c98a2b;pointer-events:none}
.lc-sens__kh em{position:absolute;right:0;top:-28px;font:600 15px var(--gft-font-mono);font-style:normal;color:#e8b765;background:#072d2b;padding:0 6px}
:root[data-m-go] .lc-sens__bar i{transition:transform 600ms var(--lc-out)}
.lc-lv__read{margin-top:10px;font-size:16px;color:#fff;max-width:70ch}
.lc-lv__pull{margin-top:8px;max-width:56ch;font:italic 20px/1.35 var(--gft-font-serif);color:#e8b765}
.lc-wbar{display:flex;justify-content:space-between;align-items:center;gap:16px;height:62px;padding:0 22px;background:#6bb68f;color:#072d2b;font-weight:700;font-size:17px}
.lc-wbar b{font:700 20px var(--gft-font-mono)}
.lc-ends{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:6px;height:260px}
.lc-ends li{position:relative;display:flex;flex-direction:column;align-items:center}
.lc-ends li::before{content:'';display:block;width:2px;flex:none;height:calc(var(--hl,30px) * .36);background:#9fd6b5aa}
.lc-end{writing-mode:vertical-rl;transform:rotate(180deg);flex:none;min-width:44px;min-height:44px;padding:8px 5px;border:1.5px dashed #9fd6b5;background:#072d2b;color:#fff;font-size:13px;line-height:1.2;text-align:left}
.lc-end i{display:inline-block;width:10px;height:10px;margin-bottom:8px;border-radius:50%;border:2px solid #9fd6b5}
.lc-end[aria-pressed=true]{border-style:solid;background:#e8b765;color:#072d2b}
.lc-end[aria-pressed=true] i{background:#072d2b;border-color:#072d2b}
.lc-ends__read{margin-top:12px;font-size:16px;color:#fff;max-width:62ch}
.lc-lens__annot{position:absolute;z-index:3;left:var(--lc-gut);right:calc(min(460px,38vw) + var(--lc-gut) + 32px);bottom:18px;display:grid;grid-template-columns:21ch minmax(0,1fr);align-items:center;gap:14px;height:52px;padding:8px 16px;background:#052624eb;border:1px solid #c98a2b88;border-left:4px solid #e8b765;overflow:hidden}
.lc-lens__abadge{padding:5px 8px;background:#e8b765;color:#072d2b;font:700 12px/1 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;white-space:nowrap}
.lc-lens__atxt{margin:0;font:14px/1.35 var(--gft-font-mono);color:#e2ebe6;display:block;overflow:hidden}
.lc-lens__steps{position:relative;z-index:2;list-style:none;margin:calc(-1 * (100svh - 48px)) 0 0;padding:0;pointer-events:none}
.lc-lstep{min-height:80svh;display:flex;align-items:center;justify-content:flex-end;padding:28px var(--lc-gut)}
.lc-lstep:last-child{min-height:108svh}
.lc-lcard{pointer-events:auto;width:min(460px,calc(38vw - 48px));background:#05302df2;padding:22px 24px;border:1px solid #9fd6b555;border-left:3px solid #e8b765;box-shadow:0 20px 50px #021a1999}
.lc-lcard h2{color:#fff;font-size:clamp(2rem,2.9vw,2.75rem);margin:8px 0 18px}
.lc-lcard .lc-kick{color:#c4d8cc}
.lc-lcard__k{color:#e8b765!important}
.lc-lcard h3{color:#fff;margin:6px 0 8px}
.lc-lcard p:not(.lc-kick,.lc-lcard__stat){color:#d8e6dd;font-size:16px;line-height:1.55}
.lc-lcard__stat{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;padding-top:10px;border-top:1px solid #6bb68f33;font:13px var(--gft-font-mono);color:#9fd6b5}
.lc-lcard__stat b{color:#fff;font-size:15px}
/* entrance "shed": the chips cascade in cleanly without slicing the left-hand readout */
:root[data-m-go] .lc-lens:not([data-lc-in]) .lc-chip{opacity:.25;transform:translateY(-16px)}
:root[data-m-go] .lc-lens[data-lc-in]:not([data-lc-done]) .lc-chip{animation-name:lc-chipin;animation-duration:460ms;animation-timing-function:var(--lc-swing);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:180ms}
:root[data-m-go] .lc-lens[data-lc-in]:not([data-lc-done]) .lc-chip:nth-child(2){animation-delay:240ms}
:root[data-m-go] .lc-lens[data-lc-in]:not([data-lc-done]) .lc-chip:nth-child(3){animation-delay:300ms}
:root[data-m-go] .lc-lens[data-lc-in]:not([data-lc-done]) .lc-chip:nth-child(4){animation-delay:360ms}
@keyframes lc-chipin{from{opacity:.25;transform:translateY(-16px)}}

/* ---------------------------------------------------------------- 8 · measurement: S7 pulled off */
.lc-meas{background:#0e4d4a;color:var(--lc-mist);padding:32px 0 28px}
.lc-meas__thread{position:relative;display:block;width:100%;height:48px;margin-top:16px;max-width:none;pointer-events:none}
.lc-meas__path{fill:none;stroke:#9fd6b5;stroke-width:3;vector-effect:non-scaling-stroke}
.lc-meas__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px 64px;align-items:end}
.lc-meas__head h2{color:#fff;margin-top:8px}
.lc-meas__head .lc-kick{color:#c4d8cc}
.lc-meas__lead{color:#d8e6dd}
.lc-meas__cards{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch;height:auto;margin-top:0}
.lc-hang{position:relative;top:auto;left:auto;width:100%;display:flex}
.lc-hang--0,.lc-hang--1,.lc-hang--2{z-index:1}
.lc-hang::before{content:'';position:absolute;left:50%;bottom:100%;width:2px;height:32px;background:#9fd6b5}
.lc-hang__in{width:100%;display:flex}
.lc-hang__sway{transform-origin:50% -32px;width:100%;display:flex}
.lc-hang__sway:hover,.lc-hang__sway:focus-within{animation-play-state:paused}
.lc-paper{display:flex;flex-direction:column;justify-content:space-between;gap:6px;width:100%;padding:16px 20px 14px;background:#072d2b;border:1.5px solid #9fd6b566;color:#fff;text-decoration:none;box-shadow:0 22px 50px #021a1980}
.lc-hang[data-sel] .lc-paper{border-color:#e8b765}
.lc-paper__id{font:600 13px var(--gft-font-mono);letter-spacing:.12em;color:#e8b765}
.lc-paper__t{font-size:24px;font-weight:850;letter-spacing:-.04em;line-height:1.1}
.lc-paper__cap{font-size:14px;line-height:1.45;color:#d0e1d6}
.lc-paper__d{font-size:14px;line-height:1.45;color:#e2ebe6}
.lc-paper__go{font:600 14px var(--gft-font-mono);color:#9fd6b5}
.lc-paper:hover .lc-paper__t,.lc-paper:focus-visible .lc-paper__t{text-decoration:underline;text-decoration-thickness:2px}
.lc-thumb{position:relative;display:block;height:102px;margin:2px 0;overflow:clip}
.lc-thumb--dia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.lc-thumb__axis{position:absolute;left:0;right:0;bottom:22px;height:2px;background:#9fd6b566}
.lc-thumb__d{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.lc-thumb__d b{order:-1;font:700 17px var(--gft-font-mono);white-space:nowrap}
.lc-thumb__d i{width:16px;height:16px;margin-top:4px;transform:rotate(45deg);background:#6bb68f;flex:none}
.lc-thumb__d::after{content:'';order:3;width:3px;height:calc(var(--x) * (100% - 58px));background:#6bb68f;flex:none}
.lc-thumb__d em{order:4;height:22px;padding-top:2px;font:13px var(--gft-font-mono);font-style:normal;color:#c4d8cc}
.lc-thumb--weave{display:grid;grid-template-columns:repeat(13,1fr);gap:3px;height:82px}
.lc-thumb--weave i{background:#1d4c47}
.lc-thumb--weave i[data-on]{background:#6bb68f}
.lc-thumb__fig{font:600 15px var(--gft-font-mono);color:#fff}
.lc-thumb--knots{height:64px}
.lc-thumb__str{position:absolute;left:0;right:0;top:31px;height:2px;background:#9fd6b5}
.lc-thumb__k{position:absolute;top:21px;left:calc(var(--i) * 12.5% + 2%);width:20px;height:20px;border-radius:50%;border:3px solid #9fd6b5;background:#072d2b}
.lc-thumb__k[data-kind=sourced]{border-radius:0;transform:rotate(45deg) scale(.85);background:#c98a2b;border-color:#c98a2b}
.lc-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff0,#ffffff2a,#fff0);transform:translateX(-100%);pointer-events:none}
:root[data-m-go] .lc-hang[data-sel] .lc-hang__sway[data-m-on] .lc-thumb::after{animation-name:lc-replay;animation-duration:7s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;animation-direction:normal}
@keyframes lc-replay{0%{transform:translateX(-100%)}18%,100%{transform:translateX(100%)}}
:root[data-m-go] .lc-hang__sway[data-m-on]{animation-name:lc-sway;animation-duration:6.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
:root[data-m-go] .lc-hang--1 .lc-hang__sway[data-m-on]{animation-delay:-2.1s;animation-duration:5.8s}
:root[data-m-go] .lc-hang--2 .lc-hang__sway[data-m-on]{animation-delay:-4.2s;animation-duration:7s}
@keyframes lc-sway{from{transform:rotate(-.8deg)}to{transform:rotate(.8deg)}}
.lc-meas__read{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-top:12px;padding:10px 0;border-top:1px solid #9fd6b544}
.lc-meas__read .lc-kick{color:#e8b765}
.lc-meas__read b{font:700 24px var(--gft-font-mono);color:#fff}
.lc-meas__read span:last-child{color:#d8e6dd}
.lc-meas__strip{display:grid;grid-template-columns:1fr 1fr minmax(260px,.8fr);gap:0;margin-top:10px;background:#072d2b;border:1px solid #9fd6b544}
.lc-meas__strip a{display:grid;gap:4px;padding:14px 20px;text-decoration:none;border-right:1px solid #9fd6b544}
.lc-meas__strip a b{font-size:19px;color:#fff}
.lc-meas__strip a span{font-size:14px;line-height:1.45;color:#d0e1d6}
.lc-meas__strip a:hover b{text-decoration:underline}
.lc-meas__mini{display:grid;gap:3px;padding:14px 20px;font:14px var(--gft-font-mono);color:#d0e1d6}
.lc-meas__mini .lc-kick{color:#e8b765}
.lc-meas__mini b{color:#fff}
/* entrance "card": the three cards rise cleanly into their 3-column grid slots without overlapping */
:root[data-m-go] .lc-meas:not([data-lc-in]) .lc-hang__in{transform:translateY(24px);opacity:0}
:root[data-m-go] .lc-meas:not([data-lc-in]) .lc-meas__thread{clip-path:inset(0 60% 0 0)}
:root[data-m-go] .lc-meas[data-lc-in]:not([data-lc-done]) .lc-hang__in{animation-name:lc-hangin;animation-duration:620ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:calc(120ms + var(--k) * 80ms)}
:root[data-m-go] .lc-meas[data-lc-in]:not([data-lc-done]) .lc-meas__thread{animation-name:lc-draw;animation-duration:560ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes lc-hangin{from{transform:translateY(24px);opacity:0}}

/* ---------------------------------------------------------------- 9 · closing: S8 tied through the tag */
.lc-close{background:#072d2b;color:var(--lc-mist);padding:40px 0 48px;min-height:calc(100svh - 48px);isolation:isolate}
.lc-close__weave{position:absolute;inset:0;z-index:-1;overflow:clip;pointer-events:none}
.lc-close__weave i{position:absolute;inset:-40px;background-image:repeating-linear-gradient(90deg,#9fd6b50b 0 2px,transparent 2px 32px),repeating-linear-gradient(0deg,#e8b76508 0 2px,transparent 2px 48px);overflow-anchor:none}
.lc-close__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:44px;align-items:start}
.lc-close__copy{display:grid;gap:12px;padding-top:4px}
.lc-close__copy .lc-kick{color:#c4d8cc}
.lc-close__copy h2{color:#fff;font-size:clamp(2.1rem,3.2vw,3.2rem)}
.lc-close__lede{color:#d0e1d6}
.lc-close__verdict{font-size:16px;color:#fff;border-left:3px solid #e8b765;padding-left:14px;min-height:3.2em}
.lc-close__set{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lc-close__set button{min-height:44px;padding:6px 14px;border:1.5px solid #9fd6b5;background:transparent;color:#fff;font-size:15px;font-weight:600;text-align:left}
.lc-close__set button[aria-pressed=true]{background:#9fd6b5;color:#072d2b}
.lc-close__ctl{display:grid;gap:2px;font:13px var(--gft-font-mono);letter-spacing:.05em;color:#c4d8cc}
.lc-close__ctl span{display:flex;justify-content:space-between}
.lc-close__ctl output{color:#fff;font-weight:700}
.lc-close__ctl input{width:100%;accent-color:#6bb68f;margin:0}
.lc-close__cta{justify-self:start;min-height:48px;font-size:15px}
.lc-tag{position:relative;margin:4px 0 0;padding-bottom:0}
.lc-tag__strings{position:absolute;z-index:-1;left:-20%;width:140%;bottom:calc(100% - 18px);height:90px;max-width:none;overflow:visible;pointer-events:none}
/* the strings stay inside the tag column and the gutter beside it, so neither thread is drawn over the closing's eyebrow, heading or lede */
@media (min-width:901px){.lc-close__copy{position:relative;z-index:1}.lc-tag__strings{left:-40px;width:calc(100% + 80px);overflow:hidden}}
.lc-tag__s{fill:none;stroke-width:3;vector-effect:non-scaling-stroke}
.lc-tag__s--c{stroke:#6bb68f}.lc-tag__s--k{stroke:#c98a2b}
.lc-tag__sway{transform-origin:50% 18px}
.lc-tag__sway:hover,.lc-tag__sway:focus-within{animation-play-state:paused}
.lc-tag__body{position:relative;background:#0a3633;color:#e2ebe6;padding:24px 26px 18px;border:1px solid #6bb68f66;border-top:3px solid #c98a2b;transform-origin:50% 18px;box-shadow:0 24px 60px #021a1999}
.lc-tag__eye{position:absolute;left:50%;top:-13px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:#072d2b;box-shadow:0 0 0 4px #c98a2b}
.lc-tag[data-cross] .lc-tag__eye{box-shadow:0 0 0 4px #6bb68f,0 0 0 8px #c98a2b}
.lc-tag__prices{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}
.lc-tag__prices p{display:grid;gap:2px}
.lc-tag__prices .lc-kick{display:flex;align-items:center;gap:8px;color:#c4d8cc}
.lc-tag__prices p:not(.lc-tag__at) b{font-size:40px;font-weight:850;letter-spacing:-.05em;line-height:1.05;color:#fff}
.lc-tag__at{grid-column:1/-1;font-size:14px;color:#d0e1d6;margin-top:2px}
.lc-tag__at output,.lc-tag__at b{color:#fff;font-weight:700;font-family:var(--gft-font-mono)}
.lc-tag__chart{width:100%;height:auto;margin-top:6px;display:block;touch-action:pan-y;cursor:crosshair}
.lc-cl__grid line{stroke:#9fd6b5;stroke-opacity:.18}
.lc-cl__grid text,.lc-cl__axis{fill:#d0e1d6;font:17px var(--gft-font-mono)}
.lc-cl__ylab{fill:#9fd6b5;font:500 13px var(--gft-font-mono);letter-spacing:.12em}
.lc-cl__axis{font-size:15px;letter-spacing:.06em}
.lc-cl__curve{fill:none;stroke:#6bb68f;stroke-width:5;stroke-linecap:round}
.lc-cl__kh{stroke:#c98a2b;stroke-width:4}
.lc-cl__parl{stroke:#e8b765;stroke-width:1.8;stroke-dasharray:4 7}
.lc-cl__knot{fill:#072d2b;stroke:#e8b765;stroke-width:4;transform-box:fill-box;transform-origin:center}
.lc-cl__lab{fill:#e8b765;font:700 18px var(--gft-font-mono);letter-spacing:.06em}
.lc-cl__gap{stroke:#e2ebe6;stroke-width:2;stroke-dasharray:2 5}
.lc-cl__cdot{fill:#072d2b;stroke:#6bb68f;stroke-width:4}
.lc-cl__kdot{fill:#c98a2b}
.lc-cl__ghost{fill:#9fd6b5;opacity:0}
.lc-cl__cursor{stroke:#e2ebe6;stroke-width:1}
.lc-close__bridge{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px;align-items:stretch;margin-top:28px;padding-top:22px;border-top:1px solid #6bb68f33}
.lc-close__handoff{background:#052624;border:1px solid #6bb68f55;padding:18px 22px;display:grid;gap:10px}
.lc-close__htop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px}
.lc-close__htop .lc-kick{color:#9fd6b5}
.lc-close__hread{font:14px var(--gft-font-mono);color:#d0e1d6}
.lc-close__hread b{color:#fff}
.lc-close__knot{width:100%;height:56px;display:block;overflow:visible}
.lc-close__kmark{transition:transform 260ms var(--lc-out)}
.lc-close__next{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 16px;background:#0a3633;border:1px solid #c98a2b88;text-decoration:none;color:#fff}
.lc-close__next:hover{background:#0e4d4a;border-color:#e8b765}
.lc-close__next>div{display:grid;gap:3px}
.lc-close__next .lc-kick{color:#e8b765;display:block}
.lc-close__next strong{font-size:18px;color:#fff;display:block}
.lc-close__next p{font-size:14px;color:#d0e1d6;margin:0}
.lc-close__next p b{color:#fff;font-family:var(--gft-font-mono)}
.lc-close__nextbadge{flex:none;padding:8px 12px;background:#c98a2b;color:#072d2b;font:700 14px var(--gft-font-mono);white-space:nowrap}
.lc-close__caution{margin:0;padding:18px 22px;background:#052624;border:1px solid #c98a2b66;border-left:4px solid #c98a2b;display:flex;flex-direction:column;justify-content:space-between;gap:10px}
.lc-close__caution .lc-tag__flag{align-self:flex-start;padding:5px 10px;background:#c98a2b;color:#072d2b;font:700 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase}
.lc-close__caution h3{color:#fff;font-size:19px;margin-bottom:6px}
.lc-close__caution p{color:#d0e1d6;font-size:15px;line-height:1.55}
:root[data-m-go] .lc-tag__sway[data-m-on]{animation-name:lc-tagsway;animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes lc-tagsway{from{transform:rotate(-.5deg)}to{transform:rotate(.5deg)}}
:root[data-m-go] .lc-cl__knot[data-m-on]{animation-name:lc-knotb;animation-duration:2.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes lc-knotb{from{transform:scale(.85)}to{transform:scale(1.2)}}
:root[data-m-go] .lc-cl__ghost[data-m-on]{animation-name:lc-ghost;animation-duration:6s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;animation-direction:normal;animation-delay:1.4s}
@keyframes lc-ghost{0%{transform:translate(var(--g0x),var(--g0y));opacity:0}6%{opacity:.6}30%{transform:translate(var(--g1x),var(--g1y))}60%{transform:translate(var(--g2x),var(--g2y));opacity:.6}88%{transform:translate(var(--g3x),var(--g3y));opacity:.6}100%{transform:translate(var(--g3x),var(--g3y));opacity:0}}
/* entrance "wind": both threads wind down through the eyelet, then the tag swings into place and settles */
:root[data-m-go] .lc-close:not([data-lc-in]) .lc-tag__strings{clip-path:inset(0 0 70% 0)}
:root[data-m-go] .lc-close:not([data-lc-in]) .lc-tag__body{transform:translateY(-24px);opacity:.35}
:root[data-m-go] .lc-close:not([data-lc-in]) .lc-close__set button{opacity:.3}
:root[data-m-go] .lc-close[data-lc-in]:not([data-lc-done]) .lc-tag__strings{animation-name:lc-wind;animation-duration:460ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .lc-close[data-lc-in]:not([data-lc-done]) .lc-tag__body{animation-name:lc-swingin;animation-duration:720ms;animation-timing-function:var(--lc-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:160ms}
:root[data-m-go] .lc-close[data-lc-in]:not([data-lc-done]) .lc-close__set button{animation-name:lc-fade;animation-duration:300ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;animation-delay:380ms}
@keyframes lc-wind{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes lc-swingin{from{transform:translateY(-24px);opacity:.35}to{transform:none;opacity:1}}

/* ---------------------------------------------------------------- invalid input */
main[data-lc-invalid] :is(.lc-ms__svg,.lc-tag__chart,.lc-loom__months,.lc-ab__axis,.lc-sens){opacity:.15}
main[data-lc-invalid] .lc-sp__svg [data-sp-row]{opacity:.15}

/* ---------------------------------------------------------------- tablet */
@media (max-width:1100px){
 .lc-bench__a{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
 .lc-prov__notes{max-width:none;grid-template-columns:1fr}
 .lc-prov__grid{grid-template-columns:1fr}
 .lc-prov__dialbox{grid-column:1;grid-row:auto;position:static;margin-top:0}
 .lc-reg{grid-row:auto}.lc-srcs{grid-column:1;grid-row:auto}
 .lc-close__bridge,.lc-close__khead{grid-template-columns:1fr}
}

/* ---------------------------------------------------------------- phone */
@media (max-width:900px){
 .lc-wrap{width:calc(100% - 32px)}
 .lc-sec{font-size:17px}
 .lc-sec h2{font-size:clamp(2rem,9vw,2.6rem)}
 /* splash: head at top, the ruler in its own free band, read-outs two-up, scrubber at the foot */
 .gft-splash[data-splash=labour-cost]{display:flex;flex-direction:column}
 .gft-splash[data-splash=labour-cost] .gft-splash__content{order:1;padding-top:56px;padding-bottom:20px}
 .gft-splash[data-splash=labour-cost] .gft-splash__structure{order:2;position:relative;inset:auto;z-index:0;display:block;padding:0 16px 20px;height:auto}
 .gft-splash[data-splash=labour-cost] .gft-splash__bottom{order:3}
 .gft-splash[data-splash=labour-cost] .gft-splash__ground::after{background:linear-gradient(180deg,#072d2b 0,#072d2bcc 40%,#072d2b00 70%)}
 .gft-splash[data-splash=labour-cost] h1{font-size:48px;max-width:9ch}
 .gft-splash[data-splash=labour-cost] .gft-splash__lede{font-size:17px}
 .lc-sp{width:100%}
 .lc-sp__svg{max-height:42svh}
 .lc-sp__lab{font-size:29px}.lc-sp__name{font-size:32px}
 .lc-sp__tag,.lc-sp__hover,.lc-sp__meta{display:none}
 .lc-sp__read{gap:14px}
 .lc-sp__v{flex-direction:column;gap:0}
 .lc-sp__v output{font-size:40px}
 .lc-sp__v span,.lc-sp__sub{font-size:13px}
 .lc-sp__k{font-size:13px;letter-spacing:.04em}
 .lc-sp__verdict{font-size:16px}
 /* bench: result card first, chart full width, controls under it */
 .lc-bench__a{display:flex;flex-direction:column;min-height:0}
 .lc-bench__ctl{display:contents}
 .lc-bench__head{order:1;padding:40px 16px 18px}
 .lc-bench__stage{order:2;display:flex;flex-direction:column}
 .lc-controls{order:3;padding:18px 16px 28px}
 .lc-bench__live{position:relative;inset:auto;display:flex;flex-direction:column}
 .lc-result{position:relative;left:auto;top:auto;max-width:none;margin:16px 16px 0}
 .lc-result__fig output{font-size:48px}
 .lc-chart{position:relative;inset:auto;height:40svh;margin:8px 4px 0}
 .lc-axis{font-size:30px}.lc-country{font-size:32px}
 .lc-legend{position:relative;left:auto;bottom:auto;margin:6px 16px 0}
 .lc-chart-read{position:relative;left:auto;right:auto;bottom:auto;margin:8px 16px 16px}
 .lc-error{position:relative;left:auto;right:auto;top:auto;margin:16px}
 .lc-presets{flex-wrap:nowrap;overflow-x:auto}
 .lc-presets button{flex:none}
 .lc-input-grid{grid-template-columns:1fr 1fr}
 .lc-efficiency{grid-template-columns:1fr}
 .lc-xr__head{grid-template-columns:1fr}
 .lc-xr__rail{padding:54px 0 58px}
 .lc-xr__lab{font-size:19px}
 .lc-xr__lab b{display:none}
 .lc-xr__ends{top:auto;bottom:-26px;font-size:15px}
 .lc-bench__sheet{grid-template-columns:1fr;margin-top:30px}
 .lc-save{display:none}
 .lc-result-table thead{display:none}
 .lc-result-table tr{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 10px;padding:10px 0;border-bottom:1px solid #6bb68f33}
 .lc-result-table tbody th{grid-column:1/-1;border:0;padding:0}
 .lc-result-table td{border:0;padding:0;font-size:15px}
 .lc-result-table td::before{display:block;font:13px var(--gft-font-mono);color:#b9cfc2}
 .lc-result-table td:nth-of-type(1)::before{content:'Nominal / min'}.lc-result-table td:nth-of-type(2)::before{content:'Effective / min'}.lc-result-table td:nth-of-type(3)::before{content:'Per garment'}
 /* A / B: a segmented toggle over one column */
 .lc-ab__head,.lc-ab__foot{grid-template-columns:1fr}
 .lc-ab__seg{display:inline-flex}
 .lc-ab__cols{grid-template-columns:1fr;margin-top:14px}
 .lc-ab__cols[data-show=a] .lc-ab__col--b,.lc-ab__cols[data-show=b] .lc-ab__col--a{display:none}
 .lc-ab__axis{height:180px}
 .lc-ab__lane--b{top:100px}
 .lc-ab__ghosts{height:auto}
 .lc-ghost{white-space:normal;max-width:46vw;font-size:13px}
 .lc-ghost span{text-align:center}
 .lc-ab__read{font-size:17px}
 .lc-ab__sheet thead tr,.lc-ab__sheet tbody tr{display:grid;grid-template-columns:repeat(3,1fr);gap:0 8px}
 .lc-ab__sheet :is(thead th:first-child,tbody th){grid-column:1/-1}
 .lc-ab__sheet thead th:first-child{display:none}
 .lc-ab__sheet td,.lc-ab__sheet th{font-size:14px;padding:6px 0}
 /* method: an opaque pinned band at the top holds the stage, the figure and the dots; cards scroll beneath */
 .lc-method__pin{height:53svh;box-shadow:0 10px 30px #021a1966;z-index:3}
 .lc-mstage,.lc-mstage:is([data-st="2"],[data-st="3"],[data-st="4"]){clip-path:none}
 .lc-ms__svg{inset:auto;left:-75%;width:180%;height:102.5vw;top:calc(138px - 36.25vw)}
 .lc-ms__hud{z-index:1}
 .lc-ms__rail{background:#0e4d4a}
 .lc-ms__top{left:16px;right:16px;top:12px}
 .lc-ms__top .lc-seg span{padding:0 10px}
 .lc-ms__figs{left:16px;right:16px;top:58px;height:48px}
 .lc-ms__big b{font-size:36px}
 .lc-ms__big small{font-size:13px}
 .lc-ms__formula{left:16px;right:16px;top:104px;font-size:13px}
 .lc-ms__caps,.lc-ms__knots{display:none}
 .lc-ms__name,.lc-ms__lab{font-size:30px}
 .lc-ticker__id,.lc-ticker__sec{display:none}
 .lc-ticker{gap:10px}
 .lc-ticker [data-tk-u]{display:none}
 .lc-ticker__v{gap:6px;font-size:13px}
 .lc-ticker__v b{margin-right:4px}
 .lc-ab__ghosts{display:flex;justify-content:space-between;gap:12px}
 .lc-ghost,.lc-ghost:not(.lc-ghost--eq){position:static;transform:none}
 .lc-erail__ghost em,.lc-erail__cur em{display:none}
 .lc-ms__rail{left:16px;right:16px;bottom:6px;gap:4px}
 .lc-ms__nav,.lc-ms__play,.lc-ms__n{display:none}
 .lc-ms__dots{width:100%;justify-content:space-between}
 .lc-ms__dots button{flex:1}
 .lc-method__steps{margin-top:0;padding:24px 0 0}
 .lc-mstep,.lc-mstep:nth-child(n+3){min-height:72svh;align-items:flex-start;padding:16px}
 .lc-mstep:last-child{min-height:120svh}
 .lc-mcard{width:100%}
 /* provenance: the knot thread runs down the left edge in a pinned band; rows become cards */
 .lc-prov__band{padding:48px 0 36px}
 .lc-prov__head{grid-template-columns:1fr}
 .lc-knots{height:auto;display:grid;gap:4px;margin-top:24px;padding-left:28px}
 .lc-knots__thread{left:10px;right:auto;top:0;bottom:0;width:4px;height:100%;transform:none}
 .lc-knots__thread path{display:none}
 .lc-knots::before{content:'';position:absolute;left:12px;top:0;bottom:0;width:3px;background:#9fd6b5}
 .lc-knot{position:relative;left:auto;transform:none;width:auto;grid-template-columns:auto 1fr auto;justify-items:start;align-items:center;gap:0 12px;text-align:left;padding:4px 0}
 .lc-knot__tie{width:30px;height:30px;margin:0 0 0 -36px;grid-row:1 / span 2}
 .lc-knot__n{grid-column:2}.lc-knot__v{grid-column:2;font-size:28px}.lc-knot__u{grid-column:3;grid-row:1 / span 2}
 .lc-knot-read b{font-size:17px}
 .lc-prov__dialbox{margin-top:0;grid-template-columns:1fr}
 .lc-prov__loomtop{grid-template-columns:1fr;justify-items:center}
 .lc-dial{width:160px}
 .lc-reg__head{grid-template-columns:1fr}
 .lc-reg__table thead{display:none}
 .lc-reg__table tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid #6bb68f33}
 .lc-reg__table th,.lc-reg__table td{height:auto;border:0;padding:0;white-space:normal}
 .lc-reg .lc-table-wrap::after{display:none}
 /* interlude: the months stacked */
 .lc-loom__head{grid-template-columns:1fr}
 .lc-loom__ctl{justify-items:start;padding-top:0}
 .lc-loom__note{text-align:left}
 .lc-loom__head h2{font-size:clamp(2.2rem,10vw,2.8rem)}
 .lc-loom__months{grid-template-columns:1fr;gap:30px}
 .lc-cloth__big output{font-size:40px}
 .lc-cloth__cells{gap:2px;--cell:14px}
 /* lens: a pinned band with the pane and the four chips; the text scrolls beneath */
 .lc-lens__pin{height:56svh;z-index:3;box-shadow:0 10px 30px #021a1966}
 .lc-lens__pane,.lc-lens__pane:is([data-st="2"],[data-st="3"]){clip-path:none}
 .lc-lens__chips,.lc-lens__pane:is([data-st="2"],[data-st="3"]) .lc-lens__chips{left:12px;right:12px;top:10px;gap:6px}
 .lc-chip{min-height:44px;padding:4px 10px;font-size:15px}
 .lc-chip i{display:none}
 .lc-lv,.lc-lv--2,.lc-lv--3{left:12px;right:12px;top:118px;bottom:10px}
 .lc-lv>.lc-kick,.lc-lens__annot,.lc-std-loom{display:none}
 .lc-lv0__big b{font-size:36px}.lc-lv0__big b+span{font-size:26px}
 .lc-lv0__delta{font-size:16px}
 .lc-erail{height:110px;margin-top:6px}
 .lc-erail__line{top:52px}.lc-erail__t{top:74px;font-size:13px}
 .lc-erail__par,.lc-erail__ghost{top:40px}.lc-erail__cur{top:34px}
 .lc-erail em{font-size:13px}
 .lc-lv__cap,.lc-lv__more,.lc-lv__pull{display:none}
 .lc-gbars{gap:10px;margin-top:6px}
 .lc-gbar{grid-template-columns:84px minmax(0,1fr) 60px;gap:8px}
 .lc-gbar__t{height:36px}.lc-gbar__v{font-size:26px}.lc-gbar__n{font-size:15px}
 .lc-gbars__ceil{font-size:14px}
 .lc-stepper{margin-top:10px}.lc-stepper button{width:44px;height:44px}.lc-stepper output{font-size:30px}.lc-stepper span{font-size:13px}
 .lc-sens{height:calc(56svh - 200px);margin-top:0}
 .lc-sens__plot{gap:4px}
 .lc-sens__col b{font-size:13px}
 .lc-sens__pct{font-size:13px}
 .lc-sens__kh em{font-size:13px}
 .lc-lv__read{font-size:14px;margin-top:6px}
 .lc-wbar{height:44px;padding:0 12px;font-size:14px}.lc-wbar b{font-size:15px}
 .lc-ends{display:flex;flex-wrap:wrap;gap:6px;height:auto;margin-top:10px}
 .lc-ends li::before{display:none}
 .lc-end{writing-mode:horizontal-tb;transform:none;padding:6px 10px;font-size:13px;min-height:44px}
 .lc-ends__read{font-size:14px}
 .lc-lens__steps{margin-top:0;padding-top:20px}
 .lc-lstep,.lc-lstep:nth-child(n+3){min-height:70svh;justify-content:flex-start;align-items:flex-start;padding:16px}
 .lc-lstep:last-child{min-height:120svh}
 .lc-lcard,.lc-lstep:nth-child(n+3) .lc-lcard{width:100%;background:#05302df2;border:1px solid #9fd6b555;border-left:3px solid #e8b765;box-shadow:none;padding:18px}
 /* measurement: a snap carousel hanging from the thread */
 .lc-meas__head{grid-template-columns:1fr}
 .lc-meas__thread{margin-bottom:-20px}
 .lc-meas__cards{display:flex;gap:14px;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding:40px 16px 20px;margin:0 -16px 0}
 .lc-hang,.lc-hang--0,.lc-hang--1,.lc-hang--2{position:relative;top:auto;left:auto;width:82%;flex:none;scroll-snap-align:start}
 .lc-hang::before{height:40px}
 .lc-hang--0 .lc-paper__t,.lc-paper__t{font-size:24px}
 .lc-meas__strip{grid-template-columns:1fr}
 .lc-meas__strip a{border-right:0;border-bottom:1px solid #9fd6b544}
 .lc-meas__read b{font-size:20px}
 /* closing: the tag full width with the curve inside it, chips in a 2 × 2 grid under it */
 .lc-close__grid{grid-template-columns:1fr;gap:0}
 .lc-close__copy{display:contents}
 .lc-close__copy>.lc-kick{order:1}.lc-close__copy>h2{order:2;margin:8px 0 12px}.lc-close__lede{order:3}
 .lc-tag{order:4;margin-top:24px;padding-bottom:16px}
 .lc-close__verdict{order:5;margin-top:4px}.lc-close__set{order:6;margin-top:14px}.lc-close__ctl{order:7;margin-top:12px}.lc-close__cta{order:8;margin:14px 0 24px}
 .lc-tag__body{padding:28px 16px 20px 20px}
 .lc-tag__prices p:not(.lc-tag__at) b{font-size:32px}
 .lc-cl__grid text,.lc-cl__axis{font-size:26px}
 .lc-tag__chart{overflow:visible}
 .lc-cl__grid text[data-cl-yt]{transform:translateY(-8px)}
 .lc-cl__axis,.lc-cl__ylab{display:none}
 .lc-cl__lab{font-size:28px}
 .lc-close__bridge{grid-template-columns:1fr;gap:20px;margin-top:24px}
 .lc-close__handoff{padding:18px 16px}
 .lc-close__khead{grid-template-columns:1fr}
 .lc-close__next{flex-direction:column;align-items:flex-start}
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){.lc-meas__cards{scroll-snap-type:none}}
