/* Library round 5, the chapter template: "a chapter is one length of cloth woven while it is read".
   Prefix w5 (w5d draft, w5h Shed panel, w5f film, w5s selvedge, w5k knot, w5b board, w5p path, w5n knot list,
   w5q quote, w5i interlude, w5v source thread, w5e evidence, w5c closing). HTML is the composed end state; every
   pre-state lives under :root[data-m-go]; transitions and scroll-driven rules exist only there, so reduced motion and
   Calm show the finished state. Animated: transform, opacity, clip-path and filter only. Scroll timelines are
   written as longhands; nothing changes its layout size with scroll state. */
:root{--w5-night:#072d2b;--w5-deep:#0a3d3a;--w5-forest:#0e4d4a;--w5-paper:#f6f4ef;--w5-ink:#1c2725;--w5-mute:#3d4b47;--w5-body:#e6efea;--w5-nmute:#b9d3c5;--w5-sage:#6bb68f;--w5-ochre:#c98a2b;--w5-ochre-ink:#8a5a12;--w5-leaf-ink:#2a6e50;--w5-line:#cfd8d2;--w5-ease:cubic-bezier(.42,.02,.18,1);--w5-out:cubic-bezier(.16,1,.3,1);--w5-gut:20px;--w5-col:680px}
@media (min-width:1100px){:root{--w5-gut:max(84px,calc((100vw - 1280px)/2))}}

/* ---------------- rotation entrances carried by each block's visuals (.w5-in), never by its body text ---------------- */
:is(.w5row,.w5d,.w5q,.w5e)[data-m=rule]{background-image:none!important}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e)[data-m=rule]:not([data-m-in])>:not([data-m]){opacity:1;translate:none}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e)[data-m=rule][data-m-in]>:not([data-m]){animation-name:none}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e):is([data-m=wipe],[data-m=curtain]):not([data-m-in]){clip-path:none}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e)[data-m=blur]:not([data-m-in]){opacity:1;filter:none}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e):is([data-m=wipe],[data-m=curtain],[data-m=blur],[data-m=rule])[data-m-in]{animation-name:none}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e)[data-m=rule]:not([data-m-in]) .m-k{clip-path:inset(0 0 100% 0)}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e)[data-m=wipe]:not([data-m-in]) .m-k{clip-path:inset(-2% 100% -2% -2%)}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e)[data-m=curtain]:not([data-m-in]) .m-k{clip-path:inset(-2% 50% -2% 50%)}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e)[data-m=blur]:not([data-m-in]) .m-k{opacity:.15;filter:blur(10px)}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e)[data-m=rule][data-m-in] .m-k{animation-name:w5-rule;animation-duration:760ms;animation-timing-function:var(--w5-ease);animation-delay:var(--m-d,0ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e)[data-m=wipe][data-m-in] .m-k{animation-name:w5-wipe;animation-duration:760ms;animation-timing-function:var(--w5-ease);animation-delay:var(--m-d,0ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e)[data-m=curtain][data-m-in] .m-k{animation-name:w5-curtain;animation-duration:760ms;animation-timing-function:var(--w5-ease);animation-delay:var(--m-d,0ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] :is(.w5row,.w5d,.w5q,.w5e)[data-m=blur][data-m-in] .m-k{animation-name:w5-blur;animation-duration:700ms;animation-timing-function:var(--w5-out);animation-delay:var(--m-d,0ms);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes w5-rule{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes w5-wipe{from{clip-path:inset(-2% 100% -2% -2%)}to{clip-path:inset(-2% -2% -2% -2%)}}
@keyframes w5-curtain{from{clip-path:inset(-2% 50% -2% 50%)}to{clip-path:inset(-2% -2% -2% -2%)}}
@keyframes w5-blur{from{opacity:.15;filter:blur(10px)}to{opacity:1;filter:blur(0)}}

/* the closing beats in by its contents, so its night ground never opens onto the page beneath */
:root[data-m-go] .w5c[data-m=beat-up]:not([data-m-in]){opacity:1;transform:none}
:root[data-m-go] .w5c[data-m=beat-up][data-m-in]{animation-name:none}
:root[data-m-go] .w5c[data-m=beat-up]:not([data-m-in]) > .w5c__inner{opacity:.28;transform:translateY(12px) scaleY(.96)}
:root[data-m-go] .w5c[data-m=beat-up][data-m-in] > .w5c__inner{animation-name:gft-beat-up;animation-duration:720ms;animation-timing-function:var(--w5-out);animation-iteration-count:1;animation-direction:normal;animation-fill-mode:backwards}

/* ---------------- splash: the cloth strung; its lower edge is the draft's top edge ---------------- */
@media (min-width:861px){
 .w4s--chapter{min-height:min(max(620px,86svh),900px)}
 .w4s--chapter .w3s__inner{padding-top:56px;padding-bottom:12px}
 .w4s--chapter .w3s__title{font-size:clamp(2.4rem,4vw,4.2rem)}
 .w4s--chapter .w3s__lede{margin-top:14px;font-size:clamp(1.1rem,1.4vw,1.32rem)}
 .w4s--chapter .w3s__actions{margin-top:18px}
 .w4s--chapter .w4s__facts{margin-top:18px;padding-top:10px}
 .w4s--chapter .w4s__facts dd{font-size:clamp(2.4rem,3.6vw,3.6rem)}
 .w4s--chapter .w4s__bar{min-height:56px;padding-block:8px}
 .w4s--chapter .w3s__legend{padding-block:8px 10px}
}
.w4s--chapter .w3s__legend{font-size:12.5px;color:#b9d3c5}
.w4s--chapter .w3s-wefts,.w4s--chapter .w3s__inner{overflow-anchor:none}
@supports (animation-timeline:view()){
 :root[data-m-go] .w4s--chapter{view-timeline-name:--w5sp;view-timeline-axis:block}
 :root[data-m-go] .w4s--chapter .w3s-wefts{transform-box:view-box;transform-origin:50% 100%;animation-name:w5-beat;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--w5sp;animation-range-start:exit 0%;animation-range-end:exit 70%}
 :root[data-m-go] .w4s--chapter .w3s__inner{animation-name:w5-leave;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--w5sp;animation-range-start:exit 10%;animation-range-end:exit 90%}
}
@keyframes w5-beat{to{transform:translateY(16%) scaleY(.32)}}
@keyframes w5-leave{to{transform:translateY(-56px);opacity:.35}}

/* ---------------- shared section frame ---------------- */
.w5-sec{position:relative;isolation:isolate;padding:72px var(--w5-gut) 56px}
.w5-sec--paper{background:var(--w5-paper);color:var(--w5-ink)}
.w5-sec--night{background:var(--w5-night);color:var(--w5-body)}
.w5-sec--night::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(90deg,#6bb68f12 0 1px,transparent 1px 22px),repeating-linear-gradient(0deg,#e8f1ec0c 0 1px,transparent 1px 26px);-webkit-mask:linear-gradient(90deg,#000 0,#000 calc(var(--w5-gut) - 8px),#0000000f calc(var(--w5-gut) + 40px),#0000000f calc(var(--w5-gut) + var(--w5-col) + 20px),#000 calc(var(--w5-gut) + var(--w5-col) + 80px));mask:linear-gradient(90deg,#000 0,#000 calc(var(--w5-gut) - 8px),#0000000f calc(var(--w5-gut) + 40px),#0000000f calc(var(--w5-gut) + var(--w5-col) + 20px),#000 calc(var(--w5-gut) + var(--w5-col) + 80px))}
.w5-sec--film{padding-bottom:40px}
.w5-sec + .w5-sec--paper,.w5q--quote + .w5-sec--paper{border-top:1px solid var(--w5-line)}
.w5-head{margin:0 0 36px;max-width:1080px}
.w5-head__tab{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 14px;font:600 12.5px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;max-width:none}
.w5-head__no{display:inline-flex;align-items:center;min-height:30px;padding:2px 12px;border:1.5px solid currentColor;font:800 15px var(--gft-font-mono);letter-spacing:.04em;color:var(--w5-leaf-ink)}
.w5-sec--night .w5-head__no{color:var(--w5-sage)}
.w5-head__meta{color:var(--w5-mute)}
.w5-sec--night .w5-head__meta{color:var(--w5-nmute)}
.w5-head h2{font-size:clamp(2.1rem,3.6vw,3.6rem);line-height:1.04;letter-spacing:-.04em;max-width:22ch;color:inherit}
.w5-sec--night .w5-head h2{color:#fff}

/* ---------------- the draft (row 2) ---------------- */
.w5d{position:relative;background:var(--w5-night);color:var(--w5-body);padding:0 0 72px;overflow:clip}
.w5d__edge{position:relative;height:96px;padding:12px 0 0;border-top:1px solid #ffffff1f}
.w5d__weft{position:relative;height:14px}
.w5d__wline{position:absolute;left:calc(var(--w5-from) * 100%);right:calc((1 - var(--w5-to)) * 100%);top:6px;height:1px;background:linear-gradient(90deg,#6bb68f00,#6bb68f99 12%,#6bb68f99 88%,#6bb68f00)}
.w5d__sq{position:absolute;top:1px;left:calc((var(--w5-from) + (var(--g) + .5) / var(--w5-g) * (var(--w5-to) - var(--w5-from))) * 100%);width:11px;height:11px;margin-left:-5.5px;background:var(--w5-night);border:2px solid var(--w5-sage);transform:rotate(45deg)}
.w5d__sq.is-on{background:var(--w5-ochre);border-color:#fff}
.w5d__weft span{position:absolute;left:calc(var(--w5-to) * 100% + 8px);top:-2px;font:600 12px var(--gft-font-mono);color:var(--w5-nmute);white-space:nowrap}
.w5d__inner{padding:24px var(--w5-gut) 0}
.w5d__h{font:700 13px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--w5-nmute);margin-bottom:22px;max-width:none}
.w5d__grid{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:28px;align-items:start}
.w5d__lead{position:relative;container-type:inline-size;min-width:0}
.w5d__lead > .w3x{box-shadow:0 30px 80px -40px #000c}
.w5d__scan{position:absolute;inset:0;pointer-events:none;overflow:hidden;overflow-anchor:none}
.w5d__scan::before{content:'';position:absolute;top:0;bottom:0;left:0;width:2px;background:linear-gradient(#c98a2b00,#c98a2b66,#c98a2b00)}
.w5d__draft{min-width:0}
.w5d__k{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:600 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#e0a54d;max-width:none;margin-bottom:10px}
.w5d__k b{font-weight:500;color:var(--w5-nmute);text-transform:none;letter-spacing:.02em}
.w5d__rows{list-style:none;margin:0;padding:0;position:relative}
.w5d__row button{display:grid;grid-template-columns:52px minmax(0,1fr) 92px 50px;gap:10px;align-items:center;width:100%;height:48px;padding:0 10px;border:0;border-bottom:1px solid #ffffff1a;background:transparent;color:var(--w5-body);text-align:left}
.w5d__no{font:700 13px var(--gft-font-mono);color:var(--w5-sage)}
.w5d__t{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w5d__m{font:500 12.5px var(--gft-font-mono);color:var(--w5-nmute);text-align:right}
.w5d__bar{position:relative;display:flex;gap:4px;align-items:center;height:20px}
.w5d__bar i{position:absolute;left:0;top:9px;height:2px;width:100%;background:var(--w5-sage);transform-origin:0 50%;transform:scaleX(var(--w));opacity:.75}
.w5d__bar b{position:relative;width:9px;height:9px;margin-left:auto;background:var(--w5-night);border:1.5px solid var(--w5-sage);transform:rotate(45deg)}
.w5d__bar b + b{margin-left:4px}
.w5d__row.is-on button{background:#ffffff0f;color:#fff}
.w5d__row.is-on .w5d__bar i{background:var(--w5-ochre);opacity:1}
.w5d__row.is-on .w5d__bar b{background:var(--w5-ochre);border-color:#fff}
.w5d__shuttle{position:absolute;left:0;top:0;width:4px;height:48px;pointer-events:none;transform:translateY(calc(var(--i,0) * 48px))}
.w5d__shuttle i{display:block;width:100%;height:100%;background:var(--w5-ochre)}
.w5d__read{margin-top:14px;font:500 13.5px/1.5 var(--gft-font-mono);color:var(--w5-body);max-width:none}
.w5d__read output{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;height:4.5em}
.w5d__read a{display:inline-flex;align-items:center;min-height:44px;color:#a8dcbf;font-weight:700}
.w5d__drop{position:absolute;left:calc(var(--w5-gut) + 18px);bottom:0;width:2px;height:72px;overflow:hidden;pointer-events:none}
.w5d__drop i{display:block;width:100%;height:100%;background:linear-gradient(#c98a2b00,var(--w5-ochre));transform-origin:50% 0}
:root[data-m-go] .w5d__shuttle{transition:transform .5s var(--w5-ease)}
:root[data-m-go] .w5d__row button,:root[data-m-go] .w5d__sq{transition:background-color .3s,color .3s,border-color .3s}
:root[data-m-go] [data-m-live~=w4-sweep][data-m-on].w5d__scan::before{animation-name:w4-sweep;animation-duration:9s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@supports (animation-timeline:view()){
 :root[data-m-go] .w5d__drop i{animation-name:w5-drop;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:cover 40%;animation-range-end:cover 80%}
}
@keyframes w5-drop{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ---------------- Shed panel (rows 3 and 8) ---------------- */
.w5h{display:grid;grid-template-columns:minmax(0,56fr) minmax(0,44fr);gap:clamp(36px,4.5vw,72px);align-items:start}
.w5h--left{grid-template-columns:minmax(0,44fr) minmax(0,56fr)}
.w5h--left .w5h__win{grid-column:1;grid-row:1}
.w5h--left .w5h__prose{grid-column:2;grid-row:1}
.w5h__win{position:sticky;top:20px;min-width:0;grid-column:2;grid-row:1}
.w5h__prose{grid-column:1;grid-row:1;min-width:0;max-width:var(--w5-col);font-size:18px;line-height:1.62;color:#1f2a28}
.w5h--night .w5h__prose{color:var(--w5-body)}
.w5h__prose > * + *{margin-top:.95em}
.w5h__prose p{max-width:62ch}
.w5h__frame{background:var(--w5-night);color:var(--w5-body);padding:16px 18px 14px;display:grid;gap:12px;box-shadow:0 24px 60px -36px #072d2bcc}
.w5h--night .w5h__frame{background:var(--w5-deep);outline:1px solid #ffffff1f}
.w5h__k{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font:700 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#e0a54d;max-width:none}
.w5h__k b{font-weight:500;color:var(--w5-nmute);text-transform:none;letter-spacing:.02em}
.w5h__clothwrap{transform-origin:50% 40%}
.w5h__cloth{width:100%;height:auto}
.w5h__grp path{stroke:#e2ebe6;stroke-opacity:.28;stroke-width:1.4}
.w5h__grp.is-focus path{stroke:var(--w5-sage);stroke-opacity:.6}
.w5h__grp.is-lit path{stroke:var(--w5-ochre);stroke-opacity:1;stroke-width:2.4}
.w5h__warp{stroke:var(--w5-sage);stroke-width:3;stroke-opacity:.55}
.w5h__warp.is-now{stroke:var(--w5-ochre);stroke-opacity:1}
.w5h__pick{stroke:#e8f1ec;stroke-width:2.2;stroke-dasharray:10 6;opacity:.16}
.w5h__pick--s1{stroke:#9fb2ec}.w5h__pick--s2{stroke:#e0a54d}.w5h__pick--s3{stroke:#a8dcbf}
.w5h__pick.is-past{opacity:.6}
.w5h__pick.is-now{opacity:1;stroke-width:3.4;stroke:var(--w5-ochre);stroke-dasharray:none}
.w5h__node{fill:var(--w5-ochre);stroke:#fff;stroke-width:2.5}
.w5h__groups{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:var(--w5-cols);gap:0 10px}
.w5h__groups a{display:flex;align-items:center;justify-content:center;min-height:32px;font:600 12px var(--gft-font-mono);color:var(--w5-nmute);text-decoration:none;border-top:2px solid #ffffff26}
.w5h__groups .is-focus a{color:#fff}
.w5h__groups .is-lit a{color:#fff;border-top-color:var(--w5-ochre)}
.w5h__read{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font:500 13.5px/1.5 var(--gft-font-mono);color:#fff;height:4.5em}
.w5h .w3x{background:transparent}
.w5h--paper .w5h__frame .w3x--paper{background:var(--w5-paper);color:var(--w5-ink);padding:14px}
:root[data-m-go] .w5h__pick{transition:opacity .45s,stroke .45s}
:root[data-m-go] .w5h__node{transition:transform .55s var(--w5-ease)}
:root[data-m-go] .w5h__grp path,:root[data-m-go] .w5h__groups a,:root[data-m-go] .w5h__warp{transition:stroke .4s,stroke-opacity .4s,color .4s,border-color .4s}
:root[data-m-go] .w5h__clothwrap{transition:transform .8s var(--w5-ease)}
.w5h__clothwrap.is-zoom{transform:scale(1.06)}

/* ---------------- sticky film (rows 4 and 10) ---------------- */
.w5f{position:relative;--w5-stage:100svh}
.w5f__track{position:relative}
.w5f__stage{position:sticky;top:0;height:var(--w5-stage);display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);grid-template-rows:auto minmax(0,1fr) auto;gap:14px 36px;padding:18px 0 22px;overflow:hidden}
.w5f--exhibit .w5f__stage{grid-template-columns:minmax(0,72fr) minmax(0,28fr);grid-template-rows:auto minmax(0,1fr)}
.w5f__marks{list-style:none;margin:calc(-1 * var(--w5-stage)) 0 0;padding:0;pointer-events:none}
.w5f__marks li{height:var(--w5-stage)}
.w5f__marks li:last-child{height:calc(2 * var(--w5-stage))}
.w5f__bar{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 24px;align-items:center}
.w5f__where{display:flex;gap:12px;align-items:baseline;font:700 13px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;max-width:none;white-space:nowrap}
.w5f__where em{font-style:normal;color:var(--w5-leaf-ink)}
.w5f--night .w5f__where em{color:#e0a54d}
.w5f__ex-t{grid-column:1 / 3;grid-row:2;font-size:16px;font-weight:700;max-width:none;line-height:1.3}
.w5f__ex-t span{display:block;font:600 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--w5-nmute)}
.w5f--paper .w5f__ex-t span{color:var(--w5-mute)}
.w5f__prog{grid-column:2;grid-row:1;height:3px;background:#0000001a;position:relative;overflow:hidden}
.w5f--night .w5f__prog{background:#ffffff1f}
.w5f__prog i{position:absolute;inset:0;background:var(--w5-ochre);transform-origin:0 50%}
.w5f__ctl{grid-column:3;grid-row:1 / span 2;display:flex;gap:8px;align-items:center}
.w5f__btn{min-width:44px;min-height:44px;border:1px solid currentColor;background:transparent;font-size:18px}
.w5f__links{display:flex;gap:6px}
.w5f__links button{min-height:44px;min-width:44px;padding:4px 12px;border:1px solid #9aaaa3;background:transparent;font:700 12.5px var(--gft-font-mono)}
.w5f__links button[aria-pressed=true]{background:var(--w5-forest);border-color:var(--w5-forest);color:#fff}
.w5f__scrub{display:grid;gap:2px;min-width:260px;font:600 12px var(--gft-font-mono);color:var(--w5-nmute)}
.w5f--paper .w5f__scrub{color:var(--w5-mute)}
.w5f__scrub input{width:100%;accent-color:var(--w5-ochre)}
.w5f__vis{grid-column:1;grid-row:2;min-height:0;display:grid;align-items:center;justify-items:center;position:relative}
.w5f--exhibit .w5f__vis{grid-row:2}
.w5f__visin{width:100%;height:100%;display:grid;align-items:center;justify-items:center;min-height:0}
.w5f__cloth{width:100%;height:100%;max-height:100%}
.w5f__no{font:800 22px var(--gft-font-mono);fill:var(--w5-leaf-ink)}
.w5f__warp{stroke:var(--w5-forest);stroke-width:5;stroke-linecap:round;stroke-opacity:.45}
.w5f__warp.is-now{stroke:var(--w5-ochre);stroke-opacity:1}
.w5f__pick path{stroke:var(--w5-forest);stroke-width:7;stroke-dasharray:22 10;stroke-linecap:round}
.w5f__pick text{font:700 15px var(--gft-font-mono);fill:var(--w5-mute)}
.w5f__pick.is-on path{stroke:var(--w5-ochre)}
.w5f__pick.is-ahead{opacity:0;transform:scaleX(.2)}
.w5f__pick{transform-box:fill-box;transform-origin:0 50%}
.w5f__node{fill:var(--w5-ochre);stroke:#fff;stroke-width:3}
.w5f__side{grid-column:2;grid-row:2 / span 2;display:grid;min-height:0;align-content:center}
.w5f__ex{grid-area:1 / 1;opacity:0;visibility:hidden;transform:translateY(14px)}
.w5f__ex.is-on{opacity:1;visibility:visible;transform:none}
.w5f__ex .w3x{background:var(--w3x-bg,#fff);padding:14px 16px;box-shadow:0 22px 50px -34px #072d2b99}
.w5f__caps{grid-column:1;grid-row:3;display:grid}
.w5f--exhibit .w5f__caps{grid-column:2;grid-row:2;align-content:center}
.w5f__cap{grid-area:1 / 1;opacity:0;transform:translateY(10px);visibility:hidden}
.w5f__cap.is-on{opacity:1;transform:none;visibility:visible}
.w5f__ch{font-size:clamp(1.15rem,1.5vw,1.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;max-width:none}
.w5f__kl{margin-top:8px;font-size:16px;line-height:1.55;max-width:62ch}
.w5f__ro{margin-top:8px;font:500 13.5px/1.55 var(--gft-font-mono);color:var(--w5-mute);max-width:none}
.w5f--night .w5f__ro{color:var(--w5-nmute)}
.w5f--night .w5f__kl{color:var(--w5-body)}
.w5f__method{margin-top:12px;font-size:14px;max-width:var(--w5-col)}
.w5f__method summary{min-height:44px;display:flex;align-items:center;font:700 12.5px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase}
.w5f__method p{margin-top:8px;color:inherit}
/* exhibit film: the waterfall builds bar by bar; the lifted weft is its running total */
.w5f__wf{width:100%;height:100%;max-height:100%;overflow:visible}
.w5f__wf.w5f__wf--p,.w5f__plot.w5f__plot--p{display:none}
.w5f__tick line{stroke:#ffffff26;stroke-width:1}
.w5f--paper .w5f__tick line{stroke:#00000021}
.w5f__tick text{font:500 16px var(--gft-font-mono);fill:var(--w5-nmute)}
.w5f--paper .w5f__tick text{fill:var(--w5-mute)}
.w5f__b rect{fill:var(--w5-sage);transform-box:fill-box;transform-origin:50% 100%}
.w5f__b.is-total rect{fill:#9fb2ec}
.w5f__b.is-loss rect{fill:#5f8f7a;transform-origin:50% 0}
.w5f__b.is-max rect{fill:var(--w5-ochre)}
.w5f__b.is-on rect{stroke:#fff;stroke-width:3}
.w5f__val{font:700 18px var(--gft-font-mono);fill:#fff}
.w5f--paper .w5f__val{fill:var(--w5-ink)}
.w5f__lab{font:600 16px var(--gft-font-display);fill:var(--w5-body)}
.w5f--paper .w5f__lab{fill:var(--w5-ink)}
.w5f__b.is-ahead rect{opacity:0;transform:scaleY(0)}
.w5f__b.is-ahead .w5f__val{opacity:0}
.w5f__b.is-ahead .w5f__lab{opacity:.45}
.w5f__seg{fill:none;stroke:var(--w5-ochre);stroke-width:4;stroke-linejoin:round;transform-box:fill-box;transform-origin:0 50%}
.w5f__rdot{fill:var(--w5-night);stroke:var(--w5-ochre);stroke-width:3}
.w5f__seg.is-ahead,.w5f__rdot.is-ahead{opacity:0}
.w5f__plot{width:100%;height:100%;display:grid;align-items:center;--w3x-bg:#f6f4ef;--w3x-ink:#25302e;--w3x-mute:#4d5c57;--w3x-grid:#dde3de;--w3x-line:#c9d3cc;--w3x-c0:#0e4d4a;--w3x-c1:#c98a2b;--w3x-c2:#2c3e7a;--w3x-c3:#3f8f6b;--w3x-c4:#6bb68f;--w3x-c5:#7a8d87;--w3x-hi:#c98a2b}
.w5f--night .w5f__plot{--w3x-bg:#072d2b;--w3x-ink:#f6f4ef;--w3x-mute:#b9cfc4;--w3x-grid:#ffffff1f;--w3x-line:#ffffff2e;--w3x-c0:#6bb68f;--w3x-c1:#e0a54d;--w3x-c2:#9fb2ec;--w3x-c3:#e2ebe6;--w3x-c4:#6bb68f;--w3x-c5:#9aaba5}
.w5f__plot .w3x-svg{width:100%;height:auto;max-height:100%}
.w5f__plot .w3x-mark.is-ahead{opacity:.16}
.w5f--night{color:var(--w5-body)}
.w5f--night .w5f__btn,.w5f--night .w5f__links button{color:var(--w5-body);border-color:#ffffff59}
:root[data-m-go] .w5f__cap{transition:opacity .2s ease,transform .26s var(--w5-out),visibility 0s .26s}
:root[data-m-go] .w5f__cap.is-on{transition:opacity .26s ease,transform .3s var(--w5-out),visibility 0s}
:root[data-m-go] .w5f__ex{transition:opacity .3s ease,transform .45s var(--w5-out),visibility 0s .45s}
:root[data-m-go] .w5f__ex.is-on{transition:opacity .35s ease .12s,transform .45s var(--w5-out) .12s,visibility 0s}
:root[data-m-go] :is(.w5f__pick,.w5f__b rect,.w5f__val,.w5f__lab,.w5f__seg,.w5f__rdot,.w5f__plot .w3x-mark){transition:opacity .45s ease,transform .6s var(--w5-out)}
:root[data-m-go] :is(.w5f__node,.w5f__prog i){transition:transform .55s var(--w5-ease)}
:root[data-m-go] .w5f__warp{transition:stroke .4s,stroke-opacity .4s}
.w5f[data-m-on] .w5f__pick.is-on path{animation-name:w5-shimmer;animation-duration:2.4s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes w5-shimmer{to{stroke-dashoffset:-64}}
@supports (animation-timeline:view()){
 :root[data-m-go] .w5f__track{view-timeline-name:--w5ft;view-timeline-axis:block}
 :root[data-m-go] .w5f--cloth .w5f__visin{transform-origin:100% 50%;animation-name:w5-release;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--w5ft;animation-range-start:exit 0%;animation-range-end:exit 45%}
 :root[data-m-go] .w5f--exhibit .w5f__visin{transform-origin:100% 100%;animation-name:w5-knot;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--w5ft;animation-range-start:exit 0%;animation-range-end:exit 50%}
}
@keyframes w5-release{to{transform:scaleX(.04);opacity:.5}}
@keyframes w5-knot{to{transform:scale(.34);opacity:.55}}

/* ---------------- the selvedge: prose and its rail of knots (rows 5, 11 and every body) ---------------- */
.w5row--body{padding-top:28px}
.w5-body__k{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 22px;font:600 12.5px var(--gft-font-mono);letter-spacing:.06em;color:var(--w5-mute);max-width:none}
.w5-body__k span{color:var(--w5-leaf-ink);text-transform:uppercase}
.w5-sec--night .w5-body__k{color:var(--w5-nmute)}
.w5-sec--night .w5-body__k span{color:#e0a54d}
.w5s{position:relative;--w5-rail:clamp(250px,30%,380px)}
.w5s + .w5s,.w5s + div,div + .w5s{margin-top:32px}
.w5s__line{position:absolute;top:6px;bottom:0;left:calc(100% - var(--w5-rail) - 22px);width:2px;background:#0000001a;overflow:hidden}
.w5s--night .w5s__line{background:#ffffff1f}
.w5s__fill{position:absolute;inset:0;background:var(--w5-leaf-ink);transform-origin:50% 0}
.w5s--night .w5s__fill{background:var(--w5-ochre)}
.w5s__r{display:grid;grid-template-columns:minmax(0,1fr) var(--w5-rail);column-gap:44px;align-items:start}
.w5s__r + .w5s__r{margin-top:20px}
.w5s__t{min-width:0;max-width:var(--w5-col);font-size:18px;line-height:1.64;color:#1f2a28}
.w5s--night .w5s__t{color:var(--w5-body)}
.w5s__t > * + *{margin-top:.8em}
.w5s__t p{max-width:62ch}
.w5s--overture .w5s__t{font-size:22px;line-height:1.55}
.w5s__t .lede{font-size:1.14em;color:#14201e}
.w5s--night .w5s__t .lede{color:#fff}
:is(.w5s__t,.w5h__prose,.w5n) .dropcap{float:left;font:900 4.4em/.8 var(--gft-font-display);margin:.06em .1em 0 0;color:var(--gft-forest)}
:is(.w5s__t,.w5h__prose,.w5n) a.cite{font:700 .66em var(--gft-font-mono);vertical-align:super;text-decoration:none;color:var(--w5-leaf-ink);padding:0 1px}
:is(.w5s--night,.w5h--night,.w5n--night) a.cite{color:#9fd3b5}
:is(.w5s__t,.w5h__prose,.w5n) a.xr{color:var(--gft-forest);font-weight:650}
:is(.w5s--night,.w5h--night,.w5n--night) a.xr,.w5s--night .w5s__t a{color:#a8dcbf}
:is(.w5s__t,.w5h__prose,.w5n) :is(code,.mono){font-family:var(--gft-font-mono);font-size:.84em;background:#e6ece7;padding:0 .25em;overflow-wrap:anywhere}
:is(.w5s--night,.w5h--night,.w5n--night) :is(code,.mono){background:#0e4d4a}
:is(.w5s__t,.w5h__prose,.w5n) .index-term{border-bottom:1px dotted #8fa89c}
:is(.w5s__t,.w5h__prose) :is(ol,ul){padding-left:1.3em}
:is(.w5s__t,.w5h__prose) li + li{margin-top:.45em}
:is(.w5s__t,.w5h__prose) h3.w4-h3{position:relative;font-size:1.38rem;line-height:1.22;letter-spacing:-.025em;padding-top:16px;max-width:34ch;color:inherit}
:is(.w5s__t,.w5h__prose) h3.w4-h3::before{content:'';position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gft-forest) 0 64px,var(--w5-line) 64px);transform-origin:0 50%}
:is(.w5s--night,.w5h--night) h3.w4-h3{color:#fff}
:is(.w5s--night,.w5h--night) h3.w4-h3::before{background:linear-gradient(90deg,var(--w5-ochre) 0 64px,#ffffff2e 64px)}
.w5s__r--h3{margin-top:32px!important}
:is(.w5s__t,.w5h__prose) aside.callout{padding:20px 22px;background:#e3ebe5;border-left:4px solid var(--gft-forest);font-size:16.5px;line-height:1.62}
:is(.w5s__t,.w5h__prose) aside.callout.warning{border-left-color:var(--w5-ochre);background:#f3ead9}
:is(.w5s__t,.w5h__prose) aside.callout.method{border-left-color:var(--gft-indigo);background:#e6e9f2}
:is(.w5s--night,.w5h--night) :is(.w5s__t,.w5h__prose) aside.callout.callout{background:#0c4440;color:#eef5f1;border-left-color:var(--w5-ochre);box-shadow:0 0 0 1px #ffffff1a inset}
:is(.w5s__t,.w5h__prose) aside.callout h3{margin:0 0 8px;font-size:1.06rem;letter-spacing:-.01em}
:is(.w5s__t,.w5h__prose) aside.callout > * + *{margin-top:.75em}
:is(.w5s__t,.w5h__prose) pre{white-space:pre-wrap;font-size:14px;background:#e6ece7;padding:14px}
.w5k{position:relative;display:grid;gap:8px;align-content:start;padding-top:2px;min-width:0}
.w5k__dot{position:absolute;left:-30px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--w5-paper);border:2px solid #9aaaa3}
.w5s--night .w5k__dot{background:var(--w5-night);border-color:#6f8a80}
.w5k__lit{position:absolute;inset:2px;border-radius:50%;background:var(--w5-leaf-ink)}
.w5k[data-g=A] .w5k__lit{background:var(--w5-leaf-ink)}.w5k[data-g=B] .w5k__lit{background:#2c3e7a}.w5k[data-g=C] .w5k__lit{background:var(--w5-ochre-ink)}
.w5s--night .w5k[data-g=A] .w5k__lit{background:var(--w5-sage)}.w5s--night .w5k[data-g=B] .w5k__lit{background:#9fb2ec}.w5s--night .w5k[data-g=C] .w5k__lit{background:var(--w5-ochre)}
.w5k--bare .w5k__lit{background:#9aaaa3}
.w5k__no{font:600 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--w5-mute)}
.w5s--night .w5k__no{color:var(--w5-nmute)}
.w5k__step{font:800 13px var(--gft-font-mono);color:var(--w5-leaf-ink)}
.w5s--night .w5k__step{color:#e0a54d}
.w5k__fig{font:italic 400 clamp(1.15rem,1.5vw,1.36rem)/1.35 var(--gft-font-serif);color:#14201e;max-width:none}
.w5s--night .w5k__fig{color:#fff}
.w5k__fig q{quotes:'“' '”'}
.w5k__fig span{display:block;margin-top:4px;font:600 12px/1.4 var(--gft-font-mono);font-style:normal;color:var(--w5-mute);letter-spacing:.03em}
.w5s--night .w5k__fig span{color:var(--w5-nmute)}
.w5k__ex{display:grid;grid-template-columns:88px 1fr;gap:8px;align-items:center;min-height:32px;font:600 12px var(--gft-font-mono);color:var(--w5-leaf-ink);text-decoration:none}
.w5k__ex svg{width:88px;height:22px}
.w5k__ex path{fill:none;stroke:currentColor;stroke-width:1.8}
.w5s--night .w5k__ex{color:#a8dcbf}
.w5k__ex--replay{color:var(--w5-ochre-ink)}
.w5s--night .w5k__ex--replay{color:#e0a54d}
.w5k__src{display:flex;flex-wrap:wrap;gap:4px;max-width:none}
.w5k__chip{display:inline-flex;align-items:center;gap:5px;min-height:28px;min-width:28px;padding:2px 7px;border:1px solid #b7c4bc;font:600 12px var(--gft-font-mono);color:var(--w5-ink);text-decoration:none;background:#fff}
.w5k__chip b{font-weight:800;color:var(--w5-leaf-ink)}
.w5k__chip[data-g=B] b{color:#2c3e7a}.w5k__chip[data-g=C] b{color:var(--w5-ochre-ink)}
.w5s--night .w5k__chip{background:transparent;color:var(--w5-body);border-color:#ffffff3d}
.w5s--night .w5k__chip b{color:var(--w5-sage)}.w5s--night .w5k__chip[data-g=B] b{color:#9fb2ec}.w5s--night .w5k__chip[data-g=C] b{color:#e0a54d}
@supports (animation-timeline:view()){
 :root[data-m-go] .w5s__line{view-timeline-name:--w5sl;view-timeline-axis:block}
 :root[data-m-go] .w5s__fill{animation-name:w5-fill;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--w5sl;animation-range-start:cover 50vh;animation-range-end:cover calc(100% - 50vh)}
 :root[data-m-go] .w5k__lit{animation-name:w5-lit;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:cover 25%;animation-range-end:cover 48%}
}
@keyframes w5-fill{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes w5-lit{from{opacity:.12;transform:scale(.3)}to{opacity:1;transform:none}}

/* ---------------- overture (opening under 250 words) ---------------- */
.w5ov__k{font:700 12.5px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--w5-leaf-ink);margin-bottom:18px}

/* ---------------- boards and lamps (rows 7 and 14) ---------------- */
.w5-board{margin:0 0 48px}
.w5b{position:relative;padding:22px clamp(16px,2.4vw,32px) 18px;background:var(--w5-night) repeating-linear-gradient(90deg,#ffffff08 0 1px,transparent 1px 18px);color:var(--w5-body);display:grid;gap:14px}
.w5b--night{background:var(--w5-deep) repeating-linear-gradient(90deg,#ffffff08 0 1px,transparent 1px 18px);outline:1px solid #ffffff1f}
.w5b__cap{display:grid;gap:6px}
.w5b__meta,.w5p__meta{display:flex;flex-wrap:wrap;gap:6px 14px;font:600 12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#e0a54d}
.w5b__tag{padding:0 6px;border:1px solid currentColor;color:var(--w5-nmute)}
.w5b__cap strong,.w5p__cap strong{font-size:clamp(1.15rem,1.6vw,1.5rem);line-height:1.2;color:#fff}
.w5b__groups{display:flex;gap:8px;flex-wrap:wrap}
.w5b__groups button,.w5b__step{min-height:44px;min-width:44px;padding:6px 14px;border:1px solid #ffffff59;background:transparent;color:var(--w5-body);font:700 12.5px var(--gft-font-mono)}
.w5b__groups button[aria-pressed=true]{background:var(--w5-ochre);border-color:var(--w5-ochre);color:var(--w5-night)}
.w5b__hours{position:relative;display:grid;grid-template-columns:repeat(var(--w5-h),1fr);gap:4px;font:600 12px var(--gft-font-mono);color:var(--w5-nmute)}
.w5b__hours span{padding:6px 0 8px;border-bottom:2px solid #ffffff26;text-align:center}
.w5b__hours span.is-at{color:#fff;border-bottom-color:var(--w5-ochre)}
.w5b__cursor{position:absolute;left:0;bottom:-3px;width:calc(100% / var(--w5-h));height:8px;background:var(--w5-ochre);transform:translateX(calc((var(--w5-at) - 1) * 100%))}
.w5b__cells{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--w5-cols),minmax(0,1fr));gap:2px;background:#ffffff1a}
.w5b__cell button{display:grid;gap:6px;align-content:start;width:100%;height:100%;min-height:118px;padding:16px;border:0;background:var(--w5-night);color:var(--w5-body);text-align:left}
.w5b--night .w5b__cell button{background:var(--w5-deep)}
.w5b__v{font:850 clamp(1.5rem,2.3vw,2.2rem)/1.05 var(--gft-font-display);letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.w5b--l .w5b__v{font-size:clamp(1.9rem,3vw,2.8rem)}
.w5b__l{font-size:14px;line-height:1.35;color:var(--w5-nmute)}
.w5b__cell.is-on button{box-shadow:inset 0 -4px 0 var(--w5-ochre);background:#0e4d4a}
.w5b__cell.is-off button{background:transparent;box-shadow:inset 0 0 0 1px #ffffff2e}
.w5b__cell.is-off .w5b__v{color:var(--w5-nmute)}
.w5b__ctl{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center}
.w5b__ctl input{width:100%;accent-color:var(--w5-ochre)}
.w5b__read{display:grid;gap:4px;max-width:none;min-height:5.2em;font-size:15px;line-height:1.5}
.w5p .w5b__read output{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;height:6em}
.w5b__rl{font:600 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#e0a54d}
.w5b__read b{color:#fff}
.w5b__detail{display:inline-block}
.w5b__method{font-size:13.5px;color:var(--w5-nmute)}
.w5b__method summary{min-height:44px;display:flex;align-items:center;font:700 12.5px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--w5-body)}
.w5b__method p{margin-top:6px;max-width:72ch}
.w5b__method a{display:inline-flex;min-height:44px;align-items:center;color:#a8dcbf}
.w5b__lamp{position:relative;display:block;width:22px;height:22px;border-radius:50%;background:#0e4d4a;border:2px solid #6f8a80}
.w5b__lamp i{position:absolute;inset:3px;border-radius:50%;background:var(--w5-sage)}
.w5b__cell.is-on .w5b__lamp i{background:var(--w5-ochre)}
:root[data-m-go] .w5b__cell button{transition:background-color .3s,box-shadow .3s,opacity .3s}
:root[data-m-go] .w5b__detail.is-new{animation-name:w5-type;animation-duration:620ms;animation-timing-function:steps(18,end);animation-iteration-count:1;animation-direction:normal}
@keyframes w5-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
:root[data-m-go] .w5b[data-m-in] .w5b__cursor,:root[data-m-go] [data-m-in] .w5b__cursor{animation-name:w5-hour;animation-duration:1500ms;animation-timing-function:var(--w5-ease);animation-iteration-count:1;animation-direction:normal;animation-fill-mode:backwards;animation-delay:300ms}
@keyframes w5-hour{from{transform:translateX(0)}}
:root[data-m-go] [data-m-in] .w5b--lamp .w5b__lamp i{animation-name:w5-lampon;animation-duration:420ms;animation-timing-function:ease-out;animation-iteration-count:1;animation-direction:normal;animation-fill-mode:backwards;animation-delay:calc(200ms + var(--m-d,0ms))}
.w5b--lamp .w5b__cell:nth-child(2) .w5b__lamp{--m-d:110ms}.w5b--lamp .w5b__cell:nth-child(3) .w5b__lamp{--m-d:220ms}.w5b--lamp .w5b__cell:nth-child(4) .w5b__lamp{--m-d:330ms}.w5b--lamp .w5b__cell:nth-child(5) .w5b__lamp{--m-d:440ms}.w5b--lamp .w5b__cell:nth-child(6) .w5b__lamp{--m-d:550ms}
.w5b--lamp .w5b__lamp i{animation-delay:var(--m-d,0ms)}
@keyframes w5-lampon{from{opacity:0;transform:scale(.3)}}
:root[data-m-go] .w5b--lamp[data-m-on] .w5b__cell.is-on .w5b__lamp::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--w5-ochre);animation-name:w5-breathe;animation-duration:2.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes w5-breathe{from{opacity:.15;transform:scale(.85)}to{opacity:.9;transform:scale(1.15)}}

/* ---------------- register and path (row 12) ---------------- */
.w5-reg{position:relative;margin:40px 0}
.w5-reg__ladder{display:block;height:3px;margin-bottom:14px;background:linear-gradient(90deg,var(--w5-ochre),#c98a2b33);transform-origin:100% 50%}
.w5-reg .w3x{background:var(--w5-deep);color:var(--w5-body);padding:20px clamp(16px,2.4vw,30px);outline:1px solid #ffffff1f}
.w5-sec--paper .w5-reg .w3x{background:#fff;color:var(--w5-ink);outline-color:var(--w5-line)}
.w5-reg .w3x__rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px}
.w5-reg .w3x__row{min-height:52px;text-align:left}
@supports (animation-timeline:view()){
 :root[data-m-go] .w5-reg__ladder{animation-name:w5-drop-x;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:entry 20%;animation-range-end:cover 40%}
}
@keyframes w5-drop-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.w5-path{margin:40px 0}
.w5p{display:grid;gap:14px;padding:22px clamp(16px,2.4vw,30px);background:var(--w5-deep);color:var(--w5-body);outline:1px solid #ffffff1f;max-width:900px}
.w5-sec--paper .w5p{background:var(--w5-night)}
.w5p__cap{display:grid;gap:6px}
.w5p__body{position:relative;padding-left:40px}
.w5p__stations{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.w5p__st button{display:grid;gap:2px;width:100%;min-height:54px;padding:10px 14px;border:1px solid #ffffff26;background:transparent;color:var(--w5-body);text-align:left}
.w5p__t{font-size:15.5px;font-weight:700}
.w5p__in{font:500 12.5px var(--gft-font-mono);color:var(--w5-nmute)}
.w5p__st.is-on button{border-color:var(--w5-ochre);background:#ffffff0d;color:#fff}
.w5p__st.is-past button{border-color:#6bb68f66}
.w5p__dot{display:none}
.w5p__rail{position:absolute;left:14px;top:12px;bottom:12px;width:2px;background:#ffffff33}
.w5p__light{position:absolute;left:7px;top:-8px;width:16px;height:16px;border-radius:50%;background:var(--w5-ochre);box-shadow:0 0 0 5px #c98a2b40;transform:translateY(26px)}
:root[data-m-go] .w5p__light{transition:transform .6s var(--w5-ease)}
:root[data-m-go] .w5p__st button{transition:border-color .3s,background-color .3s}

/* ---------------- knot list (row 13) ---------------- */
.w5-knots{margin:36px 0}
.w5n{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,34%);gap:clamp(28px,4vw,64px);align-items:start}
.w5n__main{min-width:0;max-width:var(--w5-col);font-size:18px;line-height:1.6}
.w5n__pre,.w5n__post{display:grid;gap:.8em}
.w5n__pre{margin-bottom:18px}.w5n__post{margin-top:18px}
.w5n__pre h3{font-size:1.2rem}
.w5n__items{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:18px}
.w5n__items::before{content:'';position:absolute;left:21px;top:22px;bottom:22px;width:2px;background:#ffffff33}
.w5n--paper .w5n__items::before{background:#0000001f}
.w5n__items > li{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start}
.w5n__knot{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--w5-sage);background:var(--w5-night);color:#fff;font:800 13px var(--gft-font-mono)}
.w5n--paper .w5n__knot{background:var(--w5-paper);color:var(--w5-ink);border-color:var(--w5-leaf-ink)}
.w5n__items > li.is-focus .w5n__knot{background:var(--w5-ochre);border-color:#fff;color:var(--w5-night)}
.w5n__txt{min-width:0;padding-top:8px}
.w5n__knot--open{border-color:var(--w5-ochre);border-style:dashed;background:transparent;color:#e0a54d}
.w5n__wt{font-weight:800;color:#e0a54d;margin-bottom:6px}
.w5n--paper .w5n__wt{color:var(--w5-ochre-ink)}
.w5n__warn .w5n__txt{font-size:16.5px}
.w5n__card{position:sticky;top:24px;padding:20px;background:#0e4d4a;color:var(--w5-body);display:grid;gap:12px;outline:1px solid #ffffff26}
.w5n__ck{display:flex;justify-content:space-between;gap:10px;font:700 12.5px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#e8b866;max-width:none}
.w5n__ck b{color:#fff}
.w5n__fields{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.w5n__fields li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 10px;align-items:center;font-size:14px;line-height:1.3;color:#b9d3c5}
.w5n__fno{font:700 12px var(--gft-font-mono)}
.w5n__fbar{grid-column:2;height:3px;background:#ffffff1f;overflow:hidden}
.w5n__fbar i{display:block;height:100%;background:var(--w5-sage);transform-origin:0 50%;transform:scaleX(0)}
.w5n__fields li.is-full{color:#fff}
.w5n__fields li.is-full .w5n__fbar i{transform:none}
.w5n__fields li.is-focus{color:#e0a54d}
.w5n__cw{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:700;color:#e0a54d;max-width:none}
.w5n__open{position:relative;width:16px;height:16px;border-radius:50%;border:2px dashed var(--w5-ochre);flex:none}
:root[data-m-go] .w5n__fbar i{transition:transform .6s var(--w5-ease)}
:root[data-m-go] .w5n__knot{transition:background-color .3s,border-color .3s,color .3s}
:root[data-m-go] .w5n[data-m-on].is-open-wait .w5n__open{animation-name:w5-breathe;animation-duration:1.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}

/* ---------------- quotes and the exergue (rows 6 and 15) ---------------- */
.w5q{position:relative;padding:56px var(--w5-gut);overflow:clip}
.w5q--paper{background:var(--w5-paper);color:var(--w5-ink)}
.w5q--night{background:var(--w5-night);color:#fff}
.w5q__inner{max-width:1120px;position:relative}
.w5q__group{position:absolute;right:var(--w5-gut);top:40px;bottom:40px;width:120px;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;pointer-events:none}
.w5q__group svg{height:100%;width:auto}
.w5q__group path{stroke:var(--w5-leaf-ink);stroke-width:2;stroke-opacity:.5}
.w5q__group span{font:700 13px var(--gft-font-mono);color:var(--w5-leaf-ink)}
.w4s--chapter .w4s__wefts button{min-height:44px}
.w5q blockquote{margin:0}
.w5q blockquote p{font:italic 400 clamp(1.9rem,3.5vw,3.3rem)/1.18 var(--gft-font-serif);letter-spacing:-.02em;max-width:30ch}
.w5q--exergue blockquote p{font-size:clamp(1.7rem,3vw,2.8rem);max-width:32ch}
.w5q__thread{margin-top:24px;height:48px;position:relative;overflow-anchor:none}
.w5q__thread svg{width:100%;height:48px;overflow:visible;transform-origin:0 50%}
.w5q__weft{fill:none;stroke:var(--w5-ochre);stroke-width:2.4;vector-effect:non-scaling-stroke}
.w5q__weft--2{stroke:var(--w5-sage);stroke-width:1.6;opacity:.8}
.w5q__end{fill:var(--w5-ochre)}
.w5q__src{margin-top:10px;font:600 12.5px var(--gft-font-mono);letter-spacing:.06em;color:var(--w5-mute);max-width:none}
.w5q--night .w5q__src{color:var(--w5-nmute)}
.w5q__rows{display:grid;gap:7px;margin-top:28px}
.w5q__rows i{display:block;height:5px;background:repeating-linear-gradient(90deg,#6bb68f99 0 26px,transparent 26px 34px);opacity:.75}
.w5q__rows i:nth-child(2n){background:repeating-linear-gradient(90deg,transparent 0 13px,#e8f1ec55 13px 39px,transparent 39px 47px)}
@supports (animation-timeline:view()){
 :root[data-m-go] .w5q__thread svg{animation-name:w5-drop-x;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:entry 0%;animation-range-end:cover 45%}
 :root[data-m-go] .w5q__rows i{animation-name:w5-pick;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:entry 0%;animation-range-end:entry 100%}
}
@supports (animation-timeline:view()){
 :root[data-m-go] .w5q__group{animation-name:w5-gfade;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:entry 30%;animation-range-end:cover 50%}
}
@keyframes w5-gfade{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes w5-pick{from{transform:translateY(18px) scaleX(.6);opacity:0}to{transform:none;opacity:.75}}
.w5q__thread g{overflow-anchor:none}
:root[data-m-go] .w5q [data-m-live~=w4-drift][data-m-on]{animation-name:w5-qdrift;animation-duration:12s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes w5-qdrift{from{transform:translateX(-1.5%)}to{transform:translateX(1.5%)}}

/* ---------------- the dark interlude (row 9) ---------------- */
.w5i{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(70% 80% at 80% 30%,#0e4d4a 0,transparent 70%),linear-gradient(#072d2b,#072d2b);color:#fff;padding:96px var(--w5-gut) 104px}
.w5i__field{position:absolute;inset:0;z-index:-1;opacity:.72;pointer-events:none}
.w5i__drift{position:absolute;inset:0 -3%;overflow-anchor:none}
.w5i .w3s-warp.is-raw{stroke-dasharray:6 8;stroke-opacity:.16}
.w5i .w3s-wefts--raw .w3s-weft__line{stroke:#e2ebe6;stroke-opacity:.22;stroke-width:1.6;stroke-dasharray:4 10}
.w5i .w3s-edge{stroke:var(--w5-ochre);stroke-width:3;stroke-dasharray:2 8}
.w5i__inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start}
.w5i__copy h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.03;max-width:16ch;margin:14px 0 16px}
.w5i__key{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font:600 12.5px var(--gft-font-mono);color:#d7e6dd;max-width:none;margin-bottom:18px}
.w5i__sw{display:inline-block;width:26px;height:4px;background:var(--w5-ochre)}
.w5i__sw--raw{background:repeating-linear-gradient(90deg,#e2ebe6 0 4px,transparent 4px 9px)}
.w5i__list{list-style:none;margin:0;padding:0;background:#072d2bd9}
.w5i__list a{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:baseline;padding:13px 12px;min-height:48px;text-decoration:none;border-bottom:1px solid #ffffff22;color:#f6f4ef}
.w5i__list span{font:700 13px var(--gft-font-mono);color:#e0a54d}
.w5i__list strong{font-size:15.5px;line-height:1.35}
.w5i__list em{font:normal 600 12px var(--gft-font-mono);color:#b9d3c5}
.w5i__list a:hover,.w5i__list a:focus-visible{background:#ffffff12}
.w5i__read{display:block;margin-top:14px;font:500 13.5px/1.5 var(--gft-font-mono);color:#d7e6dd;min-height:3em;background:#072d2bd9}
.w5i__side .w3x{background:#072d2bf0;outline:1px solid #ffffff26;padding:18px}
:root[data-m-go] .w5i__drift[data-m-on]{animation-name:w5-fdrift;animation-duration:18s;animation-delay:900ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes w5-fdrift{from{transform:translateX(-1.2%)}to{transform:translateX(1.2%)}}
@supports (animation-timeline:view()){
 :root[data-m-go] .w5i{view-timeline-name:--w5il;view-timeline-axis:block}
 :root[data-m-go] .w5i [data-w5-lift]{transform-box:fill-box;transform-origin:50% 50%;animation-name:w5-lift;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--w5il;animation-range-start:exit 0%;animation-range-end:exit 80%}
}
@keyframes w5-lift{to{transform:translateY(46%) scaleY(.2)}}
.w5i [data-w5-lift] .w3s-weft__line{stroke:var(--w5-ochre);stroke-opacity:1}

/* ---------------- evidence: the selvedge gathered (row 16) ---------------- */
.w5e{position:relative;padding:80px var(--w5-gut) 72px;overflow:clip}
.w5e--night{background:var(--w5-night);color:var(--w5-body)}
.w5e--paper{background:var(--w5-paper);color:var(--w5-ink)}
.w5e__head{max-width:900px;margin-bottom:28px}
.w5e__head h2{font-size:clamp(2.1rem,3.6vw,3.6rem);line-height:1.04;max-width:20ch;margin:14px 0 16px;color:inherit}
.w5e--night .w5e__head h2{color:#fff}
.w5e__head p{font-size:16.5px;line-height:1.6}
.w5e--night .w5e__head a{color:#a8dcbf}
.w5v{margin:0 0 36px}
.w5v__k{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;font:600 12.5px var(--gft-font-mono);letter-spacing:.04em;color:var(--w5-nmute);max-width:none}
.w5e--paper .w5v__k{color:var(--w5-mute)}
.w5v__k b{color:#e0a54d;font-weight:700}
.w5e--paper .w5v__k b{color:var(--w5-ochre-ink)}
.w5v__thread{position:relative;margin-top:14px;padding:6px 0}
.w5v__line{position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,var(--w5-ochre),#6bb68f)}
.w5v__knots{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px}
.w5v__knots li{display:grid;place-items:center}
.w5v__knots a{display:grid;place-items:center;width:30px;height:44px;text-decoration:none}
.w5v__knots i{display:block;width:30px;height:30px;border-radius:50%;background:var(--w5-sage);border:2px solid var(--w5-night);transform:scale(var(--s))}
.w5v__knots a[data-g=B] i{background:#9fb2ec}.w5v__knots a[data-g=C] i{background:var(--w5-ochre)}
.w5e--paper .w5v__knots i{border-color:var(--w5-paper);background:var(--w5-leaf-ink)}
.w5e--paper .w5v__knots a[data-g=B] i{background:#2c3e7a}.w5e--paper .w5v__knots a[data-g=C] i{background:var(--w5-ochre-ink)}
.w5v__knots a.is-on i{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--w5-ochre)}
.w5v__knots li.is-dim i{opacity:.18}
.w5v__legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font:600 12px var(--gft-font-mono);color:var(--w5-nmute);max-width:none}
.w5e--paper .w5v__legend{color:var(--w5-mute)}
.w5v__legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px;background:var(--w5-sage)}
.w5v__legend i[data-g=B]{background:#9fb2ec}.w5v__legend i[data-g=C]{background:var(--w5-ochre)}
:root[data-m-go] .w5v__knots i{transition:opacity .3s,box-shadow .3s}
.w5e--night .w4e__grades button,.w5e--night .w4e__cards button{background:#0a3d3a;color:var(--w5-body);border-color:#ffffff33}
.w5e--night .w4e__grades button[aria-pressed=true],.w5e--night .w4e__cards button[aria-pressed=true]{background:#0e4d4a;color:#fff;border-color:var(--w5-ochre)}
.w5e--night .w4e__card{background:#f6f4ef;color:#1c2725}
.w5e--night .w4e__cid{color:#8a5a12}
.w5e--night .w4e__card h3{color:#072d2b}
.w5e--night .w4e__ct{color:#1f2a28}
.w5e--night .w4e__cf{color:#2c3836}
.w5e--night .w4e__cm{color:#3d4b47}
.w5e--night .w4e__card .gft-text-link{color:var(--gft-forest)}
.w5e--night .w4e__bar{background:#ffffff26}
.w5e--night .w4e__pager button{background:#0a3d3a;border-color:#ffffff33;color:#fff}
.w5e--night .w4e__pager output{color:#e8f1ec}
.w5e--night .w4e__id em{color:#b9d3c5}
.w5e--night .w4e__out,.w5e--night .w4e__pager{color:var(--w5-nmute)}
.w5e--night .w4e__id{color:#ecbe72}
.w5e--night .w4e__t{color:#d7e6dd}
.w5e__notes{margin-top:32px;max-width:var(--w5-col);font-size:15px}
.w5e__notes summary{min-height:44px;display:flex;align-items:center;font:700 12.5px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase}
.w5e--night .w5e__notes a{color:#a8dcbf}
.w5e__roll{position:absolute;left:var(--w5-gut);right:var(--w5-gut);bottom:0;height:6px;overflow:hidden;pointer-events:none}
.w5e__roll i{display:block;height:100%;background:repeating-linear-gradient(90deg,#c98a2bcc 0 14px,#6bb68fcc 14px 28px);transform-origin:100% 50%}
@supports (animation-timeline:view()){
 :root[data-m-go] .w5e__roll i{animation-name:w5-roll;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:cover 55%;animation-range-end:cover 95%}
}
@keyframes w5-roll{from{transform:scaleX(1)}to{transform:scaleX(.06)}}

/* ---------------- closing: the bolt rack (row 17) ---------------- */
.w5c{position:relative;background:var(--w5-night);color:var(--w5-body);padding:88px var(--w5-gut) 64px;overflow:clip}
.w5c__head{max-width:900px;margin-bottom:32px}
.w5c__head h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.03;max-width:18ch;margin:14px 0 16px;color:#fff}
.w5c__lede{font-size:16.5px;line-height:1.6;color:#d7e6dd}
.w5c__body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,64px);align-items:start}
.w5c__k{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font:700 12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#e0a54d;max-width:none;margin-bottom:10px}
.w5c__k b{font-weight:500;color:var(--w5-nmute);text-transform:none;letter-spacing:.02em}
.w5c__rack{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.w5c__bolt button{display:grid;grid-template-columns:34px minmax(0,1fr) 68px;gap:12px;align-items:center;width:100%;min-height:44px;padding:4px 10px;border:0;background:transparent;color:var(--w5-body);text-align:left}
.w5c__no{font:700 13px var(--gft-font-mono);color:var(--w5-nmute)}
.w5c__min{font:600 12.5px var(--gft-font-mono);color:var(--w5-nmute);text-align:right}
.w5c__roll{position:relative;height:18px}
.w5c__roll i{position:absolute;left:0;top:0;bottom:0;width:100%;transform-origin:0 50%;transform:scaleX(var(--len));border-radius:9px;background:repeating-linear-gradient(90deg,#6bb68f 0 3px,#4e977a 3px 7px)}
.w5c__bolt.is-ahead .w5c__roll i{background:repeating-linear-gradient(90deg,#e2ebe655 0 6px,transparent 6px 11px);outline:1px dashed #e2ebe659;outline-offset:-1px}
.w5c__bolt.is-current .w5c__roll i{background:repeating-linear-gradient(90deg,var(--w5-ochre) 0 3px,#a8701e 3px 7px)}
.w5c__bolt.is-current .w5c__no,.w5c__bolt.is-current .w5c__min{color:#e0a54d}
.w5c__bolt.is-on button{background:#ffffff12;box-shadow:inset 3px 0 0 var(--w5-ochre)}
.w5c__bolt.is-on .w5c__no{color:#fff}
.w5c__shuttle{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:end;margin-top:16px}
.w5c__shuttle label{display:grid;gap:2px;font:600 12.5px var(--gft-font-mono);color:var(--w5-nmute)}
.w5c__shuttle input{width:100%;accent-color:var(--w5-ochre)}
.w5c__step{min-width:44px;min-height:44px;border:1px solid #ffffff59;background:transparent;color:var(--w5-body);font-size:18px}
.w5c__looms{display:grid}
.w5c__card{grid-area:1 / 1;display:grid;gap:12px;align-content:start;padding:22px;background:#0a3d3a;outline:1px solid #ffffff26}
.w5c__card[hidden]{display:none}
.w5c__loom{position:relative}
.w5c__loom svg{width:100%;height:auto}
.w5c__warps path{stroke:#e2ebe6;stroke-opacity:.55;stroke-width:2}
.w5c__beam{stroke:var(--w5-sage);stroke-width:4}
.w5c__sh path:first-child{fill:var(--w5-ochre)}
.w5c__yarn{stroke:var(--w5-ochre);stroke-width:1.5;stroke-dasharray:4 5;fill:none}
.w5c__sh{overflow-anchor:none}
.w5c__warpl{list-style:none;margin:2px 0 0;padding:0 1.6% 0 4.2%;display:grid;grid-template-columns:repeat(var(--n),1fr);font:600 12px var(--gft-font-mono);color:var(--w5-nmute);text-align:center}
.w5c__cno{display:flex;gap:12px;align-items:baseline;font:600 12.5px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#e0a54d;max-width:none}
.w5c__cno span{font-size:20px;color:#fff}
.w5c__card h3{font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.18;color:#fff}
.w5c__sum{font-size:15.5px;line-height:1.55;color:#d7e6dd}
.w5c__secs{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px;color:#d7e6dd}
.w5c__secs span{display:inline-block;min-width:44px;font:700 12.5px var(--gft-font-mono);color:var(--w5-sage)}
.w5c__facts{display:flex;gap:24px;flex-wrap:wrap;margin:0}
.w5c__facts dt{font:600 12px var(--gft-font-mono);color:var(--w5-nmute)}
.w5c__facts dd{margin:0;font-size:20px;font-weight:800;color:#fff}
.w5c__go{justify-self:start;min-height:56px}
.w5c__prev{display:inline-flex;align-items:center;min-height:44px;margin-top:22px;color:#a8dcbf;font-size:14px;font-weight:650}
.w5c__next{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 20px;align-items:center;margin-top:40px;padding:22px 0 0;border-top:1px solid #ffffff26;color:#fff;text-decoration:none}
.w5c__nk{font:700 12.5px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#e0a54d}
.w5c__nt{font-size:clamp(1.1rem,1.6vw,1.4rem);font-weight:800;letter-spacing:-.02em}
.w5c__nl{grid-column:1 / -1;grid-row:2;position:relative;height:2px;background:#ffffff26;overflow:hidden}
.w5c__nl i{position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--w5-ochre),transparent);overflow-anchor:none}
:root[data-m-go] .w5c__nl i[data-m-on]{animation-name:w5-flow;animation-duration:3.2s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes w5-flow{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
:root[data-m-go] .w5c__looms[data-m-on] [data-w5-pass]{animation-name:w5-pass;animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes w5-pass{from{transform:translateX(0)}to{transform:translateX(300px)}}
:root[data-m-go] .w5c[data-m-in] .w5c__bolt.is-current .w5c__roll i{animation-name:w5-rolled;animation-duration:900ms;animation-timing-function:var(--w5-ease);animation-iteration-count:1;animation-direction:normal;animation-fill-mode:backwards;animation-delay:200ms}
@keyframes w5-rolled{from{transform:scaleX(.02)}}
:root[data-m-go] .w5c__bolt button{transition:background-color .25s,box-shadow .25s}
.w5c .w3s__crumbs{display:none}

/* ---------------- inline exhibits in the reading column ---------------- */
.w5-inline{margin:36px 0;max-width:calc(var(--w5-col) + 260px)}
.w5-inline .w3x{background:#fff;padding:18px;outline:1px solid var(--w5-line)}
.w5-sec--night .w5-inline .w3x{background:var(--w5-deep);color:var(--w5-body);outline-color:#ffffff1f}

/* ---------------- tablets ---------------- */
@media (max-width:1099px){
 .w5d__grid{grid-template-columns:1fr}
 .w5d__draft{order:-1}
 .w5i__inner,.w5c__body{grid-template-columns:1fr}
 .w5s{--w5-rail:clamp(220px,32%,300px)}
 .w5s__r{column-gap:36px}
 .w5q__group{display:none}
}

/* ---------------- phones ---------------- */
@media (max-width:760px){
 .w5-sec{padding:52px 16px 40px}
 .w5d__inner,.w5q,.w5i,.w5e,.w5c{padding-left:16px;padding-right:16px}
 .w5-head h2{font-size:clamp(1.9rem,8.4vw,2.5rem)}
 .w5d__edge{height:82px}
 .w5d__weft span{display:none}
 .w5d__wline{left:4%;right:4%}
 .w5d__sq{left:calc((.04 + (var(--g) + .5) / var(--w5-g) * .92) * 100%)}
 .w5d__row button{grid-template-columns:44px minmax(0,1fr) 54px 44px;padding:0 6px}
 .w5d__t{font-size:13.5px}
 .w5d__read output{-webkit-line-clamp:4;height:6em}
 .w5d__scan{display:none}
 .w5h,.w5h--left{grid-template-columns:1fr;gap:20px}
 .w5h__win,.w5h--left .w5h__win{grid-column:1;grid-row:1;top:0;z-index:2;height:30svh;overflow:hidden}
 .w5h__prose,.w5h--left .w5h__prose{grid-column:1;grid-row:2;font-size:17px}
 .w5h__frame{height:100%;padding:10px 12px;gap:6px;grid-template-rows:auto minmax(0,1fr) auto}
 .w5h__k b{display:none}
 .w5h__clothwrap{min-height:0;display:grid}
 .w5h__cloth{height:100%;width:100%}
 .w5h__groups{display:none}
 .w5h__read{height:3em;-webkit-line-clamp:2;font-size:12.5px}
 .w5h--ex .w5h__frame{grid-template-rows:auto minmax(0,1fr) auto}
 .w5h--ex .w3x{min-height:0;overflow:hidden;padding:0}
 .w5h--ex :is(.w3x__ctl,.w3x__read,.w3x__method,.w3x__chips,.w3x__cap .w3x__type){display:none}
 .w5h--ex .w3x__plot{max-height:16svh}
 .w5h--ex .w5h__cloth{display:none}
 .w5f{--w5-stage:100svh}
 .w5f__stage,.w5f--exhibit .w5f__stage{grid-template-columns:1fr;grid-template-rows:auto 38svh minmax(0,1fr) auto;gap:10px;padding:10px 0 12px}
 .w5f__bar{grid-row:4;grid-template-columns:1fr auto;gap:6px 10px}
 .w5f__where{grid-column:1 / -1;grid-row:2;font-size:12px}
 .w5f__prog{grid-column:1 / -1;grid-row:3}
 .w5f__ctl{grid-column:1 / -1;grid-row:4;justify-content:space-between}
 .w5f__links{flex:1;overflow:hidden}
 .w5f__links button{padding:4px 6px;flex:1}
 .w5f__scrub{min-width:0;flex:1}
 .w5f__ex-t{grid-column:1 / -1;grid-row:1;font-size:14px}
 .w5f__vis,.w5f--exhibit .w5f__vis{grid-column:1;grid-row:2;overflow:hidden}
  .w5f__plot--p .w3x-svg{height:100%;width:100%}
 .w5f__side{grid-column:1;grid-row:3;align-content:start}
 .w5f--cloth .w5f__side{display:none}
 .w5f__caps,.w5f--exhibit .w5f__caps{grid-column:1;grid-row:3;align-content:start}
 .w5f--cloth .w5f__caps{grid-row:3}
 .w5f__wf.w5f__wf--d,.w5f__plot.w5f__plot--d{display:none}
 .w5f__wf.w5f__wf--p{display:block}
 .w5f__plot.w5f__plot--p{display:grid}
 .w5f__tick text,.w5f__val{font-size:13px}
 .w5f__lab{font-size:12.5px}
 .w5f__ch{font-size:1.1rem}
 .w5f__kl{font-size:15px}
 .w5s__line{left:-10px;top:4px;width:4px}
 .w5s__r{grid-template-columns:1fr;row-gap:10px}
 .w5s__t{font-size:17px}
 .w5s--overture .w5s__t{font-size:20px}
 .w5k__dot{display:none}
 .w5k{gap:6px}
 .w5k--bare{display:none}
 .w5k__no{display:none}
 .w5k__chip{min-height:44px;min-width:44px;justify-content:center}
 .w5k__fig{font-size:20px}
 .w5b__cells{grid-template-columns:repeat(2,minmax(0,1fr))}
 .w5b__v,.w5b--l .w5b__v{font-size:clamp(1.3rem,6.6vw,1.75rem)}
 .w5b__cell button{min-height:104px;padding:12px}
 .w5b__hours{font-size:12px}
 .w5-reg .w3x__rows{grid-template-columns:1fr 1fr}
 .w5p__body{padding-left:34px}
 .w5n{grid-template-columns:1fr}
 .w5n__card{grid-row:1;top:0;z-index:2;height:26svh;overflow:hidden;padding:12px 14px;gap:6px}
 .w5n__fields{grid-template-columns:1fr 1fr;gap:4px 10px}
 .w5n__fields li{font-size:12px;grid-template-columns:22px minmax(0,1fr)}
 .w5n__fname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .w5n__main{font-size:17px}
 .w5q blockquote p{font-size:28px}
 .w5q__group{display:none}
 .w5q{padding-block:40px}
 .w5q--exergue blockquote p{font-size:26px}
 .w5q__rows{height:20svh;align-content:end}
 .w5i__copy h2{font-size:32px}
 .w5i__field{height:34svh;bottom:auto}
 .w5v__knots{justify-content:flex-start}
 .w5v__knots a{width:28px}
 .w5c__rack{grid-template-columns:1fr 1fr;column-gap:8px}
 .w5c__bolt button{grid-template-columns:26px minmax(0,1fr);gap:8px}
 .w5c__min{display:none}
 .w5c__loom{height:30svh;display:grid;align-content:center}
 .w5c__loom svg{max-height:22svh}
 .w5c__go{width:100%}
}
