/* Cinematic opening: velvet folds, warm dust and a slow camera pullback. */
.cinema-intro{position:fixed;inset:0;z-index:9999;overflow:hidden;pointer-events:auto}
.curtain{position:absolute;top:0;bottom:0;width:51%;background:repeating-linear-gradient(90deg,#23040b 0%,#640e21 6%,#8c2035 10%,#490918 16%,#25040c 21%,#731328 27%,#a02c40 31%,#400916 37%);box-shadow:inset 0 0 110px #130107c9,0 0 40px #000b;will-change:transform}
.curtain:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,#ffc68828,transparent 55%),linear-gradient(0deg,#110108aa,transparent 30%,#10000655);border-bottom:5px solid #af8859}
.curtain:after{content:'';position:absolute;inset:0;opacity:.24;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.35' d='M0 0h150v150H0z'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.curtain-left{left:0;transform-origin:left top;animation:curtain-left 3.5s .6s cubic-bezier(.65,0,.22,1) both}
.curtain-right{right:0;transform-origin:right top;animation:curtain-right 3.5s .6s cubic-bezier(.65,0,.22,1) both}
.curtain-title{position:absolute;top:40%;left:10%;width:80%;text-align:center;color:#f1d6aa;animation:opening-title 1.9s ease both;text-shadow:0 2px 25px #0007}
.curtain-title>span{display:block;font:clamp(48px,7vw,94px)/1.1 Georgia,serif;letter-spacing:-3px}
.curtain-title small{display:block;font:9px/1.8 Arial,sans-serif;letter-spacing:4px;margin:22px 0}
.curtain-title i{font:italic 20px Georgia,serif}
.cinema-skip{position:absolute;bottom:32px;right:5.5%;pointer-events:auto;border:1px solid #d4b48480;border-radius:2px;padding:10px 16px;background:#15090de0;color:#f1d6aa;font-size:11px}
.cinema-opening .hero-image{transform-origin:72% 48%;animation:camera-pullback 4.5s cubic-bezier(.2,.55,.25,1) both;will-change:transform}
.cinema-opening .hero-content,.cinema-opening .hero-signature,.cinema-opening .vertical-note,.cinema-opening .header,.cinema-opening .cinema-controls{animation:cinema-reveal 1.4s 2.7s both}
.cinema-dust{position:absolute;inset:0;pointer-events:none;overflow:hidden;mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}
.cinema-dust i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#ffe1a3;box-shadow:0 0 9px 2px #e5b66945;opacity:0;animation:mote-drift var(--duration) var(--delay) ease-in-out infinite}
.cinema-controls{position:absolute;bottom:19px;left:5.5%;display:flex;align-items:center;gap:12px;color:#d3bea0;z-index:1}
.cinema-controls button{border:0;background:none;color:inherit;padding:5px 0;font:9px/1.5 Arial,sans-serif;letter-spacing:.5px}
.cinema-controls button:hover{color:#fff2d9}
.cinema-effects .play:after{content:'';position:absolute;inset:-1px;border:1px solid #e1c29280;border-radius:50%;animation:play-halo 3.8s ease-out infinite;pointer-events:none}
.cinema-effects .film-card:nth-child(2) .play:after{animation-delay:.8s}
.cinema-effects .film-card:nth-child(3) .play:after{animation-delay:1.6s}
.cinema-effects .film-card:nth-child(4) .play:after{animation-delay:2.4s}
.effects-paused .cinema-dust i,.effects-offscreen .cinema-dust i,.cinema-hidden .cinema-dust i,.cinema-hidden .play:after{animation-play-state:paused}
.effects-paused .cinema-dust{opacity:.3}
@keyframes curtain-left{0%,10%{transform:translateX(0) scaleX(1)}100%{transform:translateX(-103%) scaleX(.82)}}
@keyframes curtain-right{0%,10%{transform:translateX(0) scaleX(1)}100%{transform:translateX(103%) scaleX(.82)}}
@keyframes opening-title{0%,40%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-12px)}}
@keyframes camera-pullback{0%,14%{transform:scale(1.65)}100%{transform:scale(1)}}
@keyframes cinema-reveal{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes mote-drift{0%{opacity:0;transform:translate3d(0,45px,0)}25%{opacity:.6}70%{opacity:.32}100%{opacity:0;transform:translate3d(var(--drift),-100px,0)}}
@keyframes play-halo{0%{transform:scale(1);opacity:.65}70%,100%{transform:scale(1.55);opacity:0}}
@media(max-width:800px){.curtain-title small{font-size:7px;letter-spacing:2px}.curtain-title i{font-size:17px}.curtain{background-size:160% 100%}.cinema-controls{left:6%;bottom:16px;gap:9px}.cinema-controls button{font-size:8px}.hero-signature{bottom:59px}.cinema-dust i:nth-child(n+17){display:none}.cinema-opening .hero-image{transform-origin:72% 40%}}
@media(prefers-reduced-motion:reduce){.cinema-intro,.cinema-dust,.cinema-replay{display:none!important}.cinema-opening .hero-image,.cinema-opening .hero-content,.cinema-opening .hero-signature,.cinema-opening .vertical-note,.cinema-opening .header,.cinema-opening .cinema-controls,.play:after{animation:none!important}}
