:root{color-scheme:dark;--paper:#efebe2;--red:#b32228;--muted:#b7b2a9}*{box-sizing:border-box}html,body{margin:0;background:#070809;color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px}body{min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #eee;outline-offset:6px}#world{position:fixed;inset:0;overflow:hidden;background:#070809}.camera{position:absolute;inset:-4%;transform:translate(var(--pan-x,0),var(--pan-y,0)) scale(var(--zoom,1));transition:transform 1.8s cubic-bezier(.2,.7,.2,1);transform-origin:70% 50%}.camera img,.camera video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.camera img{object-position:65% center}.camera video{opacity:0;transition:opacity .8s;object-position:center}.camera video.loaded{opacity:1}.vignette{position:absolute;inset:0;background:linear-gradient(90deg,#050708a8,transparent 60%),linear-gradient(0deg,#050708d9,transparent 50%,#050708ba),radial-gradient(ellipse at center,transparent 25%,#0009 100%);pointer-events:none}#torch{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle 230px at var(--light-x,60%) var(--light-y,45%),transparent,#0008 85%);transition:opacity .5s}body.light-off #torch{background:#000e}#shutter{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:30;transition:opacity .3s}#shutter.closed{opacity:1}header{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;gap:24px;padding:8px 4vw;pointer-events:none}header>a,header button{pointer-events:auto}header img{width:100px;height:90px;object-fit:cover}.review{font-size:12px;letter-spacing:.14em;color:#c9c2b7}.hud-actions{margin-left:auto;display:flex;gap:25px}header button,.quiet{border:0;border-bottom:1px solid #ffffff40;background:none;color:var(--paper);padding:12px 0;font-size:14px;line-height:1.4}.quiet{display:inline-block}main{position:relative;z-index:10}.view{position:relative;min-height:100svh}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:600;color:#c7bfb3;line-height:1.5}.start-copy{padding:23svh 7vw 130px;max-width:850px}h1{font:400 clamp(72px,9vw,150px)/.95 Georgia,serif;letter-spacing:-.05em;margin:25px 0}em{color:#d34b47}.start-line{font:20px/1.5 Georgia,serif;color:#d3cbc0;margin:30px 0}.primary{background:var(--red);border:1px solid #d7636350;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:16px 24px;color:#fff;text-transform:uppercase;font-size:14px;letter-spacing:.1em;font-weight:600}.primary:hover{background:#d12c33}.start-copy .quiet{margin-left:25px}.start-bottom{position:absolute;bottom:30px;left:7vw;right:7vw;padding-top:20px;border-top:1px solid #ffffff30;font-size:12px;letter-spacing:.12em;color:#c3bcb1}.room-caption{position:absolute;bottom:115px;left:6vw;max-width:420px;text-shadow:0 3px 15px #000;pointer-events:none}.room-caption h2{font:400 clamp(32px,3.5vw,52px)/1.15 Georgia,serif;margin:12px 0}.room-caption>p:last-child{line-height:1.5;font-size:16px;color:#d6cfc3}.hotspot{position:absolute;top:43%;left:66%;display:flex;flex-direction:column;align-items:center;gap:13px;border:0;background:none;color:#fff;padding:20px;font-size:14px;text-shadow:0 2px 9px #000;letter-spacing:.04em;transition:transform .3s}.hotspot:hover{transform:scale(1.08)}.hotspot>span:last-child{background:#080a0caa;padding:9px 13px;border:1px solid #ffffff30;backdrop-filter:blur(6px)}.hotspot-dot{display:block;width:25px;height:25px;border-radius:50%;border:1px solid #fff;background:#fff3;box-shadow:0 0 0 8px #ffffff0a,0 0 30px #fff4}.secondary{top:25%;left:22%}.secondary .hotspot-dot{width:17px;height:17px;background:#b3222866}.game-bottom{position:absolute;bottom:25px;left:6vw;right:6vw;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff30;padding-top:15px}.game-bottom p{font-size:14px;color:#c3bcb1;text-align:center}#map{position:absolute;bottom:100px;right:6vw;background:#0b0e11ee;border:1px solid #ffffff35;padding:16px;display:grid;gap:10px;width:min(320px,86vw)}#map a{padding:13px;font-size:14px;border-left:2px solid #ffffff20}#map a[aria-current]{border-color:#d34b47;background:#ffffff08}#status{position:absolute;top:120px;left:6vw;font-size:14px}#encounter{position:absolute;top:38%;left:6vw;max-width:650px}#encounter p{font:400 clamp(30px,4vw,60px)/1.2 Georgia,serif;text-shadow:0 2px 15px #000;margin:0 0 32px}#encounter .quiet{display:block;width:max-content;margin-top:15px}body.cinema-mode .vignette{background:#06080bee}body.cinema-mode .camera{filter:blur(3px)}.cinema{padding:120px 7vw 35px}.cinema-head h2{font:400 clamp(24px,2.3vw,38px)/1.2 Georgia,serif;margin:12px 0}.cinema-head>p:last-child{font-size:13px;color:var(--muted)}.film-stage{display:grid;grid-template-columns:minmax(180px,290px) 1fr;gap:5vw;align-items:center;max-width:1100px;margin:30px auto 20px;min-height:420px;animation:arrival .55s ease-out}.film-stage>img{width:100%;max-height:440px;object-fit:contain;filter:drop-shadow(0 15px 40px #000)}.film-copy h3{font:400 clamp(32px,4.5vw,74px)/1.03 Georgia,serif;margin:18px 0;text-wrap:balance}.film-copy #film-original{font-size:16px;color:var(--muted)}#film-tagline{font:22px/1.45 Georgia,serif;max-width:580px;color:#d7cec1}.film-actions{display:flex;align-items:center;gap:24px;margin-top:26px}.film-controls{display:flex;align-items:center;justify-content:center;gap:35px;font-size:13px;letter-spacing:.12em}#film-strip{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}#film-strip button{border:1px solid #ffffff20;background:#ffffff06;color:#b7b2a9;padding:10px 13px;font-size:12px;line-height:1.4;max-width:200px}#film-strip button[aria-current]{color:#fff;border-color:#b32228;background:#b3222825}.cinema-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:25px}.cinema-footer p{font-size:12px;color:var(--muted);max-width:450px;line-height:1.5}dialog{background:#0c0d0f;color:var(--paper);border:1px solid #ffffff30;width:min(1050px,94vw);padding:24px;max-height:90svh}dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.dialog-head h2{font-size:20px;line-height:1.3;margin:0}.dialog-head button{border:0;background:none;color:var(--paper);padding:12px;font:inherit}#detail-content>img{width:100%;max-height:72svh;object-fit:contain}.film-detail{display:grid;grid-template-columns:minmax(160px,.8fr) 1.2fr;gap:30px}.film-detail>img{width:100%;height:auto;align-self:start}.tagline{font:30px/1.2 Georgia,serif}.synopsis{font-size:16px;line-height:1.7;color:#c6bfb5}.film-detail dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#b7b2a9;margin-top:22px}.film-detail dd{margin:6px 0;font-size:16px;line-height:1.5}.provisional{font-size:13px;line-height:1.5;color:var(--muted)}.trailer-frame{width:100%;aspect-ratio:16/9;border:0;background:#000}.trailer-fallback{font-size:14px;line-height:1.6;color:#b7b2a9}.trailer-fallback a{border-bottom:1px solid #b7b2a9;color:#fff}.original-title{color:var(--muted)}[hidden]{display:none!important}@keyframes arrival{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(max-width:600px){header{gap:10px;padding:5px 5vw}header img{width:64px;height:70px}.review{font-size:10px;max-width:76px;line-height:1.5}.hud-actions{gap:12px}header button{font-size:12px}.start-copy{padding:26svh 6vw 125px}h1{font-size:clamp(68px,17vw,100px)}.start-line{font-size:18px;max-width:280px}.start-copy .quiet{display:block;width:max-content;margin:20px 0 0}.start-bottom{font-size:10px;line-height:1.7}.hotspot{left:55%;top:34%;padding:10px;max-width:170px;font-size:13px}.secondary{left:8%;top:53%}.room-caption{bottom:130px;left:6vw;max-width:85vw}.room-caption h2{font-size:32px}.room-caption>p:last-child{font-size:14px;max-width:290px}.game-bottom p{font-size:12px;max-width:140px}.game-bottom{gap:15px}.game-bottom .quiet{font-size:13px}#torch{background:radial-gradient(circle 180px at var(--light-x,60%) var(--light-y,45%),transparent,#000a 100%)}#encounter{top:38%;right:6vw}#encounter p{font-size:32px}.cinema{padding:110px 6vw 25px}.cinema-head h2{font-size:25px}.film-stage{grid-template-columns:110px 1fr;gap:22px;min-height:240px;margin-top:25px;align-items:start}.film-copy h3{font-size:28px;margin:12px 0}.film-copy .eyebrow{font-size:10px;letter-spacing:.1em}.film-stage>img{max-height:200px}.film-copy #film-original{font-size:13px}#film-tagline{font-size:17px}.film-actions{flex-wrap:wrap;gap:12px;margin-top:15px}.film-actions .primary{font-size:12px;padding:12px;min-height:44px}.film-actions .quiet{font-size:13px;padding:8px 0}#film-strip{justify-content:flex-start;gap:8px}#film-strip button{font-size:10px;max-width:170px;padding:10px}.cinema-footer{display:block}.cinema-footer p{font-size:12px}.film-detail{grid-template-columns:1fr}.film-detail>img{width:200px;margin:auto}.tagline{font-size:26px}dialog{padding:16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

@media(max-width:600px){body.father-mode .camera img{object-position:75% center}}

#father-presence{display:none;pointer-events:none}body.father-mode #father-presence{display:block;mask-image:linear-gradient(90deg,transparent 48%,#000 65%);transform-origin:75% 75%;animation:father-breathe 5.5s ease-in-out infinite;will-change:transform}body.father-mode .camera{animation:chapel-drift 14s ease-in-out infinite}body.father-mode #door .hotspot-dot{animation:presence-pulse 3s ease-in-out infinite}body.father-mode.father-alert #father-presence{animation:father-warning 1.6s ease-out forwards}body.father-mode.father-alert .vignette{animation:warning-light 1.6s ease-out}body.father-mode.father-alert .camera{animation:none}@keyframes father-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.009)}}@keyframes chapel-drift{0%,100%{filter:brightness(.94)}50%{filter:brightness(1.04)}}@keyframes presence-pulse{0%,100%{box-shadow:0 0 0 8px #ffffff0a,0 0 30px #fff4}50%{box-shadow:0 0 0 13px #ffffff04,0 0 44px #bb333366}}@keyframes father-warning{0%{transform:scale(1)}35%{transform:translateY(-5px) scale(1.025)}100%{transform:scale(1.015)}}@keyframes warning-light{0%,100%{opacity:1}20%{opacity:.5}24%{opacity:1}30%{opacity:.65}}

body.father-mode #environment{visibility:hidden}body.father-mode #father-presence{mask-image:none}

.father-choices{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}#encounter{top:22%;max-width:560px}#encounter p{font-size:clamp(26px,3.5vw,48px);max-width:520px}#encounter .primary{margin-top:20px}body.father-mode .room-caption{max-width:350px}body.father-mode:has(#encounter:not([hidden])) .room-caption{display:none}#father-replay{font-size:12px!important;color:#c1b8aa}@media(max-width:600px){#encounter{top:22%;padding:18px;background:linear-gradient(90deg,#050708db,#05070899);border-left:1px solid #ffffff30}.father-choices{display:grid;gap:7px}#encounter .quiet{margin:0;padding:10px 0}#encounter p{font-size:28px;margin-bottom:12px}#encounter .primary{font-size:12px;padding:14px}body.father-mode #look{top:75%;left:55%}}

:root{--display:Impact,'Arial Narrow','Helvetica Neue',sans-serif}h1,.room-caption h2,.cinema-head h2,.film-copy h3,.dialog-head h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.035em;font-style:normal}h1{line-height:.9;letter-spacing:.015em;font-size:clamp(84px,11vw,175px);text-shadow:0 3px 25px #0005}h1 em{font-style:normal}.room-caption h2{font-size:clamp(38px,4.5vw,68px);line-height:1}.cinema-head h2{font-size:clamp(32px,3.5vw,48px)}.film-copy h3{font-size:clamp(42px,5.3vw,84px);line-height:.98}#encounter p,.start-line,#film-tagline,.tagline{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:300;letter-spacing:.005em}#encounter p{line-height:1.15}.eyebrow{letter-spacing:.22em}@media(max-width:600px){h1{font-size:clamp(76px,20vw,110px)}.room-caption h2{font-size:39px}.film-copy h3{font-size:32px}.cinema-head h2{font-size:32px}#encounter p{font-size:28px}}

/* The label identity remains part of the journey from threshold to catalogue. */
.brand-divider{color:#d34b47;margin:0 .5em}.brand-intro{max-width:440px;color:#e2dad0;font-size:15px;line-height:1.65;margin:0 0 26px;text-shadow:0 2px 12px #000}.brand-intro strong,.cinema-footer strong{color:#fff;font-weight:600}.cinema-head .catalogue-intro{font-size:15px;line-height:1.6;color:#e2dad0;max-width:620px;margin:10px 0}.cinema-head>p:last-child{margin-top:8px}@media(max-width:600px){.start-copy{padding-top:20svh;padding-bottom:135px}.brand-intro{font-size:14px;line-height:1.5;max-width:340px;margin-bottom:20px}.start-line{margin:20px 0}.cinema-head .catalogue-intro{font-size:14px}}

/* Corporate identity as part of the house, from threshold to collection. */
.header-signature{font-size:10px;letter-spacing:.16em;color:#ded8cf;line-height:1.5}.header-signature span{color:#b94d4b;margin:0 .3em}.review{font-size:10px;color:#a79f95}.brand-intro{display:flex;gap:16px;align-items:stretch;max-width:445px;margin:0 0 27px}.brand-intro p{margin:0}.brand-rule{width:2px;flex:none;background:#ad3537;opacity:.9}.label-story{position:relative;display:grid;grid-template-columns:minmax(150px,1fr) minmax(250px,2fr);gap:5vw;max-width:1100px;margin:90px auto 35px;padding:38px 0 42px;border-top:1px solid #ffffff38;border-bottom:1px solid #ffffff20}.label-mark{font-size:10px;letter-spacing:.22em;line-height:1.8;color:#a9a199;display:flex;flex-direction:column}.label-mark:before{content:"";width:28px;height:2px;background:#b32228;margin-bottom:19px}.label-copy h2{font:400 clamp(30px,4vw,54px)/1.05 var(--display);text-transform:uppercase;letter-spacing:.035em;margin:16px 0}.label-copy>p:last-child{max-width:580px;color:#d1c9be;font-size:15px;line-height:1.7;margin:0}.label-number{position:absolute;right:0;top:40px;color:#77716b;font-size:10px;letter-spacing:.16em}@media(max-width:600px){.header-signature{font-size:9px;letter-spacing:.09em;max-width:125px}.review{display:none}.brand-intro{gap:12px}.label-story{grid-template-columns:1fr;gap:20px;margin-top:60px;padding:28px 0 32px}.label-mark{font-size:9px}.label-mark:before{margin-bottom:12px}.label-copy h2{font-size:34px}.label-copy>p:last-child{font-size:14px}.label-number{top:28px}}

header img{width:125px;height:112px;object-fit:contain}.label-copy>p:not(.eyebrow){max-width:580px;color:#d1c9be;font-size:15px;line-height:1.7;margin:0 0 14px}.label-copy>p:last-child{margin-bottom:0}@media(max-width:600px){header img{width:82px;height:82px}.label-copy>p:not(.eyebrow){font-size:14px}}

header{background:linear-gradient(180deg,#070809ed 0%,#070809b8 65%,transparent 100%)}

.header-signature{display:flex;align-items:center;gap:8px;pointer-events:auto}.header-signature button{color:#ded8cf;border:0;border-bottom:1px solid #ffffff55;font-size:10px;letter-spacing:.13em;text-align:left;line-height:1.35;padding:12px 0}.header-signature button:hover{color:#fff;border-color:#c34b4a}.header-signature span{margin:0;color:#b94d4b}.about-panel{max-width:710px;padding:20px 0 28px;border-top:1px solid #ffffff30}.about-panel h3{font:400 clamp(32px,5vw,62px)/1.02 var(--display);text-transform:uppercase;letter-spacing:.035em;margin:18px 0 24px}.about-panel p:not(.eyebrow){color:#d1c9be;font-size:16px;line-height:1.7;max-width:610px}@media(max-width:600px){.header-signature{max-width:none;display:grid;gap:0;flex:1;align-content:center}.header-signature span{display:none}.header-signature button{font-size:9px;letter-spacing:.08em;min-height:34px;padding:7px 0;width:max-content;max-width:100%}.about-panel{padding:12px 0 20px}.about-panel h3{font-size:36px}.about-panel p:not(.eyebrow){font-size:15px}.hud-actions{margin-left:0}}

@media(max-width:600px){body.father-mode #look{top:46%;left:6%}body.father-mode:has(#encounter:not([hidden])) #look{top:auto;bottom:105px;left:auto;right:6%}#encounter{max-height:calc(100svh - 190px);overflow-y:auto;overscroll-behavior:contain}}

@media(max-width:600px){.secondary{top:42%}body.father-mode #look{top:42%}}

.coming-soon{max-width:1100px;margin:40px auto 55px;padding:28px 0 32px;border-top:1px solid #ffffff38;border-bottom:1px solid #ffffff20}.coming-soon h3{font:400 clamp(32px,4vw,52px)/1 var(--display);text-transform:uppercase;letter-spacing:.04em;margin:12px 0}.coming-soon>p:not(.eyebrow){color:#c7bfb3;line-height:1.5}.coming-films{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.coming-card{display:flex;align-items:center;text-align:left;gap:20px;background:#ffffff08;border:1px solid #ffffff26;color:#fff;padding:12px;min-width:0}.coming-card:hover{border-color:#b94d4b;background:#ffffff10}.coming-card img{width:95px;height:135px;object-fit:contain;background:#08090a}.coming-card span{display:grid;gap:10px}.coming-card strong{font:400 clamp(22px,2.5vw,38px)/1 var(--display);letter-spacing:.04em}.coming-card small,.film-status{color:#f0b5ad;font-size:11px;letter-spacing:.13em;font-weight:700;line-height:1.5}.film-status{display:inline-block;border-left:2px solid #b32228;padding-left:10px;margin:0 0 12px}.film-stage{scroll-margin-top:120px}@media(max-width:600px){.coming-soon{margin:28px auto 38px;padding:24px 0}.coming-films{gap:8px}.coming-card{display:grid;gap:10px;padding:10px}.coming-card img{width:100%;height:155px}.coming-card strong{font-size:23px}.coming-card small,.film-status{font-size:10px}.film-stage{scroll-margin-top:100px}}
