/* One continuous room, with scroll-controlled framing and chapter reveals. */
html{scroll-padding-top:0}.journey{height:660svh;position:relative}.journey-anchor{position:absolute;width:1px;height:1px;pointer-events:none}.journey .origin{position:sticky;top:0;height:100svh;min-height:0;max-height:none}.room-camera{position:absolute;inset:0;z-index:-3;transform-origin:center;will-change:transform}.room-camera .origin-image{z-index:0}.room-camera .monitor-screen{z-index:1}.journey .origin:after{pointer-events:none}.journey-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#08151cee 0%,#08151c85 43%,#08151c08 75%);opacity:0;pointer-events:none}.journey .origin-foot{padding-bottom:80px}.journey .origin-media-controls{bottom:106px}.journey .masthead{z-index:5}.journey .origin-copy{position:relative}.journey-scene{position:absolute;inset:100px 0 92px;display:flex;align-items:center;padding:0 max(52px,calc((100vw - 1200px)/2));opacity:0;visibility:hidden;pointer-events:none;will-change:opacity,transform;gap:6vw}.journey-scene.is-current{visibility:visible;pointer-events:auto}.scene-copy{width:40%;max-width:480px;flex-shrink:0}.scene-eyebrow{font-size:11px;letter-spacing:.05em;color:#eac482;margin-bottom:24px}.scene-copy h2{font-size:clamp(42px,4.7vw,72px);line-height:1.06;letter-spacing:-.045em;margin-bottom:25px;text-wrap:balance}.scene-copy>p:not(.scene-eyebrow){font-size:15px;color:#d1dada;line-height:1.8;max-width:360px}.scene-link{background:transparent;color:#f4debc;font-size:13px;border-bottom:1px solid #d4bd9277;padding:12px 0;margin-top:12px;text-align:left;display:inline-flex;gap:25px;align-items:center}.scene-link:hover{color:#fff;border-color:#fff}.scene-note{display:block;font-size:10px;color:#a5b9c2;margin-top:22px;max-width:270px}.scene-book .scene-copy{margin-left:auto}.scene-book{background:linear-gradient(270deg,#08151cd9,transparent 65%)}.monitor-door{position:absolute;left:61%;top:58%;background:#08151caf;border:1px solid #d9e8d97a;border-radius:30px;padding:10px 18px;color:#fff;font-size:12px;backdrop-filter:blur(10px);display:flex;align-items:center;gap:12px}.monitor-door span{font-size:22px}.journey-project{width:58%;background:none;padding:0;transform:perspective(1200px) rotateY(-8deg);text-align:left;box-shadow:0 30px 100px #0006}.journey-project img{width:100%;max-height:56svh;object-fit:contain;object-position:top;background:#0d1a21;border:1px solid #ffffff26}.project-caption{display:block;padding:12px 0;font-size:10px;color:#ced7da}.journey-portrait{width:47%;max-width:490px;margin:0 0 0 auto}.journey-portrait img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:50%;background:#dcded3}.journey-portrait figcaption{font-size:11px;color:#bfd0d3;text-align:center;padding-top:20px}.scene-copy .personal-line{font-size:12px!important;padding-top:22px;margin-top:15px;border-top:1px solid #cad7db30}.scene-hello{font-size:13px;color:#f1d29f;display:inline-block;padding:8px 0}.journey-nav{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:24px;align-items:center;z-index:6;padding:14px 24px 18px;background:#091921c9;backdrop-filter:blur(16px);border:1px solid #b7d9cd30;border-radius:4px;white-space:nowrap;overflow:hidden}.journey-nav a{font-size:11px;color:#a1b4bb;padding:6px 0;transition:color .2s}.journey-nav a[aria-current]{color:#f4d59d}.journey-progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background:#eac482;transform:scaleX(0);transform-origin:left}.scroll-invitation{position:absolute;bottom:42px;right:35px;font-size:10px;color:#bac6cb;pointer-events:none}.journey .origin-copy,.journey .origin-foot,.journey .origin-media-controls{will-change:opacity}
@media(min-width:781px) and (max-height:700px){.scene-copy h2{font-size:42px}.scene-copy>p:not(.scene-eyebrow){font-size:13px}.scene-eyebrow{margin-bottom:12px}.scene-copy h2{margin-bottom:15px}.scene-copy .personal-line{padding-top:10px;margin-top:8px}.journey .masthead{height:75px}.journey-scene{inset:85px 0 85px}}
@media(max-width:900px){.scroll-invitation{display:none}.journey-scene{padding-inline:32px;gap:30px}.scene-copy{width:45%}.scene-copy h2{font-size:44px}.scene-copy>p:not(.scene-eyebrow){font-size:13px}.journey-project{width:52%}}
@media(max-width:780px){.journey{height:600svh}.journey .origin-image{height:100%;object-position:65% 50%}.journey .room-camera{inset:0}.journey .origin:after{background:linear-gradient(180deg,#08131ddd,transparent 70%,#08131de6)}.journey .origin-copy{align-items:flex-start;padding-top:35px}.journey .origin h1{font-size:44px}.journey .origin-description{font-size:12px;max-width:290px;line-height:1.7}.journey .origin-foot{display:none}.journey .origin-media-controls{bottom:95px}.journey-scene{inset:100px 0 95px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-inline:25px;gap:22px}.scene-copy{width:100%;max-width:480px}.scene-copy h2{font-size:40px;margin-bottom:18px}.scene-copy>p:not(.scene-eyebrow){font-size:13px;max-width:350px;line-height:1.7}.scene-eyebrow{font-size:9px;margin-bottom:16px}.scene-book .scene-copy{margin:0}.scene-book{background:linear-gradient(180deg,#08151caa,transparent)}.scene-films{justify-content:flex-start;padding-top:28px}.monitor-door{top:auto;bottom:10%;left:auto;right:25px}.scene-work,.scene-now{gap:20px}.journey-project{width:100%;max-width:410px;transform:none}.journey-project img{max-height:28svh;object-fit:cover;object-position:top}.project-caption{font-size:9px;padding:7px 0}.journey-portrait{position:absolute;width:100px;right:25px;top:0}.journey-portrait figcaption{display:none}.scene-now{justify-content:center;padding-top:65px}.scene-now h2{font-size:38px}.scene-now .scene-eyebrow{max-width:200px}.journey-nav{bottom:22px;width:calc(100% - 30px);gap:0;justify-content:space-between;padding:10px 13px 13px}.journey-nav a{font-size:9px;min-height:36px;display:flex;align-items:center}.scene-link{font-size:12px;margin-top:2px}.scene-note{font-size:9px}.journey-shade{background:linear-gradient(180deg,#08151cdd 10%,#08151c55 80%)}.journey .masthead{height:80px}.journey .container{width:calc(100% - 50px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.room-camera,.journey-scene,.journey-project{transform:none!important}.journey-nav{backdrop-filter:none}.cursor{animation:none}}
/* Clipping must not create an inner scroll container when chapter links receive focus. */
.journey .origin{overflow:clip}.scene-films .scene-copy h2{font-size:clamp(40px,4.3vw,64px)}
.journey-portrait img,.journey-project img{height:auto}
