body{overflow-x:visible}
.scroll-hero{position:relative;z-index:0;height:auto;min-height:100vh;background:#f7f7f5;isolation:isolate}
.scroll-hero__stage{position:relative;top:auto;width:100%;height:100vh;height:100svh;overflow:hidden;isolation:isolate;background:#f7f7f5}
.scroll-hero__visual{z-index:1;background:#f7f7f5}
.scroll-hero__content{z-index:2}
.scroll-hero .hero-shade{z-index:1;pointer-events:none}
.scroll-hero .scroll-mark{z-index:2}
#heroSequenceCanvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;opacity:0;background:#f7f7f5;transition:opacity .45s ease}
.scroll-hero.sequence-ready #heroSequenceCanvas{opacity:1}
.scroll-hero .hero-media video{z-index:1;object-fit:contain;opacity:0;background:#f7f7f5;transition:opacity .45s ease}
.scroll-hero.has-video:not(.sequence-ready) .hero-media video{opacity:1}
.scroll-hero.sequence-ready .hero-media video{opacity:0}
.scroll-hero .hero-fallback{z-index:0;transition:opacity .45s ease,visibility .45s ease}
.scroll-hero.has-video .hero-fallback,.scroll-hero.sequence-ready .hero-fallback{opacity:0;visibility:hidden}
.scroll-hero.sequence-ready .hero-fallback{display:none}
.hero-loader{position:absolute;z-index:3;left:50%;bottom:clamp(28px,5vh,54px);width:80px;height:1px;overflow:hidden;transform:translateX(-50%);background:rgba(17,17,17,.1);transition:opacity .3s ease}
.hero-loader::after{content:"";display:block;width:45%;height:100%;background:#111;animation:hero-loading 1.2s ease-in-out infinite}
.scroll-hero.sequence-ready .hero-loader,.scroll-hero.sequence-error .hero-loader{opacity:0;pointer-events:none}
.hero-editorial{margin:clamp(16px,2.5vh,28px) 0 0;font-family:var(--serif);font-size:clamp(22px,2.5vw,38px);font-style:italic;color:#60717b}
.hero-divider{position:relative;z-index:1;height:1px;margin:0 var(--pad);background:rgba(17,17,17,.12);transform:scaleX(0);transform-origin:center;will-change:transform}
.approach{position:relative;z-index:1;background:var(--bg)}
.projects{width:100%;max-width:100vw;overflow-x:clip}
.shelf{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}
@keyframes hero-loading{0%{transform:translateX(-110%)}100%{transform:translateX(230%)}}
@media(max-width:800px){.scroll-hero__stage{min-height:620px}.scroll-hero .hero-media video{object-position:center}.hero-loader{bottom:24px}.scroll-hero__content{filter:none!important}}
@media(max-width:340px){.header{left:12px;right:auto;width:calc(100vw - 24px);max-width:calc(100vw - 24px);transform:none;overflow:hidden}.footer{grid-template-columns:1fr}.footer>div:first-child{grid-column:1}.footer a{overflow-wrap:anywhere}.cookie{width:calc(100vw - 40px);max-width:calc(100vw - 40px);min-width:0}}
@media(prefers-reduced-motion:reduce){.scroll-hero{height:auto}.scroll-hero__stage{height:100vh;height:100svh}.hero-loader{display:none}.scroll-hero.sequence-ready #heroSequenceCanvas{display:block;opacity:1}.scroll-hero.sequence-ready .hero-media video{display:none}.scroll-hero__content{opacity:1!important;transform:none!important;filter:none!important;pointer-events:auto!important}.hero-divider{transform:scaleX(1)}}
