/* Readable baseline. Pinning is enabled only after measuring content fit. */
:root{--scene-block-size:calc(100svh - var(--header-height) - 64px);--chapter-track-size:180svh;scroll-padding-top:var(--header-height)}
.site-header{background:var(--night)}
@supports(height:100dvh){:root{--room-block-size:100dvh;--scene-block-size:calc(100dvh - var(--header-height) - 64px);--chapter-track-size:180dvh}}
.room,.room--entrance,.room--contact{display:block;min-height:0;margin:0;padding:0;overflow:visible;scroll-margin-top:0;border:0;background:transparent}
.room::before{display:none}
.room__stage{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:36px 5vw;min-height:var(--room-block-size);height:auto;padding:calc(var(--header-height) + 32px) 6vw 32px;overflow:visible;background:radial-gradient(ellipse at 78% 52%,#4f3938,#33232f 39%,#211722 76%);border-top:1px solid var(--frame);--scene-scale:1;--scene-shift:0px;--copy-shift:0px;--portal-scale:1;--story-progress:0}
.room:not(.room--entrance)>.room__stage{padding-top:32px;min-height:calc(var(--room-block-size) - var(--header-height))}
.hero-copy{position:relative;left:auto;top:auto;width:100%;max-width:530px}
.hero-portal,.room__scene,.room--contact .room__scene--colophon{position:relative;inset:auto;width:100%;height:var(--scene-block-size);min-height:220px;aspect-ratio:auto;margin:0;overflow:hidden;opacity:1;pointer-events:auto;border:1px solid var(--frame);transform:none}
.hero-portal{grid-column:2;grid-row:1;--doorway-color:var(--red)}
.room-scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(var(--scene-scale,1));transform-origin:center}
.room__scene figcaption,.hero-portal__caption{position:absolute;inset:auto 0 0;display:block;padding:14px 16px;margin:0;background:#211722f5;color:var(--paper);font:12px/1.5 Arial,sans-serif}
.room__scene figcaption span{display:block}
.media-watermark{position:absolute;z-index:4;left:12px;right:12px;top:12px;width:max-content;max-width:calc(100% - 24px);padding:9px 12px;background:#17121af2;border:1px solid #c6a365;color:#fff9ec;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.06em;pointer-events:none}
.media-watermark>span{display:block;font-size:10px;letter-spacing:.02em;font-weight:400}
.hero-portal .doorway-target{position:absolute;left:var(--target-x,73%);top:var(--target-y,49%);width:150px}
.hero-portal .doorway-link.hero-portal__door{position:absolute;left:var(--keyhole-x,73%);top:var(--keyhole-y,49%);width:96px;min-width:0;transform:translate(-50%,-50%);z-index:3}
.hero-portal__door .doorway-aperture{width:100%;transform:none!important}
.hero-portal__label{padding:6px 8px;background:#211722ed;bottom:-36px;font-size:10px;white-space:nowrap}
.portal-still-label{display:none}
.journey-footer{display:none;position:relative;inset:auto;grid-column:1/-1;margin:0;font-size:12px}
.journey-footer__chapters{white-space:normal}
.owner-stations{inset:auto 12px 78px;gap:8px}
.owner-station{min-height:110px;background:#211722e8;padding:8px;font-size:11px}
.owner-station__seal{width:42px}
.room--contact>.room__stage{align-items:start}
.room--contact .contact-form-wrap{grid-column:2;grid-row:1 / span 2;align-self:start}
.room--contact .room__scene--colophon{grid-column:1;grid-row:2}
.room--contact .doorway-link{grid-column:1/-1;justify-self:start}
.honeypot[hidden]{display:none!important}
.doorway-frame{position:relative;display:block;width:90px;height:144px;flex:none;overflow:hidden;border:4px double var(--doorway-color);background:repeating-linear-gradient(90deg,#382635 0 13px,#49332e 14px 17px);box-shadow:inset 0 0 0 6px #211722,0 0 12px color-mix(in srgb,var(--doorway-color) 25%,transparent)}
.doorway-frame>.doorway-aperture{position:absolute;left:var(--keyhole-x,50%);top:var(--keyhole-y,50%);width:30px;transform:translate(-50%,-50%)!important;z-index:2}
.doorway-frame>.doorway-target{left:var(--target-x,50%);top:var(--target-y,50%);width:52px;z-index:1}
.doorway-link--orange .doorway-frame{border-radius:45px 45px 0 0;background:repeating-linear-gradient(90deg,#74452f 0 12px,#39272b 13px 15px)}
.doorway-link--yellow .doorway-frame{width:102px;background:linear-gradient(90deg,#534334 48%,#c6a365 49% 51%,#534334 52%);border-width:6px}
.doorway-link--green .doorway-frame{border-style:solid;background:linear-gradient(145deg,#42624b,#213a31);border-radius:2px}
.doorway-link--blue .doorway-frame{border-radius:38px 38px 3px 3px;background:repeating-linear-gradient(0deg,#24354b 0 25px,#60768a 26px 28px)}
.doorway-link--indigo .doorway-frame{border-width:3px 9px;background:linear-gradient(90deg,#322e59 48%,#746c9b 49% 51%,#322e59 52%)}
.doorway-link--violet .doorway-frame{border-radius:16px 16px 0 0;background:repeating-linear-gradient(45deg,#52324c 0 10px,#302332 11px 13px)}
.doorway-outline{display:none}
.doorway-aperture::after{content:"";position:absolute;inset:0;background:var(--doorway-color);mask:var(--keyhole-outline-image) center/100% 100% no-repeat;-webkit-mask:var(--keyhole-outline-image) center/100% 100% no-repeat;pointer-events:none}
.doorway-link{margin-top:22px;min-height:154px;gap:20px}
.doorway-link__label{max-width:240px}

/* Only wide, fitting, motion-enabled stages use overlapping native-scroll tracks. */
:root.story-enabled{scroll-padding-top:0}
.story-enabled .room:not(.room--contact){min-height:var(--chapter-track-size)}
.story-enabled .room + .room{margin-top:calc(-1 * var(--room-block-size))}
.story-enabled .room{scroll-margin-top:0}
.story-enabled .room__stage{position:sticky;top:0;height:var(--room-block-size);min-height:var(--room-block-size)}
.story-enabled .room:not(.room--contact)>.room__stage{padding-top:calc(var(--header-height) + 32px);min-height:var(--room-block-size)}
.story-enabled .room.is-current{z-index:2}
.story-enabled .room--contact>.room__stage{position:relative;height:auto}
.story-enabled .journey-footer{display:none}
.story-enabled .room__stage>.room__content{transform:translateY(var(--copy-shift,0px))}
.portal-transition{position:fixed;z-index:20;inset:0;visibility:hidden;opacity:0;pointer-events:none}
.portal-transition.is-active{visibility:visible}
.portal-transition__aperture{position:absolute;inset:0;overflow:hidden;mask-image:var(--keyhole-mask-image);mask-repeat:no-repeat;mask-position:calc(var(--portal-origin-x) - var(--portal-mask-width)/2) calc(var(--portal-origin-y) - var(--portal-head-offset));mask-size:var(--portal-mask-width) var(--portal-aperture-size);-webkit-mask-image:var(--keyhole-mask-image);-webkit-mask-repeat:no-repeat;-webkit-mask-position:calc(var(--portal-origin-x) - var(--portal-mask-width)/2) calc(var(--portal-origin-y) - var(--portal-head-offset));-webkit-mask-size:var(--portal-mask-width) var(--portal-aperture-size);background:var(--night)}
.portal-transition__art{position:absolute;inset:0;overflow:hidden}
.portal-transition__room.room__stage{position:absolute!important;inset:0!important;min-height:var(--room-block-size);height:var(--room-block-size);margin:0;pointer-events:none}
.portal-transition__room .room-scene-image{transform:none!important}
.portal-transition__room .journey-footer{display:none}
.portal-transition__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.portal-transition.has-video .portal-transition__video{display:block}
.motion-preview-note{display:block;margin:8px 0;color:var(--brass-light);font:12px Arial,sans-serif}

@media(max-width:1200px){.journey-status{display:none}.site-header{grid-template-columns:1fr auto;gap:16px;padding-inline:24px}.brand-name{font-size:19px}.chapter-link{padding-inline:8px;font-size:11px}.room__stage{gap:28px 4vw;padding-inline:5vw}h2{font-size:46px}}
@media(max-width:820px){
 :root{--header-height:72px}
 .site-header{grid-template-columns:1fr auto;padding-inline:16px}.brand-name{font-size:18px}.brand-mark{width:42px}.chapter-toggle{grid-column:2;grid-row:1}
 .chapter-menu{grid-column:1/-1;grid-row:2;display:flex;justify-content:flex-start;overflow:auto;padding:8px;background:var(--night)}.chapter-menu[hidden]{display:none!important}
 .js-enabled .chapter-menu:not([hidden]){position:absolute;top:var(--header-height);left:12px;right:12px;flex-direction:column;align-items:stretch;max-height:calc(100svh - var(--header-height) - 12px);border:1px solid var(--brass)}
 .chapter-link{min-height:44px;padding:14px 10px}.chapter-link+.chapter-link{border-left:0}.js-enabled .chapter-link+.chapter-link{border-top:1px solid var(--frame)}
 .room__stage{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:calc(var(--header-height) + 24px) 22px 32px;height:auto}
 .room:not(.room--entrance)>.room__stage{padding-top:24px}
 .room__stage>*{order:0!important}.hero-portal{grid-column:auto;grid-row:auto}.room--entrance .hero-portal{order:1!important}.journey-footer{order:2!important;display:block}.journey-rule,.journey-footer__chapters{display:none}
 .hero-copy{padding:0;max-width:600px}.hero-copy h1{font-size:clamp(48px,10vw,68px)}.hero-actions{gap:16px}
 .room__scene,.hero-portal,.room--contact .room__scene--colophon{height:var(--scene-block-size);min-height:180px;flex:none}
 .room--contact .contact-form-wrap,.room--contact .room__scene--colophon{grid-column:auto;grid-row:auto}
 .contact-paths a{align-items:flex-start;flex-direction:column;gap:4px}.contact-paths a span:last-child{text-align:left}
 .room h2{font-size:clamp(36px,8vw,52px)}.owner-stations{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-station{min-height:72px;flex-direction:row}.owner-station__seal{width:32px}
 .site-footer{grid-template-columns:1fr;padding:28px 22px}.site-footer small{grid-column:auto}
 .portal-editor{right:12px;top:84px}.pathways-grid{grid-template-columns:1fr}.pathway-link:nth-last-child(-n+2){border-bottom:1px solid var(--frame)}.pathway-link:last-child{border-bottom:0}
}
@media(max-width:390px){.brand-name{font-size:15px}.brand-mark{width:30px}.brand{gap:7px}.chapter-toggle{padding-inline:8px;gap:12px}.contact-form-wrap{padding:20px 16px}}
@media(orientation:landscape) and (max-width:820px){.owner-stations{grid-template-columns:repeat(4,minmax(0,1fr))}.owner-station{min-height:50px;flex-direction:column}.owner-station__seal{display:none}.media-watermark{font-size:10px;padding:6px 8px}.room__scene figcaption,.hero-portal__caption{padding:8px 12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.room__content,.room-scene-image,.doorway-aperture{transform:none!important}}
