/* Photographed rooms are the canvas; source-coordinate locks drive the camera. */
:root{--chapter-track-size:240svh}
html,body,#journey,.room{overflow-anchor:none}
@supports(height:100dvh){:root{--chapter-track-size:240dvh}}
.room__stage,.room:not(.room--entrance)>.room__stage{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;padding:calc(var(--header-height) + 48px) 5vw 80px;min-height:100svh;background:var(--night);overflow:hidden}
.hero-portal,.room__scene,.room--contact .room__scene--colophon{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;border:0;box-shadow:none;aspect-ratio:auto;overflow:visible;transform:translate(var(--camera-x,0px),var(--camera-y,0px)) scale(var(--camera-scale,1));transform-origin:var(--lock-x,75%) var(--lock-y,45%);transition:none;pointer-events:none}
.room-scene-image{inset:auto;left:var(--image-x,0);top:var(--image-y,0);width:var(--image-width,100%);height:var(--image-height,100%);max-width:none;object-fit:cover;transform:none!important}
.room__stage::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#100b14d9 0%,#100b1470 37%,transparent 65%);pointer-events:none;opacity:var(--copy-opacity,1)}
.hero-copy,.room__content{position:relative;inset:auto;width:min(38vw,520px);max-width:none;z-index:3;padding:24px;background:#17121adc;border-left:1px solid var(--brass);opacity:var(--copy-opacity,1);transform:none!important}
.room h2{font-size:clamp(36px,3.8vw,58px)}
.hero-copy h1{font-size:clamp(52px,4.7vw,68px)}
.room__content>p:not(.eyebrow):not(.status-pill),.hero-intro{font-size:16px;line-height:1.5}
.room__lead{font-size:18px!important}
.eyebrow{font-size:10px;margin-bottom:14px}
.pathways-grid{gap:12px;margin:18px 0 0}.pathway-link{grid-template-columns:1fr auto;gap:6px}.pathway-link__mark{display:none}
.journey-footer{display:none!important}
.room__scene figcaption,.hero-portal__caption{display:none}
.media-watermark{position:fixed;top:auto;bottom:18px;left:18px;z-index:4;font-size:10px;padding:6px 10px}
.room__stage>.media-watermark{position:absolute}
.owner-stations{display:none}
/* The interactive target remains at least 44px, while its visible aperture matches the lock. */
figure .doorway-link[data-doorway],figure.hero-portal .doorway-link.hero-portal__door{position:absolute;left:var(--lock-x);top:var(--lock-y);width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;aspect-ratio:auto;transform:translate(-50%,-50%);pointer-events:auto;display:block;max-width:none;z-index:3}
figure .doorway-frame{display:contents}
figure .doorway-link .doorway-aperture,figure.hero-portal .doorway-link.hero-portal__door .doorway-aperture{position:absolute;left:50%;top:50%;height:var(--lock-height);width:calc(var(--lock-height)*140/302);transform:translate(-50%,-50%)!important;aspect-ratio:140/302}
figure .doorway-window{inset:0}
figure .doorway-target,figure .portal-halo,figure .doorway-link__arrow{display:none!important}
figure .doorway-link__label,figure .hero-portal__label{position:absolute;left:50%;top:calc(100% + 10px);bottom:auto;transform:translateX(-50%);width:max-content;max-width:200px;padding:7px 11px;background:#17121aed;border:1px solid var(--brass);font:10px/1.4 Arial,sans-serif;text-align:center;opacity:var(--copy-opacity,1);white-space:normal}
figure .doorway-link__label strong{font-size:12px}
.story-enabled .room__stage,.story-enabled .room:not(.room--contact)>.room__stage{position:sticky;top:0;height:var(--room-block-size);min-height:var(--room-block-size);padding-top:calc(var(--header-height) + 32px)}
.story-enabled .room__stage:focus-within .room__content,.story-enabled .room__stage:focus-within .hero-copy{opacity:1}
.room--contact>.room__stage,.story-enabled .room--contact>.room__stage{position:relative;height:auto;min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.room--contact .room__content,.room--contact .contact-form-wrap{width:min(38vw,520px)}.room--contact .contact-form-wrap{background:#17121aee}
.portal-transition__room .hero-copy,.portal-transition__room .room__content,.portal-transition__room .contact-form-wrap{opacity:var(--arrival-copy,0)!important}
.portal-transition__room::after{opacity:var(--arrival-copy,0)}
.portal-transition__room figure{transform:scale(var(--arrival-scale,1))!important;transform-origin:center}
.portal-transition__room .doorway-link{opacity:var(--arrival-copy,0)}
.portal-transition__room .media-watermark{display:none}
.site-header{background:#17121aee}
.journey-media-credit{position:fixed;z-index:25;bottom:16px;left:16px;padding:7px 10px;background:#17121af2;border:1px solid var(--brass);font:700 10px/1.4 Arial,sans-serif;pointer-events:none}
.journey-media-credit span{display:block;font-size:10px;font-weight:400}
.js-enabled .media-watermark{display:none}
:root:not(.js-enabled) figure .doorway-link,:root:not(.js-enabled) figure.hero-portal .doorway-link.hero-portal__door{left:auto;top:auto;right:30px;bottom:90px;transform:none;background:#17121a;border:1px solid var(--brass);--lock-height:32px}
@media(max-width:820px){
 .room__stage,.room:not(.room--entrance)>.room__stage{position:relative;padding:calc(var(--header-height) + 110px) 20px 100px;justify-content:flex-end;min-height:100svh}
 .hero-copy,.room__content{width:100%;padding:20px;background:#17121aeb}
 .room h2{font-size:36px}.hero-copy h1{font-size:48px}.hero-copy h1 span{display:inline}.hero-copy h1 span+span::before{content:" "}
 .room__content>p:not(.eyebrow):not(.status-pill),.hero-intro{font-size:15px}.room__lead{font-size:17px!important}
 .story-enabled .room__stage,.story-enabled .room:not(.room--contact)>.room__stage{padding-top:calc(var(--header-height) + 50px);justify-content:flex-end}
 .room--contact>.room__stage,.story-enabled .room--contact>.room__stage{display:flex;flex-direction:column;height:auto;gap:24px}
 .room--contact .room__content,.room--contact .contact-form-wrap{width:100%}.pathways-grid{grid-template-columns:1fr 1fr}
 .media-watermark{bottom:12px;left:12px;max-width:calc(100% - 24px)}
}
@media(prefers-reduced-motion:reduce){:root:not(.story-enabled) .room__scene,:root:not(.story-enabled) .hero-portal{transform:none!important}}
