/* A: a horizontal system, built by the reader's scroll. Static is the baseline. */
.gallery-editorial .connected-scroll{--scene-bg:#f1eeea;--scene-ink:#171816;--scene-line:#622338;--travel:0;--output:1;--input:1;position:relative;margin:0;isolation:isolate;color:var(--scene-ink)}
.connected-frame{position:relative;background:var(--scene-bg);padding:35px 40px 28px;overflow:hidden;display:flex;flex-direction:column;min-height:660px}.connected-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.gallery-editorial .connected-top h2{font-size:clamp(25px,2.6vw,44px);line-height:1.1;margin:0;color:inherit}.connected-simple{font-size:12px!important;background:none;border:0;border-bottom:1px solid currentColor;color:inherit;padding:10px 0;cursor:pointer;min-height:44px}.connected-copy{margin:45px 0 15px;position:relative;z-index:3;pointer-events:none}.gallery-editorial .connected-headline{font-family:Aventa,Arial,sans-serif;font-weight:500;font-size:clamp(52px,6.2vw,108px);line-height:1.02;letter-spacing:-.05em;margin:0;color:inherit}.gallery-editorial .connected-caption{font-size:16px;margin:16px 0 0;color:inherit;max-width:480px}.connected-map{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:12%;width:100%;height:350px;margin:auto 0;flex:0 0 auto;min-height:260px}.connected-inputs,.connected-outputs{display:grid;gap:20px;position:relative;z-index:2}.context-node,.output-node{min-height:66px;padding:16px 20px;display:flex;align-items:center;gap:18px;font-size:18px;border:1px solid #c4b5b8;background:#f1eeea;color:#171816}.context-node{transform:translateX(calc(var(--travel) * 60px)) scale(calc(1 - var(--travel) * .13));opacity:var(--input)}.context-node:first-child{transform:translate(calc(var(--travel) * 60px),calc(var(--travel) * 35px)) scale(calc(1 - var(--travel) * .13))}.context-node:last-child{transform:translate(calc(var(--travel) * 60px),calc(var(--travel) * -35px)) scale(calc(1 - var(--travel) * .13))}.node-icon{font-size:24px;color:#622338}.output-node{justify-content:space-between;background:#fff;border-color:#d9d3d4;transform:translateX(calc((1 - var(--output)) * -50px));opacity:var(--output)}.output-node i{font-style:normal;color:#622338}.connected-hub{position:relative;z-index:3;aspect-ratio:1;max-width:245px;width:100%;justify-self:center;transform:scale(calc(.9 + var(--travel) * .12))}.hub-face,.hub-layer{position:absolute;inset:0;background:#622338;color:#fff;border:1px solid #976879}.hub-layer.layer-back{transform:translate(calc(var(--travel) * 24px),calc(var(--travel) * -24px));background:#9b6477}.hub-layer.layer-mid{transform:translate(calc(var(--travel) * 12px),calc(var(--travel) * -12px));background:#7a3a51}.hub-face{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;gap:28px}.hub-face img{width:clamp(45px,5.5vw,85px);height:auto;filter:brightness(0) invert(1)}.hub-face span{font-size:14px;text-align:center}.connected-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;pointer-events:none;z-index:0}.connection-base{stroke:var(--scene-line);stroke-width:1;opacity:.25}.connection-fill{stroke:var(--scene-line);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--line-progress,1))}.connected-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:22px;position:relative;z-index:4}.connected-bottom nav{display:flex;gap:25px}.connected-bottom button{font-size:13px;background:none;color:inherit;border:0;border-bottom:2px solid transparent;padding:14px 0;cursor:pointer;min-height:44px}.connected-bottom button[aria-current]{border-bottom-color:currentColor}.gallery-editorial .connected-bottom p{font-size:13px;margin:0 0 15px;color:inherit}.connected-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* Only enhance after JS is ready. The browser keeps its native scroll. */
.connected-scroll.is-enhanced{height:280svh}.connected-scroll.is-enhanced .connected-frame{position:sticky;top:0;height:100svh;min-height:620px;max-height:1100px}.connected-scroll.is-enhanced .connected-copy{margin-top:clamp(30px,5vh,80px)}
.connected-scroll.is-static .connected-simple{opacity:.8}.connected-scroll.is-static .connected-copy{margin-bottom:35px}.connected-scroll.is-static .connected-frame{min-height:660px}.connected-scroll.is-static .connected-bottom button{cursor:default}.connected-scroll.is-static .connected-map{--output:1!important;--input:1!important;--travel:.5!important;--line-progress:1!important}
@media(min-width:1800px){.connected-frame{padding:45px 55px 35px}.connected-map{max-width:1700px;align-self:center}.context-node,.output-node{font-size:23px;min-height:85px}.connected-hub{max-width:290px}}
@media(max-width:900px){.connected-frame{padding:30px}.connected-map{gap:8%;height:320px}.context-node,.output-node{padding:14px;font-size:14px}.hub-face{gap:18px}.hub-face span{font-size:12px}.connected-bottom{gap:15px}.connected-bottom nav{gap:16px}.connected-bottom button{font-size:12px}.gallery-editorial .connected-bottom p{font-size:11px;max-width:150px}}
@media(max-width:600px){.gallery-editorial .connected-scroll{margin-inline:calc(-1 * var(--e-gutter))}.connected-scroll.is-enhanced{height:280svh}.connected-scroll.is-enhanced .connected-frame{min-height:590px;height:100svh;max-height:950px}.connected-frame{padding:25px 22px;min-height:650px}.gallery-editorial .connected-top h2{font-size:25px;max-width:220px}.connected-simple{font-size:10px!important;flex-shrink:0}.connected-copy,.connected-scroll.is-enhanced .connected-copy{margin:38px 0 20px}.gallery-editorial .connected-headline{font-size:clamp(42px,11vw,64px);max-width:100%;min-height:2.04em}.gallery-editorial .connected-caption{font-size:14px;max-width:270px;margin-top:10px}.connected-map{min-height:220px;height:270px;gap:12px;grid-template-columns:1fr 1fr 1fr}.context-node,.output-node{font-size:11px;min-height:47px;padding:9px 7px;gap:0;line-height:1.25}.context-node .node-icon{display:none}.connected-inputs,.connected-outputs{gap:23px}.connected-hub{aspect-ratio:.85;min-width:90px}.hub-face{padding:10px 7px;gap:17px}.hub-face span{font-size:10px;line-height:1.3}.hub-face img{width:37px}.output-node i{font-size:12px;margin-left:4px}.hub-layer.layer-back{transform:translate(calc(var(--travel) * 12px),calc(var(--travel) * -12px))}.hub-layer.layer-mid{transform:translate(calc(var(--travel) * 6px),calc(var(--travel) * -6px))}.connected-bottom{display:block;margin-top:20px}.connected-bottom nav{display:flex;justify-content:space-between;gap:10px}.connected-bottom button{font-size:11px;max-width:100px;text-align:left}.gallery-editorial .connected-bottom p{margin:15px 0 0;font-size:11px;max-width:none}.context-node{transform:translateX(calc(var(--travel) * 14px)) scale(calc(1 - var(--travel) * .1))}.context-node:first-child{transform:translate(calc(var(--travel) * 14px),calc(var(--travel) * 18px))}.context-node:last-child{transform:translate(calc(var(--travel) * 14px),calc(var(--travel) * -18px))}.connected-scroll.is-static .connected-frame{min-height:600px}.connected-scroll.is-static .connected-headline{min-height:0}}
@media(max-width:600px) and (max-height:650px){.connected-scroll.is-enhanced .connected-frame{height:100svh;min-height:100svh}.connected-frame{padding:18px 20px}.connected-copy,.connected-scroll.is-enhanced .connected-copy{margin:18px 0 8px}.gallery-editorial .connected-headline{font-size:clamp(36px,10vw,48px);min-height:1.9em}.connected-map{height:225px;min-height:190px}.connected-inputs,.connected-outputs{gap:14px}.connected-bottom{margin-top:8px}.connected-bottom button{min-height:38px;padding:8px 0}}
@media(max-height:650px) and (min-width:601px){.connected-scroll.is-enhanced .connected-frame{min-height:500px}.connected-scroll.is-enhanced .connected-copy{margin:24px 0 10px}.gallery-editorial .connected-headline{font-size:52px}.connected-map{min-height:210px}.connected-hub{max-width:160px}.context-node,.output-node{min-height:46px;font-size:13px}.connected-frame{padding:22px 35px}}
@media(prefers-reduced-motion:reduce){.connected-scroll.is-enhanced{height:auto}.connected-scroll.is-enhanced .connected-frame{position:relative;height:auto;min-height:600px}.connected-map{--output:1!important;--input:1!important;--travel:.5!important;--line-progress:1!important}}

/* Small light trails make the connections tangible as the reader scrolls. */
.connection-signal{display:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-dasharray:.055 .945;filter:drop-shadow(0 0 3px #ffffffaa)}
.connected-scroll.is-enhanced .connection-signal{display:block}
.connected-scroll.is-enhanced .connection-base{stroke-width:1.5;opacity:.3}
.connected-scroll.is-enhanced .connection-fill{opacity:.65}
.connected-scroll .hub-face{box-shadow:0 20px 55px #62233824}
@media(prefers-reduced-motion:reduce){.connection-signal{display:none!important}}
