/* One immutable architectural photograph, isolated panel-colour layers. */
.cinema{height:auto;min-height:0;--hero-reveal:0;--hero-shade:1}
.cinema.hero-ready{height:310svh;min-height:1780px}
.cinema-stage{height:100svh;min-height:700px;position:sticky;top:0;background:#082b47}
.hero-photo-scene{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-photo-frame{position:absolute;right:calc(var(--hero-reveal)*5%);top:calc(var(--hero-reveal)*13%);--study-width:min(70vw,87svh);width:calc(100% - var(--hero-reveal)*(100% - var(--study-width)));height:calc(100% - var(--hero-reveal)*(100% - var(--study-width)*.666667));overflow:hidden;background:#102d3c;outline:1px solid #f3f0e845;box-shadow:0 18px 60px #020d1640;transform:perspective(1800px) rotateY(calc((1 - var(--hero-reveal))*-2deg));transform-origin:60% 50%;will-change:width,height,top,right}
.hero-photo-frame>img,.hero-photo-frame canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
#hero-colour-layers{position:absolute;inset:0}#hero-colour-layers canvas{opacity:0;will-change:opacity}
.hero-photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,#041928d9,transparent 80%),linear-gradient(0deg,#041928eb,transparent 65%);opacity:calc(1 - var(--hero-reveal));pointer-events:none}
.hero-frame-label,.hero-frame-note{position:absolute;left:18px;font-size:7px;letter-spacing:1.4px;background:#082b47dd;color:#f3f0e8;padding:9px 11px;opacity:var(--hero-reveal);pointer-events:none}
.hero-frame-label{top:16px}.hero-frame-note{bottom:16px;font-size:6px;letter-spacing:1px}
.cinema-title{opacity:calc(1 - var(--hero-reveal));transform:translateY(calc(var(--hero-reveal)*-24px));pointer-events:none;right:5%}
.cinema-title .eyebrow{max-width:500px}.cinema-title h1{max-width:820px}
.cinema-top,.scene-edge,.cinema-bottom{z-index:4}.scene-edge{z-index:3}.cinema-top{pointer-events:none}
.cinema .scene-caption{left:7%;right:7%;bottom:100px;display:grid;grid-template-columns:160px minmax(0,1fr) 270px;gap:28px;align-items:center}
.hero-colour-name{display:flex;flex-direction:column;gap:10px}.cinema .scene-words{font-size:clamp(42px,5vw,74px);letter-spacing:-.04em;line-height:1}
#hero-colour-hex{font-size:9px;letter-spacing:2px;color:#c9d0cf}.cinema .scene-caption p{font-size:11px;line-height:1.7;margin:0;white-space:pre-line}
.cinema .scene-caption>span:first-child{min-width:0;font-size:7px;line-height:1.7}
.cinema-bottom .scene-disclaimer{font-size:6px;max-width:260px;text-align:right;line-height:1.5}
@media(min-width:1100px){.cinema.hero-ready .cinema-stage{min-height:720px}}
@media(max-width:1000px){.cinema .scene-caption{grid-template-columns:130px 1fr;gap:20px}.cinema .scene-caption p{display:none}.hero-photo-frame{--study-width:min(84vw,87svh)}}
@media(max-width:700px){.cinema.hero-ready{height:280svh;min-height:1635px}.cinema-stage{height:100svh;min-height:650px}.hero-photo-frame{--study-width:min(90vw,60svh);right:calc(var(--hero-reveal)*(50% - var(--study-width)*.5));top:calc(var(--hero-reveal)*32%);width:calc(100% - var(--hero-reveal)*(100% - var(--study-width)));height:calc(100% - var(--hero-reveal)*(100% - var(--study-width)*.666667));transform:none}.hero-photo-frame>img,.hero-photo-frame canvas{object-position:40% 50%}.hero-frame-label{top:8px;left:8px;font-size:5px;letter-spacing:.6px;padding:5px 7px}.hero-frame-note{bottom:8px;left:8px;font-size:4px;letter-spacing:.6px;padding:5px 7px}.cinema-title{left:8%;top:14%;right:5%;opacity:calc(1 - var(--hero-reveal));transform:translateY(calc(var(--hero-reveal)*-16px))}.cinema-title h1{font-size:15vw;max-width:100%}.cinema .scene-caption{left:8%;right:8%;bottom:86px;display:block}.cinema .scene-caption>span:first-child{font-size:6px;margin-bottom:9px}.cinema .scene-words{font-size:clamp(34px,10vw,50px)}.hero-colour-name{gap:8px}#hero-colour-hex{font-size:7px;letter-spacing:1.5px}.cinema .scene-caption p{display:none}.cinema-bottom{bottom:28px}.cinema-bottom .scene-disclaimer{display:none}}
@media(max-width:700px) and (min-height:850px){.hero-photo-frame{top:calc(var(--hero-reveal)*34%)}.cinema .scene-caption{bottom:105px}}
@media(max-height:550px) and (min-width:701px){.cinema-stage{min-height:550px}.hero-photo-frame{--study-width:65vw;top:calc(var(--hero-reveal)*15%);height:calc(100% - var(--hero-reveal)*45%)}.cinema .scene-caption{bottom:75px}.cinema .scene-words{font-size:38px}.cinema-title h1{font-size:70px}.cinema-top{top:32px}.cinema-bottom{bottom:25px}}
@media(prefers-reduced-motion:reduce){.cinema.hero-ready{height:auto;min-height:0}.cinema-stage{position:relative}.hero-photo-frame{right:0;top:0;width:100%;height:100%;transform:none;will-change:auto}.hero-photo-shade{opacity:1}.hero-frame-label,.hero-frame-note{display:none}.cinema-title{opacity:1;transform:none!important;animation:none}.cinema .scene-caption{display:none}.scene-progress{display:none}#hero-colour-layers canvas{will-change:auto}}
.hero-side-caption{position:absolute;left:7%;top:27%;width:26%;color:#f3f0e8;opacity:var(--hero-reveal);transform:translateY(calc((1 - var(--hero-reveal))*18px));pointer-events:none}.hero-side-caption>span{font-size:6px;letter-spacing:1.5px;color:#dca165}.hero-side-caption p{font-size:clamp(20px,2.6vw,38px);line-height:1.15;letter-spacing:-.04em;margin:26px 0}.hero-side-caption em{font-family:Bodoni,serif;font-size:1.23em;font-style:normal}.hero-side-caption i{display:block;height:1px;background:#dca165;width:38px;margin:24px 0}.hero-side-caption small{font-size:10px;line-height:1.8;color:#c3c9c8}@media(max-width:1000px){.hero-side-caption{display:none}}@media(prefers-reduced-motion:reduce){.hero-side-caption{display:none}}
.cinema-title{animation:none}
