.page-stack{position:relative;isolation:isolate;background:#101114;overflow:visible}
.page-stack-layer{position:sticky;top:var(--pin-top,0px)}
.page-stack-layer:last-child{position:relative;top:auto}
.page-stack-surface{position:relative;transform-origin:center center}
.page-stack-shade{position:absolute;inset:0;opacity:0;background:#08090b;pointer-events:none}
.has-page-stack .page-stack-content{position:relative!important;top:auto!important;z-index:auto!important;margin-top:0;margin-bottom:0}
.has-page-stack .page-stack-content>.stack-shade{display:none!important}
.has-page-stack .page-stack-content [data-stack-surface]{transform:none!important}
.stack-disabled .page-stack-layer{position:relative;top:auto}.stack-disabled .page-stack-surface{transform:none!important}.stack-disabled .page-stack-shade{display:none}
@media(prefers-reduced-motion:reduce){.page-stack-layer{position:relative;top:auto}.page-stack-surface{transform:none!important}.page-stack-shade{display:none}}
/* A complete chapter occupies the viewport; native snapping settles between chapters. */
html:has(.has-page-stack){scroll-snap-type:none;scroll-padding-top:0}
.page-stack-layer{min-height:100svh;scroll-snap-align:none;scroll-margin-top:0;overflow-anchor:none}
.page-stack-surface{min-height:100svh}
.has-page-stack .page-stack-content{min-height:100svh;box-sizing:border-box}
.has-page-stack .page-stack-content.page-intro,
.has-page-stack .page-stack-content.home-expertise,
.has-page-stack .page-stack-content.home-studio,
.has-page-stack .page-stack-content.editorial-content,
.has-page-stack .page-stack-content.process-section{display:flex;flex-direction:column;justify-content:center}
.has-page-stack .page-stack-content.faq-section{align-content:center}
.has-page-stack .page-stack-content.contact-page{align-content:center}
.has-page-stack .image-stream{height:100svh;min-height:100svh}
.has-page-stack.inner-page>.site-header{left:0;right:auto;width:100%;box-sizing:border-box}
@media(prefers-reduced-motion:reduce){html:has(.has-page-stack){scroll-snap-type:none}}
html:has(.has-page-stack.motion-paused){scroll-snap-type:none}
/* Keep the first and final cards readable within the available screen. */
.page-progress{display:none!important}
.has-page-stack .footer-panel{min-height:calc(100svh - 28px);box-sizing:border-box}
@media(min-width:1000px){
 .has-page-stack .hero-surface{height:100svh;min-height:720px}
 .has-page-stack .hero-identity{top:23%}
 .has-page-stack .hero h1{font-size:clamp(72px,min(7.1vw,13svh),124px)}
 .has-page-stack .hero-rail{top:20%;width:clamp(220px,18vw,280px);gap:18px}
 .has-page-stack .hero-rail .bracket-panel{padding:18px}
 .has-page-stack .bali-panel h2{font-size:clamp(38px,5.6svh,56px);margin:14px 0;line-height:1.03}
 .has-page-stack .bali-panel p{font-size:14px;line-height:1.5}
 .has-page-stack .bali-signature{margin-top:16px}
 .has-page-stack .bali-panel .text-link{margin-top:16px}
 .has-page-stack .site-footer{padding:14px}
 .has-page-stack .footer-panel{display:flex;flex-direction:column;justify-content:space-between;padding:24px 30px 20px;gap:12px}
 .has-page-stack .footer-brand img{width:auto;height:clamp(55px,8svh,80px);max-width:100%;object-fit:contain}
 .has-page-stack .footer-main{padding:clamp(12px,3svh,30px) 0 0;align-items:center}
 .has-page-stack .footer-callout .display{font-size:clamp(54px,min(6vw,10svh),100px)}
 .has-page-stack .footer-wordmark{font-size:clamp(90px,min(16vw,28svh),260px);margin:0;line-height:1}
 .has-page-stack .footer-bottom{margin:0}
}
@media(max-width:700px){.has-page-stack .footer-panel{min-height:calc(100svh - 16px)}}
/* Let long mobile chapters read naturally instead of snapping mid-content. */
@media(max-width:700px){html:has(.has-page-stack){scroll-snap-type:none}.page-stack-layer{scroll-snap-align:none}}
