:root{--paper:#f0eee8;--ink:#1d1c19;--muted:#918d83;--rust:#c99870;--line:#d9d4c9}
html{scroll-padding-top:70px}
.cinema-nav{position:fixed;height:76px;padding:0 clamp(22px,5.4vw,96px);border:0;color:#eee9df;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .5s,transform .5s,visibility .5s;background:linear-gradient(#080908a6,transparent);pointer-events:none}
.cinema-nav.nav-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.cinema-nav .brand,.cinema-nav nav a,.cinema-nav .quiet-button{color:#eee9df}
.cinema-nav .quiet-button{border-color:#ffffff3b}
.cinema-hero{position:relative;isolation:isolate;min-height:680px;height:100svh;max-height:1120px;overflow:hidden;display:grid;place-items:center;background:#080908;color:#f4efe7;padding:clamp(112px,16vh,168px) 8vw clamp(90px,12vh,118px)}
.film-image,.film-vignette,.opening-shade{position:absolute;inset:0;pointer-events:none}
.ambient-film{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48;pointer-events:none}.cinema-hero.has-ambient-film .film-image{opacity:0}
.film-image{z-index:-3;background-image:linear-gradient(90deg,#080908ed 0%,#080908a8 43%,#08090848 100%),url('./assets/film-poster-placeholder.svg');background-size:cover;background-position:center 53%;transform:scale(1.045);animation:filmReveal 2.8s cubic-bezier(.2,.65,.25,1) both;filter:saturate(.72)}
.film-vignette{z-index:-2;background:radial-gradient(ellipse at 68% 47%,transparent 15%,#08090870 79%,#080908 130%),linear-gradient(0deg,#080908 0%,transparent 27%,transparent 80%,#0809086b 100%)}
.opening-meta,.opening-footer{position:absolute;left:clamp(24px,5.4vw,96px);right:clamp(24px,5.4vw,96px);display:flex;justify-content:space-between;align-items:center;color:#c4bcb0;font-size:9px;letter-spacing:.19em;text-transform:uppercase}
.opening-meta{top:clamp(28px,5vh,54px)}.opening-meta span:first-child{color:#e7d9c5}.opening-center{position:relative;width:min(1120px,100%);padding-left:clamp(0px,4vw,68px);margin-top:1vh;animation:copyRise 1.8s .25s both}
.film-kicker{display:flex;align-items:center;gap:14px;color:#d5b895;font:500 9px var(--sans);letter-spacing:.29em;margin:0 0 26px}.film-kicker i{display:block;width:22px;height:1px;background:#d5b89583}
.opening-center h1{color:#f3eee5;font:400 clamp(42px,6.1vw,84px)/1.34 var(--serif);letter-spacing:.085em;margin:0 0 22px;text-shadow:0 5px 36px #0008}.opening-center h1 em{font-style:normal;color:#d9c2a4}
.opening-subtitle{color:#d0c8bc;font:400 clamp(12px,1.13vw,15px)/2.1 var(--serif);letter-spacing:.045em;margin:0 0 35px}
.opening-actions{display:flex;align-items:center;gap:28px}.film-button{display:flex;align-items:center;gap:13px;text-align:left;background:transparent;color:#f3eee5;border:0;padding:0}.film-button .play-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e1c9a45e;border-radius:50%;padding-left:3px;font-size:11px;transition:background .28s,border-color .28s,transform .28s}.film-button:hover .play-icon{background:#d0b28a26;border-color:#d0b28a;transform:scale(1.06)}.film-button b,.film-button small{display:block}.film-button b{font:500 11px var(--sans);letter-spacing:.05em}.film-button small{margin-top:6px;color:#a7a095;font:10px var(--sans)}
.enter-button{display:flex;align-items:center;gap:15px;color:#d1c8bb;background:none;border:0;border-bottom:1px solid #d7c8b365;padding:10px 0;font:11px var(--sans);letter-spacing:.09em;transition:color .25s,border-color .25s}.enter-button i{font-style:normal;font-size:17px;transition:transform .25s}.enter-button:hover{color:#fff;border-color:#e7d8c0}.enter-button:hover i{transform:translateY(4px)}
.film-frame{position:absolute;z-index:-1;right:clamp(38px,9vw,166px);top:50%;width:min(35vw,560px);aspect-ratio:16/9;transform:translateY(-54%);border:1px solid #e7d2b42b;box-shadow:0 24px 110px #0009;opacity:.78;background-image:linear-gradient(90deg,#09090921,#09090900),url('./assets/film-poster-placeholder.svg');background-size:cover;background-position:center;animation:frameReveal 2.2s .35s both}
.frame-corner{position:absolute;width:17px;height:17px;border-color:#e3c5a1a1}.frame-tl{top:-1px;left:-1px;border-left:1px solid;border-top:1px solid}.frame-tr{top:-1px;right:-1px;border-right:1px solid;border-top:1px solid}.frame-bl{bottom:-1px;left:-1px;border-left:1px solid;border-bottom:1px solid}.frame-br{bottom:-1px;right:-1px;border-right:1px solid;border-bottom:1px solid}.frame-label,.frame-hint{position:absolute;left:18px;color:#eee4d4b0;font:8px var(--sans);letter-spacing:.2em}.frame-label{top:17px}.frame-label b{color:#d8ac7a}.frame-hint{bottom:17px;letter-spacing:.08em}
.opening-footer{bottom:29px;border-top:1px solid #ffffff28;padding-top:14px;color:#aaa398;font-size:8px;letter-spacing:.16em}.opening-footer .scroll-cue{color:#dbd2c5}.scroll-cue i{font-style:normal;margin-left:8px;font-size:13px}
.opening-shade{z-index:8;background:#050605;opacity:0;visibility:hidden;transition:opacity .55s,visibility .55s}.cinema-hero.intro-black .opening-shade{opacity:1;visibility:visible}.cinema-hero.intro-black .opening-center,.cinema-hero.intro-black .opening-meta,.cinema-hero.intro-black .opening-footer,.cinema-hero.intro-black .film-frame{opacity:0}
.film-chapter{display:flex;align-items:center;justify-content:center;gap:clamp(28px,7vw,114px);padding:72px 7vw 76px;background:#eae7df;color:#25231f}.film-chapter>div{display:flex;flex-direction:column;gap:9px}.film-chapter strong{font:400 clamp(25px,3.3vw,42px) var(--serif);letter-spacing:.04em}.film-chapter .plus{font:400 .55em var(--sans);color:#ad7759}.film-chapter span:not(.plus){font-size:10px;color:#817d73;letter-spacing:.12em}.film-chapter>i{height:46px;border-left:1px solid #c8c1b5}.film-chapter .chapter-title{margin-left:clamp(0px,5vw,82px)}.film-chapter .chapter-title .eyebrow{color:#a9684e;margin:0;font-size:8px}.film-chapter .chapter-title p{font:400 clamp(16px,1.8vw,22px)/1.8 var(--serif);margin:0}
.film-dialog{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#030403f5;padding:clamp(14px,4vw,56px);animation:dialogIn .35s both}.film-dialog.hidden{display:none}.film-dialog-close{position:absolute;top:clamp(16px,4vw,42px);right:clamp(16px,4vw,48px);width:42px;height:42px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff0b;color:#f2ede3;font:28px var(--sans);z-index:2}.film-dialog-content{position:relative;width:min(1120px,100%);aspect-ratio:16/9;background:#080908;box-shadow:0 24px 100px #000b}.film-dialog video{display:block;width:100%;height:100%;object-fit:contain;background:#080908}.film-pending{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;text-align:center;background:radial-gradient(ellipse at 50% 48%,#352a20,#10100e 52%,#080908 82%);color:#ede5d8}.film-pending span{color:#c3986e;font:9px var(--sans);letter-spacing:.27em}.film-pending h2{font:400 clamp(19px,3vw,30px) var(--serif);margin:20px 0 12px}.film-pending p{font:12px/1.9 var(--serif);color:#c1b8aa;margin:0}.film-pending code{color:#e0c6a2;font:11px var(--sans)}.film-pending small{color:#817b70;font:9px var(--sans);margin-top:16px}.film-pending.is-hidden{display:none}
.journey-transition{position:fixed;inset:0;z-index:25;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#090a09;color:#eee6d8;opacity:0;visibility:hidden;pointer-events:none}.journey-transition.active{opacity:1;visibility:visible;animation:transitionCurtain 1.35s cubic-bezier(.76,0,.24,1) both}.journey-transition span{font:400 clamp(17px,2vw,25px) var(--serif);letter-spacing:.13em}.journey-transition i{margin-top:16px;color:#c3a987;font:9px var(--sans);letter-spacing:.25em;font-style:normal}
.film-playing .cinema-hero{filter:brightness(.35);transition:filter .5s}
@keyframes filmReveal{0%{opacity:0;transform:scale(1.1)}100%{opacity:1;transform:scale(1.045)}}@keyframes copyRise{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}@keyframes frameReveal{0%{opacity:0;transform:translate(18px,-52%)}100%{opacity:.78;transform:translate(0,-54%)}}@keyframes transitionCurtain{0%{opacity:0;clip-path:inset(50% 0 50%)}18%{opacity:1}70%{opacity:1;clip-path:inset(0)}100%{opacity:0;visibility:hidden;clip-path:inset(0)}}@keyframes dialogIn{from{opacity:0}to{opacity:1}}
.journey.section{background:#f0eee8;color:#282721}.journey .section-heading h2{color:#282721}.journey .gallery-lede{color:#76736b}.journey .gallery-toolbar{background:#f0eee8f2}.quote-band{background:#e7e2d9}.notes{background:#f0eee8}footer{background:#f0eee8}
@media(max-width:900px){.cinema-hero{padding-left:7vw;padding-right:7vw}.film-frame{right:5vw;width:40vw;opacity:.48}.film-image{background-position:60% center}.opening-center{padding-left:0}.opening-center h1{font-size:clamp(44px,7vw,72px)}.opening-center{max-width:700px}}
@media(max-width:640px){.cinema-nav{height:62px}.cinema-hero{min-height:650px;height:100svh;max-height:none;padding:100px 25px 105px;align-items:center}.film-image{background-image:linear-gradient(180deg,#08090868 0%,#08090860 27%,#080908df 72%,#080908 100%),url('./assets/film-poster-placeholder.svg');background-position:55% center;transform:scale(1.02)}.film-vignette{background:linear-gradient(0deg,#080908 1%,#08090830 48%,#0809084d 100%)}.opening-meta{left:25px;right:25px;top:24px;font-size:7px;letter-spacing:.13em}.opening-meta span:last-child{font-size:7px}.opening-center{align-self:end;margin:0;padding:0 0 3vh}.film-kicker{font-size:8px;margin-bottom:18px}.opening-center h1{font-size:clamp(39px,10vw,58px);line-height:1.45;letter-spacing:.055em;margin-bottom:15px}.opening-subtitle{font-size:12px;line-height:1.9;margin-bottom:24px}.opening-actions{align-items:flex-start;flex-direction:column;gap:20px}.film-button .play-icon{width:38px;height:38px}.enter-button{padding:8px 0}.film-frame{top:31%;right:7vw;width:68vw;transform:translateY(-50%);opacity:.7}.frame-label{top:10px;left:11px;font-size:7px}.frame-hint{left:11px;bottom:10px;font-size:7px}.opening-footer{left:25px;right:25px;bottom:19px;padding-top:11px;font-size:7px;letter-spacing:.09em}.opening-footer>span:first-child{display:none}.film-chapter{justify-content:space-between;gap:13px;padding:36px 24px}.film-chapter>i{height:35px}.film-chapter strong{font-size:25px}.film-chapter span:not(.plus){font-size:8px;letter-spacing:.07em}.film-chapter .chapter-title{margin-left:0}.film-chapter .chapter-title .eyebrow{font-size:7px}.film-chapter .chapter-title p{font-size:12px;line-height:1.7}.film-dialog{padding:18px}.film-dialog-content{aspect-ratio:16/9;max-height:75svh;width:min(100%,calc(100vw - 36px))}.film-dialog video{max-height:75svh}.film-pending h2{font-size:20px}.film-pending p{font-size:11px}.film-pending small{padding:0 18px;line-height:1.7}.journey.section{padding-top:70px}}
@media(max-width:380px){.opening-center h1{font-size:36px}.opening-subtitle{font-size:11px}.film-frame{width:72vw}.film-chapter{padding-left:17px;padding-right:17px}.film-chapter strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.film-image,.opening-center,.film-frame{animation:none!important;transform:none}.journey-transition.active{animation:none;opacity:1;visibility:visible}.film-dialog{animation:none}}

/* The movie is the primary clickable cover; a still is extracted from the
   real cut when no hand-picked cover frame has been supplied. */
.opening-center{z-index:2;max-width:700px}
.opening-subtitle{margin-bottom:16px}
.film-story-note{max-width:430px;margin:0 0 24px;color:#c8beaf;font:400 clamp(10px,.9vw,12px)/1.85 var(--serif);letter-spacing:.025em}
.film-story-note span{display:block;color:#d9b48c;font:500 8px var(--sans);letter-spacing:.2em;margin-bottom:4px}
.film-frame{z-index:1;right:clamp(34px,6vw,110px);width:min(39vw,650px);overflow:hidden;opacity:1;background:#080908;animation:frameReveal 2.2s .35s both}
.film-cover{position:absolute;z-index:1;inset:0;width:100%;height:100%;padding:0;overflow:hidden;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
.film-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .35s}
.film-cover:hover>img{transform:scale(1.045);opacity:1}
.film-cover:focus-visible{outline:2px solid #f3d3a9;outline-offset:-5px}
.film-frame.has-loop .film-cover>img{opacity:0}
.cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0708075c 0%,transparent 34%,#08090824 55%,#080908c9 100%);transition:background .3s}
.film-cover:hover .cover-shade{background:linear-gradient(180deg,#07080735 0%,#08090812 45%,#080908de 100%)}
.film-cover .frame-label,.film-cover .frame-hint{z-index:2;left:18px}
.cover-play{position:absolute;z-index:2;left:50%;top:52%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;white-space:nowrap}
.cover-play>i{display:grid;place-items:center;width:56px;height:56px;border:1px solid #f5e9d8d9;border-radius:50%;padding-left:3px;background:#090a096e;backdrop-filter:blur(9px);font-size:13px;font-style:normal;transition:background .25s,transform .25s}
.cover-play b,.cover-play small{display:block}.cover-play b{font:500 12px var(--sans);letter-spacing:.07em}.cover-play small{margin-top:6px;color:#e4d8c8;font:9px var(--sans);letter-spacing:.06em}
.film-cover:hover .cover-play>i{transform:scale(1.08);background:#b9875b70}
.opening-actions .enter-button{margin-top:0}
.cinema-hero.intro-black .film-frame{opacity:0}
.ambient-film{z-index:0;opacity:.95}

/* Geo-photo atlas: the dots are loaded from uploaded GPS metadata. */
.globe-view{grid-template-columns:minmax(0,1fr) 225px;gap:28px}
.globe-stage{height:clamp(450px,68vh,690px);overflow:hidden;border:1px solid #25251f;background:radial-gradient(ellipse at 50% 48%,#181916 0%,#0b0c0b 72%);}
#globeCanvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}
#globeCanvas:active{cursor:grabbing}
.globe-halo{width:min(64%,540px);height:auto;aspect-ratio:1;border-color:#d9bb9440;box-shadow:0 0 90px #bf98631a;left:50%;top:52%}
.globe-caption{z-index:2;left:30px;top:27px;bottom:auto;gap:9px}
.globe-caption .eyebrow{color:#c49d71;font-size:8px}
.globe-caption strong{color:#eee8df;font:400 17px/1.65 var(--serif)}
.globe-hint,.globe-count{color:#a7a194;font-size:9px;line-height:1.7}
.globe-count{color:#d0b38e;letter-spacing:.06em}
.globe-coords{z-index:2;color:#c0b7a8;font-size:8px}
.globe-controls{position:absolute;z-index:4;right:18px;top:18px;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid #ffffff2a;background:#11120fbd;backdrop-filter:blur(12px)}
.globe-controls button{min-width:35px;height:32px;padding:0 9px;border:0;background:transparent;color:#eee8dc;font:13px var(--sans)}
.globe-controls button:hover{background:#ffffff19}.globe-controls #globeReset{font-size:8px;letter-spacing:.03em}
.globe-detail{position:absolute;z-index:5;left:18px;right:auto;bottom:18px;width:min(440px,calc(100% - 36px));padding:15px 17px 14px;border:1px solid #ffffff28;background:#10110fe8;color:#f1ebe2;backdrop-filter:blur(16px);box-shadow:0 18px 50px #0008;animation:viewerIn .25s both}
.globe-detail-close{position:absolute;right:10px;top:8px;border:0;background:none;color:#d4ccbf;font-size:21px}
.globe-detail-heading{display:flex;align-items:baseline;gap:12px;padding-right:24px}.globe-detail-heading strong{font:500 13px var(--serif)}.globe-detail-heading span{color:#b4a995;font-size:8px;letter-spacing:.05em}
.globe-photo-strip{display:flex;gap:8px;overflow-x:auto;padding:12px 0 2px;scrollbar-width:thin;scrollbar-color:#796b58 transparent}
.globe-photo{position:relative;flex:0 0 76px;height:62px;padding:0;overflow:hidden;border:1px solid #ffffff25;background:#222;color:white;cursor:pointer}
.globe-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.globe-photo:hover img{transform:scale(1.06)}
.globe-photo span{position:absolute;inset:auto 0 0;background:#070807b8;padding:4px 3px;text-align:center;font:7px var(--sans)}
.globe-status{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);max-width:70%;padding:10px 15px;background:#0809089e;color:#e6ddcf;text-align:center;font:10px/1.7 var(--sans);pointer-events:none}
.place-list{max-height:clamp(450px,68vh,690px);overflow-y:auto;align-content:start;border-top:1px solid #d9d4c9}
.place-list button{gap:10px;padding:13px 3px;font-size:11px}.place-list button span{white-space:nowrap;font-size:9px}
.place-list button.active{color:#ac6648}.globe-no-data{padding:18px 0;color:#827e74;font:10px/1.7 var(--sans)}
@media(max-width:900px){.film-frame{right:4vw;width:39vw}.opening-center{max-width:62%}.film-story-note{max-width:100%}}
@media(max-width:640px){.opening-center{max-width:100%;z-index:2}.film-frame{right:7vw;top:23%;width:70vw;transform:translateY(-50%);opacity:1}.film-story-note{font-size:9px;line-height:1.7;margin-bottom:15px}.film-story-note span{font-size:7px}.opening-subtitle{font-size:11px;margin-bottom:10px}.opening-center h1{font-size:clamp(37px,9.5vw,54px);margin-bottom:11px}.opening-actions{gap:10px}.cover-play{gap:9px}.cover-play>i{width:42px;height:42px;font-size:11px}.cover-play b{font-size:10px}.cover-play small{font-size:7px}.film-cover .frame-label,.film-cover .frame-hint{left:10px}.film-cover .frame-label{top:9px;font-size:7px}.film-cover .frame-hint{bottom:9px;font-size:7px}.globe-view{grid-template-columns:1fr;gap:18px}.globe-stage{height:470px}.globe-caption{left:17px;top:18px}.globe-caption strong{font-size:14px}.globe-hint,.globe-count{font-size:8px}.globe-controls{right:10px;top:10px;gap:1px}.globe-controls button{min-width:30px;height:29px;padding:0 7px}.globe-detail{left:10px;bottom:10px;width:calc(100% - 20px);padding:12px}.globe-photo{flex-basis:68px;height:56px}.place-list{max-height:220px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.place-list button{font-size:10px;padding:11px 1px}}
@media(max-width:380px){.opening-center h1{font-size:34px}.film-frame{width:72vw}.globe-stage{height:430px}.cover-play small{display:none}}
@media(prefers-reduced-motion:reduce){.film-cover>img,.cover-play>i{transition:none!important}.globe-detail{animation:none}}
