/* A still image, a space to explore, then a story with motion and sound. */
.hero-image canvas{pointer-events:none}
.viewer-device{flex:1 0 100%;display:flex;align-items:flex-start;gap:10px 18px;flex-wrap:wrap}
.viewer-device:has(.sensor-button[hidden]){display:none}
.viewer-device .sensor-button{background:#0b2025ef;color:var(--paper);font-size:15px;line-height:1.4;min-height:44px;padding:10px 16px!important;white-space:nowrap;display:inline-flex;align-items:center;gap:9px;backdrop-filter:blur(8px)}
.viewer-device .sensor-button:before{content:'';width:13px;height:20px;border:1.5px solid currentColor;border-radius:3px;transform:rotate(-15deg);flex:none}
.viewer-device .sensor-button[aria-pressed=true]{background:var(--copper);color:var(--ink)}
.viewer-device .sensor-button[hidden]{display:none!important}
.viewer-device .sensor-status{font-size:14px;line-height:1.45;padding:10px 12px;margin:0;max-width:42ch;background:#0b2025ef;color:var(--paper);border-radius:3px}
.viewer-device .sensor-status[hidden]{display:none}
.prototype .section-top{margin-bottom:32px}.prototype .section-heading{align-items:end}
.prototype .film-meta p{max-width:750px;font-size:17px}.prototype .film-meta a{font-size:16px}
.prototype .film-privacy{font-size:14px;margin-top:16px;max-width:80ch}
.prototype .film-cover-title{font-size:clamp(28px,4vw,52px)}
.prototype .film-bar{padding-top:25px;gap:8px}.prototype .film-bar button{min-height:44px;font-size:15px}
.prototype .film-sphere{touch-action:pan-y}.prototype-player:fullscreen .film-sphere,.prototype-player.fullscreen-fallback .film-sphere{touch-action:none}
.prototype-player{scroll-margin-top:100px}
.about-layout{gap:5vw}.about-identity h2{font-size:clamp(34px,3.2vw,50px)}
.about-identity h2 i{display:inline-block;font-size:.55em;line-height:1.2;margin:12px 0}
.about-disciplines{font-size:16px;margin-top:20px}.about-copy .lead{margin-top:0}
.team-photo14{height:470px;position:relative;isolation:isolate;margin:24px 0 0;padding:20px 0 0;display:flex;justify-content:center;align-items:end}
.team-frame14{position:absolute;z-index:-1;inset:20% 12% 12%;border:1px solid #7f95856b;border-radius:24px;transform:translateY(calc(var(--photo-shift,0px) * -.5)) rotate(-7deg)}
.team-frame14:after{content:'';position:absolute;inset:-38px 25px 38px -25px;border:1px solid #a678536b;border-radius:24px;transform:rotate(16deg)}
.team-cutout14{display:block;max-width:100%;height:100%;width:auto;object-fit:contain;transform:translateY(var(--photo-shift,0px));will-change:transform}
.vr-memory14{position:relative;isolation:isolate;margin:32px 0 0;padding:14px 24px 0 0}
.vr-event14{width:80%;height:340px;overflow:hidden;background:#132d35;transform:rotate(-3deg);transform-origin:center;border:7px solid #f7f4eb}
.vr-event14>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%;transform:translateY(calc(var(--photo-shift,0px) * -.4)) scale(1.1);will-change:transform}
.vr-portrait14{position:absolute;right:-8px;bottom:46px;width:47%;height:auto;max-height:260px;object-fit:contain;object-position:bottom;transform:translateY(calc(var(--photo-shift,0px) * 1.2)) rotate(4deg);will-change:transform;mask-image:linear-gradient(#000 88%,transparent 100%)}
.vr-memory14 figcaption{position:relative;z-index:2;font-size:14px;line-height:1.6;color:#536c60;margin:24px 0 0;max-width:40ch}
@media(min-width:801px){.workflow13 figcaption>strong{display:none}}
@media(max-width:900px){.team-photo14{height:400px}.vr-event14{height:300px}.vr-portrait14{width:52%;bottom:66px}.about-layout{gap:30px}}
@media(max-width:600px){
 /* Reserve real space for title and timeline; the image stays inside the viewport. */
 .time-portal,.motion-ready:not(.reduce-motion) .time-portal{height:250svh;min-height:0}
 .portal-sticky,.motion-ready:not(.reduce-motion) .portal-sticky{position:sticky;top:var(--header-clearance,86px);height:min(680px,calc(100svh - var(--header-clearance,86px) - 14px));min-height:0;max-height:none}
 .portal-top{top:16px;left:20px;right:20px;align-items:center;gap:8px}.portal-top .eyebrow{font-size:10px;max-width:none}.portal-top>a{display:none}
 .portal-copy{left:20px;right:20px;top:47px;width:auto;max-width:none;transform:none}
 .portal-copy .tiny{font-size:11px;letter-spacing:.09em}.portal-copy h2{font-size:clamp(27px,7.4vw,36px);margin:8px 0 0;max-width:450px;line-height:1.08}.portal-copy>p{display:none}
 .portal-window{inset:158px 0 85px;clip-path:circle(var(--portal-radius,19%) at 50% 50%)}
 .portal-window:after{background:linear-gradient(0deg,#071c2255,transparent 24%,transparent 85%,#071c2255)}
 .portal-window>img{transform:none;object-position:50% 50%}
 .portal-people{top:43%;right:0;width:95%;max-height:43%;bottom:auto;transform-origin:center}
 .portal-people>img{max-height:100%;object-fit:contain}.portal-orbit{top:57%;left:50%;width:85vw}.portal-orbit.orbit-b{width:95vw;height:42vw}
 .portal-bottom{bottom:max(14px,env(safe-area-inset-bottom));left:20px;right:20px}
 .portal-scroll{font-size:10px;letter-spacing:.09em;margin:0 0 13px;line-height:1.3}.portal-scroll i{font-size:15px}
 .portal-timeline{gap:8px;padding-bottom:8px;min-width:0}.portal-timeline>span{font-size:10px;letter-spacing:0;white-space:nowrap}
 .portal-giant{display:none}.portal-static-copy{padding-top:20px}
 .viewer{height:min(740px,calc(100svh - 90px));min-height:560px}
 .viewer-bottom{left:12px;right:12px;bottom:14px;gap:10px}
 .viewer-device{gap:7px;display:block}.viewer-device .sensor-button{font-size:14px;padding:9px 12px!important;min-height:44px}
 .viewer-device .sensor-status{margin:7px 0 0;font-size:13px;max-width:100%}
 .viewer-tools{margin-left:auto}.viewer .compass{bottom:224px;right:18px}
 .viewer .drag-hint{top:48%;padding:14px 18px}.viewer .drag-hint small{font-size:13px}
 .viewer-help{margin:14px 0 0;font-size:14px}.viewer-top h3{font-size:22px}.concept-badge{max-width:105px;font-size:9px}
 .prototype .section-top{align-items:flex-start;gap:16px}.prototype .section-top .eyebrow{max-width:205px}.prototype .section-top .section-note{max-width:115px}
 .prototype .section-heading{display:block;margin-bottom:26px}.prototype .section-heading p{margin-top:20px}
 .prototype-player{aspect-ratio:1/1}.prototype .film-cover-title{bottom:12%;font-size:30px}.prototype .film-cover-title>span{font-size:13px;line-height:1.5}
 .prototype .film-meta p{font-size:16px}.prototype .film-bar button{font-size:14px;padding:8px 11px}.prototype .film-help{font-size:13px}
 .about-layout{grid-template-columns:1fr;gap:30px}.about-identity h2{font-size:36px}.team-photo14{height:430px;margin-top:12px}
 .about-copy .lead{font-size:25px}.vr-memory14{max-width:470px;margin:28px auto 0;padding-right:8px}.vr-event14{height:320px;width:78%}.vr-portrait14{right:0;width:46%;bottom:55px;max-height:240px}
 .vr-memory14 figcaption{font-size:14px;max-width:32ch}.about-credits{margin-top:34px}
 .reduce-motion .portal-sticky{position:relative!important;top:0!important;height:min(680px,calc(100svh - var(--header-clearance,86px) - 14px))!important;min-height:0!important}
 .reduce-motion .portal-window{clip-path:none!important}.reduce-motion .portal-people{display:none}
}
@media(max-width:600px) and (max-height:650px){.portal-window{inset:134px 0 77px}.portal-copy{top:40px}.portal-copy h2{font-size:27px}.portal-top{top:12px}.portal-scroll{margin-bottom:9px}.team-photo14{height:360px}}
.reduce-motion .team-cutout14,.reduce-motion .team-frame14,.reduce-motion .vr-event14>img,.reduce-motion .vr-portrait14{transform:none!important;will-change:auto}
@media(prefers-reduced-motion:reduce){.team-cutout14,.team-frame14,.vr-event14>img,.vr-portrait14{transform:none!important;will-change:auto}}
