/* A single spatial catalogue. Vertical movement browses; horizontal movement reads. */
html{scroll-behavior:auto}
.catalogue{overflow:clip}
.catalogue-stream{transform-origin:50% 0%;will-change:transform}
.catalogue-row{overflow-anchor:none}
.row-mobile-facts{display:none}
.row-scroll{touch-action:pan-x pan-y;scroll-behavior:auto}
.row-ribbon{gap:64px;padding-left:calc((100vw - var(--cover-w) - 15px) / 2);padding-right:calc((100vw - var(--cover-w) - 15px) / 2)}
.row-cover:focus-visible{outline-offset:-3px;outline:2px solid var(--ink)}
@media(min-width:1024px){
 .catalogue-row{--cover-w:64vh;margin-bottom:38px}
 .catalogue-row.open{--cover-w:min(calc(76vh * var(--ratio)),calc(100vw - 360px));--cover-h:calc(var(--cover-w) / var(--ratio))}
 .row-info{right:calc(100% + 44px);width:324px;max-width:calc((100vw - var(--cover-w)) / 2 - 64px)}
 .row-title{font-size:18px;line-height:20px}.row-place{font-size:14px}
 .row-symbol{width:50px;height:50px;margin-bottom:24px}
 .row-extras{gap:64px}
}
@media(min-width:761px) and (max-width:1023px){
 .catalogue-row{--cover-w:350px;margin-bottom:26px}
 .catalogue-row.open{--cover-w:calc(100vw - 300px);--cover-h:calc(var(--cover-w) / var(--ratio))}
 .catalogue-row.open .row-extras{min-height:390px}
}
@media(max-width:760px){
 .catalogue{padding-top:8px}
 .catalogue-row{--cover-w:90vw;--cover-h:min(68svh,calc(var(--cover-w) / var(--ratio)));margin-bottom:26px}
 .catalogue-row.open{--cover-w:90vw;--cover-h:min(64svh,440px)}
 .row-ribbon,.catalogue-row.open .row-ribbon{display:flex;align-items:flex-start;gap:5vw;width:max-content;padding:0 5vw}
 .cover-package{width:var(--cover-w);flex:none;transition:width .78s var(--row-ease)}
 .row-cover{width:var(--cover-w);height:var(--cover-h);max-height:none;transition:height .78s var(--row-ease),width .78s var(--row-ease)}
 .row-info,.catalogue-row.open .row-info{width:100%;margin-top:14px;right:auto;max-width:none;min-height:36px}
 .row-title,.catalogue-row.open .row-title{font-size:15px;line-height:17px}
 .row-place,.catalogue-row.open .row-place{font-size:10px;margin-top:3px}
 .row-symbol,.catalogue-row.open .row-symbol{width:30px;height:30px}
 .catalogue-row.open .row-facts,.catalogue-row.open .row-share{display:none}
 .catalogue-row.open .row-scroll{overflow-x:auto;overflow-y:hidden;cursor:grab}
 .catalogue-row.open .row-extras{display:flex;flex-direction:row;height:var(--cover-h);margin-top:0;gap:5vw;animation:none;opacity:1}
 .row-extras>section,.row-extras>figure{height:100%;flex:none;min-height:0}
 .row-mobile-facts{display:flex;flex-direction:column;justify-content:flex-start;gap:22px;width:112px;font-size:10px;line-height:1.4;text-transform:uppercase}
 .row-mobile-facts>span{color:var(--muted);font-size:12px}.row-mobile-facts dl{margin:0}.row-mobile-facts dt{font-size:8px;color:var(--muted);margin-bottom:4px}.row-mobile-facts dd{margin:0 0 20px}.row-mobile-facts button{font-size:9px;text-align:left;line-height:1.5}.row-mobile-facts button:last-child{margin-top:auto}
 .row-copy.study-introduction,.technical-story{width:340px;font-size:12px;line-height:1.45;display:flex;flex-direction:column;padding:0;overflow:auto;overscroll-behavior:contain}
 .row-copy h3{font-size:24px;margin:20px 0;line-height:1.15}.row-copy p{margin-bottom:14px}.row-copy.study-introduction .study-bottom{margin-top:10px}.study-bottom{font-size:7px;margin-top:8px}
 .study-panel{width:88vw;min-height:0;padding:0;border:0;display:flex}
 .study-tabs{font-size:10px;margin-top:12px;gap:22px}.study-tabs button{padding-bottom:5px}
 .study-drawing{min-height:60px;flex:1;aspect-ratio:auto;margin-top:10px}
 .study-transport{margin:10px 0;gap:16px}.study-steps button{font-size:9px;padding:0}.study-steps i{margin-top:6px}.study-play{font-size:9px;width:48px}
 .study-caption,.study-panel:not([data-mode=massing]) .study-caption{min-height:69px;padding-top:0}.study-caption h3{font-size:14px;margin-bottom:5px}.study-caption p{font-size:10px;line-height:1.4}.study-kicker{font-size:8px;gap:10px}
 .drawing-preview-panel{width:90vw;padding:0;border:0;gap:14px}.drawing-preview{flex:1;aspect-ratio:auto}.drawing-preview-caption h3{font-size:19px;margin-bottom:10px}.drawing-preview-caption p{font-size:10px;line-height:1.45}.drawing-open-label{font-size:7px;padding:8px;bottom:10px;right:10px}
 .brief-preview{padding:20px;justify-content:center}.brief-preview h3{font-size:26px;margin:15px 0}.brief-preview>p{font-size:11px}.brief-preview>b{margin-top:15px}
 .measured-programme{width:320px!important;gap:10px;padding:0}.programme-panel h3{font-size:22px;margin:14px 0}.measured-programme .programme-list{font-size:10px}.programme-list>div{padding:8px 0}.programme-basis{font-size:9px;line-height:1.45}
 .atmosphere-panel{width:90vw;gap:12px;padding:0;border:0}.time-comparison{flex:1;aspect-ratio:auto;min-height:60px}.atmosphere-caption h3{font-size:19px;margin-bottom:8px}.atmosphere-caption p{font-size:10px;line-height:1.4}.atmosphere-caption>span{font-size:7px;margin-top:10px}
 .row-extra-image{width:calc(var(--cover-h) * 1.5);height:100%}.row-extra-image button,.row-extra-image img{height:100%;width:100%;aspect-ratio:auto}.row-extra-image figcaption{position:absolute;left:12px;bottom:12px;color:white;text-shadow:0 1px 5px #000}
 .row-tail{width:250px;padding:0 15px 0 0;font-size:12px}.row-tail .next-inline{font-size:23px}
 .technical-story .eyebrow{font-size:9px;margin:12px 0 7px}.technical-story .detail-disclaimer{font-size:9px;margin-top:12px}
 .row-section-nav{display:none}
}
@media(max-width:760px) and (max-height:650px){
 .catalogue-row.open{--cover-h:390px}
}
@media(prefers-reduced-motion:reduce){.catalogue-stream{will-change:auto}.row-cover,.row-ribbon,.cover-package{transition:none!important}}
