.cm-wv__mobile-labels[data-astro-cid-ovn3atpj] {
  display: none;
}

@media (width <= 900px) {
  .cm-wv__art[data-astro-cid-ovn3atpj] .cm-wv__lab[data-astro-cid-ovn3atpj] {
    display: none;
  }

  .cm-wv__mobile-labels[data-astro-cid-ovn3atpj] {
    position: absolute;
    top: 24px;
    inset-inline: 20px;
    display: grid;
    gap: 8px;
  }

  .cm-wv__mobile-label[data-astro-cid-ovn3atpj] {
    font: 600 12px/1.5 var(--gft-font-mono);
    letter-spacing: .1em;
    color: var(--cm-paper);
    width: fit-content;
    padding: 2px 8px;
    background: var(--cm-night);
  }
}
/* /programmes/cameroon-textile/ : page-specific styling, built to control/choreo/programmes__cameroon-textile.md.
   Every class and keyframe is prefixed cm-. Pre-states live only under :root[data-m-go]; the HTML is the composed end
   state. Animated properties: transform, opacity, clip-path, filter. Sticky pins only, never counter-translation. */
:root{--cm-ease:cubic-bezier(.3,.7,.2,1);--cm-in:cubic-bezier(.5,0,.75,0);--cm-night:#072d2b;--cm-forest:#0e4d4a;--cm-deep:#0a3b39;--cm-paper:#f6f4ef;--cm-sage:#6bb68f;--cm-mint:#9fcdb3;--cm-ochre:#c98a2b;--cm-gold:#e6b25a;--cm-wash:#e2ebe6;--cm-ink:#24443a;--cm-lab:#c9ddd6}

/* ======================= #1 Splash ======================= */
[data-page="cm-programme"] .gft-splash{min-height:calc(100svh - 88px - 154px)}
[data-page="cm-programme"] .gft-splash__content{padding-top:22px;padding-bottom:14px}
[data-page="cm-programme"] .gft-splash h1{font-size:clamp(3.1rem,4.8vw,5.1rem);max-width:9.8em;line-height:1.01;margin-top:14px}
[data-page="cm-programme"] .gft-splash h1 .gft-serif{letter-spacing:-.05em}
[data-page="cm-programme"] .gft-splash__lede{max-width:34em;margin-top:14px;font-size:clamp(15px,1.15vw,17px);line-height:1.58}
[data-page="cm-programme"] .gft-splash__actions{margin-top:16px}
[data-page="cm-programme"] .gft-splash__bottom{padding-block:8px}
[data-page="cm-programme"] .gft-splash__structure{inset:0 0 0 38%;align-items:stretch}
[data-page="cm-programme"] .gft-splash__structure::after{background:linear-gradient(90deg,#072d2b 2%,#072d2bdd 26%,#072d2b00 60%)}
[data-page="cm-programme"] :is(.gft-eyebrow,.gft-cite,.gft-note,.gft-splash__cue,.gft-splash__caption,.gft-splash__data,.gft-splash__signal,.gft-splash__position){font-size:12px}
[data-page="cm-programme"] .gft-splash__caption{color:#c4d8cb}
.cm-hero{width:100%;height:100%;min-height:600px;overflow:visible}
.cm-hero__figure{font:850 84px var(--gft-font-display);letter-spacing:-5px;fill:#f6f4ef}
.cm-hero__small{font:750 29px var(--gft-font-display);letter-spacing:-.8px;fill:#f6f4ef}
.cm-hero__label{font:12.5px var(--gft-font-mono);letter-spacing:1.5px;fill:#c9ded2}
.cm-hero__phone-key{display:none}
.cm-hero__actions{display:grid;gap:10px;width:min(560px,100%)}
.cm-status-note{font:12px/1.7 var(--gft-font-mono);color:#c4d5cb;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cm-hero__read{display:grid;min-height:3em}
.cm-hero__line{grid-area:1/1;margin:0;font-size:14px;line-height:1.48;color:#cfe0d6;opacity:0;transition:opacity .15s var(--cm-ease) 0s}
.cm-hero__line strong{display:block;font:750 17px/1.32 var(--gft-font-display);letter-spacing:-.02em;color:#f6f4ef}
main:not([data-cm-flow]) .cm-hero__line--0,main[data-cm-flow="0"] .cm-hero__line--0,main[data-cm-flow="1"] .cm-hero__line--1,main[data-cm-flow="2"] .cm-hero__line--2{opacity:1;transition:opacity .26s var(--cm-ease) .16s}
.cm-st{transition:opacity .55s var(--cm-ease)}
.cm-st--river{opacity:1}.cm-st--cloth{opacity:.5}.cm-st--nodes{opacity:0}.cm-st--fig95{opacity:1}.cm-st--fig5{opacity:.5;transform-box:fill-box;transform-origin:0 50%;transition:opacity .55s var(--cm-ease),transform .55s var(--cm-ease)}
.cm-nodes{transform-box:fill-box;transform-origin:center}
main[data-cm-flow="1"] .cm-st--river,main[data-cm-flow="2"] .cm-st--river{opacity:.26}
main[data-cm-flow="1"] .cm-st--cloth,main[data-cm-flow="2"] .cm-st--cloth{opacity:1}
main[data-cm-flow="1"] .cm-st--fig95,main[data-cm-flow="2"] .cm-st--fig95{opacity:.3}
main[data-cm-flow="1"] .cm-st--fig5{opacity:1;transform:scale(1.25)}
main[data-cm-flow="2"] .cm-st--fig5{opacity:0}
main[data-cm-flow="2"] .cm-st--nodes{opacity:1}
.cm-hero__tail{overflow-anchor:none}
.cm-st--river>g[data-splash-draw]{transform-box:view-box}
:root[data-m-go] .cm-hero .cm-st--river[data-m-on]{animation-name:cm-drift;animation-duration:12s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
main[data-cm-weirup] .cm-hero .cm-st--river{animation-play-state:paused}
@keyframes cm-drift{from{transform:translate(-10px,4px)}to{transform:translate(12px,-6px)}}

/* ======================= Shared parts ======================= */
.cm-s{position:relative}
.cm-head{position:relative}
.cm-head .gft-eyebrow{margin-bottom:14px}
.cm-head__t{font-size:clamp(2.2rem,3.6vw,3.9rem);line-height:1.02;max-width:16ch}
.cm-head__l{margin-top:14px;max-width:46ch;font-size:clamp(15px,1.1vw,17px);line-height:1.6}
.cm-hw{display:inline-block;transform-origin:0 70%}
[data-cm-fx="zoom"] .cm-hw{transform-origin:50% 60%}
.cm-ch__short{display:none}
:root[data-m-go] [data-m="cm-h"]:not([data-m-in]) .cm-hw{opacity:.3}
:root[data-m-go] [data-m="cm-h"][data-m-in] .cm-hw{animation-duration:640ms;animation-timing-function:var(--cm-ease);animation-iteration-count:1;animation-direction:normal;animation-fill-mode:backwards;animation-delay:calc(var(--i) * 30ms)}
:root[data-m-go] [data-cm-fx="wdth"][data-m-in] .cm-hw{animation-name:cm-h-wdth}
:root[data-m-go] [data-cm-fx="blur"][data-m-in] .cm-hw{animation-name:cm-h-blur}
:root[data-m-go] [data-cm-fx="turn"][data-m-in] .cm-hw{animation-name:cm-h-turn}
:root[data-m-go] [data-cm-fx="track"][data-m-in] .cm-hw{animation-name:cm-h-track}
:root[data-m-go] [data-cm-fx="swing"][data-m-in] .cm-hw{animation-name:cm-h-swing}
:root[data-m-go] [data-cm-fx="drop"][data-m-in] .cm-hw{animation-name:cm-h-drop}
:root[data-m-go] [data-cm-fx="zoom"][data-m-in] .cm-hw{animation-name:cm-h-zoom}
@keyframes cm-h-wdth{from{opacity:.3;transform:scaleX(.55)}}
@keyframes cm-h-blur{from{opacity:.3;filter:blur(9px)}}
@keyframes cm-h-turn{from{opacity:.3;transform:perspective(500px) rotateX(-75deg)}}
@keyframes cm-h-track{from{opacity:.3;transform:translateX(calc(-8px - var(--i) * 3px))}}
@keyframes cm-h-swing{from{opacity:.3;transform:rotate(-9deg) translateY(10px)}}
@keyframes cm-h-drop{from{opacity:.3;transform:translateY(-.55em)}}
@keyframes cm-h-zoom{from{opacity:.3;transform:scale(1.1)}}
.cm-cap{font:12px/1.7 var(--gft-font-mono);color:var(--cm-ink);max-width:66ch;margin-top:14px}
.cm-cap--dark{color:var(--cm-lab)}
.cm-note{font:12px/1.8 var(--gft-font-mono);color:var(--cm-ink);max-width:72ch}
.cm-note--dark{color:var(--cm-lab)}
.cm-more{margin-top:10px}
.cm-more summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;font:12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;list-style:none;border-bottom:1px solid currentColor}
.cm-more summary::-webkit-details-marker{display:none}
.cm-more summary::after{content:'+';margin-left:10px}
.cm-more[open] summary::after{content:'-'}
.cm-more p{margin-top:8px;font-size:14px;line-height:1.7;max-width:52ch}
.cm-step__tag{font:12px/1.6 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;color:#24443a}
.cm-chips{display:flex;flex-wrap:wrap;gap:8px}
.cm-chip{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:8px 16px;border:1px solid #0e4d4a88;background:transparent;font-size:13px;font-weight:700;color:var(--cm-night);transition:background-color .3s,color .3s}
.cm-chip[aria-pressed="true"]{background:var(--cm-forest);color:var(--cm-paper);border-color:var(--cm-forest)}
.cm-chip__n{font:12px var(--gft-font-mono);padding:2px 4px;background:var(--cm-wash);color:#2f5244}
.cm-chip[aria-pressed="true"] .cm-chip__n{background:#0a3b39;color:#e9f3ec}
.cm-chips--dark .cm-chip{border-color:#9fcdb399;color:var(--cm-paper)}
.cm-chips--dark .cm-chip .cm-chip__n{background:#0a3b39;color:var(--cm-lab)}
.cm-chips--dark .cm-chip[aria-pressed="true"]{background:var(--cm-paper);color:var(--cm-night);border-color:var(--cm-paper)}
.cm-chips--dark .cm-chip[aria-pressed="true"] .cm-chip__n{background:var(--cm-wash);color:#2f5244}
.cm-seg{display:flex;flex-wrap:wrap;margin:0;padding:0;border:0;position:relative;min-width:0}
.cm-seg legend{font:12px/1.6 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;padding:0;margin-bottom:8px;display:block;width:100%}
.cm-seg__opt{position:relative;flex:1 1 0;min-width:0;cursor:pointer}
.cm-seg__opt input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;width:100%;height:100%}
.cm-seg__opt span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:8px 10px;border:1px solid #0e4d4a88;margin-left:-1px;font-size:13px;font-weight:700;line-height:1.2}
.cm-seg__opt:first-of-type span{margin-left:0}
.cm-seg__opt input:checked+span{background:var(--cm-forest);color:var(--cm-paper);border-color:var(--cm-forest)}
.cm-seg__opt input:focus-visible+span{outline:3px solid var(--cm-ochre);outline-offset:3px}
.cm-seg--dark .cm-seg__opt span{border-color:#6bb68faa;color:#eef6f0}
.cm-seg--dark legend{color:#c4d8cb}
.cm-seg--dark .cm-seg__opt input:checked+span{background:var(--cm-paper);color:var(--cm-night);border-color:var(--cm-paper)}
.cm-card{background:var(--cm-paper);border:1px solid #0e4d4a33;border-left:3px solid var(--cm-ochre);padding:20px 24px;box-shadow:0 18px 50px #072d2b1a}
.cm-card h3{font-size:clamp(1.3rem,1.7vw,1.7rem);margin-bottom:10px}
.cm-card>p:not(.cm-step__tag){font-size:15px;line-height:1.65}
.cm-card--dark{background:#0a3b39;color:var(--cm-paper);border-color:#9fcdb344;border-left-color:var(--cm-gold);box-shadow:0 18px 50px #00000033}
.cm-card--dark .cm-step__tag{color:var(--cm-lab)}
.cm-opts{margin:0;padding:0;border:0;display:grid}
.cm-opts legend{font:12px/1.6 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;padding:0;margin-bottom:10px}
.cm-opt{position:relative;display:grid;grid-template-columns:44px 1fr;grid-template-areas:"n t" "n s";column-gap:6px;padding:10px 16px 10px 0;min-height:60px;border-top:1px solid #6bb68f88;cursor:pointer;align-content:center;transition:transform .45s var(--cm-ease),background-color .3s}
.cm-opt:last-child{border-bottom:1px solid #6bb68f88}
.cm-opt input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}
.cm-opt__n{grid-area:n;font:12px var(--gft-font-mono);align-self:center;padding-left:12px}
.cm-opt__t{grid-area:t;font-size:clamp(1.05rem,1.4vw,1.35rem);font-weight:800;letter-spacing:-.03em;line-height:1.15}
.cm-opt__s{grid-area:s;font:12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase}
.cm-opts--dark .cm-opt:has(input:checked){background:var(--cm-paper);color:var(--cm-night);transform:translateX(12px)}
.cm-opts--dark .cm-opt:has(input:checked) .cm-opt__n{color:#7a4f08}
.cm-opt:has(input:focus-visible){outline:3px solid var(--cm-ochre);outline-offset:3px}
.cm-availability{font:12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;font-style:normal;color:var(--cm-gold)}
:is(.cm-weir__ctl,.cm-cl__in,.cm-gt) a:focus-visible{outline:3px solid var(--cm-gold)}

/* ======================= #2 The fibre weir ======================= */
.cm-s--weir{background:var(--cm-night);color:var(--cm-paper);padding:0 0 64px;z-index:1;overflow-anchor:none}
.cm-weir{position:relative;container-type:inline-size}
.cm-weir__rail{position:relative;z-index:3;height:148px;padding:18px 48px 0}
.cm-weir__rk{font:12px/1.6 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cm-lab);margin:0;max-width:none}
.cm-weir__hint{position:absolute;right:48px;top:18px;margin:0;font:12px/1.6 var(--gft-font-mono);color:var(--cm-lab);max-width:52ch;text-align:right}
.cm-rail{position:relative;height:66px;margin-top:8px}
.cm-rail__track{position:absolute;left:0;right:0;top:24px;height:4px;background:#c9ddd640}
.cm-rail__fill{position:absolute;inset:0;background:var(--cm-ochre);transform-origin:0 50%;transform:scaleX(calc(var(--cm-v) / 100));transition:transform .75s var(--cm-ease)}
.cm-rail__gap{position:absolute;left:5%;width:45%;top:-6px;height:16px;background:repeating-linear-gradient(45deg,#e6b25a99 0 3px,transparent 3px 8px);border:1px solid #e6b25a99;opacity:0;transition:opacity .45s}
.cm-weir[data-state="2"] .cm-rail__gap{opacity:1}
.cm-rail__post{position:absolute;top:-14px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center}
.cm-rail__post--5{left:5%}.cm-rail__post--50{left:50%}
.cm-rail__post i{display:block;width:4px;height:32px;background:var(--cm-paper)}
.cm-rail__post--50 i{background:var(--cm-gold)}
.cm-rail__post b{position:absolute;bottom:calc(100% + 2px);background:var(--cm-night);padding:0 4px;font:600 12px var(--gft-font-mono);letter-spacing:.06em;color:var(--cm-lab);white-space:nowrap}
.cm-rail__post--5 b{left:-4px}
.cm-rail__beacon{box-shadow:0 0 0 6px #e6b25a33,0 0 22px 6px #e6b25a55}
.cm-rail__hover{position:absolute;left:0;top:-10px;height:24px;width:0;border-left:1px dashed #f6f4efaa;opacity:0;transition:opacity .25s}
.cm-rail__hover b{position:absolute;left:6px;top:-2px;font:600 12px var(--gft-font-mono);color:var(--cm-paper);white-space:nowrap}
.cm-weir[data-hover] .cm-rail__hover{opacity:1}
.cm-rail__input{position:absolute;left:-14px;top:4px;width:calc(100% + 28px);height:44px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.cm-rail__input::-webkit-slider-runnable-track{height:44px;background:transparent}
.cm-rail__input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;margin-top:8px;border-radius:50%;background:var(--cm-ochre);border:3px solid var(--cm-paper);box-shadow:0 0 0 6px #c98a2b44}
.cm-rail__input::-moz-range-track{height:44px;background:transparent}
.cm-rail__input::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--cm-ochre);border:3px solid var(--cm-paper)}
.cm-rail__input:focus-visible{outline:3px solid var(--cm-gold);outline-offset:2px}
.cm-rail__scale span{position:absolute;left:calc(var(--t) * 1%);top:40px;transform:translateX(-50%);font:12px var(--gft-font-mono);color:var(--cm-lab)}
.cm-weir__stage{position:relative;z-index:1;margin-top:-148px}
.cm-weir__art{position:relative;width:100%}
.cm-weir__art--m{display:none}
.cm-weir__lay{position:absolute;inset:0;overflow-anchor:none}
.cm-weir__svg{display:block;width:100%;height:100%;transition:clip-path .8s var(--cm-ease)}
.cm-weir[data-drag] .cm-weir__svg,.cm-weir[data-drag] .cm-weir__ribbon,.cm-weir[data-drag] .cm-rail__fill{transition-duration:0s}
.cm-weir__a path{stroke:var(--cm-sage);stroke-width:.85;stroke-opacity:.6}
.cm-weir__a path.w{stroke:var(--cm-paper);stroke-opacity:.75}
.cm-weir__b path:is(.s,.t,.o){stroke:var(--cm-ochre);stroke-width:1.05}
.cm-weir__gap{opacity:0;transition:opacity .45s}
.cm-weir[data-state="1"] .cm-weir__b path:is(.s,.t,.o){stroke-dasharray:4 3}
.cm-weir[data-state="2"] .cm-weir__b path:is(.t,.o){stroke-dasharray:4 3;stroke:var(--cm-gold)}
.cm-weir[data-state="2"] .cm-weir__gap{opacity:1}
.cm-weir[data-state="3"] .cm-weir__b path:is(.s,.t,.o){stroke:var(--cm-gold);stroke-opacity:.5;stroke-width:.7}
.cm-weir__art--m .cm-weir__a path{stroke-width:.55}
.cm-weir__art--m .cm-weir__b path:is(.s,.t,.o){stroke-width:.7}
.cm-weir__defs{position:absolute;width:0;height:0}
.cm-weir__scan{position:absolute;top:0;left:0;width:9cqw;height:29.2cqw;background:linear-gradient(90deg,transparent,#f6f4ef24,transparent);transform:translateX(-12cqw);pointer-events:none;overflow-anchor:none}
:root[data-m-go] .cm-weir__scan[data-m-on]{animation-name:cm-scan;animation-duration:6s;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes cm-scan{0%{transform:translateX(-12cqw)}55%,100%{transform:translateX(104cqw)}}
.cm-wl{position:absolute;margin:0;font:600 12px/1.4 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cm-lab);white-space:nowrap;max-width:none}
.cm-wl--river{left:53.3cqw;top:8.4cqw}
.cm-wl--raw{right:3.34cqw;top:8.4cqw}
.cm-wl--eddy{left:16.7cqw;top:8.4cqw}
.cm-wl--enc{left:50%;top:27.2cqw;transform:translateX(-50%);color:#b8cec4}
.cm-weir__fig{position:absolute;top:22cqw;display:grid;gap:2px}
.cm-weir__fig span{font:600 12px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cm-lab)}
.cm-weir__fig strong{font:850 clamp(2.6rem,4.4cqw,4.4rem)/1 var(--gft-font-display);letter-spacing:-.05em}
.cm-weir__fig--l{left:16.7cqw}.cm-weir__fig--l strong{color:var(--cm-gold)}
.cm-weir__fig--r{right:3.34cqw;text-align:right}
.cm-weir__ribbon{position:absolute;left:4.392cqw;width:10.417cqw;top:29.16cqw;bottom:-64px;background:linear-gradient(90deg,#c98a2b,#c98a2bcc);clip-path:inset(0 calc(.10417cqw * (100 - var(--cm-v))) 0 0);transition:clip-path .8s var(--cm-ease);pointer-events:none;overflow-anchor:none}
.cm-weir[data-state="3"] .cm-weir__ribbon{opacity:.55}
.cm-weir__body{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:4cqw;padding:20px 48px 0 16.7cqw}
.cm-weir__head .cm-head__t{font-size:clamp(2.1rem,3.2vw,3.3rem);max-width:19ch}
.cm-weir__head .cm-head__l{color:#d8e6dd}
.cm-weir__ctl{display:grid;gap:18px;align-content:start;padding-top:6px}
.cm-weir__read{display:grid}
.cm-wr{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .15s var(--cm-ease) 0s,visibility 0s .15s}
.cm-weir[data-state="0"] .cm-wr--0,.cm-weir[data-state="1"] .cm-wr--1,.cm-weir[data-state="2"] .cm-wr--2,.cm-weir[data-state="3"] .cm-wr--3{opacity:1;visibility:visible;transition:opacity .26s var(--cm-ease) .16s,visibility 0s 0s}
.cm-wr h3{font-size:clamp(1.15rem,1.5vw,1.45rem);letter-spacing:-.025em;margin:10px 0 6px;max-width:30ch}
.cm-wr p{font-size:14px;line-height:1.6;color:#d8e6dd}
.cm-wr .gft-cite{color:var(--cm-paper)}
.cm-wchip{display:inline-flex;padding:5px 10px;border:1px solid var(--cm-gold);font:600 12px var(--gft-font-mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--cm-gold)!important}
:root[data-m-go] [data-m="cm-reedside"]:not([data-m-in]){opacity:.3;transform:translateX(-28px)}
:root[data-m-go] [data-m="cm-reedside"][data-m-in]{animation-name:cm-reedside;animation-duration:700ms;animation-timing-function:var(--cm-ease);animation-iteration-count:1;animation-direction:normal;animation-fill-mode:backwards}
@keyframes cm-reedside{from{opacity:.3;transform:translateX(-28px)}}

/* ======================= #3 The boundary (drafting sheet, cinema overlay) ======================= */
.cm-s--bd{background:var(--cm-paper);color:var(--cm-night);padding:0}
.cm-bd__sheet{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#6bb68f1f 1px,transparent 1px),linear-gradient(90deg,#6bb68f1f 1px,transparent 1px),linear-gradient(#6bb68f33 1px,transparent 1px),linear-gradient(90deg,#6bb68f33 1px,transparent 1px);background-size:22px 22px,22px 22px,110px 110px,110px 110px;overflow-anchor:none}
:root[data-m-go] [data-m="cm-sheet"]:not([data-m-in]){clip-path:inset(30% 0 0 0)}
:root[data-m-go] [data-m="cm-sheet"][data-m-in]{animation-name:cm-sheet;animation-duration:850ms;animation-timing-function:var(--cm-ease);animation-iteration-count:1;animation-direction:normal;animation-fill-mode:backwards}
@keyframes cm-sheet{from{clip-path:inset(30% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
.cm-bd{position:relative}
.cm-bd__stage{position:sticky;top:0;height:100svh;z-index:3;pointer-events:none;display:grid;grid-template-columns:minmax(0,64%) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}
.cm-bd__band{display:contents}
.cm-bd__win{grid-column:1;grid-row:1/-1;position:relative}
.cm-bd__draw{position:absolute;left:44px;top:2svh;width:min(calc(100% - 52px),calc(96svh * 1.15));aspect-ratio:920/800}
.cm-bd__layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cm-bd__grp{position:absolute;inset:0;transition:opacity .35s var(--cm-ease) .18s}
.cm-bd__grp--2{z-index:1}
.cm-bd__seg{transition:clip-path .75s var(--cm-ease)}
.cm-bd[data-state="0"] :is(.cm-bd__grp--1,.cm-bd__grp--2),.cm-bd[data-state="1"] .cm-bd__grp--2{opacity:0;transition-delay:0s}
.cm-bd[data-state="1"] .cm-bd__grp--0,.cm-bd[data-state="2"] :is(.cm-bd__grp--0,.cm-bd__grp--1){opacity:.28;transition-delay:0s}
.cm-bd[data-state="0"] .cm-bd__seg--1{clip-path:inset(0 0 100% 0)}
.cm-bd[data-state="0"] .cm-bd__seg--2,.cm-bd[data-state="1"] .cm-bd__seg--2{clip-path:inset(0 0 0 100%)}
.cm-bd__ring circle:first-child{transform-box:fill-box;transform-origin:center}
.cm-bd__sat{transform-box:fill-box;transform-origin:center}
.cm-bl{position:absolute;left:calc(var(--x) / 920 * 100%);top:calc(var(--y) / 800 * 100%);margin:0;font:600 12.5px/1.25 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cm-ink);white-space:nowrap;max-width:none}
.cm-bl--c{transform:translateX(-50%);text-align:center}
.cm-bl--r{transform:translateX(-100%);text-align:right;white-space:normal;width:max-content;max-width:calc(220 / 920 * 100%)}
.cm-bl--ochre{color:#7a4f08}
.cm-bl--b{transform:translate(-50%,-50%);font-size:13px;font-weight:700;color:var(--cm-forest)}
.cm-bl--tag{transform:translate(-100%,-50%);padding:3px 8px;background:var(--cm-wash);border:1px solid #0e4d4a66;color:var(--cm-forest)}
.cm-bl--note{white-space:normal;width:calc(250 / 920 * 100%);text-transform:none;letter-spacing:.02em;font-size:13px;line-height:1.45}
.cm-bd__lane{grid-column:2;grid-row:1;pointer-events:auto;background:var(--cm-paper);padding:28px 48px 0 20px;border-left:1px solid #0e4d4a22}
.cm-bd__head .cm-head__t{font-size:clamp(1.9rem,2.6vw,2.7rem);max-width:15ch}
.cm-bd__ctl .cm-chips{flex-wrap:nowrap}
.cm-bd__ctl .cm-chip{padding:8px 12px}
.cm-bd__ctl{grid-column:2;grid-row:2;pointer-events:auto;background:var(--cm-paper);padding:12px 48px 22px 20px;border-left:1px solid #0e4d4a22;border-bottom:1px solid #0e4d4a22;display:grid;gap:12px}
.cm-bd__read{display:grid;margin:0;max-width:none}
.cm-bd__r{grid-area:1/1;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;font:600 12.5px/1.5 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cm-forest);opacity:0;transition:opacity .15s var(--cm-ease) 0s}
.cm-bd__r b{padding:3px 8px;background:var(--cm-forest);color:var(--cm-paper);font-weight:600}
.cm-bd[data-state="0"] .cm-bd__r--0,.cm-bd[data-state="1"] .cm-bd__r--1,.cm-bd[data-state="2"] .cm-bd__r--2,.cm-bd[data-state="all"] .cm-bd__r--2{opacity:1;transition:opacity .26s var(--cm-ease) .16s}
.cm-bd__steps{position:relative;z-index:2;margin-top:-100svh;padding-left:calc(64% + 20px);padding-right:48px}
.cm-bd__step{height:100svh}
.cm-bd__step:last-child{height:130svh}
.cm-bd__step .cm-card{position:sticky;top:51svh;transition:opacity .45s var(--cm-ease)}
@media (min-width:901px){.cm-bd__step:first-child .cm-card{margin-top:51svh}.cm-bd[data-cm-ready] .cm-bd__step:not([data-active]) .cm-card{opacity:.08}}

/* ======================= #4 The chain (full-bleed 62/38 split + dark warp bridge) ======================= */
.cm-s--ch{background:var(--cm-paper) linear-gradient(#6bb68f1f 1px,transparent 1px) 0 0/22px 22px;padding:0}
.cm-ch{display:grid;grid-template-columns:62% 38%;column-gap:0;align-items:start;width:100%}
.cm-ch__panel{position:sticky;top:0;min-height:100svh;background:var(--cm-forest);color:var(--cm-paper);padding:28px 36px 22px max(48px,calc((100vw - 1440px) / 2 + 48px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;align-content:between;border-right:2px solid var(--cm-ochre)}
.cm-ch__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start}
.cm-ch__head .cm-head__t{font-size:clamp(1.75rem,2.3vw,2.5rem);max-width:22ch}
.cm-ch__head .cm-head__l{color:#d8e6dd;font-size:14.5px;line-height:1.52;margin-top:8px;max-width:44ch}
.cm-ch__head .gft-eyebrow{color:var(--cm-lab);margin-bottom:8px}
.cm-ch__num-box{display:grid;justify-items:end;padding:4px 0 0;overflow:visible}
.cm-ch__num{grid-area:1/1;margin:0;display:grid;justify-items:end;gap:4px;opacity:0;transition:opacity .15s var(--cm-ease) 0s;overflow:visible}
.cm-ch__num strong{font:850 clamp(3.4rem,5vw,5.2rem)/1 var(--gft-font-display);letter-spacing:-.05em;color:var(--cm-gold);display:block;padding-inline:2px}
.cm-ch__num span{font:600 12px/1.3 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cm-lab);background:#0a3b39;padding:4px 8px;border:1px solid #9fcdb355;white-space:nowrap}
.cm-ch[data-state="0"] .cm-ch__num--0,.cm-ch[data-state="1"] .cm-ch__num--1,.cm-ch[data-state="2"] .cm-ch__num--2,.cm-ch[data-state="all"] .cm-ch__num--0{opacity:1;transition:opacity .26s var(--cm-ease) .16s}
.cm-ch__band{display:contents}
.cm-ch__art{position:relative;aspect-ratio:760/440;width:100%;max-height:48svh;container-type:inline-size;align-self:center}
.cm-ch__layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cm-ch__thr{opacity:.3;transition:opacity .5s var(--cm-ease)}
.cm-ch[data-state="0"] .cm-ch__thr--0,.cm-ch[data-state="1"] .cm-ch__thr--1,.cm-ch[data-state="2"] .cm-ch__thr--2,.cm-ch[data-state="all"] .cm-ch__thr{opacity:1}
.cm-ch__comp{position:absolute;inset:0;opacity:0;transition:opacity .16s var(--cm-ease) 0s}
.cm-ch[data-state="0"] .cm-ch__comp--0,.cm-ch[data-state="1"] .cm-ch__comp--1,.cm-ch[data-state="2"] .cm-ch__comp--2,.cm-ch[data-state="all"] .cm-ch__comp{opacity:1;transition:opacity .28s var(--cm-ease) .17s}
.cm-ch[data-state="all"] :is(.cm-ch__comp--0,.cm-ch__comp--1) .cm-chl--note{display:none}
.cm-chl{position:absolute;left:calc(var(--x) / 760 * 100%);top:calc(var(--y) / 440 * 100%);margin:0;font:600 12px/1.3 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cm-lab);white-space:nowrap;max-width:none}
.cm-chl--note{color:#f0d29a}
.cm-ch__rec{position:absolute;left:calc(var(--x) / 760 * 100%);top:calc(var(--y) / 440 * 100%);width:calc(250 / 760 * 100%);height:calc(56 / 440 * 100%);min-height:44px;display:flex;align-items:center;padding:0 12px;background:transparent;border:0;color:var(--cm-paper);font:600 12px/1.25 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;text-align:left;pointer-events:none}
.cm-ch__rec[data-cm-rec="1"]{min-width:0}
.cm-ch__rec[data-cm-rec="1"] .cm-ch__full{min-width:0;width:100%;max-width:25ch;white-space:normal}
.cm-ch[data-state="2"] .cm-ch__rec,.cm-ch[data-state="all"] .cm-ch__rec{pointer-events:auto}
.cm-ch__rec:hover,.cm-ch__rec:focus-visible{background:#f6f4ef1f}
.cm-ch__rec:focus-visible{outline:3px solid var(--cm-gold);outline-offset:2px}
.cm-ch__flow{opacity:.35}
:root[data-m-go] .cm-ch__flow[data-m-on]{animation-name:cm-flowp;animation-duration:2.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.cm-ch__flow--1{animation-delay:.8s}.cm-ch__flow--2{animation-delay:1.6s}
@keyframes cm-flowp{0%,100%{opacity:.35}25%{opacity:1}50%{opacity:.35}}
.cm-ch__iris{transform-box:fill-box;transform-origin:center}
.cm-ch__beadx{position:absolute;left:0;top:calc(40 / 440 * 100%);width:0;height:0;transform:translateX(15.79cqw);transition:opacity .3s}
.cm-ch[data-state="1"] .cm-ch__beadx{transform:translateX(39.47cqw)}
.cm-ch[data-state="2"] .cm-ch__beadx{transform:translateX(63.16cqw)}
.cm-ch[data-state="all"] .cm-ch__beadx{opacity:0}
.cm-ch__bead{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--cm-paper);box-shadow:0 0 0 5px #f6f4ef33,0 0 18px #e6b25a;overflow-anchor:none}
:root[data-m-go] .cm-ch__bead[data-m-on]{animation-name:cm-bead;animation-duration:4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
@keyframes cm-bead{0%{opacity:.2;transform:translateY(0)}10%{opacity:1}85%{opacity:1}100%{opacity:.2;transform:translateY(46cqw)}}
.cm-ch__foot{display:grid;gap:10px}
.cm-ch__io{display:grid;min-height:58px}
.cm-io{grid-area:1/1;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0;opacity:0;transition:opacity .15s var(--cm-ease) 0s}
.cm-io div{border-top:1px solid #9fcdb366;padding-top:6px}
.cm-io dt{font:600 12px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cm-gold)}
.cm-io dd{margin:3px 0 0;font-size:13.5px;line-height:1.42}
.cm-ch[data-state="0"] .cm-io--0,.cm-ch[data-state="1"] .cm-io--1,.cm-ch[data-state="2"]:not([data-rec]) .cm-io--2,.cm-ch[data-state="all"] .cm-io--2{opacity:1;transition:opacity .26s var(--cm-ease) .16s}
.cm-io--rec{display:block;border-top:1px solid var(--cm-gold);padding-top:6px;font-size:13.5px;line-height:1.45;max-width:none}
.cm-ch[data-rec] .cm-io--rec{opacity:1;transition:opacity .26s var(--cm-ease) .16s}
.cm-ch__cap{display:grid;margin:0;max-width:none}
.cm-ch__c{grid-area:1/1;font:12px/1.55 var(--gft-font-mono);color:var(--cm-lab);opacity:0;transition:opacity .15s var(--cm-ease) 0s}
.cm-ch__c b{color:var(--cm-gold);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.cm-ch[data-state="0"] .cm-ch__c--0,.cm-ch[data-state="1"] .cm-ch__c--1,.cm-ch[data-state="2"] .cm-ch__c--2,.cm-ch[data-state="all"] .cm-ch__c--2{opacity:1;transition:opacity .26s var(--cm-ease) .16s}
.cm-ch__col{padding:0 max(36px,calc((100vw - 1440px) / 2 + 36px)) 0 32px}
.cm-ch__step{min-height:94svh;display:flex;flex-direction:column;justify-content:center;gap:14px;padding-block:28px}
.cm-ch__diag{background:#eae6dd;border:1px solid #0e4d4a33;padding:12px 16px}
.cm-ch__diag-svg{display:block;width:100%;height:34px}
.cm-ch__diag-labels{display:flex;justify-content:space-between;align-items:center;gap:8px;font:600 12px/1.3 var(--gft-font-mono);color:var(--cm-ink);margin-top:4px}
.cm-ch__diag-labels strong{color:var(--cm-night);background:var(--cm-paper);padding:2px 8px;border:1px solid #c98a2b}
.cm-ch__card{position:relative;transition:transform .5s var(--cm-ease),box-shadow .5s,border-color .5s}
.cm-ch__step:not([data-active]) .cm-ch__card{box-shadow:none}
.cm-ch__step[data-active] .cm-ch__card{transform:translateX(-6px);border-color:var(--cm-ochre)}
.cm-ch__card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.cm-ch__card-top .cm-step__tag{margin-bottom:0}
.cm-ch__step-badge{font:700 12px var(--gft-font-mono);color:#7a4f08;background:#fdf6e9;border:1px solid #c98a2b88;padding:2px 8px}
.cm-card__node{position:absolute;left:-9px;top:24px;width:15px;height:15px;border-radius:50%;background:var(--cm-ochre);border:3px solid var(--cm-paper)}
.cm-ch__checks{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #0e4d4a26;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.cm-ch__checks li{font:600 12px/1.35 var(--gft-font-mono);color:var(--cm-night);display:flex;align-items:center;gap:6px}
.cm-ch__checks li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cm-ochre);flex:none}
.cm-ch__card-io{margin:12px 0 0;padding:10px 12px;background:#efeae0;border-left:2px solid var(--cm-forest);display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cm-ch__card-io dt{font:700 12px var(--gft-font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--cm-forest)}
.cm-ch__card-io dd{margin:3px 0 0;font-size:13px;line-height:1.4;color:var(--cm-night)}
/* Full-width dark hand-over bridge at the tail of #cm-chain into #cm-weave */
.cm-ch__bridge{position:relative;width:100%;min-height:150px;background-color:var(--cm-night);color:var(--cm-paper);display:flex;align-items:center;overflow:hidden;border-top:2px solid var(--cm-ochre)}
.cm-ch__bridge-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.cm-ch__bridge-in{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px;width:100%}
.cm-ch__bridge-k{font:700 12px/1.4 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cm-gold);padding:5px 10px;border:1px solid var(--cm-gold);background:#0a3b39;white-space:nowrap}
.cm-ch__bridge-t{font:600 13px/1.5 var(--gft-font-mono);color:var(--cm-lab);background:#072d2bf2;padding:6px 12px;border:1px solid #9fcdb333}

/* ======================= #5 The interlude (night loom, iris entry) ======================= */
.cm-s--wv{padding:0;background-color:var(--cm-night);color:var(--cm-paper)}
.cm-wv__iris{background-color:var(--cm-night);--cm-ix:calc(80px + (62% - 117.76px) * .158)}
@supports (animation-timeline:view()){
 :root[data-m-go] .cm-wv__iris{animation-name:cm-iris;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:entry 0%;animation-range-end:entry 50%}
}
@keyframes cm-iris{from{clip-path:circle(42% at var(--cm-ix) 0%)}to{clip-path:circle(150% at var(--cm-ix) 0%)}}
.cm-wv{position:relative;min-height:100svh;display:flex;align-items:center;overflow:clip}
.cm-wv__art{position:absolute;inset:0;pointer-events:none}
.cm-wv__art>svg{width:100%;height:100%}
.cm-wv__lab{font:600 13px var(--gft-font-mono);letter-spacing:.1em;fill:var(--cm-paper)}
.cm-route{opacity:.16;transition:opacity .5s var(--cm-ease)}
.cm-route--2{opacity:.42}
.cm-wv[data-state="0"] .cm-route--0,.cm-wv[data-state="1"] .cm-route--1,.cm-wv[data-state="2"] .cm-route--2{opacity:1}
:root[data-m-go] .cm-wv[data-cm-ready][data-state="0"] .cm-route--0,:root[data-m-go] .cm-wv[data-cm-ready][data-state="1"] .cm-route--1,:root[data-m-go] .cm-wv[data-cm-ready][data-state="2"] .cm-route--2{animation-name:cm-route-run;animation-duration:1s;animation-timing-function:var(--cm-ease);animation-iteration-count:1;animation-direction:normal;animation-fill-mode:backwards}
@keyframes cm-route-run{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.cm-wn__ring{transform-box:fill-box;transform-origin:center}
.cm-wn{opacity:.55;transition:opacity .5s}
.cm-wv[data-state="0"] .cm-wn--0,.cm-wv[data-state="1"] .cm-wn--1,.cm-wv[data-state="2"] .cm-wn--2{opacity:1}
.cm-wv__sweep{overflow-anchor:none}
:root[data-m-go] .cm-wv__sweep[data-m-on]{animation-name:cm-sweep;animation-duration:9s;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes cm-sweep{from{transform:translateX(0)}to{transform:translateX(1760px)}}
.cm-wv__warp{position:absolute;left:0;right:0;top:0;bottom:0}
.cm-wv__mirror{position:relative;width:62%;height:100%}
.cm-wv__thr{position:absolute;top:0;bottom:0;left:calc(32px + (100% - 64px) * var(--x) / 760);width:2px;margin-left:-1px;background:linear-gradient(#f6f4ef,#f6f4ef99 60%,#f6f4ef22)}
.cm-wv__thr:first-child{background:linear-gradient(#e6b25a,#e6b25aaa 60%,#e6b25a22);width:3px}
.cm-wv__inner{position:relative;z-index:2;padding-block:12svh 10svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:6%;align-items:end}
.cm-wv__head{grid-column:1;padding:24px 28px;background:#072d2bd9;margin-left:-28px}
.cm-wv__head .cm-head__t{font-size:clamp(2.4rem,4.4vw,4.6rem);max-width:13ch}
.cm-wv__head .cm-head__l{font-family:var(--gft-font-serif);font-style:italic;font-size:clamp(1.1rem,1.5vw,1.45rem);color:#e3eee8}
.cm-wv__ctl{grid-column:1;padding:20px 28px;background:#072d2bd9;margin-left:-28px;display:grid;gap:14px;max-width:560px}
.cm-wv__read{display:grid;min-height:96px}
.cm-wv__r{grid-area:1/1;opacity:0;transition:opacity .15s var(--cm-ease) 0s}
.cm-wv[data-state="0"] .cm-wv__r--0,.cm-wv[data-state="1"] .cm-wv__r--1,.cm-wv[data-state="2"] .cm-wv__r--2{opacity:1;transition:opacity .26s var(--cm-ease) .16s}
.cm-wv__node{font:600 12px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cm-gold);margin-bottom:6px}
.cm-wv__r p:last-child{font-size:15px;line-height:1.6}
.cm-wv__close{grid-column:2;grid-row:1/3;align-self:end;font:italic clamp(1.2rem,1.7vw,1.6rem)/1.45 var(--gft-font-serif);max-width:26ch;padding:18px 22px;background:var(--cm-night);color:#f1f6f2}
.cm-wv__inner .cm-note{grid-column:1/-1;margin-top:18px;padding:10px 0;background:#072d2bd9}

/* ======================= #6 The handshake (forest, full-stage loom + lower-left read-out) ======================= */
.cm-s--hs{background:var(--cm-forest) linear-gradient(90deg,#6bb68f14 1px,transparent 1px) 0 0/52px 52px;color:var(--cm-paper);padding:0}
.cm-hs{position:relative}
.cm-hs__stage{--cm-gut:max(48px,calc((100% - 1440px) / 2));position:sticky;top:0;height:100svh;min-height:100svh;z-index:3;pointer-events:none;display:grid;grid-template-columns:var(--cm-gut) minmax(0,1.15fr) minmax(0,1fr) var(--cm-gut);grid-template-rows:auto minmax(0,1fr) auto;column-gap:28px;padding-block:2.5svh 2.5svh}
.cm-hs__stage::before{content:'';grid-column:1/-1;grid-row:1/3;background:var(--cm-forest);z-index:-1}
.cm-hs__band{display:contents}
.cm-hs__head{grid-column:2;grid-row:1;align-self:end;padding-right:16px;pointer-events:auto}
.cm-hs__ro{grid-column:3;grid-row:1;align-self:end;pointer-events:auto;display:grid;gap:10px;justify-items:start}
.cm-hs__bedwrap{grid-column:2/4;grid-row:2;align-self:center;padding-block:.5svh}
.cm-hs__ledger{grid-column:2;grid-row:3;align-self:end;pointer-events:auto;background:#0a3b39f2;border:1px solid #9fcdb355;border-left:3px solid var(--cm-gold);padding:16px 20px;display:grid;gap:10px;box-shadow:0 16px 40px #0000002e}
.cm-hs__lcard{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .15s var(--cm-ease) 0s,visibility 0s .15s;display:grid;gap:6px}
.cm-hs[data-state="0"] .cm-hs__lcard--0,.cm-hs[data-state="1"] .cm-hs__lcard--1,.cm-hs[data-state="2"] .cm-hs__lcard--2,.cm-hs[data-state="all"] .cm-hs__lcard--2{opacity:1;visibility:visible;transition:opacity .26s var(--cm-ease) .16s,visibility 0s 0s}
.cm-hs__ltop{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cm-hs__ltag{font:600 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cm-lab)}
.cm-hs__lchip{font:700 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cm-night);background:var(--cm-gold);padding:3px 8px}
.cm-hs__ldef{font:800 clamp(1.2rem,1.6vw,1.5rem)/1.2 var(--gft-font-display);color:var(--cm-paper);margin:0}
.cm-hs__lval{font:600 13px/1.45 var(--gft-font-mono);color:#e2efe8;margin:0}
.cm-hs__lval span{color:var(--cm-gold);text-transform:uppercase;letter-spacing:.06em;margin-right:6px}
.cm-hs__schem{grid-row:2;margin:0;padding-top:8px;border-top:1px solid #9fcdb333;font-size:12px;line-height:1.5}
.cm-hs__head .cm-head__t{font-size:clamp(1.85rem,2.5vw,2.75rem);max-width:24ch}
.cm-hs__head .cm-head__l{color:#d8e6dd;font-size:14.5px;margin-top:8px}
.cm-hs__head .gft-eyebrow{color:var(--cm-lab);margin-bottom:8px}
.cm-hs__count{display:grid;margin:0}
.cm-hs__n{grid-area:1/1;display:flex;align-items:baseline;gap:14px;opacity:0;transition:opacity .15s var(--cm-ease) 0s}
.cm-hs__n strong{font:850 clamp(3.6rem,5.6vw,5.8rem)/.9 var(--gft-font-display);letter-spacing:-.06em;color:var(--cm-gold)}
.cm-hs__n span{font:600 12.5px/1.38 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;max-width:16ch;color:var(--cm-lab)}
.cm-hs[data-state="0"] .cm-hs__n--0,.cm-hs[data-state="1"] .cm-hs__n--1,.cm-hs[data-state="2"] .cm-hs__n--2,.cm-hs[data-state="all"] .cm-hs__n--2{opacity:1;transition:opacity .26s var(--cm-ease) .16s}
.cm-hs__bed{position:relative;container-type:inline-size}
.cm-hs__bed--d{aspect-ratio:1200/340;width:min(100%,1240px);margin-inline:auto}
.cm-hs__bed--m{display:none;aspect-ratio:360/260}
.cm-hs__layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cm-hs__grp{position:absolute;inset:0;opacity:0;transition:opacity .16s var(--cm-ease) 0s}
svg .cm-hs__grp{position:static}
.cm-hs[data-state="0"] .cm-hs__grp--0,.cm-hs[data-state="1"] .cm-hs__grp--1,.cm-hs[data-state="2"] .cm-hs__grp--2,.cm-hs[data-state="all"] .cm-hs__grp--2{opacity:1;transition:opacity .28s var(--cm-ease) .17s}
.cm-hs__cap{transition:fill .4s}
.cm-hs__seg{transition:clip-path .75s var(--cm-ease) .18s}
.cm-hs[data-state="0"] .cm-hs__seg,.cm-hs[data-state="2"] .cm-hs__seg{clip-path:inset(0 100% 0 0)}
.cm-hs__seg--r{transition-delay:.25s}.cm-hs__seg--s{transition-delay:.45s}.cm-hs__seg--m{transition-delay:.6s}
.cm-hl{position:absolute;left:calc(var(--x) / 1200 * 100%);top:calc(var(--y) / 340 * 100%);margin:0;font:600 12.5px/1.3 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cm-lab);white-space:nowrap;max-width:none}
.cm-hl--k{color:var(--cm-paper)}
.cm-hl--r{transform:translateX(-100%)}
.cm-hl--c{transform:translate(-50%,-50%);text-align:center}
.cm-hl--b{color:var(--cm-gold)}
.cm-hl--in{transform:translateY(-50%);color:var(--cm-paper);font-weight:700}
.cm-hl--note{color:#f0d29a}
.cm-hl--bar{display:flex;align-items:baseline;gap:14px;color:var(--cm-paper);text-transform:none;letter-spacing:0}
.cm-hl--bar strong{font:750 15px/1.2 var(--gft-font-display);color:var(--cm-paper)}
.cm-hl--bar span{font:600 12px/1.2 var(--gft-font-mono);color:var(--cm-lab);text-transform:uppercase;letter-spacing:.06em}
.cm-hl--capbox{display:grid;gap:10px;width:calc(230 / 1200 * 100%);white-space:normal;text-transform:none;letter-spacing:0}
.cm-hl--capbox strong{font:750 15px/1.25 var(--gft-font-display);color:var(--cm-gold);text-transform:uppercase;letter-spacing:.04em}
.cm-hl--capbox span{font:600 12px/1.35 var(--gft-font-mono);color:var(--cm-paper);padding-top:6px;border-top:1px solid #9fcdb333}
.cm-hl--trace{display:grid;gap:4px;width:calc(174 / 1200 * 100%);white-space:normal;text-transform:none;letter-spacing:0}
.cm-hl--trace b{font:700 12px/1.2 var(--gft-font-mono);color:var(--cm-gold);letter-spacing:.06em}
.cm-hl--trace strong{font:750 15px/1.2 var(--gft-font-display);color:var(--cm-paper)}
.cm-hl--trace span{font:500 12px/1.35 var(--gft-font-mono);color:var(--cm-lab)}
.cm-hs__bed--m .cm-hl{left:calc(var(--x) / 360 * 100%);top:calc(var(--y) / 260 * 100%)}
.cm-hs__knot{position:absolute;left:calc(1005 / 1200 * 100%);top:60%;width:0;height:0;opacity:0}
.cm-hs__knot i{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;background:var(--cm-gold);border:3px solid var(--cm-paper);box-shadow:0 0 22px #e6b25a}
.cm-hs[data-state="2"] .cm-hs__knot,.cm-hs[data-state="all"] .cm-hs__knot{opacity:1;transition:opacity .3s .3s}
.cm-hs__bead{position:absolute;left:0;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--cm-paper);box-shadow:0 0 16px #e6b25a;overflow-anchor:none}
:root[data-m-go] .cm-hs__bead[data-m-on]{animation-name:cm-run;animation-duration:5s;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes cm-run{0%{transform:translateX(0);opacity:.2}8%{opacity:1}92%{opacity:1}100%{transform:translateX(100cqw);opacity:.2}}
.cm-hs__steps{position:relative;z-index:2;margin-top:-100svh;display:flex;flex-direction:column;align-items:flex-end;padding-inline:max(48px,calc((100% - 1440px) / 2))}
.cm-hs__step{height:100svh;width:min(600px,46%)}
.cm-hs__step:last-child{height:118svh}
.cm-hs__step .cm-card{position:sticky;top:68svh;transition:opacity .45s var(--cm-ease)}
@media (min-width:901px){.cm-hs__step:first-child .cm-card{margin-top:68svh}.cm-hs[data-cm-ready] .cm-hs__step:not([data-active]) .cm-card{opacity:.08}}
.cm-hs__step .cm-more{margin-top:4px}
/* Scroll-linked gold thread wipe handing over from #cm-handshake to #cm-gates */
.cm-hs__wipe{position:relative;background-color:var(--cm-forest);border-top:1px solid #9fcdb333;padding:28px 0 36px}
.cm-hs__wipe-in{display:grid;gap:16px}
.cm-hs__wipe-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.cm-hs__wipe-k{font:700 12px/1.4 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cm-night);background:var(--cm-gold);padding:4px 10px}
.cm-hs__wipe-t{font:600 13px/1.45 var(--gft-font-mono);color:var(--cm-paper)}
.cm-hs__wipe-track{position:relative;height:44px;background:#0a3b39;border:1px solid #9fcdb355;display:flex;align-items:center}
.cm-hs__wipe-line{position:absolute;left:16.67%;right:16.67%;top:50%;height:4px;margin-top:-2px;background:var(--cm-gold);transform-origin:100% 50%}
@supports (animation-timeline:view()){
 :root[data-m-go] .cm-hs__wipe-line{animation-name:cm-wipe-draw;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:entry 10%;animation-range-end:cover 45%}
}
@keyframes cm-wipe-draw{from{transform:scaleX(.08)}to{transform:scaleX(1)}}
.cm-hs__wipe-node{position:absolute;top:50%;transform:translate(-50%,-50%);padding:4px 10px;font:700 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--cm-night);color:var(--cm-gold);border:1.5px solid var(--cm-gold)}
.cm-hs__wipe-node--r{left:83.33%}
.cm-hs__wipe-node--l{left:16.67%;background:var(--cm-paper);color:var(--cm-night);border-color:var(--cm-ochre)}

/* ======================= #7 The gates (light paper ledger with inverted palette) ======================= */
.cm-s--gt{background:var(--cm-paper) linear-gradient(#0e4d4a14 1px,transparent 1px) 0 0/28px 28px;color:var(--cm-night);padding:24px 0 72px}
.cm-gt__fringe{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow-anchor:none}
.cm-gt{position:relative;container-type:inline-size}
.cm-gt__sel{position:relative;height:146px}
.cm-gt__lead-in{position:absolute;left:16.667%;top:-24px;width:3px;height:46px;background:var(--cm-ochre)}
.cm-gt__line{position:absolute;left:0;right:0;top:64px;height:2px;background:#0e4d4a38}
.cm-gt__lit{position:absolute;left:0;right:0;top:63px;height:4px;background:var(--cm-ochre);transform-origin:0 50%;transform:scaleX(.2);transition:transform .9s var(--cm-ease)}
.cm-gt[data-active="1"] .cm-gt__lit{transform:scaleX(.5)}
.cm-gt[data-active="2"] .cm-gt__lit{transform:scaleX(.84)}
.cm-gt__scan{position:absolute;left:0;top:44px;width:0;height:44px;transform:translateX(16.667cqw);transition:transform .9s var(--cm-ease)}
.cm-gt[data-active="1"] .cm-gt__scan{transform:translateX(50cqw)}
.cm-gt[data-active="2"] .cm-gt__scan{transform:translateX(83.333cqw)}
.cm-gt__scan i{position:absolute;left:-60px;top:0;width:120px;height:44px;background:radial-gradient(ellipse at center,#c98a2b55,transparent 70%);opacity:.7}
:root[data-m-go] .cm-gt__scan i[data-m-on]{animation-name:cm-glint;animation-duration:2.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes cm-glint{from{opacity:.25;transform:scaleX(.7)}to{opacity:.85;transform:scaleX(1.1)}}
.cm-post{position:absolute;top:22px;transform:translateX(-50%);display:grid;grid-template-columns:auto auto;grid-template-areas:"n t" "n c";column-gap:12px;align-items:center;padding:8px 16px 8px 8px;min-height:56px;background:#ffffff;border:1.5px solid #0e4d4a55;color:var(--cm-night);text-align:left;box-shadow:0 10px 24px #072d2b14;transition:background-color .3s,border-color .3s,color .3s}
.cm-post--0{left:16.667%}.cm-post--1{left:50%}.cm-post--2{left:83.333%}
.cm-post[aria-pressed="true"]{border-color:var(--cm-ochre);background:var(--cm-night);color:var(--cm-paper)}
.cm-post__n{grid-area:n;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--cm-forest);color:var(--cm-paper);font:700 13px var(--gft-font-mono)}
.cm-post[aria-pressed="true"] .cm-post__n{background:var(--cm-gold);color:var(--cm-night)}
.cm-post__t{grid-area:t;font-weight:800;font-size:15px}
.cm-post__c{grid-area:c;font:600 12px var(--gft-font-mono);color:var(--cm-ink)}
.cm-post[aria-pressed="true"] .cm-post__c{color:var(--cm-lab)}
.cm-post__stitch{position:absolute;left:50%;top:calc(100% + 4px);display:flex;gap:6px;transform:translateX(-50%)}
.cm-post__stitch i{width:3px;height:14px;background:var(--cm-ochre);transform:rotate(30deg) scaleY(.25);opacity:.35;transition:transform .4s var(--cm-ease),opacity .4s}
.cm-post[data-ticks="1"] .cm-post__stitch i:nth-child(1),.cm-post[data-ticks="2"] .cm-post__stitch i:nth-child(-n+2),.cm-post[data-ticks="3"] .cm-post__stitch i{transform:rotate(30deg);opacity:1}
.cm-gt__top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:48px;align-items:center;margin-top:8px}
.cm-gt__head .gft-eyebrow{color:var(--cm-forest)}
.cm-gt__head .cm-head__t{font-size:clamp(2rem,3.2vw,3.4rem);max-width:16ch;color:var(--cm-night)}
.cm-gt__head .cm-head__l{color:var(--cm-ink)}
.cm-gt__gauge{display:grid;justify-items:center;gap:14px}
.cm-ring{position:relative;width:220px;height:220px}
.cm-ring svg{width:100%;height:100%;transform:rotate(0deg)}
.cm-ring__seg{opacity:0;transform-box:view-box;transform-origin:110px 110px;transform:scale(.9);transition:opacity .5s var(--cm-ease),transform .5s var(--cm-ease)}
.cm-ring__seg[data-on]{opacity:1;transform:scale(1)}
.cm-ring__count{position:absolute;inset:0;display:grid;place-content:center;text-align:center;margin:0}
.cm-ring__count strong{font:850 4.2rem/1 var(--gft-font-display);letter-spacing:-.05em;color:var(--cm-night)}
.cm-ring__count span{font:600 12px/1.4 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cm-ink);max-width:12ch;margin-inline:auto}
.cm-gt__badge{display:grid;margin:0}
.cm-badge{grid-area:1/1;justify-self:center;padding:8px 14px;font:700 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;border:1.5px solid #7a4f08;color:#7a4f08;background:#fdf6e9;transition:opacity .25s}
.cm-badge--yes{opacity:0;background:var(--cm-forest);border-color:var(--cm-forest);color:var(--cm-paper)}
.cm-gt[data-earned] .cm-badge--yes{opacity:1}.cm-gt[data-earned] .cm-badge--no{opacity:0}
.cm-gt__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.cm-gate{position:relative;padding:22px 22px 18px;border:1px solid #0e4d4a38;border-top:4px solid var(--cm-forest);background:#ffffff;color:var(--cm-night);box-shadow:0 14px 34px #072d2b12;transition:border-color .4s,transform .4s var(--cm-ease),box-shadow .4s}
.cm-gate[data-active]{border-color:#7a4f08;border-top-color:var(--cm-ochre);box-shadow:0 20px 44px #072d2b22;transform:translateY(-3px)}
.cm-gate__big{position:absolute;right:18px;top:12px;font:850 2.2rem/1 var(--gft-font-display);color:var(--cm-forest);letter-spacing:-.05em}
.cm-gate .cm-step__tag{color:var(--cm-forest);font-weight:700}
.cm-gate h3{font-size:1.45rem;margin-bottom:8px;color:var(--cm-night)}
.cm-gate>p:not(.cm-step__tag):not(.cm-gate__big):not(.cm-gate__status){font-size:14px;line-height:1.6;color:var(--cm-ink)}
.cm-ev{margin:14px 0 0;padding:0;border:0}
.cm-ev legend{font:700 12px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#7a4f08;margin-bottom:4px}
.cm-ev__item{display:flex;gap:12px;align-items:center;min-height:44px;font-size:14px;line-height:1.35;color:var(--cm-night);cursor:pointer;border-top:1px solid #0e4d4a24}
.cm-ev__item input{width:22px;height:22px;flex:none;accent-color:var(--cm-forest);margin:0}
.cm-gate__status{display:flex;gap:10px;align-items:center;margin-top:10px}
.cm-status{font:700 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--cm-forest);color:var(--cm-forest);background:var(--cm-wash)}
.cm-status--open{display:none}
.cm-gate[data-ticks="3"] .cm-status--open{display:inline-block;border-color:#7a4f08;color:#7a4f08;background:#fdf6e9}
.cm-gate[data-ticks="3"] .cm-status--hold{display:none}
.cm-gate__count{font:600 12px var(--gft-font-mono);color:var(--cm-ink)}
.cm-gt__note{position:relative;margin-top:22px;max-width:88ch;padding:10px 12px;background:var(--cm-paper);color:var(--cm-ink)}

/* ======================= #8 The closing (full-width 6-warp weave loom instrument) ======================= */
.cm-s--cl{background:var(--cm-night);color:var(--cm-paper);padding:0;container-type:inline-size;z-index:2}
.cm-cl{position:relative;padding:44px 0 36px;overflow:hidden}
.cm-cl__backdrop{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow-anchor:none}
.cm-cl__in{position:relative;z-index:2;display:grid;gap:28px}
.cm-cl__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:36px;align-items:end}
.cm-cl__head .cm-head__t{font-size:clamp(2.3rem,3.6vw,3.8rem);max-width:14ch}
.cm-cl__head .cm-head__l{color:#d8e6dd;max-width:42ch}
.cm-cl__weft-ctl{display:grid;gap:12px;background:#0a3b39e6;border:1px solid #9fcdb355;padding:16px 20px}
.cm-cl__btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cm-cl__btn{position:relative;display:grid;grid-template-columns:30px 1fr;grid-template-areas:"n t" "n l";column-gap:8px;align-items:center;text-align:left;padding:10px 12px;min-height:58px;background:#072d2b;border:1px solid #9fcdb366;color:var(--cm-paper);transition:background-color .3s,border-color .3s}
.cm-cl__btn strong{grid-area:t;font-size:15px;letter-spacing:-.02em;line-height:1.2}
.cm-cl__bn{grid-area:n;font:700 12px var(--gft-font-mono);color:var(--cm-gold)}
.cm-cl__bl{grid-area:l;font:600 12px var(--gft-font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--cm-lab);margin-top:2px}
.cm-cl__btn[aria-pressed="true"]{background:var(--cm-paper);color:var(--cm-night);border-color:var(--cm-gold)}
.cm-cl__btn[aria-pressed="true"] :is(.cm-cl__bn,.cm-cl__bl){color:#7a4f08}
.cm-cl__weft{display:grid;gap:6px}
.cm-cl__weft-k{font:600 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cm-lab)}
.cm-cl__weft input{width:100%;height:36px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.cm-cl__weft input::-webkit-slider-runnable-track{height:4px;background:#9fcdb366}
.cm-cl__weft input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:24px;margin-top:-10px;background:var(--cm-ochre);border:2px solid var(--cm-paper);border-radius:3px}
.cm-cl__weft input::-moz-range-track{height:4px;background:#9fcdb366}
.cm-cl__weft input::-moz-range-thumb{width:24px;height:22px;background:var(--cm-ochre);border:2px solid var(--cm-paper);border-radius:3px}
.cm-cl__weft input:focus-visible{outline:3px solid var(--cm-gold);outline-offset:3px}

.cm-cl__panels{display:grid}
.cm-pp{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .16s var(--cm-ease) 0s,visibility 0s .16s;display:grid;gap:20px}
.cm-cl[data-sel="0"] .cm-pp--0,.cm-cl[data-sel="1"] .cm-pp--1,.cm-cl[data-sel="2"] .cm-pp--2{opacity:1;visibility:visible;transition:opacity .28s var(--cm-ease) .17s,visibility 0s 0s}

.cm-loom{position:relative;padding-top:28px;padding-bottom:10px}
.cm-loom__weft{position:absolute;left:0;right:0;top:120px;height:0;z-index:3;pointer-events:none}
.cm-loom__weft-beam{position:absolute;left:-24px;right:-24px;top:-2px;height:4px;background:linear-gradient(90deg,var(--cm-ochre),var(--cm-gold) 50%,var(--cm-ochre));box-shadow:0 0 16px #e6b25a88}
.cm-loom__weft-tag{position:absolute;left:0;top:-116px;font:700 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cm-night);background:var(--cm-gold);padding:3px 10px}
.cm-loom__cursor{position:absolute;left:calc((var(--kx) + .5) * (100% / 6));top:0;width:0;height:0;transition:left .45s var(--cm-ease)}
.cm-loom__cursor i{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;border:3px solid var(--cm-gold);background:#072d2bcc;box-shadow:0 0 20px #e6b25a}
.cm-loom__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;position:relative;z-index:2}

.cm-warp{position:relative;background:#0a3b39f2;border:1px solid #9fcdb344;padding:14px 14px 12px;display:grid;grid-template-rows:1fr auto;gap:12px;transition:border-color .3s,background-color .3s,transform .35s var(--cm-ease)}
.cm-warp__line{position:absolute;left:50%;top:-14px;bottom:-14px;width:2px;margin-left:-1px;background:linear-gradient(#9fcdb388,var(--cm-gold) 45%,#9fcdb344);pointer-events:none;z-index:0}
.cm-warp.is-knot{border-color:var(--cm-gold);background:#0e4d4af5;transform:translateY(-4px);box-shadow:0 16px 36px #00000044}
.cm-warp.is-knot .cm-warp__line{width:3px;background:var(--cm-gold)}
.cm-warp__btn{position:relative;z-index:1;background:transparent;border:0;padding:0;color:inherit;text-align:left;display:grid;grid-template-rows:auto 48px 1fr;gap:8px;cursor:pointer;width:100%}
.cm-warp__btn:focus-visible{outline:3px solid var(--cm-gold);outline-offset:4px}
.cm-warp__top{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap;background:#0a3b39f2;padding-bottom:2px}
.cm-warp.is-knot .cm-warp__top{background:#0e4d4af5}
.cm-warp__idx{font:700 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cm-lab)}
.cm-warp__kind{font:700 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border:1px solid #9fcdb366;color:var(--cm-paper);background:#072d2b}
.cm-warp__kind--instrument{border-color:var(--cm-gold);color:var(--cm-gold)}
.cm-warp__node{display:grid;place-items:center;height:48px}
.cm-warp__node i{width:16px;height:16px;border-radius:50%;background:var(--cm-paper);border:3px solid var(--cm-night);box-shadow:0 0 0 3px var(--cm-ochre);transition:transform .35s var(--cm-ease),background-color .3s}
.cm-warp.is-knot .cm-warp__node i{transform:scale(1.3);background:var(--cm-gold)}
.cm-warp__title{font:750 15px/1.32 var(--gft-font-display);color:var(--cm-paper);display:block;background:#0a3b39f5;padding-block:4px}
.cm-warp.is-knot .cm-warp__title{background:#0e4d4af8}
.cm-warp__dest{position:relative;z-index:1;margin:0;padding-top:10px;border-top:1px solid #9fcdb333;min-height:34px;display:flex;align-items:center;background:#0a3b39f5}
.cm-warp.is-knot .cm-warp__dest{background:#0e4d4af8}
.cm-warp__link{font:700 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cm-gold);text-decoration:none}
.cm-warp__link:hover{text-decoration:underline}

.cm-cl__readout{background:#0a3b39f2;border:1px solid #9fcdb355;border-left:4px solid var(--cm-gold);padding:20px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:28px;align-items:center}
.cm-cl__ro-left{display:grid;gap:6px;padding-right:20px;border-right:1px solid #9fcdb333}
.cm-cl__ro-k{font:600 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cm-lab);margin:0}
.cm-cl__ro-k strong{color:var(--cm-gold)}
.cm-cl__ro-title{font:800 clamp(1.25rem,1.7vw,1.6rem)/1.2 var(--gft-font-display);color:var(--cm-paper);margin:0}
.cm-cl__ro-status{font:600 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cm-gold);margin:0}
.cm-cl__ro-right{display:flex;justify-content:space-between;align-items:center;gap:24px}
.cm-cl__ro-copy{display:grid;gap:8px}
.cm-pp__blurb{font-size:15px;line-height:1.55;color:#e4f0ea;margin:0;max-width:46ch}
.cm-cl__note{margin:0;max-width:52ch}
.cm-pp__cta{flex:none;white-space:nowrap}

/* Footer warp-line continuation on /programmes/cameroon-textile/ */
[data-page="cm-programme"] .gft-footer{background-image:linear-gradient(90deg,#6bb68f14 1px,transparent 1px);background-size:60px 60px;border-top:2px solid #e6b25a66}

/* ======================= Narrow screens (≤ 900 px) ======================= */
@media (max-width:900px){
 [data-page="cm-programme"] .gft-splash{display:grid;grid-template-rows:auto 42svh auto;min-height:0}
 [data-page="cm-programme"] .gft-splash__content{grid-row:1;padding-top:40px;padding-bottom:20px}
 [data-page="cm-programme"] .gft-splash h1{font-size:clamp(2.8rem,10vw,4.4rem);max-width:9.25em}
 [data-page="cm-programme"] .gft-splash__lede{max-width:34em}
 [data-page="cm-programme"] .gft-splash__structure{grid-row:2;position:relative;inset:auto;height:42svh;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto}
 [data-page="cm-programme"] .gft-splash__structure::after{display:none}
 [data-page="cm-programme"] .gft-splash__bottom{grid-row:3;margin-top:0}
 .cm-hero{min-height:0}
 .cm-hero__label,.cm-hero .cm-hero__figure,.cm-hero .cm-hero__small{visibility:hidden}
 .cm-hero__tail{display:none}
 .cm-hero__phone-key{margin:0 20px;padding:8px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;align-self:end;color:#e9f3ec;font:12px/1.6 var(--gft-font-mono);text-align:center}
 .cm-hero__phone-key strong{display:block;font:850 22px/1.2 var(--gft-font-display);color:#f6f4ef;letter-spacing:-.04em;margin-bottom:4px}
 .cm-hero__seg .cm-seg__opt{flex:1 1 100%}
 .cm-hero__seg .cm-seg__opt span{min-height:44px;margin-left:0;margin-top:-1px;justify-content:flex-start;padding-inline:16px}

 /* weir: bundle band first, rail full width beneath */
 .cm-s--weir{padding-bottom:40px}
 .cm-weir{display:flex;flex-direction:column}
 .cm-weir__stage{order:0;margin-top:0}
 .cm-weir__rail{order:1;height:auto;padding:10px 20px 0}
 .cm-weir__ribbon{display:none}
 .cm-weir__body{order:2}
 .cm-weir__art--d{display:none}.cm-weir__art--m{display:block}
 .cm-weir__scan{height:60.5cqw}
 .cm-wl--river{left:66cqw;top:3cqw}
 .cm-wl--raw{right:5cqw;top:12cqw}
 .cm-wl--eddy{left:5cqw;top:12cqw;display:none}
 .cm-wl--enc{position:static;order:3;flex:0 0 100%;transform:none;white-space:normal;padding:8px 20px 0}
 .cm-weir__fig{order:2}
 .cm-weir__stage{display:flex;flex-wrap:wrap}
 .cm-weir__art{flex:0 0 100%}
 .cm-weir__fig{position:static;flex:1 1 50%;padding:10px 20px 0}
 .cm-weir__fig--r{padding-left:0}
 .cm-weir__fig strong{font-size:2.6rem}
 .cm-weir__hint{position:static;text-align:left;margin-top:4px}
 .cm-rail{height:70px;margin-top:22px}
 .cm-rail__input{height:48px}
 .cm-rail__input::-webkit-slider-runnable-track{height:48px}
 .cm-rail__input::-webkit-slider-thumb{margin-top:10px}
 .cm-weir__body{grid-template-columns:1fr;padding:16px 20px 0;gap:22px}
 .cm-weir__ctl{order:-1}

 /* boundary: head, then a pinned drawing band, cards beneath */
 .cm-bd{display:flex;flex-direction:column}
 .cm-bd__stage{display:contents}
 .cm-bd__lane{order:0;padding:56px 20px 18px;border:0;background:transparent;position:relative}
 .cm-bd__win{grid-column:auto;grid-row:auto}
 .cm-bd__band{order:1;display:block;position:sticky;top:0;z-index:3;background:var(--cm-paper);border-bottom:1px solid #0e4d4a33;box-shadow:0 10px 24px #072d2b14}
 .cm-bd__win{position:relative;height:min(36svh,300px)}
 .cm-bd__draw{left:50%;top:6px;transform:translateX(-50%);width:min(calc(100% - 24px),calc((min(36svh,300px) - 12px) * 1.15))}
 .cm-bd__ctl{padding:4px 12px 10px;border:0;background:var(--cm-paper)}
 .cm-bd__ctl .cm-chip{min-height:44px;padding:6px 12px}
 .cm-bd__r{font-size:12px}
 .cm-bd__steps{order:2;margin-top:0;padding:16px 20px 30svh}
 .cm-bd__step,.cm-bd__step:last-child{height:auto;min-height:50svh}
 .cm-bd__step .cm-card{position:relative;top:auto;margin:0}
 .cm-bl{font-size:12px;letter-spacing:.04em}
 .cm-bl--c:not(.cm-bl--b){white-space:normal;width:min-content;min-width:7ch}
 .cm-bl--d{display:none}
 .cm-bl--tag{padding:0 2px;line-height:1.1;background:var(--cm-paper);border:0}
 .cm-bl--ochre:not(.cm-bl--keep),.cm-bl--s{display:none}
 .cm-bl--note{display:none}

 /* chain: head, pinned panel band, cards beneath */
 .cm-ch{grid-template-columns:1fr;width:100%}
 .cm-ch__panel{display:contents}
 .cm-ch__top{padding:48px 20px 12px;background:var(--cm-forest);color:var(--cm-paper);grid-template-columns:1fr}
 .cm-ch__num-box{justify-items:start}
 .cm-ch__num{justify-items:start}
 .cm-ch__band{display:grid;position:sticky;top:0;z-index:3;background:var(--cm-forest);color:var(--cm-paper);padding:10px 14px;gap:8px}
 .cm-ch__art{max-height:none}
 .cm-ch__cap,.cm-ch__io{display:none}
 .cm-ch__col{padding:16px 20px}
 .cm-ch__step,.cm-ch__step:last-child{min-height:56svh;padding-block:16px}
 .cm-ch__checks,.cm-ch__card-io{grid-template-columns:1fr}
 .cm-ch__comp--0 .cm-chl:not(.cm-chl--note){transform:translateY(-45%)}
 .cm-ch__full{display:none}.cm-ch__short{display:inline}
 .cm-chl,.cm-ch__rec{font-size:12px}
 .cm-ch__rec span{font-size:12px}
 .cm-ch__bridge-in{flex-direction:column;align-items:flex-start;padding:20px}

 /* interlude */
 .cm-wv__inner{grid-template-columns:1fr;padding-block:24svh 8svh}
 .cm-wv__head,.cm-wv__ctl{margin-left:0;padding:16px}
 .cm-wv__close{grid-column:1;grid-row:auto;margin-top:16px}
 .cm-wv__mirror{width:100%}

 /* handshake: pinned band with a vertical bed, cards beneath */
 .cm-hs{display:flex;flex-direction:column}
 .cm-hs__stage{display:contents}
 .cm-hs__stage::before{display:none}
 .cm-hs__head{padding:48px 20px 16px}
 .cm-hs__band{display:block;position:sticky;top:0;z-index:3;background:var(--cm-forest);padding:10px 16px 12px;box-shadow:0 10px 24px #0000002e}
 .cm-hs__ro{grid-template-columns:auto 1fr;align-items:center;padding:0}
 .cm-hs__n strong{font-size:3rem}
 .cm-hs__n span{font-size:12px}
 .cm-hs__ro .cm-chips{grid-column:1/-1}
 .cm-hs__ro .cm-chip{min-height:44px;padding:6px 12px}
 .cm-hs__bed--d{display:none}.cm-hs__bed--m{display:block;margin-inline:auto;width:min(100%,calc(25svh * 1.385))}
 .cm-hs__bed--m .cm-hl{font-size:12px;letter-spacing:.04em}
 .cm-hs__ledger{margin:16px 20px 0}
 .cm-hs__steps{margin-top:0;align-items:stretch;padding:0 20px 12svh}
 .cm-hs__step,.cm-hs__step:last-child{height:auto;min-height:46svh;width:auto;padding-top:20px}
 .cm-hs__step .cm-card{position:relative;top:auto}
 .cm-hs__wipe-node{position:static;transform:none}
 .cm-hs__wipe-track{justify-content:space-between;padding-inline:12px}
 .cm-hs__wipe-line{display:none}

 /* gates */
 .cm-gt__fringe,.cm-gt__lead-in{display:none}
 .cm-gt__sel{height:auto;display:grid;gap:8px;padding-top:12px}
 .cm-gt__line,.cm-gt__lit,.cm-gt__scan{display:none}
 .cm-post{position:relative;top:auto;left:auto;transform:none;width:100%}
 .cm-post__stitch{left:auto;right:14px;top:50%;transform:translateY(-50%)}
 .cm-gt__top{grid-template-columns:1fr;gap:20px;margin-top:20px}
 .cm-gt__gauge{order:-1}
 .cm-ring{width:160px;height:160px}
 .cm-ring__count strong{font-size:3rem}
 .cm-gt__cards{grid-template-columns:1fr;gap:16px}

 /* closing */
 .cm-cl{padding:32px 0 28px}
 .cm-cl__top{grid-template-columns:1fr;gap:20px}
 .cm-cl__btns{grid-template-columns:1fr;gap:8px}
 .cm-loom__weft{display:none}
 .cm-loom__grid{grid-template-columns:1fr 1fr;gap:10px}
 .cm-warp__btn{grid-template-rows:auto 32px 1fr}
 .cm-cl__readout{grid-template-columns:1fr;gap:16px;padding:16px}
 .cm-cl__ro-left{padding-right:0;border-right:0;border-bottom:1px solid #9fcdb333;padding-bottom:12px}
 .cm-cl__ro-right{flex-direction:column;align-items:stretch}
 .cm-pp__cta{justify-self:stretch;text-align:center}
}
@media (max-width:520px){
 .cm-loom__grid{grid-template-columns:1fr}
}
@media (max-width:900px) and (min-width:641px){.cm-weir__art--m{max-width:640px;margin-inline:auto}}

/* Reduced motion and Calm: finished states, no travel. Transitions become instant through the kit. */
@media (prefers-reduced-motion:reduce){.cm-hs__knot{transition:none!important}.cm-wv__iris{clip-path:none;animation:none}.cm-hs__wipe-line{animation:none}}
:root[data-motion="calm"] .cm-hs__knot{transition:none}
:root[data-motion="calm"] .cm-hs__wipe-line{animation:none}
