/* Home, scenes. Tokens and bundle only. */
.al-parallax img.fill{position:absolute;left:0;top:-12%;width:100%;height:124%;object-fit:cover}
/* cover */
.cover4{padding-block:var(--space-4) calc(var(--space-4) + var(--space-3))}
.cover4 h1{grid-column:1 / span 7}
.cover4 .lead{grid-column:1 / span 5;margin-top:var(--space-3)}
.cover4 .lead p+p{margin-top:var(--space-2)}
.cover4 .lead .subhead{color:var(--ground)}
.cover4 .act{grid-column:1 / span 5;margin-top:var(--space-3)}
.cover4 .pic--a{grid-column:8 / span 5;grid-row:1 / span 4}
.cover4 .pic--b{grid-column:6 / span 3;grid-row:3 / span 2;align-self:end;position:relative;z-index:2;transform:translate(8%,18%)}
.cover4 .pic .al-parallax{aspect-ratio:4/5}
.cover4 .pic--b .al-parallax{aspect-ratio:1}
.cover4 .pic img{position:absolute;left:0;top:-14%;width:100%;height:128%;object-fit:cover}
.cover4 .cap{grid-column:8 / span 5;margin-top:var(--space-1);color:var(--field-glass)}
/* build */
.build__track{height:320vh;position:relative}
.build__stage{position:sticky;top:0;height:100vh;display:grid;align-items:center;overflow:hidden}
.build__txt{grid-column:1 / span 5}
.build__txt .body{margin-top:var(--space-2)}
.build__steps{margin-top:var(--space-3);display:grid;gap:var(--space-1);counter-reset:s}
.build__steps li{font-size:24px;line-height:1.25;font-weight:500;letter-spacing:-.01em;color:var(--muted);padding-left:28px;position:relative;transition:color var(--dur-snap) var(--ease-dock)}
.build__steps li::before{content:"";position:absolute;left:0;top:.5em;width:12px;height:12px;border-radius:50%;background:transparent;border:2px solid var(--muted);transition:background var(--dur-snap) var(--ease-dock),border-color var(--dur-snap) var(--ease-dock)}
.build__steps li.on{color:var(--ink)}
.build__steps li.on::before{background:var(--ink);border-color:var(--ink)}
.build__steps li.done{color:var(--ink)}.build__steps li.done::before{border-color:var(--ink)}
.build__fig{grid-column:7 / span 6;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}
.build__imgs{position:relative;width:min(100%,62vh);aspect-ratio:4/5}
.build__imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;opacity:0;}
.build__imgs img:last-child{opacity:1}
.build__fig figcaption{align-self:flex-start}
/* photo break */
.break{background:var(--ground)}
.break .al-parallax{border-radius:0;aspect-ratio:21/9}
.break .al-parallax img{position:absolute;left:0;top:-15%;width:100%;height:130%;object-fit:cover}
.break p{padding-block:var(--space-1) var(--space-3)}
/* loop */
.loop__track{height:360vh;position:relative}
.loop__stage{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);overflow:hidden}
.loop__grid{display:grid;grid-template-columns:minmax(0,9fr) minmax(0,4fr);gap:var(--space-3);align-items:center}
.loop__svg{width:100%;height:auto;display:block}
.loop__svg text{font-family:var(--font-sans);font-size:24px;fill:var(--ground)}
.loop__svg .lbl{font-size:30px;font-weight:500}
.loop__svg .dim{fill:var(--field-glass);font-size:22px}
.loop__steps{display:grid;gap:var(--space-3)}
.loop__steps li{display:flex;flex-direction:column;gap:var(--space-1);opacity:.4;transition:opacity var(--dur-snap) var(--ease-dock)}
.loop__steps li.on{opacity:1}
.loop__steps b{font-size:32px;line-height:1.1;font-weight:500;letter-spacing:-.02em}
.loop__note{color:var(--field-glass)}
/* evidence */
.ev__rows{margin-top:var(--space-3);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-3);align-items:stretch}
.ev__photo{grid-column:1 / span 5;display:flex;flex-direction:column;gap:var(--space-1)}
.ev__photo .al-parallax{aspect-ratio:4/3;flex:1}
.ev__photo img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover}
.ev__dock{grid-column:6 / span 7;grid-template-columns:1fr;margin:0}
.ev .ev__dock .b1,.ev .ev__dock .b4{grid-column:1 / -1}
.ev__sub{margin-top:var(--space-4)}
.ev__sub+.body{margin-top:var(--space-1)}
.ev__stats{margin-top:var(--space-3);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}
.ev__stats .al-stat__figure{white-space:nowrap}
/* cyprus */
.cy{padding-block:var(--space-4)}
.cy__txt{grid-column:1 / span 5;align-self:start}
.cy__txt .body{margin-top:var(--space-2)}
.cy__map{grid-column:6 / span 7;grid-row:1}
.cy__map .al-parallax{aspect-ratio:2/1}
.cy__map img{position:absolute;left:0;top:-14%;width:100%;height:128%;object-fit:cover}
.cy__map p{margin-top:var(--space-1)}
.cy__ingot{grid-column:2 / span 3;grid-row:2;margin-top:calc(var(--space-4) * -1);position:relative;z-index:2;display:flex;flex-direction:column;gap:var(--space-1)}
.cy__ingot .al-parallax{aspect-ratio:4/5}
.cy__ingot img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.meet.al-field-culture .headline{max-width:14ch}
.meet.al-field-culture .al-button{background:var(--accent-action)}
.meet.al-field-culture .mail{color:var(--ground)}
@media (max-width:1024px){
  .cover4 h1,.cover4 .lead,.cover4 .act,.cover4 .cap{grid-column:1 / -1}
  .cover4 .pic--a{grid-column:1 / span 8;grid-row:auto;margin-top:var(--space-4)}
  .cover4 .pic--b{grid-column:5 / span 4;grid-row:auto;margin-top:calc(var(--space-4) * -1);transform:translate(10%,12%)}
  .build__txt,.build__fig{grid-column:1 / -1}
  .build__stage .g{row-gap:var(--space-2);align-content:center}
  .build__fig{grid-row:1;flex-direction:row;justify-content:center}
  .build__imgs{width:min(100%,46vh)}
  .build__fig figcaption{display:none}
  .build__steps{margin-top:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .build__steps li{font-size:17px}
  .loop__grid{grid-template-columns:1fr;gap:var(--space-2)}
  .loop__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}
  .loop__steps b{font-size:20px}.loop__steps span{font-size:14px}
  .ev__photo,.ev__dock{grid-column:1 / -1}
  .ev__stats{grid-template-columns:1fr}
  .cy__txt,.cy__map,.cy__ingot{grid-column:1 / -1;grid-row:auto}
  .cy__map{margin-top:var(--space-3)}
  .cy__ingot{margin-top:calc(var(--space-3) * -1);max-width:60%;margin-left:var(--space-3)}
}
@media (max-width:640px){
  .cover4{padding-block:var(--space-3) calc(var(--space-3)*3)}
  .cover4 .pic--a{grid-column:1 / span 4}
  .cover4 .pic--b{grid-column:2 / span 3}
  .build__track{height:300vh}
  .loop__stage{gap:var(--space-2)}
  .loop__steps li span{display:none}
  .loop__steps li.on span{display:block}
  .loop__steps{grid-template-columns:1fr;gap:var(--space-1)}
  .loop__stage .headline{font-size:28px}
  .ev__stats .al-stat__figure{font-size:48px}
  .cy__ingot{margin-left:var(--space-2);max-width:70%}
}
@media (prefers-reduced-motion:reduce){.build__steps li,.loop__steps li{transition:none}}
body{overflow-x:clip}.cover4{overflow-x:clip}
.build__stage{background:var(--field-glass)}
/* nav stays; stages clear it */
.al-nav{position:sticky;top:0;z-index:30}
.build__stage,.loop__stage,.anat__stage{padding-top:72px}
/* anatomy */
.anat__track{height:320vh;position:relative}
.anat__stage{position:sticky;top:0;height:100vh;overflow:hidden}
.anat__h{position:absolute;left:max(var(--space-3),env(safe-area-inset-left,0px));top:96px;z-index:3;max-width:12ch}
.anat__scene{position:absolute;inset:0}
.anat__unit{position:absolute;left:50%;top:54%;height:62vh;width:auto;max-width:60vw;transform:translate(-50%,-50%);opacity:1}
.anat__part{--x:0;--y:0;--w:24;--k:1;--sc:1;--o:1;position:absolute;left:50%;top:54%;margin:0;width:calc(var(--w) * min(1vh, 1.15vw));transform:translate(-50%,-50%) translate(calc(var(--x) * 1vw * var(--k)),calc(var(--y) * 1vh * var(--k))) scale(var(--sc));opacity:var(--o);display:flex;flex-direction:column;align-items:center;gap:8px}
.anat__part img{width:100%;height:auto;display:block}
.anat__part figcaption{font-size:17px;font-weight:500;color:var(--ground);text-align:center;white-space:nowrap}
.anat__cap{position:absolute;left:max(var(--space-3),env(safe-area-inset-left,0px));bottom:var(--space-3);color:var(--field-glass)}
/* statement lines */
.stmt__txt p{transition:opacity var(--dur-snap) var(--ease-dock)}
/* photo wall */
.wall{padding-block:var(--space-3) var(--space-4);background:var(--ground)}
.wall__g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-3);align-items:start}
.wall .al-parallax img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover}
.wall .w1{grid-column:1 / span 3;aspect-ratio:1;margin-top:var(--space-4)}
.wall .w2{grid-column:4 / span 5;aspect-ratio:1}
.wall .w3{grid-column:9 / span 4;aspect-ratio:4/5;margin-top:var(--space-3)}
.wall p{margin-top:var(--space-2)}
/* meet mark */
.meet__mark{width:min(60%,240px)}
.meet .al-capture{color:var(--ground);width:100%}
@media (max-width:1024px){
  .anat__part figcaption{font-size:13px}
  .anat__h{top:84px}
  .wall .w1{grid-column:1 / span 4;margin-top:0}.wall .w2{grid-column:5 / span 8}.wall .w3{grid-column:1 / span 6}
}
@media (max-width:640px){
  .anat__unit{height:44vh;top:58%}
  .anat__part{top:58%}
  .wall__g{grid-template-columns:repeat(4,minmax(0,1fr))}
  .wall .w1{grid-column:1 / span 2}.wall .w2{grid-column:3 / span 2}.wall .w3{grid-column:1 / span 4}
  .anat__cap{display:none}
}
.anat__cap{left:50%;transform:translateX(-50%);white-space:nowrap}

.al-menu{display:none!important;position:relative}
.al-menu summary{list-style:none;cursor:pointer;font-size:15px;font-weight:500;padding:12px 8px;min-height:44px;display:flex;align-items:center}
.al-menu summary::-webkit-details-marker{display:none}
.al-menu ul{position:absolute;right:0;top:100%;background:var(--ground);border-radius:12px;padding:var(--space-2);display:grid;gap:var(--space-2);min-width:180px;z-index:40;list-style:none;margin:0}
.al-menu a{font-size:17px;text-decoration:none}
@media (max-width:640px){.al-menu{display:block!important}}
.anat__hw{position:absolute;left:0;right:0;top:96px;z-index:3}
.anat__hw .anat__h{position:static;max-width:12ch}
.anat__part figcaption{white-space:normal;max-width:11em}
@media (max-width:640px){
  .team ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1)}
  .anat__part figcaption{font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  .build__track,.loop__track{height:auto}
  .build__stage,.loop__stage{position:static;height:auto;min-height:0;padding-block:var(--space-3)}
}

/* turn */
.turn{background:var(--ground)}
.turn__track{height:340vh;position:relative}
.turn__stage{position:sticky;top:0;height:100vh;display:grid;align-items:center;overflow:hidden;padding-top:72px}
.turn__txt{grid-column:1 / span 5}
.turn__txt .body{margin-top:var(--space-2);max-width:34ch}
.turn__where{color:var(--muted)}
.turn__fig{grid-column:6 / span 7;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}
.turn__view{position:relative;width:min(100%,calc(min(72vh,720px)*.8));aspect-ratio:4/5;margin-inline:auto}
.turn__view canvas,.turn__view img{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:multiply}
.turn__view canvas{opacity:0}
.turn__calls{position:absolute;inset:0;margin:0;padding:0;list-style:none;pointer-events:none}
.turn__calls li{position:absolute;top:var(--y);left:88%;width:max-content;max-width:16em;transform:translateY(-50%) translateX(12px);opacity:0;transition:opacity .5s var(--ease-arrive,ease),transform .5s var(--ease-arrive,ease);display:flex;flex-direction:column;padding-left:56px}
.turn__calls li::before{content:"";position:absolute;left:0;top:50%;width:44px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-arrive,ease)}
.turn__calls li.on{opacity:1;transform:translateY(-50%)}
.turn__calls li.on::before{transform:scaleX(1)}
.turn__calls b{font-size:18px;font-weight:500}
.turn__calls span{font-size:15px;color:var(--muted)}
@media (max-width:1024px){
  .turn__txt,.turn__fig{grid-column:1 / -1}
  .turn__stage .g{row-gap:var(--space-2);align-content:center}
  .turn__txt .body:not(.turn__where){display:none}
  .turn__view{width:100%;aspect-ratio:auto;height:46vh;margin-left:0}
  .turn__view canvas,.turn__view img{width:calc(46vh*.8);right:auto;left:0}
  .turn__calls li{left:calc(46vh*.8 - 6px);transform:translateY(-50%);padding-left:0;max-width:calc(100% - 46vh*.8 + 6px)}
  .turn__calls li::before{display:none}
  .turn__calls b{font-size:15px}.turn__calls span{display:none}
}
@media (prefers-reduced-motion:reduce){
  .turn__track{height:auto}
  .turn__stage{position:static;height:auto;padding-block:var(--space-4)}
  .turn__view canvas{display:none}
  .turn__calls li{opacity:1;transform:translateY(-50%)}.turn__calls li::before{transform:scaleX(1)}
}

/* ===== 3.0: reactor, dive, camera loop ===== */
.rx{background:#fff}
.rx__track{height:520vh;position:relative}
.rx__stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#fff}
.rx__w{position:absolute;inset:0;pointer-events:none;z-index:4}
.rx__txt{position:absolute;left:0;top:104px;max-width:min(30ch,38vw)}
.rx__h{max-width:14ch}
.rx__p,.rx__where{margin-top:var(--space-2);transition:opacity .5s var(--ease-arrive,ease)}
.rx__where{color:var(--muted)}
.rx__view{position:absolute;left:58%;top:50%;height:min(78vh,980px);aspect-ratio:4/5;transform:translate(-50%,-50%)}
.rx__view canvas,.rx__view video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;will-change:transform,opacity}
.rx__view video{opacity:0}
.rx__calls{position:absolute;inset:0;margin:0;padding:0;list-style:none;z-index:3}
.rx__calls li{position:absolute;top:var(--y);display:flex;flex-direction:column;opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease-arrive,ease),transform .6s var(--ease-arrive,ease);max-width:13em}
.rx__calls li.l{left:max(24px,6vw)}
.rx__calls li.r{right:max(24px,6vw);text-align:right;align-items:flex-end}
.rx__calls li.on{opacity:1;transform:none}
.rx__calls b{font-size:20px;font-weight:500}
.rx__calls span{font-size:16px;color:var(--muted)}
.rx__dots{position:absolute;left:58%;bottom:28px;transform:translateX(-50%);display:flex;gap:6px;z-index:3}
.rx__dots i{width:5px;height:5px;border-radius:50%;background:rgba(22,32,28,.22)}
.rx__dots i.on{background:var(--ink)}
.rx__cap{position:absolute;right:max(24px,4vw);bottom:24px;z-index:3}
@media (max-width:900px){
  .rx__txt{top:84px;max-width:none}.rx__p{display:none}.rx__where{font-size:16px}
  .rx__view{left:40%;height:min(56vh,520px)}
  .rx__calls li.l,.rx__calls li.r{left:auto;right:16px;top:var(--y);text-align:right;align-items:flex-end;max-width:7.5em}
  .rx__calls b{font-size:15px}.rx__calls span{display:none}
  .rx__dots{left:40%}
}
.dv__track{height:520vh;position:relative}
.dv__stage{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--field-graphite)}
.dv__stage img,.dv__stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}
.dv__a{object-position:50% 22%}
.dv__b{clip-path:circle(0% at 49% 26%)}
.dv__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,36,34,.72),rgba(30,36,34,0) 55%);pointer-events:none}
.dv__w{position:absolute;inset:0;pointer-events:none}
.dv__w h2,.dv__w p{position:absolute;left:0;bottom:15vh;margin:0;max-width:min(640px,86vw);opacity:0}
.dv__1{opacity:1}
.dv__3{bottom:6vh!important;max-width:34ch}
.dv__cap{position:absolute;right:max(24px,4vw);bottom:24px;color:rgba(246,247,245,.8)}
.loop__track{height:420vh}
@media (prefers-reduced-motion:reduce){
  .rx__track,.dv__track{height:auto}
  .rx__stage,.dv__stage{position:relative;height:100vh}
  .rx__calls li{opacity:1;transform:none}
  .dv__b{clip-path:none;opacity:1}.dv__w h2,.dv__w p{opacity:1;position:static;margin-top:var(--space-2)}
}
@media (max-width:900px){
  .rx__txt{left:16px;right:16px}
  .rx__calls li:nth-child(1){top:34%}.rx__calls li:nth-child(2){top:46%}.rx__calls li:nth-child(3){top:60%}.rx__calls li:nth-child(4){top:76%}
  .rx__view{top:54%}
  .dv__w{padding-inline:16px}
}

/* ===== process scene ===== */
.cw__track{height:620vh;position:relative}
.cw__stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#161C1A}
.cw__stage>svg{position:absolute;left:0;right:0;top:84px;height:calc(100vh - 84px - 27vh);width:100%}
.cw__shade{position:absolute;left:0;right:0;bottom:0;height:27vh;pointer-events:none;background:#161C1A}
.cw__w{position:absolute;left:0;right:0;bottom:5vh;pointer-events:none;z-index:2}
.cw__txt{position:relative;height:clamp(120px,18vh,200px)}
.cw__txt p{position:absolute;left:0;bottom:0;max-width:min(17em,94%);font-size:clamp(32px,4.6vw,72px);line-height:1.04;font-weight:500;letter-spacing:-.03em;text-wrap:balance;opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-arrive,ease),transform .7s var(--ease-arrive,ease)}
.cw__txt p.on{opacity:1;transform:none}
.cw__txt p.past{opacity:0;transform:translateY(-28px)}
.cw__note{position:absolute;right:max(24px,4vw);bottom:2.2vh;margin:0;color:var(--field-glass);opacity:0;transition:opacity .5s;z-index:2}
.cw__note.on{opacity:1}
.cw__bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(246,247,245,.12)}
.cw__bar i{display:block;height:100%;background:var(--ground);transform:scaleX(0);transform-origin:left}
.cw .far{fill:#C9D3D2}
.cw .pipe{stroke:var(--field-glass);stroke-opacity:.3;stroke-width:30;stroke-linejoin:round;stroke-linecap:round}
.cw .pipe-in{stroke:#141A18;stroke-width:20;stroke-linejoin:round;stroke-linecap:round}
.cw .pipe-hl{stroke:#fff;stroke-opacity:.12;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;transform:translate(-5px,-5px)}
.cw .fa-body{fill:url(#gBody)}.cw .fa-body2{fill:#33403C}.cw .fa-win{fill:#161C1A}.cw .fa-belt{fill:#33403C}
.cw .fa-mag{fill:var(--field-glass)}.cw .fa-tip{fill:var(--accent)}.cw .fa-smoke{fill:var(--field-glass)}
.cw .vat{fill:#1B2321;stroke:var(--field-glass);stroke-opacity:.35;stroke-width:6;stroke-linejoin:round}.cw .vat-liq{fill:#8EA39D}.cw .drop{fill:#8EA39D}
.cw .col-glass{fill:url(#gCol)}.cw .col-cap{fill:#C9D3D2;fill-opacity:.22}.cw .col-top{fill:#C9D3D2;fill-opacity:.2}.cw .col-liq{fill:url(#gLiq)}.cw .col-hl{fill:#fff;fill-opacity:.1}
.cw .bead{fill:url(#gBead);transition:fill .4s}.cw .bead.hold{fill:url(#gHeld)}
.cw .ion{fill:var(--ground)}.cw .liq{fill:#8EA39D}.cw .clean{fill:var(--field-glass);fill-opacity:.8}.cw .feedp{fill:#5FB09B}
.cw .tri-glass{fill:var(--field-glass);fill-opacity:.16}.cw .tri-cult{fill:url(#gCult)}.cw .tri-b{fill:#fff;fill-opacity:.55}
.cw .lbl{font-family:inherit;font-size:28px;font-weight:500;fill:var(--ground)}.cw .lbl.w{font-size:34px}.cw .lbl.s{font-size:24px;fill:var(--field-glass);opacity:0}
@media (max-width:900px){.cw__txt p{font-size:32px}.cw__w{bottom:5vh}.cw__note{left:16px;right:16px;bottom:1.6vh;text-align:left}.cw__shade{height:50vh}}
@media (prefers-reduced-motion:reduce){.cw__track{height:auto}.cw__stage{position:relative;height:auto;min-height:100vh}.cw__stage>svg{position:relative;height:60vh}.cw__txt p{opacity:1;position:static;transform:none;margin-top:var(--space-2)}.cw__txt{height:auto}.cw__w{position:relative;bottom:auto}.cw__shade{display:none}}
/* rx text beside the unit */
.rx__w{display:flex;align-items:center}
.rx__txt{position:static;max-width:min(24ch,26vw);margin-top:40px}
.rx__view{left:60%}
.rx__calls li{top:var(--y);left:calc(60% + 31.2vh + 20px);right:auto;text-align:left;align-items:flex-start;padding-left:56px;max-width:none;width:max-content}
.rx__calls li::before{content:"";position:absolute;left:0;top:.8em;width:44px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-arrive,ease)}
.rx__calls li.on::before{transform:scaleX(1)}
.rx__dots{left:60%}
@media (max-width:900px){
  .rx__w{display:block}.rx__txt{position:absolute;top:84px;left:16px;right:16px;max-width:none;margin:0}
  .rx__view{left:40%}.rx__dots{left:40%}
  .rx__calls li{left:auto;right:16px;padding-left:0;align-items:flex-end;text-align:right;max-width:7.5em}
  .rx__calls li::before{display:none}
  .rx__calls li{background:var(--ground);padding:3px 10px 3px 8px;border-radius:999px;max-width:none;width:max-content;flex-direction:row;align-items:center;gap:6px;text-align:left}
  .rx__calls li::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
  .rx__calls b{font-size:13px;white-space:nowrap}
  .rx__calls li:nth-child(1){right:auto;left:46%}.rx__calls li:nth-child(2){right:auto;left:52%}.rx__calls li:nth-child(3){right:auto;left:58%}.rx__calls li:nth-child(4){right:auto;left:56%}
}
.dv__bub{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;z-index:1}

.cw .fa-bg{fill:#232C29}.cw .blk{fill:#C9D3D2}.cw .wheel{fill:#5A6662}.cw .wspoke{fill:#7B8782}.cw .fleck{fill:#8A9692}.cw .spark{fill:#F6F7F5}
@media (max-width:900px){.cw__stage>svg{top:76px;height:calc(100vh - 76px - 34vh)}.cw__shade{height:34vh}.cw__txt p{font-size:30px}}
.rx__h{max-width:16ch!important}

@media (max-width:900px){
  .rx__view{left:50%!important;top:57%;height:min(50vh,480px)}.rx__dots{left:50%!important}
  .rx__txt{top:92px!important}.rx__h{font-size:28px!important;max-width:none!important}#rxW{display:none}
  .rx__calls li:nth-child(1){left:50%!important}.rx__calls li:nth-child(2){left:52%!important}.rx__calls li:nth-child(3){left:44%!important}.rx__calls li:nth-child(4){left:42%!important}
}
/* QA pass: mid-width callouts and caption/dots clearance */
@media (min-width:901px) and (max-width:1280px){
  .rx__calls li{width:auto;max-width:calc(100vw - (60% + 31.2vh + 20px) - 20px);padding-left:48px}
  .rx__calls li::before{width:36px}
  .rx__calls b{font-size:17px}.rx__calls span{font-size:14px}
}
@media (max-width:1024px){.rx__cap{bottom:44px;right:16px}}
@media (max-width:640px){.rx__cap{left:16px;right:16px;bottom:40px}}
/* final scene: the moving mark, centred */
.meet.al-field-culture{min-height:100vh;display:flex;align-items:center;padding-block:96px 72px}
.meet .g{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:var(--space-4)}
.meet .head,.meet .acts{grid-column:1 / -1;width:100%}
.meet .acts{display:grid;justify-items:center;gap:var(--space-3)}
.meet.al-field-culture .headline{max-width:20ch;margin-inline:auto}
.meet__mark{width:min(46vh,380px);order:0;margin-bottom:var(--space-3);--al-d:9s}
.meet .who{justify-items:center}.meet .al-button{justify-self:center}
@media (prefers-reduced-motion:reduce){.meet .al-capture--loop .al-cap-node,.meet .al-capture--loop .al-cap-stick{animation:none}}
/* process scene on portrait: larger labels for the static wide view */
@media (max-width:900px){.cw .lbl{font-size:44px}.cw .lbl.w{font-size:52px}.cw .lbl.s{font-size:38px}}
.meet__mark{width:min(30vh,300px);margin-bottom:0}
.meet.al-field-culture{padding-block:104px 48px}
.meet .g{gap:var(--space-3)}
.meet.al-field-culture .headline{font-size:clamp(30px,4.2vw,56px);max-width:22ch}
.meet .who p{font-size:20px}.meet .mail{font-size:20px}
.meet .acts{gap:var(--space-2)}
@media (max-width:900px){.cw .lbl{font-size:36px}.cw .lbl.w{font-size:38px}.cw .lbl.s{display:none}}

/* bridge scene */
.br{background:var(--ground);color:var(--ink)}
.br__track{height:300vh}
.br__stage{position:sticky;top:0;min-height:100vh;display:flex;align-items:center;padding-top:84px;padding-bottom:24px;box-sizing:border-box}
.br__stage>.w{width:100%}
.br__h{max-width:22ch;margin:0 0 var(--space-3)}
.br__h em{font-style:normal;color:var(--accent)}
.br__fig{position:relative;container-type:inline-size;width:min(100%,calc((100vh - 340px) * 2.5));min-width:560px;margin-inline:auto}
.br__fig svg{display:block;width:100%;height:auto;overflow:visible}
.br-bank{fill:var(--field-graphite)}.br-water{fill:var(--field-glass)}.br-tower{fill:var(--field-graphite)}
.br-cable{fill:none;stroke:var(--field-graphite);stroke-width:14;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:0}
.br-hang{stroke:var(--field-graphite);stroke-width:5}
.br-deck{fill:var(--accent)}.br-dot{fill:var(--ground)}
#brT1,#brT2{transform-box:fill-box}
.br__lab{position:absolute;opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease-arrive,ease),transform .6s var(--ease-arrive,ease);display:grid;gap:.4em}
.br__lab.on{opacity:1;transform:none}
.br__lab b{font-weight:400;font-size:2.05cqw;line-height:1.15;letter-spacing:-.01em}
.br__lab span{font-size:1.25cqw;line-height:1.4}
.br__l1{left:3%;top:58%;width:19.5%;color:var(--ground)}.br__l1 span,.br__l3 span{opacity:.85}
.br__l3{left:79%;top:58%;width:18%;color:var(--ground)}
.br__l2{left:50%;top:67%;transform:translate(-50%,8px);text-align:center;justify-items:center}.br__l2.on{transform:translate(-50%,0)}
.br__l2 span{color:var(--muted)}
.br__close{margin:var(--space-3) 0 0;max-width:60ch;font-size:clamp(16px,1.3vw,20px)}
@media (max-width:700px){
  .br__fig{width:100%;min-width:0}
  .br__lab{position:static;transform:none;width:auto;color:var(--ink)!important;margin-top:var(--space-2);padding-left:14px;border-left:3px solid var(--accent)}
  .br__lab b{font-size:20px}.br__lab span{font-size:15px;color:var(--muted)}
  .br__l2{text-align:left;justify-items:start}.br__l2.on{transform:none}
  .br__h{font-size:clamp(28px,8vw,36px)}
  .br__stage{align-items:flex-start;padding-top:96px}
  .br__close{font-size:15px;margin-top:var(--space-2)}
}
@media (prefers-reduced-motion:reduce){.br__track{height:auto}.br__stage{position:relative;padding-block:96px 48px}.br__lab{opacity:1;transform:none}.br__l2{transform:translate(-50%,0)}}

/* need scene */
.nd__track{height:620vh;position:relative}
.nd__stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#161C1A}
.nd__shade{position:absolute;left:0;right:0;bottom:0;height:27vh;pointer-events:none;background:#161C1A}
.nd__w{position:absolute;left:0;right:0;bottom:5vh;pointer-events:none;z-index:2}
.nd__txt{position:relative;height:clamp(120px,18vh,200px)}
.nd__txt p{position:absolute;left:0;bottom:0;max-width:min(17em,94%);font-size:clamp(32px,4.6vw,72px);line-height:1.04;font-weight:500;letter-spacing:-.03em;text-wrap:balance;opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-arrive,ease),transform .7s var(--ease-arrive,ease)}
.nd__txt p.on{opacity:1;transform:none}
.nd__txt p.past{opacity:0;transform:translateY(-28px)}
.nd__bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(246,247,245,.12)}
.nd__bar i{display:block;height:100%;background:var(--ground);transform:scaleX(0);transform-origin:left}
.nd__stage{background:var(--field-graphite)}
.nd__txt p em{font-style:normal;color:var(--accent)}
.nd__stage canvas{position:absolute;inset:0;width:100%;height:100%}
.nd__mid{position:absolute;left:0;right:0;top:84px;height:calc(100vh - 84px - 27vh);display:grid;place-items:center;pointer-events:none}
.nd__ind,.nd__rec{position:absolute;opacity:0;transition:opacity .7s var(--ease-arrive,ease)}
.nd__ind.on,.nd__rec.on{opacity:1}
.nd__ind{text-align:center;display:grid;gap:.2em}
.nd__ind span{font-size:clamp(20px,2.4vw,36px);color:var(--field-glass)}
.nd__ind b{font-weight:500;font-size:clamp(34px,8vw,128px);letter-spacing:.04em;line-height:1}
.nd__rec{display:grid;justify-items:center;gap:var(--space-2);text-align:center}
.nd__rec svg{width:min(32vh,260px);height:auto;overflow:visible}
.nd-dot{fill:none;stroke:var(--field-glass);stroke-opacity:.5;stroke-width:1.5;stroke-dasharray:1 5;stroke-linecap:round}
.nd-arc{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:100}
.nd-lab{font-size:13px;letter-spacing:.14em;fill:var(--ground)}
.nd-num{font-size:68px;font-weight:500;fill:var(--ground);letter-spacing:-.03em}
.nd__src{max-width:46ch;color:var(--field-glass);margin:0}
@media (max-width:900px){.nd__mid{top:76px;height:calc(100vh - 76px - 34vh)}.nd__shade{height:34vh}.nd__txt p{font-size:30px}.nd__src{font-size:12px;max-width:34ch}}
@media (prefers-reduced-motion:reduce){.nd__track{height:auto}.nd__stage{position:relative;height:auto;padding-block:120px 48px}.nd__stage canvas,.nd__shade,.nd__bar,.nd__ind{display:none}.nd__mid{position:static;height:auto;display:block}.nd__rec{position:static;opacity:1;margin:0 auto var(--space-4)}.nd__txt{height:auto}.nd__txt p{position:static;opacity:1;transform:none;margin:var(--space-2) 0}.nd__w{position:static}}
.nd__track{height:400vh}
.nd-star{fill:var(--accent);opacity:0}

/* pacing: guided (default) shortens scroll distance per idea; classic restores the original lengths */
html[data-pace="guided"] .cw__track{height:380vh}
html[data-pace="guided"] .rx__track,html[data-pace="guided"] .dv__track{height:340vh}
html[data-pace="guided"] .loop__track{height:280vh}
html[data-pace="guided"] .nd__track{height:280vh}
html[data-pace="guided"] .br__track{height:220vh}
html[data-pace="classic"] .nd__track{height:400vh}
@media (prefers-reduced-motion:reduce){html .cw__track,html .rx__track,html .dv__track,html .loop__track,html .nd__track,html .br__track{height:auto!important}}
.pc-rail{position:fixed;right:10px;top:calc(50% + 34px);z-index:99998;display:flex;flex-direction:column;gap:6px;align-items:center;opacity:.3;transition:opacity .2s}
.pc-rail:hover{opacity:1}
.pc-rail button{height:34px;min-width:34px;padding:0 8px;border:0;border-radius:999px;background:#16201C;color:#F6F7F5;font:600 12px Urbanist,system-ui,sans-serif;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.pc-rail .pc-skip{display:none}.pc-rail.in-scene .pc-skip{display:block}
.pc-toast{position:fixed;right:54px;top:calc(50% + 40px);z-index:99998;background:#16201C;color:#F6F7F5;border-radius:8px;padding:6px 10px;font:500 13px Urbanist,system-ui,sans-serif;opacity:0;transition:opacity .25s;pointer-events:none}.pc-toast.on{opacity:1}

/* answer strip, audience paths, chapter rail, options */
.ans{background:var(--ground);padding-block:var(--space-6) var(--space-5)}
.ans__g{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.ans__k{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:500;margin:0 0 var(--space-1)}
.ans p{margin:0;font-size:clamp(18px,1.7vw,26px);line-height:1.25;font-weight:500;letter-spacing:-.01em;max-width:24ch}
.ans .small{display:block;margin-top:8px;color:var(--muted)}
@media (max-width:800px){.ans__g{grid-template-columns:1fr;gap:var(--space-3)}.ans p{max-width:none}}
.paths{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:baseline;margin-top:var(--space-2)}
.paths .small{opacity:.7}.paths a{font-size:18px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
html[data-o-strip="off"] .ans,html[data-o-paths="off"] .paths,html[data-o-rail="off"] .ch-rail{display:none}
html[data-o-short="on"] #dive,html[data-o-short="on"] #loop{display:none}
.ch-rail{position:fixed;left:10px;top:50%;transform:translateY(-50%);z-index:99997;display:flex;flex-direction:column;gap:10px;mix-blend-mode:normal}
.ch-rail a{display:flex;align-items:center;gap:10px;font:500 12px Urbanist,system-ui,sans-serif;color:var(--muted);text-decoration:none}
.ch-rail a i{width:9px;height:9px;border-radius:50%;background:rgba(120,130,125,.55);box-shadow:0 0 0 2px rgba(246,247,245,.7);flex:none;transition:transform .2s,background .2s}
.ch-rail a span{opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s;background:#16201C;color:#F6F7F5;border-radius:999px;padding:3px 10px;white-space:nowrap}
.ch-rail:hover a span,.ch-rail a.on span{opacity:1;transform:none}
.ch-rail a.on i{background:var(--accent);transform:scale(1.5)}
@media (max-width:700px){.ch-rail{left:4px;gap:8px}.ch-rail a span{display:none}.ch-rail:hover a span{display:block}}
.pc-pop{position:fixed;right:54px;top:calc(50% - 20px);z-index:99999;width:250px;background:#16201C;color:#F6F7F5;border-radius:14px;padding:14px;font:500 14px Urbanist,system-ui,sans-serif;box-shadow:0 10px 36px rgba(0,0,0,.35);display:none}
.pc-pop.on{display:block}
.pc-pop h4{margin:0 0 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8FD6C6;font-weight:600}
.pc-pop .row{display:flex;gap:6px;margin-bottom:12px}
.pc-pop .row button{flex:1;border:1px solid rgba(246,247,245,.25);background:none;color:inherit;border-radius:8px;padding:7px 4px;font:inherit;cursor:pointer}
.pc-pop .row button.on{background:#3E8E7E;border-color:#3E8E7E}
.pc-pop label{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;cursor:pointer}
.pc-pop input{accent-color:#3E8E7E;width:18px;height:18px}
.cover4 .act{display:grid;gap:var(--space-3);justify-items:start}
.cover4 .paths{margin-top:0}

.ch-rail,.ans{display:none!important}
.ch-bar{position:fixed;left:0;right:0;top:84px;height:3px;z-index:99990;display:flex;gap:2px;background:rgba(22,32,28,.12);transition:height .2s;cursor:pointer}
.ch-bar a{position:relative;flex:1;display:block;text-decoration:none;overflow:hidden;background:rgba(22,32,28,.18)}
.ch-bar a b{position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left}
.ch-bar a span{position:absolute;inset:0;display:grid;place-items:center;font:500 13px Urbanist,system-ui,sans-serif;color:#F6F7F5;opacity:0;white-space:nowrap;transition:opacity .15s}
.ch-bar:hover,.ch-bar.open{height:30px;background:rgba(22,32,28,.85)}
.ch-bar:hover a,.ch-bar.open a{background:transparent}
.ch-bar:hover a b,.ch-bar.open a b{opacity:.55}
.ch-bar:hover a span,.ch-bar.open a span{opacity:1}
.ch-bar a.on{box-shadow:inset 0 -2px 0 #F6F7F5}
.ch-chip{position:fixed;left:16px;top:92px;z-index:99990;background:#16201C;color:#F6F7F5;border-radius:999px;padding:4px 12px;font:500 13px Urbanist,system-ui,sans-serif;opacity:0;pointer-events:none;transition:opacity .25s;transform:translateY(0)}
.ch-chip.on{opacity:1}
html[data-o-rail="off"] .ch-bar,html[data-o-rail="off"] .ch-chip{display:none}
@media (max-width:700px){.ch-bar{height:4px}.ch-bar.open{height:34px}.ch-bar.open a span{font-size:10px}.ch-chip{left:10px}}
.ch-bar:hover~.ch-chip,.ch-bar.open~.ch-chip{opacity:0!important}

.ch-bar,.ch-chip{display:none!important}
.ch-side{position:fixed;left:14px;top:50%;transform:translateY(-50%);height:min(46vh,380px);width:12px;z-index:99990;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;mix-blend-mode:difference;color:#fff;opacity:.55;transition:opacity .3s}
.ch-side:hover,.ch-side.show{opacity:1}
.ch-side::before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:1px;background:rgba(255,255,255,.35)}
.ch-fill{position:absolute;left:5px;top:4px;width:1px;background:#fff;max-height:calc(100% - 8px);transition:height .25s}
.ch-side a{position:relative;display:flex;align-items:center;height:12px;text-decoration:none;color:#fff}
.ch-side a i{position:relative;width:11px;height:11px;display:grid;place-items:center}
.ch-side a i::after{content:"";width:5px;height:5px;border-radius:50%;background:#fff;opacity:.5;transition:transform .25s,opacity .25s}
.ch-side a.past i::after{opacity:.9}
.ch-side a.on i::after{opacity:1;transform:scale(1.7)}
.ch-side a span{position:absolute;left:20px;font:500 12px Urbanist,system-ui,sans-serif;letter-spacing:.02em;white-space:nowrap;opacity:0;transform:translateX(-4px);transition:opacity .25s,transform .25s;pointer-events:none}
.ch-side a.on span{}
.ch-side.show a.on span,.ch-side:hover a span{opacity:1;transform:none}
html[data-o-rail="off"] .ch-side{display:none}
@media (max-width:700px){.ch-side{left:6px;height:38vh;opacity:.4}.ch-side a span{font-size:11px}}

/* Slush button: secondary on the culture field, removed by script after the event. */
.meet .meet__slush{justify-self:center;background:var(--field-glass);color:var(--ink)}
.meet .meet__slush:hover{background:var(--ground);color:var(--ink)}

/* Nav wordmark: the link is the flex item; keep it from collapsing. */
.al-nav > a[aria-label]{flex:none;margin-right:auto}
.al-nav > a[aria-label] .al-wordmark{margin-right:0}

/* Scene snapping: free scrolling everywhere, but stopping near the start of a scene settles onto it. Native, no script. */
@media (prefers-reduced-motion: no-preference) {
  html[data-pace="guided"] { scroll-snap-type: y proximity; }
  html[data-pace="guided"] .nd__track, html[data-pace="guided"] .br__track, html[data-pace="guided"] .cw__track,
  html[data-pace="guided"] .rx__track, html[data-pace="guided"] .dv__track, html[data-pace="guided"] .loop__track { scroll-snap-align: start; }
}

/* Phones: the browser toolbar covers the bottom of 100vh. Size the stages to the small viewport and lift the captions
   so the sentence sits under the animation, not under the toolbar. */
@media (max-width:900px){
  .nd__stage,.cw__stage,.dv__stage,.rx__stage,.loop__stage,.br__stage{height:100svh}
  .nd__mid{height:calc(100svh - 76px - 36svh)}
  .cw__stage>svg{height:calc(100svh - 76px - 36svh)}
  .nd__shade,.cw__shade{height:40svh}
  .nd__w,.cw__w{bottom:max(13svh,88px)}
  .nd__txt,.cw__txt{height:clamp(120px,22svh,220px)}
  .cw__note{bottom:max(5svh,28px)}
  .dv__w h2,.dv__w p{bottom:26svh}
  .dv__3{bottom:15svh!important}
  .dv__cap{bottom:max(5svh,28px)}
}

/* Shades: a soft fade into the caption instead of a hard-edged block, on every width. */
.nd__shade,.cw__shade{background:linear-gradient(180deg,rgba(22,28,26,0) 0%,rgba(22,28,26,.6) 45%,#161C1A 100%)}
.nd__stage,.cw__stage{background:#161C1A}
@media (max-width:900px){
  .nd__shade,.cw__shade{height:46svh}
  .nd__mid{height:calc(100svh - 76px - 30svh)}
  .cw__stage>svg{height:calc(100svh - 76px - 30svh)}
  .nd__w,.cw__w{bottom:max(11svh,76px)}
  .nd__txt,.cw__txt{height:clamp(100px,18svh,180px)}
}
