/* /contact/ : one thread down the page. Every class, variable and keyframe is prefixed ct-. Pre-states exist only under
   :root[data-m-go]; entrances settle in under a second; lives are gated by [data-m-on]; animation uses transform,
   opacity, clip-path and filter only. */
.ct-page{--ct-night:#072d2b;--ct-forest:#0e4d4a;--ct-sage:#6bb68f;--ct-mist:#e2ebe6;--ct-paper:#f6f4ef;--ct-gold:#c98a2b;--ct-gold-d:#7d510f;--ct-ink:#1c2926;--ct-mute:#41544c;--ct-line:#a3b8ab;--ct-ease:cubic-bezier(.16,1,.3,1);--ct-mono:var(--gft-font-mono);overflow-x:clip;color:var(--ct-ink)}
.ct-page *{box-sizing:border-box}
.ct-page [hidden]{display:none!important}
.ct-page p{max-width:62ch}

/* ---------- splash: the first screen ---------- */
.ct-page .gft-splash__structure{inset:0 0 0 38%;color:#a6d7ba}
.ct-page .gft-splash__structure::after{background:linear-gradient(90deg,#072d2b 0%,#072d2bb3 9%,transparent 32%)}
.ct-page .gft-splash__content{padding-top:66px;padding-bottom:50px}
.ct-page .gft-splash h1{max-width:13ch;font-size:clamp(3.7rem,6.4vw,6.8rem);line-height:1.04;letter-spacing:-.065em}
.ct-page .gft-splash__lede{max-width:43ch}
.ct-page .gft-splash__actions{margin-top:26px}
.ct-page .gft-splash__actions .gft-button{min-height:60px;padding-inline:32px;font-size:17px}
.ct-act{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(22px,3.6svh,40px)}
.ct-ticker{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;row-gap:3px;align-items:baseline;margin:0;padding-top:16px;border-top:1px solid #a6d7ba66;max-width:560px;color:#e8efe9}
.ct-ticker__k{grid-column:1/-1;margin-bottom:4px;font:700 12px var(--ct-mono);letter-spacing:.14em;text-transform:uppercase;color:#f0cf9c}
.ct-ticker__i{font:600 16px var(--ct-mono);color:#f0cf9c;letter-spacing:.06em}
.ct-ticker b{min-height:2.4em;font:800 clamp(1.3rem,1.9vw,1.85rem)/1.2 var(--gft-font-display);letter-spacing:-.025em}
.ct-ticker em{min-height:3.1em;grid-column:2;font:normal 14px/1.5 var(--ct-mono);color:#cfe3da}
.ct-ticker u{grid-column:2;margin-top:4px;text-decoration:none;font:600 13px var(--ct-mono);letter-spacing:.06em;color:#f0cf9c}
.ct-scene{position:relative;width:100%;height:100%;display:flex;align-items:center;font-family:var(--ct-mono)}
.ct-scene .ct-sb{width:100%;height:auto;max-height:100%}

/* ---------- the switchboard drawing ---------- */
.ct-sb{display:block;width:100%;height:auto;color:var(--ct-forest);overflow:visible;font-family:var(--ct-mono);font-variant-numeric:tabular-nums}
.ct-sb--splash,.ct-sb--ghost{color:#a6d7ba}
.ct-sb [data-m-live]{transform-box:fill-box;transform-origin:center}
.ct-br{outline:none}
.ct-br__hit{stroke:transparent;stroke-width:30;fill:none;pointer-events:none}
.ct-sb[role=group] .ct-br{cursor:pointer}
.ct-sb[role=group] .ct-br__hit{pointer-events:stroke}
.ct-br__lit,.ct-br__ring{opacity:0;transition:opacity .5s var(--ct-ease)}
.ct-br__ring{fill:none}
.ct-br.is-sel .ct-br__lit,.ct-br.is-sel .ct-br__ring{opacity:1}
.ct-br.is-sel .ct-br__lab{font-weight:700}
.ct-br.is-sel .ct-br__node{fill:#c98a2b}
.ct-br.is-scan:not(.is-sel) .ct-br__base{stroke-opacity:.95}
.ct-br.is-scan:not(.is-sel) .ct-br__ring{opacity:.9;stroke:var(--ct-sage)}
.ct-br:focus-visible .ct-br__ring{opacity:1;stroke-width:3.5}
.ct-sb[role=group] .ct-br:hover .ct-br__base{stroke-opacity:.85}
.ct-sb--route .ct-br__lab,.ct-sb--brief .ct-br__lab{font-size:23px}
.ct-sb--route .ct-br__num,.ct-sb--brief .ct-br__num{font-size:16px}
.ct-br__num{fill-opacity:.9}
.ct-sb--splash .ct-br__lab{font-size:20px}
.ct-sb--splash .ct-br__num{font-size:14px}
.ct-sb--splash .ct-sb__ruler text{font-size:14px;fill-opacity:.95}
.ct-sb__cap{fill-opacity:.9}
.ct-pulse{opacity:0;filter:drop-shadow(0 0 6px #c98a2b) drop-shadow(0 0 14px #c98a2b)}
.ct-pulse.is-on{opacity:1}
.ct-ov{opacity:0;transform:scale(.97);transform-box:fill-box;transform-origin:center;transition:opacity .22s ease-out,transform .22s ease-out;pointer-events:none}
.ct-stage[data-state="0"] [data-ov="0"],.ct-stage[data-state="1"] [data-ov="1"],.ct-stage[data-state="2"] [data-ov="2"]{opacity:1;transform:none;transition:opacity .5s .24s var(--ct-ease),transform .7s .24s var(--ct-ease)}
.ct-stage[data-state="0"] .ct-br__base{stroke-opacity:.2}
.ct-stage[data-state="0"] .ct-br__lab,.ct-stage[data-state="0"] .ct-br__num{opacity:.62}
.ct-stage[data-state="1"] .ct-br__node{fill:#c98a2b}
.ct-stage[data-state="1"] .ct-br__base{stroke-opacity:.55}
.ct-stage[data-state="2"] .ct-br__node{fill:#6bb68f}
.ct-stage[data-state="2"] .ct-br__base{stroke-opacity:.3}
.ct-stage[data-state="2"] .ct-br__lab,.ct-stage[data-state="2"] .ct-br__num{opacity:.78}
.ct-br__lab,.ct-br__num,.ct-br__node,.ct-br__base{transition:opacity .5s,fill .5s,stroke-opacity .5s}
.ct-sb__guides{color:inherit}

/* ---------- sections, spine, seams ---------- */
.ct-sec{--g:max(48px,calc((100% - 1392px)/2));--so:22px;--cut:72px;--pad:clamp(72px,9vw,150px);position:relative;isolation:isolate;padding-block:var(--pad);overflow-x:clip}
.ct-sec--paper{background:var(--ct-paper)}
.ct-sec--cut{margin-top:calc(var(--cut)*-1);padding-top:calc(var(--cut) + var(--pad))}
.ct-sec--up{clip-path:polygon(0 var(--cut),100% 0,100% 100%,0 100%)}
.ct-sec--down{clip-path:polygon(0 0,100% var(--cut),100% 100%,0 100%)}
.ct-sec--instrument{padding-top:clamp(72px,8vw,120px)}
.ct-bg{position:absolute;inset:0;z-index:-2;pointer-events:none}
.ct-sec--sage .ct-bg{background:var(--ct-mist)}
.ct-sec--dark{color:#e8efe9}
.ct-sec--dark .ct-bg{background:radial-gradient(ellipse at 20% 40%,#0e4d4a 0%,#072d2b 62%)}
.ct-wrap{position:relative;width:100%;padding-inline:var(--g)}
.ct-spine{position:absolute;z-index:3;left:calc(var(--g) - var(--so));top:0;bottom:0;width:2px;background:#0e4d4a30;pointer-events:none}
.ct-sec--dark .ct-spine{background:#a6d7ba40}
.ct-spine__fill{position:absolute;inset:0;background:var(--ct-gold);transform-origin:top center}
.ct-spine__head{position:absolute;left:-5px;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--ct-gold);box-shadow:0 0 0 6px #c98a2b33;opacity:0}
:root[data-m-go] .ct-spine__fill{transform:scaleY(0)}
:root[data-m-go] .ct-spine__head{opacity:1}
.ct-num{position:absolute;z-index:-1;right:-1vw;top:clamp(40px,6vw,96px);font:900 clamp(13rem,34vw,34rem)/.8 var(--gft-font-display);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:2px #0e4d4a;opacity:.1;pointer-events:none;user-select:none}
.ct-num--left{right:auto;left:-2vw;top:auto;bottom:-2vw}
.ct-sec--dark .ct-num{-webkit-text-stroke-color:#a6d7ba;opacity:.14}
.ct-sec--end .ct-num{top:auto;bottom:-3vw}

.ct-head{position:relative;margin-bottom:clamp(40px,5vw,76px)}
.ct-head::before{content:'';position:absolute;left:calc(var(--so)*-1 - 5px);top:.2rem;width:12px;height:12px;border-radius:50%;border:2px solid var(--ct-gold);background:var(--ct-paper)}
.ct-sec--sage .ct-head::before{background:var(--ct-mist)}
.ct-sec--dark .ct-head::before{background:var(--ct-night)}
.ct-head::after{content:'';position:absolute;left:calc(var(--so)*-1 + 1px);top:calc(.2rem + 5px);width:var(--so);height:2px;background:var(--ct-gold)}
.ct-head--split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,5vw,96px);align-items:end}
.ct-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 26px;font:600 13px/1.5 var(--ct-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ct-gold-d)}
.ct-eyebrow::before{content:'';width:26px;height:1px;background:currentColor}
.ct-sec--dark .ct-eyebrow{color:#f0cf9c}
.ct-h{font-size:clamp(2.5rem,5vw,5.4rem);line-height:1.02;letter-spacing:-.06em;font-weight:850;margin:0}
.ct-h--xl{font-size:clamp(3rem,8.6vw,10rem);line-height:.98}
.ct-ln{display:block}
.ct-ln>span{display:block}
.ct-lede{font-size:clamp(1.1rem,1.35vw,1.35rem);line-height:1.62;color:var(--ct-mute);margin:0;max-width:44ch}
.ct-lede--stack{display:flex;flex-direction:column;gap:1.05em}
.ct-lede--stack p{font-size:clamp(1.05rem,1.2vw,1.2rem)}
.ct-sec--dark .ct-lede{color:#d5e3da}
.ct-tag{display:flex;align-items:center;gap:14px;margin:0 0 18px;font:600 13px/1.4 var(--ct-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ct-gold-d)}
.ct-tag i{font-style:normal;display:inline-grid;place-items:center;min-width:34px;height:26px;padding-inline:6px;border:1px solid currentColor;border-radius:13px;letter-spacing:.04em}
.ct-kicker{margin:0;font:600 12px/1.6 var(--ct-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ct-mute)}
.ct-sec--dark .ct-kicker{color:#b9d3c4}
.ct-note{margin:0;font:14px/1.7 var(--ct-mono);color:var(--ct-mute);max-width:70ch}
.ct-note--lg{font-size:15px;margin-top:8px}
.ct-label{display:block;margin:0 0 10px;padding:0;font:650 16px/1.4 var(--gft-font-display);color:var(--ct-ink)}
.ct-label span{font:14px var(--ct-mono);color:var(--ct-mute);font-weight:400}

/* ---------- 1. the instrument ---------- */
.ct-bench{display:block}
.ct-caps{border:0;margin:0 0 clamp(32px,3.4vw,52px);padding:0;min-width:0}
.ct-caps legend{margin-bottom:14px}
.ct-caps__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ct-cap{position:relative;display:block;cursor:pointer}
.ct-cap input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.ct-cap span{display:flex;gap:14px;align-items:baseline;min-height:72px;padding:16px 18px;border:1px solid #8fa598;background:#fcfbf8;font-size:17px;line-height:1.28;font-weight:650;letter-spacing:-.01em;transition:background .35s,color .35s}
.ct-cap i{font:600 12px var(--ct-mono);font-style:normal;color:var(--ct-mute);letter-spacing:.06em}
.ct-cap:hover span{background:#fff}
.ct-cap input:checked+span{background:var(--ct-forest);border-color:var(--ct-forest);color:#fff;box-shadow:inset 0 -5px 0 var(--ct-gold)}
.ct-cap input:checked+span i{color:#f0cf9c}
.ct-cap input:focus-visible+span{outline:3px solid var(--ct-gold);outline-offset:3px}
.ct-note--route{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:16px;font-size:14px;color:var(--ct-ink)}
.ct-note__k{font-weight:700;color:var(--ct-gold-d);text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.ct-bench__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(32px,5vw,84px);align-items:start}
.ct-fields{position:relative;display:flex;flex-direction:column;gap:30px;padding-left:40px}
.ct-fields__thread{position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:#0e4d4a30}
.ct-fields__thread i{position:absolute;inset:0;background:var(--ct-gold);transform-origin:top center;transform:scaleY(0);transition:transform .7s var(--ct-ease)}
.ct-field{position:relative}
.ct-field::before{content:'';position:absolute;left:-40px;top:2px;width:16px;height:16px;border-radius:50%;border:2px solid var(--ct-gold);background:var(--ct-paper);transition:background .4s,transform .5s var(--ct-ease)}
.ct-field.is-filled::before{background:var(--ct-gold);transform:scale(1.2)}
.ct-field .ct-label{margin-bottom:10px}
.ct-page textarea{display:block;width:100%;max-width:100%;min-width:0;padding:14px 16px;border:1px solid #8fa598;border-radius:0;background:#fcfbf8;color:var(--ct-night);font:17px/1.55 var(--gft-font-display);resize:vertical}
.ct-page textarea:focus-visible{outline:3px solid var(--ct-gold);outline-offset:2px}
.ct-fields .ct-note{margin-top:10px}
.ct-page textarea::placeholder{color:#5a6b64;opacity:1;font:15px/1.55 var(--gft-font-display);font-style:italic}
.ct-doc{position:sticky;top:24px;padding:32px clamp(22px,2.8vw,44px) 34px;background:var(--ct-mist);border-top:4px solid var(--ct-forest);min-width:0}
.ct-doc__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.ct-chip{display:inline-flex;align-items:center;gap:10px;min-height:34px;padding:4px 14px 4px 11px;border:1px solid var(--ct-forest);border-radius:20px;background:#f6f4ef;font:700 12px var(--ct-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ct-forest)}
.ct-chip i{width:11px;height:11px;border-radius:50%;border:2px solid currentColor;background:transparent}
.ct-chip[data-state=drafted]{border-color:var(--ct-gold-d);color:var(--ct-gold-d)}
.ct-chip[data-state=drafted] i{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.ct-chip[data-state=ready]{background:var(--ct-forest);border-color:var(--ct-forest);color:#fff}
.ct-chip[data-state=ready] i{background:#6bb68f;border-color:#6bb68f}
.ct-doc__counts{font:14px var(--ct-mono);color:var(--ct-ink)}
.ct-doc__flag{margin-left:auto;font:700 12px var(--ct-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ct-gold-d)}
.ct-meter{height:4px;margin-top:14px;background:#0e4d4a24;overflow:hidden}
.ct-comp{display:flex;align-items:center;gap:14px;margin-top:16px}
.ct-comp__k{font:700 12px var(--ct-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ct-mute)}
.ct-seg4{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.ct-seg4 i{display:block;height:9px;background:#0e4d4a24;transition:background-color .4s}
.ct-seg4 i.is-on{background:var(--ct-gold)}
.ct-comp__n{font:700 14px var(--ct-mono);color:var(--ct-ink);white-space:nowrap}
.ct-meter i{display:block;height:100%;background:var(--ct-gold);transform-origin:left;transform:scaleX(0)}
.ct-doc .ct-kicker{margin-top:22px}
.ct-doc__h{margin:8px 0 14px;font-size:clamp(1.8rem,2.5vw,2.6rem);line-height:1.05;letter-spacing:-.05em}
.ct-notice{margin:0 0 16px;padding-block:10px;border-block:1px solid #a3b8ab;font:600 14px/1.5 var(--ct-mono);color:#6b4310;letter-spacing:.04em}
.ct-ghost{padding:18px 20px;background:#fcfbf8;border:1px solid #b5c6ba;box-shadow:0 12px 28px -18px #072d2b66;font:14px/1.6 var(--ct-mono);color:var(--ct-ink)}
.ct-ghost p{margin:0;max-width:none;overflow-wrap:anywhere}
.ct-ghost__t{font-weight:700;letter-spacing:.1em;margin-bottom:4px!important}
.ct-ghost__h{margin-top:10px!important;font-size:12px;letter-spacing:.14em;color:var(--ct-gold-d);font-weight:700}
.ct-ghost__v{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ct-skel{display:flex;flex-direction:column;gap:6px;padding-top:4px}
.ct-skel i{display:block;height:7px;background:#0e4d4a24}
.ct-skel i:nth-child(2){width:62%}
.ct-skel--off i{width:38%;background:repeating-linear-gradient(90deg,#0e4d4a24 0 6px,transparent 6px 10px)}
.ct-brief{margin-top:12px;min-height:340px;font:13px/1.65 var(--ct-mono)}
.ct-doc .ct-label{margin-top:16px}
.ct-doc .ct-note{margin-top:14px;min-height:2.6em}
.ct-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:16px}
.ct-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;border:1px solid var(--ct-forest);background:transparent;color:var(--ct-forest);font:650 14px/1.2 var(--gft-font-display);text-decoration:none;cursor:pointer}
.ct-btn--solid{background:var(--ct-forest);color:#fff}
.ct-btn--text{border-color:transparent;border-bottom:1px solid currentColor;padding-inline:2px;min-height:44px}
.ct-btn:disabled{opacity:.42;cursor:default}
.ct-btn:not(:disabled):hover{background:#fff;color:var(--ct-night)}
.ct-btn--solid:not(:disabled):hover{background:var(--ct-night);color:#fff}
.ct-btn:focus-visible{outline:3px solid var(--ct-gold);outline-offset:3px}

/* ---------- sticky chapters: a dark stage that bleeds off the screen edge ---------- */
.ct-walk{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.85fr);gap:clamp(32px,5vw,88px);align-items:start}
.ct-walk--flip{grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr)}
.ct-walk--flip .ct-stage{order:2;margin-left:0;margin-right:calc(var(--g)*-1);padding:26px calc(var(--g) + 30px) 24px 34px}
.ct-stage{position:sticky;top:24px;margin-left:calc(var(--g)*-1);padding:26px 34px 24px calc(var(--g) + 30px);background:linear-gradient(135deg,#051f1e 0%,#0a3a37 100%);color:#a6d7ba;min-width:0;z-index:2}
.ct-stage--forest{background:linear-gradient(135deg,#0a3a37 0%,#0e4d4a 100%)}
.ct-stage__top{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:8px;font:700 13px var(--ct-mono);letter-spacing:.12em;text-transform:uppercase}
.ct-stage__step{color:#f0cf9c}
.ct-stage__name{color:#e8efe9;text-align:right}
.ct-stage__art{position:relative;isolation:isolate;height:clamp(240px,calc(100svh - 480px),500px);display:flex;align-items:center}
.ct-stage__art::before{content:'';position:absolute;inset:-6% -4%;z-index:-1;background:radial-gradient(ellipse at 50% 50%,#c98a2b40 0%,transparent 46%);transition:transform 1s var(--ct-ease);transform:translateX(-34%)}
.ct-stage[data-state="1"] .ct-stage__art::before{transform:translateX(0)}
.ct-stage[data-state="2"] .ct-stage__art::before{transform:translateX(34%)}
.ct-stage .ct-sb{color:#a6d7ba;max-height:100%;width:100%;height:100%}
.ct-stage [fill="#98641c"]{fill:#f0cf9c}
.ct-stage [data-ov="2"] rect{fill:#0a3a37}
.ct-page .ct-stage__read{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;align-items:baseline;min-height:4.6em;margin:12px 0 10px;font:500 clamp(15px,1.2vw,17px)/1.55 var(--gft-font-display);color:#e8efe9;max-width:none}
.ct-stage__read b{font:700 12px var(--ct-mono);letter-spacing:.14em;text-transform:uppercase;color:#f0cf9c}
.ct-steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:12px}
.ct-steps3 i{display:block;height:5px;background:#a6d7ba33;transition:background-color .5s}
.ct-steps3 i.is-on{background:var(--ct-gold)}
.ct-stage__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;margin-top:8px;font:13px var(--ct-mono);color:#cfe3da}
.ct-stage__sel b{font-weight:700;color:#fff}
.ct-stage .ct-meter{margin-top:10px;background:#a6d7ba26}
.ct-beats{position:relative;min-width:0;padding-left:30px}
.ct-prog{position:absolute;left:0;top:0;bottom:0;width:3px;background:#0e4d4a26}
.ct-prog i{position:absolute;inset:0;background:var(--ct-gold);transform-origin:top center}
:root[data-m-go] .ct-prog i{transform:scaleY(0)}
.ct-beat{min-height:min(76svh,700px);display:flex;flex-direction:column;justify-content:center;padding-block:44px;border-top:1px solid var(--ct-line)}
.ct-beat:first-of-type{border-top:0}
.ct-beat h3{font-size:clamp(1.8rem,2.7vw,2.8rem);line-height:1.08;letter-spacing:-.05em;margin:0 0 18px}
.ct-beat p:not(.ct-tag){font-size:clamp(1.05rem,1.25vw,1.22rem);line-height:1.72;margin:0;color:var(--ct-ink);max-width:46ch}
.ct-beat::after{content:'';display:block;width:84px;height:3px;margin-top:30px;background:var(--ct-gold);transform-origin:left;opacity:.55;transition:width .6s var(--ct-ease),opacity .6s}
.ct-beat.is-active::after{opacity:1;width:132px}
.ct-seg{border:0;margin:0;padding:0;min-width:0}
.ct-seg--phase,.ct-seg--where{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px}
.ct-seg--phase{margin-bottom:12px}
.ct-seg button,.ct-seg__row label span{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:8px 14px;border:1px solid var(--ct-forest);background:transparent;color:var(--ct-forest);font:650 15px/1.2 var(--gft-font-display);cursor:pointer;text-align:center}
.ct-seg button i{width:13px;height:13px;border-radius:50%;border:2px solid currentColor;flex:none}
.ct-seg button[aria-pressed=true],.ct-seg__row input:checked+span{background:var(--ct-forest);color:#fff;box-shadow:inset 0 -4px 0 var(--ct-gold)}
.ct-seg button[aria-pressed=true] i{background:var(--ct-gold);border-color:var(--ct-gold)}
.ct-seg button:hover,.ct-seg__row label:hover span{background:#fff;color:var(--ct-night)}
.ct-seg button[aria-pressed=true]:hover,.ct-seg__row input:checked+span:hover{background:var(--ct-forest);color:#fff}
.ct-seg button:focus-visible,.ct-seg__row input:focus-visible+span{outline:3px solid var(--ct-gold);outline-offset:3px}
.ct-stage .ct-seg button{border-color:#a6d7ba;color:#e8efe9}
.ct-stage .ct-seg button:hover{background:#0e4d4a;color:#fff}
.ct-stage .ct-seg button[aria-pressed=true]{background:var(--ct-gold);color:var(--ct-night);border-color:var(--ct-gold);box-shadow:inset 0 -4px 0 var(--ct-night)}
.ct-stage .ct-seg button[aria-pressed=true]:hover{background:var(--ct-gold);color:var(--ct-night)}
.ct-stage .ct-seg button[aria-pressed=true] i{background:var(--ct-night);border-color:var(--ct-night)}
.ct-seg__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ct-seg__row label{position:relative;display:block;cursor:pointer}
.ct-seg__row input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}

/* ---------- evidence ledger: a labelled grid on a full-bleed sage band ---------- */
.ct-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.4vw,60px);margin-bottom:clamp(36px,4vw,64px)}
.ct-mini p:not(.ct-tag){font-size:clamp(1.05rem,1.2vw,1.2rem);line-height:1.7;margin:0;max-width:46ch}
.ct-band{position:relative;margin-inline:calc(var(--g)*-1);background:linear-gradient(180deg,#cfe0d6 0%,#e2ebe6 100%);border-block:1px solid var(--ct-line);color:var(--ct-forest)}
.ct-band__in{padding:clamp(28px,3.4vw,52px) var(--g) clamp(22px,2.4vw,34px)}
.ct-band__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin-bottom:22px}
.ct-band .ct-kicker{color:var(--ct-forest)}
.ct-ex{padding:7px 14px;border:1px dashed var(--ct-gold-d);font:700 13px var(--ct-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ct-gold-d);background:#f6f4ef}
.ct-band__body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr);gap:clamp(28px,4vw,72px);align-items:start}
.ct-grid{background:#fff;border:1px solid var(--ct-line);box-shadow:0 30px 60px -44px #072d2b90}
.ct-grid__h,.ct-gr{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}
.ct-grid__h span{padding:14px 14px;border-bottom:2px solid var(--ct-forest);font:700 13px var(--ct-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ct-ink)}
.ct-grid__h span:first-child{color:var(--ct-mute)}
.ct-gr{border-bottom:1px solid #d3dfd7}
.ct-gr:last-child{border-bottom:0}
.ct-gr__k{min-width:0;overflow-wrap:anywhere;display:flex;align-items:center;gap:12px;min-height:62px;padding:8px 14px;border:0;background:transparent;color:var(--ct-ink);font:650 16px/1.3 var(--gft-font-display);text-align:left;cursor:pointer}
.ct-gr__k i{flex:none;width:14px;height:14px;border-radius:3px;border:2px solid var(--ct-forest);transition:background .3s}
.ct-gr__k[aria-pressed=true] i{background:var(--ct-gold);border-color:var(--ct-gold)}
.ct-gr.is-held .ct-gr__k{background:#f4f8f5;font-weight:750}
.ct-gc{display:flex;align-items:center;justify-content:center;gap:8px;min-height:62px;padding:6px;border:0;border-left:1px solid #e0e9e3;background:transparent;color:var(--ct-ink);cursor:pointer;transition:background .3s}
.ct-gc i{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid #8fa598;transition:background .3s,border-color .3s,transform .4s var(--ct-ease)}
.ct-gc span{font:700 13px var(--ct-mono);letter-spacing:.02em;opacity:0;width:0;overflow:hidden;white-space:nowrap}
.ct-gc[aria-pressed=true]{background:#fbf1de}
.ct-gc[aria-pressed=true] i{background:var(--ct-gold);border-color:var(--ct-gold);transform:scale(1.15)}
.ct-gc[aria-pressed=true] span{opacity:1;width:auto;overflow:visible;color:var(--ct-night)}
.ct-gc.is-ex{outline:2px dashed var(--ct-gold-d);outline-offset:-6px}
.ct-gc.is-ex span::after{content:' (ex.)';color:var(--ct-gold-d)}
.ct-gc:hover{background:#eef4f0}
.ct-gc[aria-pressed=true]:hover{background:#f7e8cb}
.ct-gc:focus-visible,.ct-gr__k:focus-visible{outline:3px solid var(--ct-gold);outline-offset:-3px}
.ct-band[data-basis=observed] :is(.ct-grid__h,.ct-gr) [data-col="0"]:not([aria-pressed=true]),.ct-band[data-basis=estimated] :is(.ct-grid__h,.ct-gr) [data-col="1"]:not([aria-pressed=true]),.ct-band[data-basis=proposed] :is(.ct-grid__h,.ct-gr) [data-col="2"]:not([aria-pressed=true]){background:#edf4ef}
.ct-page .ct-hover{display:block;margin:14px 0 0;min-height:3.4em;padding:12px 16px;background:#fff;border-left:4px solid var(--ct-gold);font:14px/1.6 var(--ct-mono);color:var(--ct-ink);max-width:none}
.ct-band__side .ct-seg{margin:0}
.ct-band__side .ct-seg button,.ct-band__side .ct-seg__row label span{min-height:60px;font-size:17px;border-width:2px}
.ct-band__side .ct-seg__row input:checked+span{box-shadow:inset 0 -5px 0 var(--ct-gold)}
.ct-ledger__read{display:block;margin-top:18px;padding:14px 16px;background:#fff;font:14px/1.6 var(--ct-mono);color:var(--ct-ink);min-height:6.4em;overflow-wrap:anywhere}
.ct-band .ct-controls{margin-top:16px}
.ct-band .ct-btn:disabled{opacity:.55}
.ct-band__loom{display:block;width:100%;height:20px;margin-top:26px;color:var(--ct-forest)}
.ct-evid__note{margin-top:clamp(24px,3vw,40px)}

/* ---------- dark interlude ---------- */
.ct-sec--dark{padding-block:clamp(96px,12vw,200px)}
.ct-sec--dark.ct-sec--cut{padding-top:calc(var(--cut) + clamp(96px,12vw,200px))}
.ct-ghostart{position:absolute;z-index:-1;left:-24%;top:50%;width:74%;margin-top:-26%;opacity:.22;pointer-events:none}
.ct-ghostart .ct-sb{color:#a6d7ba}
.ct-warp{position:absolute;z-index:-1;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.ct-head--xl{margin-bottom:clamp(36px,5vw,72px)}
.ct-inter{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,120px);align-items:start}
.ct-inter__copy{display:flex;flex-direction:column;gap:1.2em;padding-top:8px}
.ct-inter__copy p{margin:0;font-size:clamp(1.1rem,1.4vw,1.38rem);line-height:1.7;color:#e8efe9;max-width:44ch}
.ct-linecheck{--m-accent:#c98a2b;position:relative;padding:clamp(22px,2.4vw,36px);border:1px solid #a6d7ba66;background:#051f1ef0;color:#e8efe9}
.ct-sec--dark .ct-kicker{font-size:13px;color:#cfe3da}
.ct-linecheck__rows{display:flex;flex-direction:column;margin-top:14px}
.ct-row{display:grid;grid-template-columns:20px auto minmax(12px,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:8px 6px;border:0;border-top:1px solid #a6d7ba40;background:transparent;color:#e8efe9;font:600 18px/1.3 var(--gft-font-display);text-align:left;cursor:pointer}
.ct-row:last-child{border-bottom:1px solid #a6d7ba40}
.ct-row i{position:relative;width:13px;height:13px;border-radius:50%;border:2px solid #a6d7ba}
.ct-row i::after{content:'';position:absolute;inset:-7px;border-radius:50%;border:1px solid #a6d7ba;opacity:0}
.ct-row u{height:1px;border-bottom:1px dotted #a6d7ba99;text-decoration:none}
.ct-row b{font:700 13px var(--ct-mono);letter-spacing:.1em;color:#f0cf9c;text-align:right}
.ct-row[aria-pressed=true]{background:#0e4d4a99}
.ct-row[aria-pressed=true] i{background:var(--ct-gold);border-color:var(--ct-gold)}
.ct-row:hover{background:#0e4d4a66}
.ct-row:focus-visible{outline:3px solid var(--ct-gold);outline-offset:-3px}
.ct-linecheck__read{display:block;margin-top:20px;min-height:7.6em;font:15px/1.7 var(--ct-mono);color:#cfe3da}

/* ---------- local means local ---------- */
.ct-where{padding:clamp(18px,2.4vw,34px);background:var(--ct-paper);border:1px solid var(--ct-line);color:var(--ct-forest)}
.ct-where__art{display:block;width:100%;height:auto;max-height:56svh;font-family:var(--ct-mono)}
.ct-wh__path,.ct-wh__ring{opacity:0;transition:opacity .5s var(--ct-ease)}
.ct-wh__ring{fill:none}
.ct-wh.is-on .ct-wh__path,.ct-wh.is-on .ct-wh__ring{opacity:1}
.ct-wh.is-on text{font-weight:700}
.ct-where .ct-seg{margin-top:14px}
.ct-where__read{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,64px);margin-top:26px;padding-top:24px;border-top:1px solid var(--ct-line);color:var(--ct-ink)}
.ct-where__read h3{margin:0;font-size:clamp(1.5rem,2.2vw,2.2rem);line-height:1.1;letter-spacing:-.045em}
.ct-where__read p{margin:0;font-size:clamp(1.05rem,1.25vw,1.2rem);line-height:1.7;max-width:56ch}

/* ---------- closing: three tiles, a thread, and a knot that is an instrument ---------- */
.ct-branches{margin-top:8px}
.ct-route{position:relative;display:grid;grid-template-columns:minmax(210px,.4fr) minmax(0,1.6fr);column-gap:clamp(70px,9vw,150px);align-items:stretch;margin-top:22px}
.ct-route__art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:var(--ct-forest);overflow:visible}
.ct-route__node{position:relative;z-index:1;align-self:center;display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:22px 26px;background:var(--ct-night);color:#e8efe9;border-left:4px solid var(--ct-gold)}
.ct-route__node i{width:14px;height:14px;border-radius:50%;background:var(--ct-gold);box-shadow:0 0 0 6px #c98a2b40}
.ct-route__node b{font:800 22px/1.2 var(--gft-font-display);letter-spacing:-.02em}
.ct-route__node output{font:13px/1.5 var(--ct-mono);color:#cfe3da}
.ct-route__tiles{position:relative;z-index:1;display:grid;gap:14px}
.ct-tile{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-areas:"n ul" "h ul" "l ul";column-gap:clamp(20px,3vw,48px);align-content:start;padding:22px 28px 18px;background:#eef3ef;border:1px solid var(--ct-line);transition:background .4s,box-shadow .4s}
.ct-tile.is-on{background:#fff;box-shadow:inset 5px 0 0 var(--ct-gold),0 26px 50px -38px #072d2b90}
.ct-tile__n{grid-area:n;margin:0 0 4px;font:700 13px var(--ct-mono);letter-spacing:.14em;color:var(--ct-gold-d)}
.ct-tile h3{grid-area:h;margin:0;font-size:clamp(1.6rem,2.3vw,2.4rem);line-height:1.08;letter-spacing:-.05em}
.ct-tile__line{grid-area:l;margin:10px 0 0;font-size:16px;line-height:1.55;color:var(--ct-ink);max-width:36ch}
.ct-tile ul{grid-area:ul;list-style:none;margin:0;padding:0 0 0 20px;position:relative;align-self:center}
.ct-tile ul::before{content:'';position:absolute;left:5px;top:6px;bottom:30px;width:2px;background:#0e4d4a33}
.ct-leaf{position:relative;display:flex;align-items:center;width:100%;min-height:54px;padding:8px 12px 8px 14px;border:0;background:transparent;color:var(--ct-ink);font:650 17px/1.3 var(--gft-font-display);text-align:left;cursor:pointer;border-bottom:1px solid #c3d1c7}
.ct-leaf i{position:absolute;left:-20px;top:50%;margin-top:-6px;width:12px;height:12px;border-radius:50%;border:2px solid var(--ct-forest);background:var(--ct-paper);transition:background .3s,transform .3s var(--ct-ease)}
.ct-leaf:hover,.ct-leaf:focus-visible{background:#e8efe9}
.ct-leaf:focus-visible{outline:3px solid var(--ct-gold);outline-offset:-3px}
.ct-leaf:hover i,.ct-leaf[aria-pressed=true] i{background:var(--ct-gold);border-color:var(--ct-gold);transform:scale(1.25)}
.ct-leaf[aria-pressed=true]{background:#e2ebe6;box-shadow:inset 4px 0 0 var(--ct-gold)}
.ct-rt__lit,.ct-rt__flow{opacity:0;transition:opacity .4s}
.ct-rt.is-on .ct-rt__lit,.ct-rt.is-on .ct-rt__flow{opacity:1}
.ct-rt__end{fill:var(--ct-forest);transition:fill .3s}
.ct-rt.is-on .ct-rt__end{fill:var(--ct-gold)}
.ct-leafread{margin-top:14px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;gap:12px clamp(20px,3vw,48px);align-items:baseline;padding:20px 24px;background:var(--ct-night);color:#e8efe9}
.ct-leafread p{margin:0;max-width:none}
.ct-leafread__t{font:700 clamp(1.1rem,1.5vw,1.4rem)/1.25 var(--gft-font-display);letter-spacing:-.02em}
.ct-leafread__p{font-size:16px;line-height:1.6;color:#cfe3da}
.ct-leafread__a{display:inline-flex;align-items:center;min-height:44px;color:#f0cf9c;font:700 14px var(--gft-font-display);text-underline-offset:4px;white-space:nowrap}
.ct-end{position:relative;display:flex;align-items:center;margin-top:clamp(64px,8vw,120px);min-height:400px}
.ct-end__conv path,.ct-warp path{fill:none}
.ct-end__conv{position:absolute;top:0;height:100%;left:calc(var(--so)*-1 + 1px);width:calc(100% + var(--g) + var(--so) - 1px);color:var(--ct-forest);pointer-events:none;overflow:visible}
.ct-end__node{position:absolute;z-index:2;left:calc(var(--so)*-1 + 1px - 22px);top:calc(50% - 22px);width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--ct-night);border:2px solid var(--ct-gold)}
.ct-end__node i{width:14px;height:14px;border-radius:50%;background:var(--ct-gold)}
.ct-end__card{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:center;width:min(66%,980px);margin-left:clamp(100px,15vw,230px);padding:clamp(24px,3vw,44px);background:var(--ct-mist);border-top:4px solid var(--ct-forest);box-shadow:0 40px 80px -50px #072d2bb0}
.ct-ring{position:relative;width:clamp(120px,12vw,168px);aspect-ratio:1}
.ct-ring svg{position:absolute;inset:0;width:100%;height:100%}
.ct-ring__seg{opacity:0;transition:opacity .5s}
.ct-ring__seg.is-on{opacity:1}
.ct-ring b{position:absolute;inset:0;display:grid;place-items:center;align-content:center;font:800 clamp(1.6rem,2.4vw,2.2rem)/1 var(--gft-font-display);letter-spacing:-.03em;color:var(--ct-night)}
.ct-ring span{position:absolute;left:0;right:0;bottom:24%;text-align:center;font:600 12px var(--ct-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ct-mute)}
.ct-end__row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:16px}
.ct-controls--main{margin-top:20px}
.ct-btn--go{min-height:58px;padding-inline:32px;background:var(--ct-forest);color:#fff;font-size:17px;box-shadow:inset 0 -4px 0 var(--ct-gold)}
.ct-btn--go:hover{background:var(--ct-night);color:#fff}
.ct-controls--2{margin-top:14px}
.ct-note--inline{flex:1 1 100%}
.ct-sample{margin:22px 0 0;padding:14px 16px;background:#fcfbf8;border:1px dashed #8fa598}
.ct-sample__k{margin:0 0 8px;font:700 12px var(--ct-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ct-gold-d)}
.ct-page .ct-sample__r{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:center;margin:0;padding-block:5px;max-width:none}
.ct-sample__r b{font:600 12px var(--ct-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ct-ink)}
.ct-sample__r span{display:block;height:7px;background:#0e4d4a1f;overflow:hidden}
.ct-sample__r i{display:block;height:100%;background:var(--ct-forest);transform-origin:left center}
.ct-sample__r:nth-child(3) i{transform:scaleX(.7)}
.ct-sample__r:nth-child(4) i{transform:scaleX(.5)}
.ct-sample__r:nth-child(5) i{transform:scaleX(.35)}
.ct-end .ct-note{margin-top:14px;min-height:2.6em}
.ct-links{display:flex;flex-wrap:wrap;gap:6px 30px;margin:8px 0 0}
.ct-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--ct-forest);font:650 14px var(--gft-font-display);text-underline-offset:4px}
.ct-sec--end{padding-bottom:0}

/* ---------- entrances: each section is authored differently, in progress at 250 ms and settled by about 1 s.
   Headings move by line with transform and opacity only, so a word is never cut by a mask; body, then visual, follow in later beats. ---------- */
:root[data-m-go] .ct-sec .ct-eyebrow{transition:none}
:root[data-m-go] .ct-sec[data-m]:not([data-m-in]) .ct-eyebrow{opacity:0;transform:translateX(-26px)}
:root[data-m-go] .ct-sec[data-m][data-m-in] .ct-eyebrow{animation-name:ct-eyebrow-in;animation-duration:700ms;animation-timing-function:var(--ct-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-eyebrow-in{from{opacity:0;transform:translateX(-26px)}}
:root[data-m-go] .ct-sec[data-m]:not([data-m-in]) :is(.ct-lede,.ct-inter__copy){opacity:0;transform:translateY(22px)}
:root[data-m-go] .ct-sec[data-m][data-m-in] :is(.ct-lede,.ct-inter__copy){animation-name:ct-body-in;animation-duration:760ms;animation-timing-function:var(--ct-ease);animation-delay:300ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-body-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
/* 1 instrument: lines climb into place */
:root[data-m-go] [data-m=ct-lines]:not([data-m-in]) .ct-ln>span{opacity:0;transform:translateY(.6em)}
:root[data-m-go] [data-m=ct-lines][data-m-in] .ct-ln>span{animation-name:ct-ln-rise;animation-duration:780ms;animation-timing-function:var(--ct-ease);animation-delay:calc(var(--l)*90ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-ln-rise{from{opacity:0;transform:translateY(.6em)}to{opacity:1;transform:none}}
/* 2 route chapter: the sage band wipes in from the left, lines shear in from the left */
:root[data-m-go] [data-m=ct-sweep]:not([data-m-in]) .ct-bg{clip-path:inset(0 100% 0 0)}
:root[data-m-go] [data-m=ct-sweep][data-m-in] .ct-bg{animation-name:ct-bg-wipe;animation-duration:900ms;animation-timing-function:var(--ct-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-bg-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
:root[data-m-go] [data-m=ct-sweep]:not([data-m-in]) .ct-ln>span{opacity:0;transform:translateX(-9%) skewX(-8deg)}
:root[data-m-go] [data-m=ct-sweep][data-m-in] .ct-ln>span{animation-name:ct-ln-wipe;animation-duration:760ms;animation-timing-function:var(--ct-ease);animation-delay:calc(var(--l)*80ms + 120ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-ln-wipe{from{opacity:0;transform:translateX(-9%) skewX(-8deg)}to{opacity:1;transform:none}}
/* 3 evidence: lines drop from above */
:root[data-m-go] [data-m=ct-drop]:not([data-m-in]) .ct-ln>span{opacity:0;transform:translateY(-.7em)}
:root[data-m-go] [data-m=ct-drop][data-m-in] .ct-ln>span{animation-name:ct-ln-drop;animation-duration:780ms;animation-timing-function:var(--ct-ease);animation-delay:calc(var(--l)*100ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-ln-drop{from{opacity:0;transform:translateY(-.7em)}to{opacity:1;transform:none}}
/* 4 interlude: the dark band opens from a slit, lines open from their centre */
:root[data-m-go] [data-m=ct-slit]:not([data-m-in]) .ct-bg{clip-path:inset(49% 0 49% 0)}
:root[data-m-go] [data-m=ct-slit][data-m-in] .ct-bg{animation-name:ct-bg-slit;animation-duration:900ms;animation-timing-function:var(--ct-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-bg-slit{from{clip-path:inset(49% 0 49% 0)}to{clip-path:inset(0 0 0 0)}}
:root[data-m-go] [data-m=ct-slit]:not([data-m-in]) .ct-ln>span{opacity:0;transform:scale(.7,.5)}
:root[data-m-go] [data-m=ct-slit][data-m-in] .ct-ln>span{animation-name:ct-ln-slit;animation-duration:820ms;animation-timing-function:var(--ct-ease);animation-delay:calc(var(--l)*110ms + 160ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;transform-origin:left center}
:root[data-m-go] [data-m=ct-slit]:not([data-m-in]) .ct-ln>span{transform-origin:left center}
@keyframes ct-ln-slit{from{opacity:0;transform:scale(.7,.5)}to{opacity:1;transform:none}}
:root[data-m-go] [data-m=ct-slit]:not([data-m-in]) :is(.ct-ghostart,.ct-warp){opacity:0}
/* 5 walk: lines slide in from the right */
:root[data-m-go] [data-m=ct-unspool]:not([data-m-in]) .ct-ln>span{opacity:0;transform:translateX(12%)}
:root[data-m-go] [data-m=ct-unspool][data-m-in] .ct-ln>span{animation-name:ct-ln-blur;animation-duration:860ms;animation-timing-function:var(--ct-ease);animation-delay:calc(var(--l)*110ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-ln-blur{from{opacity:0;transform:translateX(12%)}to{opacity:1;transform:none}}
/* 6 boundary: an iris opens on the sage band, lines turn in from a slight tilt */
:root[data-m-go] [data-m=ct-iris]:not([data-m-in]) .ct-bg{clip-path:circle(0% at 50% 40%)}
:root[data-m-go] [data-m=ct-iris][data-m-in] .ct-bg{animation-name:ct-bg-iris;animation-duration:950ms;animation-timing-function:var(--ct-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-bg-iris{from{clip-path:circle(0% at 50% 40%)}to{clip-path:circle(120% at 50% 40%)}}
:root[data-m-go] [data-m=ct-iris]:not([data-m-in]) .ct-ln>span{opacity:0;transform:rotate(2.4deg) translateY(.4em);transform-origin:left bottom}
:root[data-m-go] [data-m=ct-iris][data-m-in] .ct-ln>span{animation-name:ct-ln-iris;animation-duration:780ms;animation-timing-function:var(--ct-ease);animation-delay:calc(var(--l)*90ms + 100ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;transform-origin:left bottom}
@keyframes ct-ln-iris{from{opacity:0;transform:rotate(2.4deg) translateY(.4em)}to{opacity:1;transform:none}}
/* 7 closing: the lines knot in, scaling out of a soft focus */
:root[data-m-go] [data-m=ct-knot]:not([data-m-in]) .ct-ln>span{opacity:0;filter:blur(4px);transform:scale(.92) translateY(.3em);transform-origin:left center}
:root[data-m-go] [data-m=ct-knot][data-m-in] .ct-ln>span{animation-name:ct-ln-knot;animation-duration:820ms;animation-timing-function:var(--ct-ease);animation-delay:calc(var(--l)*100ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;transform-origin:left center}
@keyframes ct-ln-knot{from{opacity:0;filter:blur(4px);transform:scale(.92) translateY(.3em)}to{opacity:1;filter:blur(0);transform:none}}
/* inner pieces, each its own beat */
:root[data-m-go] [data-m=ct-tape]:not([data-m-in]){opacity:0;transform:translateX(-40px)}
:root[data-m-go] [data-m=ct-tape][data-m-in]{animation-name:ct-tape-in;animation-duration:820ms;animation-timing-function:var(--ct-ease);animation-delay:200ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-tape-in{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
:root[data-m-go] [data-m=ct-card]:not([data-m-in]){opacity:0;transform:translateY(40px)}
:root[data-m-go] [data-m=ct-card][data-m-in]{animation-name:ct-card-in;animation-duration:860ms;animation-timing-function:var(--ct-ease);animation-delay:340ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-card-in{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
:root[data-m-go] [data-m=ct-pop]:not([data-m-in]){opacity:0;transform:scale(.95)}
:root[data-m-go] [data-m=ct-pop][data-m-in]{animation-name:ct-pop-in;animation-duration:820ms;animation-timing-function:var(--ct-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-pop-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}
:root[data-m-go] [data-m=ct-beat]:not([data-m-in]){opacity:0;transform:translate(34px,26px)}
:root[data-m-go] [data-m=ct-beat][data-m-in]{animation-name:ct-beat-in;animation-duration:820ms;animation-timing-function:var(--ct-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-beat-in{from{opacity:0;transform:translate(34px,26px)}to{opacity:1;transform:none}}
:root[data-m-go] [data-m=ct-rise]:not([data-m-in]){opacity:0;transform:translateY(44px)}
:root[data-m-go] [data-m=ct-rise][data-m-in]{animation-name:ct-rise-in;animation-duration:820ms;animation-timing-function:var(--ct-ease);animation-delay:160ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-rise-in{from{opacity:0;transform:translateY(44px)}to{opacity:1;transform:none}}
:root[data-m-go] [data-m=ct-stamp]:not([data-m-in]){opacity:0;transform:scale(1.06) rotate(-1deg)}
:root[data-m-go] [data-m=ct-stamp][data-m-in]{animation-name:ct-stamp-in;animation-duration:760ms;animation-timing-function:var(--ct-ease);animation-delay:300ms;animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-stamp-in{from{opacity:0;transform:scale(1.06) rotate(-1deg)}to{opacity:1;transform:none}}
/* splash drawing builds in branch by branch (first paint, settled by about 900 ms) */
:root[data-m-go] .ct-sb--splash .ct-in{animation-name:ct-thread-in;animation-duration:700ms;animation-timing-function:var(--ct-ease);animation-delay:calc(140ms + var(--i)*30ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ct-thread-in{from{clip-path:inset(-10% 100% -10% -2%);opacity:0}to{clip-path:inset(-10% -3% -10% -2%);opacity:1}}
:root[data-m-go] .ct-sb--splash .ct-sb__hub{animation-name:ct-hub-in;animation-duration:620ms;animation-delay:80ms;transform-box:fill-box;transform-origin:center}
@keyframes ct-hub-in{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}
:root[data-m-go] .ct-ticker{animation-name:ct-body-in;animation-duration:700ms;animation-delay:420ms;animation-timing-function:var(--ct-ease);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
/* lives (on screen only) */
:root[data-m-go] [data-m-live~=ct-stage][data-m-on] .ct-ov__ring{animation-name:ct-spin;animation-duration:36s;animation-timing-function:linear;animation-iteration-count:infinite;transform-box:fill-box;transform-origin:center}
:root[data-m-go] [data-m-live~=ct-stage][data-m-on] .ct-ov__ring:nth-child(2){animation-direction:reverse}
@keyframes ct-spin{to{transform:rotate(360deg)}}
:root[data-m-go] [data-m-live~=ct-listen][data-m-on] .ct-row i::after{animation-name:ct-ping;animation-duration:3.4s;animation-delay:calc(var(--i)*.6s);animation-timing-function:ease-out;animation-iteration-count:infinite}
@keyframes ct-ping{0%{opacity:.9;transform:scale(.55)}70%,100%{opacity:0;transform:scale(1.7)}}
:root[data-m-go] [data-m-live~=ct-demo][data-m-on] .ct-sample__r i{animation-name:ct-demo;animation-duration:7s;animation-delay:calc(var(--n)*.5s);animation-timing-function:var(--ct-ease);animation-iteration-count:infinite}
@keyframes ct-demo{0%,6%{transform:scaleX(0)}26%,84%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
.ct-ghostart,.ct-warp{overflow-anchor:none}


/* ---------- round 4: record deck, line-check sweep, stage counter, handover instrument, dark closing band ---------- */
.ct-stage__top{align-items:center}
.ct-stage__big{font:800 clamp(2.4rem,3.6vw,3.4rem)/1 var(--ct-mono);letter-spacing:-.04em;color:#f0cf9c;margin-right:4px}
.ct-stage[data-state="0"] .ct-stage__big::before{content:"01"}
.ct-stage[data-state="1"] .ct-stage__big::before{content:"02"}
.ct-stage[data-state="2"] .ct-stage__big::before{content:"03"}
.ct-stage__name{margin-left:auto}
.ct-stage[data-state="1"] .ct-br__lit{stroke-width:4}
.ct-stage .ct-seg--phase{margin-top:10px}

/* 2 evidence: a deck of three record cards, each with its own picture, lit in turn */
.ct-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,40px);margin-bottom:clamp(36px,4vw,64px);align-items:start}
.ct-rec{position:relative;display:flex;flex-direction:column;gap:18px;padding:clamp(20px,2vw,30px);background:#fff;border:1px solid var(--ct-line);border-top:4px solid var(--ct-forest);box-shadow:0 34px 60px -46px #072d2b99;outline:none}
.ct-rec:nth-child(2){margin-top:clamp(20px,3vw,48px)}
.ct-rec:nth-child(3){margin-top:clamp(40px,6vw,96px)}
.ct-rec:focus-visible{outline:3px solid var(--ct-gold);outline-offset:3px}
.ct-rec__vis{position:relative;overflow:hidden;padding:14px 16px;background:var(--ct-mist);font:13px/1.5 var(--ct-mono);color:var(--ct-ink);min-height:158px;display:flex;flex-direction:column;gap:6px}
.ct-rec__vis p{margin:0;max-width:none}
.ct-rec__r{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:baseline;padding-block:5px;border-bottom:1px dashed #8fa598}
.ct-rec__r b{font:700 12px var(--ct-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ct-gold-d)}
.ct-rec__r--gap{border-bottom:0;border-top:2px solid var(--ct-forest)}
.ct-rec__r--off span{text-decoration:line-through;text-decoration-thickness:2px;color:var(--ct-mute)}
.ct-rec__r--ok{border-bottom:0;border-top:2px solid var(--ct-forest)}
.ct-rec__r--ok span{font-weight:700}
.ct-rec__pills{display:flex;flex-wrap:wrap;gap:6px}
.ct-rec__pills span{padding:5px 10px;border:1px solid var(--ct-forest);font:700 12px var(--ct-mono);letter-spacing:.06em;text-transform:uppercase;background:#fff}
.ct-rec__pills .is-pick{background:var(--ct-forest);color:#fff;box-shadow:inset 0 -3px 0 var(--ct-gold)}
.ct-rec__scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent calc(100% - 40px),#c98a2b40 calc(100% - 2px),#c98a2b 100%);opacity:0;transform:translateY(-100%)}
.ct-rec .ct-tag{margin:0}
.ct-rec .ct-rec__t{margin:0;font-size:clamp(1.02rem,1.15vw,1.14rem);line-height:1.68;color:var(--ct-ink);max-width:46ch}
:root[data-m-go] [data-m-live~=ct-rec][data-m-on] .ct-rec__scan{animation-name:ct-rec-scan;animation-duration:9s;animation-delay:calc(var(--n)*3s);animation-timing-function:var(--ct-ease);animation-iteration-count:infinite}
@keyframes ct-rec-scan{0%{opacity:1;transform:translateY(-100%)}30%,100%{opacity:0;transform:translateY(0)}}
.ct-rec:hover .ct-rec__vis,.ct-rec:focus-visible .ct-rec__vis{background:#d9e6de}

/* 3 interlude: a sweep and a turn-taking pulse on the line check */
.ct-linecheck__rows{position:relative;overflow:hidden}
.ct-linecheck__sweep{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent calc(100% - 70px),#f0cf9c26 calc(100% - 2px),#f0cf9c 100%);opacity:0;transform:translateY(-100%)}
.ct-row{position:relative;z-index:1}
.ct-row::before{content:'';position:absolute;inset:0;z-index:-1;background:#f0cf9c;opacity:0;pointer-events:none}
:root[data-m-go] [data-m-live~=ct-listen][data-m-on] .ct-linecheck__sweep{animation-name:ct-sweep;animation-duration:6s;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes ct-sweep{0%{opacity:1;transform:translateY(-100%)}80%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(0)}}
:root[data-m-go] [data-m-live~=ct-listen][data-m-on] .ct-row::before{animation-name:ct-rowlit;animation-duration:6s;animation-delay:calc(var(--i)*1.2s - 0.3s);animation-timing-function:ease-out;animation-iteration-count:infinite}
@keyframes ct-rowlit{0%{opacity:0}6%{opacity:.2}20%,100%{opacity:0}}
:root[data-m-go] [data-m-live~=ct-listen][data-m-on] .ct-row b{animation-name:ct-blink;animation-duration:2.4s;animation-delay:calc(var(--i)*.35s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}
@keyframes ct-blink{0%,100%{opacity:1}50%{opacity:.55}}

/* 5 handover: a vague question against a structured brief, and how it changes hands */
.ct-xfer{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:stretch;margin:0 0 clamp(48px,6vw,96px)}
.ct-xfer__main{padding:clamp(20px,2.4vw,34px);background:#fff;border:1px solid var(--ct-line);border-top:4px solid var(--ct-forest);box-shadow:0 40px 70px -50px #072d2baa}
.ct-xfer__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:18px}
.ct-seg--xfer{display:grid;grid-template-columns:repeat(2,minmax(0,auto));gap:8px;margin:0}
.ct-xfer__doc{padding:20px 22px;background:#fcfbf8;border:1px dashed #8fa598;min-height:230px}
.ct-xfer__doc--ok{background:var(--ct-mist);border-style:solid;border-color:var(--ct-forest);box-shadow:inset 5px 0 0 var(--ct-gold)}
.ct-page .ct-xfer__q{margin:0 0 16px;font:700 clamp(1.25rem,1.9vw,1.8rem)/1.3 var(--gft-font-display);letter-spacing:-.03em;color:var(--ct-night);max-width:34ch}
.ct-xfer__miss{list-style:none;margin:0;padding:0}
.ct-xfer__miss li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:9px 0;border-top:1px dashed #8fa598;font:14px/1.5 var(--ct-mono);color:var(--ct-ink)}
.ct-xfer__miss b{font:700 12px var(--ct-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ct-gold-d)}
.ct-xfer__doc[data-ct-xfer-panel="0"] .ct-xfer__miss span{color:#8a2d1a;font-weight:700}
.ct-page .ct-xfer__verdict{margin:14px 0 0;padding-top:12px;border-top:2px solid var(--ct-forest);font:14px/1.6 var(--ct-mono);color:var(--ct-ink)}
.ct-xfer__steps{list-style:none;margin:0;padding:0;align-self:center;position:relative;display:flex;flex-direction:column;gap:clamp(18px,2.6vw,34px);padding-left:28px}
.ct-xfer__steps::before{content:'';position:absolute;left:5px;top:10px;bottom:10px;width:2px;background:#0e4d4a30}
.ct-xfer__steps::after{content:'';position:absolute;left:5px;top:10px;bottom:10px;width:2px;background:var(--ct-gold);transform-origin:top;transform:scaleY(.15);transition:transform .8s var(--ct-ease)}
.ct-xfer[data-view="1"] .ct-xfer__steps::after{transform:scaleY(1)}
.ct-xfer__steps li{position:relative;display:flex;gap:16px;align-items:baseline;font:650 clamp(1.1rem,1.5vw,1.45rem)/1.3 var(--gft-font-display);letter-spacing:-.02em;color:var(--ct-ink)}
.ct-xfer__steps li::before{content:'';position:absolute;left:-28px;top:.45em;width:12px;height:12px;border-radius:50%;border:2px solid var(--ct-gold);background:var(--ct-paper);transition:background .4s}
.ct-xfer__steps li.is-on::before{background:var(--ct-gold)}
.ct-xfer__steps b{font:700 13px var(--ct-mono);letter-spacing:.12em;color:var(--ct-gold-d)}

/* branch bar: how many branches have been read */
.ct-leafread__n{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding-top:12px;border-top:1px solid #a6d7ba40;font:600 13px var(--ct-mono);letter-spacing:.06em;color:#cfe3da}
.ct-leafread__ticks{display:flex;gap:5px}
.ct-leafread__ticks i{width:22px;height:6px;background:#a6d7ba40;transition:background-color .4s}
.ct-leafread__ticks i.is-on{background:#f0cf9c}
.ct-leafread{margin-bottom:0}

/* 7 closing: a dark full-bleed band, the thread resolving into one brief */
.ct-fin{position:relative;margin-top:clamp(48px,6vw,96px);margin-inline:calc(var(--g)*-1);padding:clamp(56px,7vw,110px) var(--g) clamp(72px,8vw,130px);background:radial-gradient(ellipse at 18% 50%,#0e4d4a 0%,#072d2b 66%);color:#e8efe9}
.ct-fin .ct-end{margin-top:0}
.ct-fin .ct-end__conv{color:#a6d7ba}
.ct-fin .ct-end__conv path:not(.m-flow){stroke-opacity:.4}
.ct-fin .ct-end__node{background:var(--ct-night)}
.ct-fin .ct-end__card{background:linear-gradient(135deg,#051f1e 0%,#0a3a37 100%);border-top:4px solid var(--ct-gold);border-inline:1px solid #a6d7ba55;box-shadow:0 50px 90px -50px #000c}
.ct-fin .ct-ring svg path:not(.ct-ring__seg){stroke:#a6d7ba;stroke-opacity:.3}
.ct-fin .ct-ring b{color:#fff}
.ct-fin .ct-ring span{color:#cfe3da}
.ct-fin .ct-kicker{color:#f0cf9c}
.ct-fin .ct-chip{background:#e8efe9;border-color:#e8efe9;color:var(--ct-night)}
.ct-fin .ct-chip[data-state=drafted]{background:#f0cf9c;border-color:#f0cf9c;color:var(--ct-night)}
.ct-fin .ct-chip[data-state=ready]{background:var(--ct-sage);border-color:var(--ct-sage);color:var(--ct-night)}
.ct-fin .ct-chip[data-state=ready] i{background:var(--ct-night);border-color:var(--ct-night)}
.ct-fin .ct-doc__counts{color:#e8efe9}
.ct-fin .ct-note{color:#cfe3da}
.ct-fin .ct-btn{border-color:#a6d7ba;color:#e8efe9}
.ct-fin .ct-btn:disabled{opacity:.6}
.ct-fin .ct-btn:not(:disabled):hover{background:#e8efe9;color:var(--ct-night)}
.ct-fin .ct-btn--go{background:var(--ct-gold);border-color:var(--ct-gold);color:var(--ct-night);box-shadow:inset 0 -4px 0 var(--ct-night)}
.ct-fin .ct-btn--go:hover{background:#f0cf9c;color:var(--ct-night)}
.ct-fin .ct-sample{background:#051f1e;border-color:#a6d7ba88}
.ct-fin .ct-sample__k{color:#f0cf9c}
.ct-fin .ct-sample__r b{color:#e8efe9}
.ct-fin .ct-sample__r span{background:#a6d7ba33}
.ct-fin .ct-sample__r i{background:#a6d7ba}
.ct-fin .ct-links a{color:#f0cf9c}
.ct-fin .ct-btn:focus-visible,.ct-fin .ct-links a:focus-visible{outline-color:#f0cf9c}

/* ---------- tablet and phone ---------- */
@media(max-width:1180px){
 .ct-caps__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ct-band__body{grid-template-columns:minmax(0,1fr)}
 .ct-leafread{grid-template-columns:1fr}
 .ct-tile{grid-template-columns:minmax(0,1fr)}
 .ct-tile{grid-template-areas:"n" "h" "l" "ul"}
 .ct-tile ul{margin-top:12px;align-self:start}
 .ct-end__card{width:min(86%,1040px)}
 .ct-records{grid-template-columns:minmax(0,1fr)}
 .ct-rec:nth-child(n){margin-top:0}
 .ct-xfer{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:1000px){
 .ct-sec{--g:28px;--so:16px;--cut:44px}
 .ct-page .gft-splash__structure{inset:10% -12% 0 34%;opacity:.7}
 .ct-page .gft-splash__content{padding-top:80px}
 .ct-page .gft-splash h1{font-size:clamp(3.6rem,8vw,5.5rem)}
 .ct-head--split,.ct-bench__grid,.ct-walk,.ct-walk--flip,.ct-inter,.ct-where__read{grid-template-columns:minmax(0,1fr)}
 .ct-trio{grid-template-columns:minmax(0,1fr)}
 .ct-walk--flip .ct-stage{order:0}
 .ct-doc{position:static}
 .ct-stage,.ct-walk--flip .ct-stage{top:8px;margin-inline:calc(var(--g)*-1);padding:16px var(--g) 14px}
 .ct-stage__art{height:clamp(180px,30svh,320px)}
 .ct-beat{min-height:58svh}
 .ct-ghostart{width:140%;left:-20%}
 .ct-route{grid-template-columns:minmax(0,1fr)}
 .ct-route__art{display:none}
 .ct-route__node{margin-bottom:14px;align-self:start}
 .ct-end__conv{opacity:.7}
}
@media(max-width:640px){
 .ct-sec{--g:20px;--so:12px;--cut:28px;--pad:68px}
 .ct-page .gft-splash__content{padding-top:66px;padding-bottom:330px}
 .ct-page .gft-splash h1{font-size:clamp(3.1rem,12vw,4.7rem);max-width:12ch;margin-top:28px}
 .ct-page .gft-splash__lede{max-width:36ch;font-size:14px}
 .ct-page .gft-splash__structure{inset:auto -6% 80px -6%;height:300px;opacity:1}
 .ct-page .gft-splash__structure::after{background:linear-gradient(#072d2b66,transparent 35%)}
 .ct-sb--splash .ct-br__lab{font-size:25px}
 .ct-sb--splash .ct-br__num{font-size:22px}
 .ct-sb--splash .ct-sb__ruler text{font-size:24px}
 .ct-ticker em{display:none}
 .ct-ticker{max-width:none}
 .ct-page .gft-splash__actions .gft-button{min-height:56px}
 .ct-page .gft-splash__bottom{min-height:76px}
 .ct-h{font-size:clamp(2.2rem,10.4vw,3.4rem)}
 .ct-h--xl{font-size:clamp(2.7rem,13vw,4.6rem)}
 .ct-eyebrow{font-size:12px;letter-spacing:.1em}
 .ct-caps__grid{gap:8px}
 .ct-cap span{min-height:64px;padding:12px 12px;font-size:15px;gap:9px}
 .ct-fields{padding-left:32px}
 .ct-field::before{left:-32px}
 .ct-doc{padding:20px 16px 22px}
 .ct-doc__flag{margin-left:0}
 .ct-comp{flex-wrap:wrap;gap:8px 12px}
 .ct-controls .ct-btn{flex:1 1 auto}
 .ct-stage__art{height:clamp(150px,23svh,210px)}
 .ct-stage__top{font-size:12px;letter-spacing:.08em}
 .ct-stage__foot{display:none}
 .ct-stage__read{min-height:4.8em;margin:8px 0 8px;font-size:14px;grid-template-columns:minmax(0,1fr)}
 .ct-stage__read b{display:none}
 .ct-steps3{margin-bottom:8px}
 .ct-seg--phase{margin-bottom:8px}
 .ct-seg--phase button,.ct-seg--where button{min-height:46px;font-size:13px;padding:6px 6px;gap:6px}
 .ct-seg--phase button i,.ct-seg--where button i{width:10px;height:10px}
 .ct-seg--where{grid-template-columns:1fr}
 .ct-beats{padding-left:22px}
 .ct-beat{min-height:48svh;padding-block:30px}
 .ct-band__in{padding-inline:20px}
 .ct-grid__h,.ct-gr{grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr))}
 .ct-grid__h span{padding:10px 6px;font-size:12px;letter-spacing:.02em}
 .ct-gr__k{padding:8px 6px;font-size:13px;gap:6px}
 .ct-gr__k i{display:none}
 .ct-grid__h,.ct-gr{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}
 .ct-gc{padding:4px 2px}
 .ct-gc span{display:none}
 .ct-gc[aria-pressed=true] i{box-shadow:0 0 0 3px #c98a2b55}
 .ct-gc.is-ex{outline-offset:-4px}
 .ct-row{grid-template-columns:16px 1fr auto;font-size:16px;gap:10px}
 .ct-row u{display:none}
 .ct-row b{font-size:12px}
 .ct-tile{padding:18px 18px 14px}
 .ct-where{padding:14px}
 .ct-end{min-height:0;padding-block:20px}
 .ct-end__card{grid-template-columns:minmax(0,1fr);width:calc(100% - 24px);margin-left:24px;padding:22px 16px 24px}
 .ct-end__node{width:32px;height:32px;left:calc(var(--so)*-1 + 1px - 16px);top:calc(50% - 16px)}
 .ct-ring{width:116px}
 .ct-sample__r{grid-template-columns:78px minmax(0,1fr)}
 .ct-num{font-size:12rem}
 .ct-seg--xfer{grid-template-columns:minmax(0,1fr)}
 .ct-xfer__miss li{grid-template-columns:90px minmax(0,1fr)}
 .ct-xfer__doc{min-height:0}
 .ct-fin{padding-block:48px 64px}
 .ct-stage__big{font-size:2rem}
 .ct-rec__r{grid-template-columns:80px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.ct-page *{animation-name:none!important;transition:none!important}}
