/* A single perspective camera passes through a real, clear window opening. */
.hero{height:560svh;position:relative;isolation:isolate;background:#e7e5df}
.depth-stage{position:sticky;top:105px;height:calc(100svh - 105px);overflow:hidden;background:#e7e5df}
.scene-viewport{position:absolute;inset:0;overflow:hidden}
.room-canvas,.scene-fallback{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.room-canvas{opacity:0}.scene-ready .room-canvas{opacity:1}.scene-ready .scene-fallback{visibility:hidden}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#f3f4f4f5,#f3f4f4e8 23%,#f3f4f400 65%);pointer-events:none}
.depth-copy{position:absolute;left:var(--gutter);top:10%;z-index:3;max-width:880px}
.depth-copy .eyebrow{font-size:10px;letter-spacing:.10em;margin-bottom:25px;color:var(--blue)}
.depth-copy h1{font-family:DIN,Plex,sans-serif;font-size:clamp(64px,6.5vw,106px);line-height:.95;letter-spacing:-.035em;color:var(--blue);font-weight:700}
.depth-copy h1 em{color:var(--blue)}
.depth-description{font-size:18px;color:#33485e;margin-top:24px}
.depth-copy .button{margin-top:23px;font-size:13px;min-height:52px}
.chapter-note{position:absolute;z-index:3;bottom:84px;left:var(--gutter);width:310px;background:#183a6ff5;color:white;padding:21px 24px;opacity:0}
.chapter-number{font-size:10px;letter-spacing:.12em}.chapter-description{font-size:18px;line-height:1.4;color:white;margin-top:12px}.chapter-note>a{display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:11px;margin-top:17px;font-size:12px}
.depth-floor{position:absolute;bottom:0;left:0;right:0;display:flex;gap:30px;align-items:center;padding:12px var(--gutter);background:#f3f4f4ed;font-size:9px;letter-spacing:.09em;color:var(--blue)}
.depth-floor>a{display:flex;align-items:center;gap:13px}.depth-floor>a span{display:grid;place-items:center;font-size:20px;width:30px;height:30px;border:1px solid #183a6f66;border-radius:50%}.depth-floor>span{margin-left:auto;font-size:9px}
.depth-progress{width:150px;height:2px;background:#183a6f30}.depth-progress i{display:block;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}
.static-story{display:none}.intro{position:relative;background:var(--paper);z-index:2}
@media(max-width:1100px){.depth-copy h1{font-size:7vw}.depth-copy{max-width:550px}.chapter-note{width:280px}}
@media(max-width:820px){.hero{height:490svh}.depth-stage{top:86px;height:calc(100svh - 86px)}.scene-viewport{top:31%;bottom:52px}.hero-shade{background:linear-gradient(#f3f4f4 0%,#f3f4f4 23%,#f3f4f400 65%)}.depth-copy{top:25px;left:24px;right:24px;max-width:none}.depth-copy h1{font-size:clamp(40px,7vw,65px);line-height:.95}.depth-copy h1 br:nth-of-type(2){display:none}.depth-copy h1 em::before{content:' '}.depth-copy .eyebrow{font-size:8px;margin-bottom:14px}.depth-description{font-size:13px;margin-top:12px}.depth-copy .button{min-height:40px;padding:10px 16px;font-size:11px;margin-top:12px}.chapter-note{top:24px;bottom:auto;left:24px;right:24px;width:auto;padding:15px 20px}.chapter-description{font-size:17px;margin-top:7px}.chapter-note>a{margin-top:10px;padding-top:8px}.depth-floor{padding:10px 24px;flex-wrap:wrap;gap:6px 16px}.depth-floor>a{font-size:7px}.depth-floor>a span{height:23px;width:23px;font-size:16px}.depth-floor>span{font-size:7px;width:100%;margin-left:0}.depth-progress{width:55px;margin-left:auto}}
@media(max-width:420px){.depth-copy .eyebrow{font-size:7px;letter-spacing:.06em}.depth-copy h1{font-size:10.5vw}.scene-viewport{top:35%}.chapter-description{font-size:16px}.depth-stage{min-height:620px}}
@media(prefers-reduced-motion:reduce){.hero{height:auto}.depth-stage{position:relative;top:0;height:760px;max-height:none}.static-story{display:block;padding:45px var(--gutter);background:#e9edf0}.static-story ol{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:26px;margin:25px 0 0}.static-story li{flex:1 1 150px;font-size:14px}.static-story strong{display:block;color:var(--blue);margin-bottom:6px}.depth-progress,.chapter-note{display:none!important}.depth-copy,.hero-shade{opacity:1!important}}
.static-mode.hero{height:auto}.static-mode .depth-stage{position:relative;top:0;height:760px}.static-mode .static-story{display:block;padding:40px var(--gutter)}.static-mode .chapter-note{display:none}.static-mode .depth-copy,.static-mode .hero-shade{opacity:1!important}

/* Progressive enhancement: a slow image request never creates a long blank journey. */
.hero.is-pending{height:auto}.is-pending .depth-stage{position:relative;top:0}
.depth-floor,.depth-floor>span{font-size:11px;letter-spacing:.055em}
@media(max-width:820px){.depth-floor>a,.depth-floor>span{font-size:10px}.depth-floor{min-height:62px}.scene-viewport{bottom:62px}.chapter-note{box-shadow:0 8px 24px #1329420c}.chapter-number{font-size:11px}}
@media(max-height:500px) and (orientation:landscape){.hero{height:auto!important}.depth-stage{position:relative;top:0;height:590px;min-height:590px}.scene-viewport{top:0;bottom:62px}.depth-copy{top:36px;max-width:60%}.depth-copy h1{font-size:44px}.depth-copy .eyebrow{font-size:8px;max-width:320px}.depth-description{font-size:14px}.depth-copy .button{min-height:44px}.hero-shade{background:linear-gradient(90deg,#f3f4f4f5,#f3f4f4d9 40%,#f3f4f400 90%)}.depth-copy,.hero-shade{opacity:1!important}.chapter-note{display:none!important}.static-story{display:block;padding:32px var(--gutter)}.static-story ol{display:flex;flex-wrap:wrap;gap:20px;padding:0;list-style:none}.static-story li{flex:1 1 150px;font-size:14px}.static-story strong{display:block}}

@media(max-width:580px){.scene-viewport{top:27%}.chapter-note{top:18px;padding:12px 16px}.chapter-description{font-size:15px;line-height:1.35}.chapter-note>a{margin-top:8px;padding-top:7px}.chapter-number{font-size:10px}}

.is-pending .static-story{display:block;padding:35px var(--gutter);background:#e9edf0}.is-pending .static-story ol{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:26px;margin:25px 0 0}.is-pending .static-story li{flex:1 1 150px;font-size:14px}.is-pending .static-story strong{display:block;color:var(--blue);margin-bottom:6px}.is-pending .depth-progress{visibility:hidden}
@media(max-width:580px){.scene-viewport{top:24%}}
