.cinema-hero{position:relative;min-height:760px;height:100svh;max-height:1200px;overflow:hidden;background:#0c0c0d;color:#f6f6f2;isolation:isolate}.cinema-hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:0;transition:opacity 1.4s}.cinema-hero.scene-ready canvas{opacity:1}.cinema-fallback{position:absolute;width:34%;height:60%;right:15%;top:18%;object-fit:contain;opacity:.7;filter:grayscale(1) brightness(1.8);z-index:-1}.scene-ready .cinema-fallback{opacity:0}.cinema-hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0c0c0d77,transparent 50%);z-index:-1}.cinema-topline{position:absolute;top:145px;left:4%;font-size:9px;letter-spacing:.15em;color:#9d9d9f}.cinema-copy{position:absolute;left:4%;bottom:125px;width:35%;max-width:470px;opacity:0;transform:translateY(25px);transition:opacity 1.2s .8s,transform 1.2s .8s}.entrance-ready .cinema-copy{opacity:1;transform:none}.cinema-copy h1{font-family:Barlow,Impact,sans-serif;font-size:clamp(58px,6.3vw,100px);font-weight:700;line-height:.88;letter-spacing:-.03em;margin:0 0 25px}.cinema-copy h1 span{color:#a4a4a7}.cinema-copy>p{font-size:14px;line-height:1.75;max-width:300px;color:#aaaab0;margin:0 0 28px}.cinema-link{display:inline-flex;align-items:center;gap:22px;font-size:12px;color:#f6f6f2;text-decoration:none}.cinema-link>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff44;border-radius:50%;transition:background .25s,color .25s}.cinema-link:hover>span{background:#ff6b18;color:#111;border-color:#ff6b18}.cinema-footer{position:absolute;bottom:30px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #ffffff1f;padding-top:23px}.cinema-footer>p{margin:0;color:#838388;font-size:8px;letter-spacing:.12em}.cinema-controls{display:flex;gap:24px}.cinema-controls button{background:none;border:0;padding:5px 0;color:#b6b6ba;font:inherit;font-size:10px;cursor:pointer}.cinema-controls button:hover{color:white}.cinema-controls button span{margin-left:7px;color:#f57738}.cinema-controls button:focus-visible,.cinema-link:focus-visible{outline:2px solid #ff6b18;outline-offset:6px}.cinema-caption{position:absolute;right:5%;bottom:130px;color:#797980;text-align:right;font-size:8px;letter-spacing:.13em;line-height:1.8}.site-header.over-cinema{background:#0c0c0d00;border-bottom-color:transparent;color:#f5f5f2;backdrop-filter:none}.over-cinema nav a,.over-cinema .project-link,.over-cinema .menu-toggle,.over-cinema .brand{color:#e2e2e2}.over-cinema .brand small{color:#8d8d92}.over-cinema .project-link{border-color:#666}.entrance-curtain{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#fafaf7;pointer-events:none;animation:curtain-out .8s 1.1s both}.entrance-curtain>div{display:flex;gap:15px;align-items:center;font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:24px;letter-spacing:-.05em;animation:brand-in .7s both}.entrance-curtain img{width:54px}.entrance-curtain b{font-weight:400;color:#d14e0c}.entrance-curtain:after{content:'';position:absolute;width:160px;height:1px;background:#ce500c;top:calc(50% + 65px);animation:line-in .9s both;transform-origin:left}.scene-fallback .cinema-copy{opacity:1;transform:none}@keyframes curtain-out{to{opacity:0;visibility:hidden;transform:scale(1.04)}}@keyframes brand-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes line-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1800px){.cinema-copy{left:7%}.cinema-topline{left:7%}.cinema-footer{left:7%;right:7%}}
@media(max-width:760px){.cinema-hero{height:100svh;min-height:760px;max-height:1000px}.cinema-topline{top:110px;left:6%;font-size:7px}.cinema-copy{left:6%;bottom:125px;width:80%;max-width:350px}.cinema-copy h1{font-size:clamp(48px,13vw,65px);margin-bottom:17px}.cinema-copy>p{font-size:12px;line-height:1.6;max-width:260px;margin-bottom:17px}.cinema-link{font-size:11px;gap:15px}.cinema-link>span{width:32px;height:32px}.cinema-footer{left:6%;right:6%;bottom:24px;gap:15px;flex-wrap:wrap;padding-top:17px}.cinema-footer>p{font-size:6px;max-width:150px;line-height:1.6}.cinema-controls{gap:16px}.cinema-controls button{font-size:9px}.cinema-caption{display:none}.cinema-fallback{width:60%;right:20%;top:12%;height:40%}.cinema-hero:after{background:linear-gradient(0deg,#0c0c0d 0%,transparent 60%)}.entrance-curtain>div{font-size:20px}.entrance-curtain img{width:45px}}
@media(prefers-reduced-motion:reduce){.entrance-curtain{display:none}.cinema-copy{opacity:1;transform:none;transition:none}.cinema-hero canvas{transition:none}.cinema-fallback{transition:none}}

.site-header{position:fixed;top:0;left:0;right:0;width:100%}.site-header.over-cinema{background:#0c0c0d55}.cinema-hero{margin-top:0}

@media(max-width:760px){.cinema-topline{display:none}}
.motion-paused .entrance-curtain{display:none}
/* A dedicated stage reserves a safe frame for the sculpture at every aspect ratio. */
.cinema-visual-frame{position:absolute;left:36%;right:4%;top:115px;bottom:145px;pointer-events:none}
.cinema-fallback{inset:0;width:100%;height:100%;object-fit:contain;filter:none;opacity:0;visibility:hidden}.scene-fallback .cinema-fallback{opacity:.85;visibility:visible}.scene-ready .cinema-fallback{opacity:0;visibility:hidden}
@media(min-width:761px) and (max-width:1100px){.cinema-hero{min-height:720px}.cinema-visual-frame{left:38%;right:3%;top:130px;bottom:160px}.cinema-copy{width:36%;bottom:140px}.cinema-copy h1{font-size:clamp(43px,5.4vw,60px)}.cinema-copy>p{font-size:12px;max-width:250px}.cinema-caption{bottom:115px}.cinema-topline{font-size:8px;top:115px}}
@media(max-width:760px){.cinema-visual-frame{left:7%;right:7%;top:95px;height:clamp(220px,36svh,370px);bottom:auto}.cinema-hero{min-height:820px}.cinema-copy{bottom:128px}.cinema-copy h1{font-size:clamp(46px,12.4vw,65px)}}
@media(min-width:761px) and (max-height:730px){.cinema-visual-frame{top:100px;bottom:120px}.cinema-copy{bottom:110px}.cinema-copy h1{font-size:clamp(43px,5vw,74px)}.cinema-copy>p{font-size:12px;line-height:1.6;margin-bottom:18px}.cinema-topline{top:105px}.cinema-caption{bottom:110px}}

/* Mobile keeps service names upright and readable alongside the engraved assembly. */
.cinema-mobile-labels{display:none}
@media(max-width:760px){
 .cinema-hero{height:auto;min-height:0;max-height:none;padding:100px 0 24px}
 .cinema-visual-frame{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:88%;height:clamp(250px,70vw,370px);margin:0 auto}
 .cinema-mobile-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 6% 42px;border-top:1px solid #ffffff26;padding-top:16px}
 .cinema-mobile-labels span{color:#ededee;font-size:12px;line-height:1.5}
 .cinema-mobile-labels b{display:block;color:#ff7c39;font-size:10px;font-weight:500;letter-spacing:.1em;margin-bottom:6px}
 .cinema-copy{position:relative;left:auto;bottom:auto;width:88%;max-width:none;margin:0 6% 58px}
 .cinema-copy>p{max-width:360px;font-size:13px}
 .cinema-footer{position:relative;left:auto;right:auto;bottom:auto;margin:0 6%}
}
