.art{background-size:300% auto}
.site-header{position:sticky;top:0;height:72px;background:rgba(9,10,15,.84);border-color:rgba(255,255,255,.12)}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:#e96b59;z-index:80;transform:scaleX(0);transform-origin:left;pointer-events:none}
.route-enter{animation:page-reveal .5s ease both}
@keyframes page-reveal{from{opacity:.2;filter:blur(9px)}to{opacity:1;filter:blur(0)}}
.cinema-hero{--px:0px;--py:0px;min-height:calc(100svh - 72px);height:min(900px,calc(100svh - 72px));position:relative;overflow:hidden;background:#10121a;color:#fff}
.cinema-image{position:absolute;inset:-3%;opacity:0;transform:translate(var(--px),var(--py)) scale(1.08);transition:opacity 1.25s ease,transform 1s ease;will-change:opacity,transform}
.cinema-image.is-active{opacity:1;animation:cinema-zoom 6.5s linear both}
@keyframes cinema-zoom{from{background-size:315% auto}to{background-size:300% auto}}
.cinema-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,11,.87) 0%,rgba(5,6,11,.5) 48%,rgba(5,6,11,.1) 80%),linear-gradient(0deg,rgba(5,6,11,.75),transparent 39%,rgba(5,6,11,.08) 80%);pointer-events:none}
.cinema-frame{position:absolute;inset:19px;border:1px solid rgba(255,255,255,.22);pointer-events:none}
.cinema-frame:before,.cinema-frame:after{content:"";position:absolute;width:32px;height:32px;border-color:#fff;opacity:.45}
.cinema-frame:before{left:-1px;top:-1px;border-left:2px solid;border-top:2px solid}.cinema-frame:after{right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid}
.cinema-topline{position:absolute;z-index:2;top:48px;left:clamp(38px,6vw,110px);right:clamp(38px,6vw,110px);display:flex;justify-content:space-between;color:rgba(255,255,255,.78);font-size:13px;letter-spacing:.2em}
.cinema-title{position:absolute;z-index:2;left:clamp(38px,8vw,150px);top:47%;transform:translateY(-50%);max-width:900px}
.cinema-kicker{margin:0 0 25px;padding-left:34px;position:relative;color:#f3a691;font-size:14px;font-weight:700;letter-spacing:.25em;animation:rise-in .8s .1s both}
.cinema-kicker:before{content:"";position:absolute;left:0;top:50%;width:22px;height:1px;background:#e96b59}
.cinema-title h1{margin:0;font-weight:800;font-size:clamp(64px,8vw,148px);letter-spacing:-.1em;line-height:1.18;text-shadow:0 15px 55px rgba(0,0,0,.3)}
.cinema-title h1>span{display:inline-block;animation:rise-in .95s both}.cinema-title h1>span:nth-of-type(1){animation-delay:.18s}.cinema-title h1>span:nth-of-type(2){animation-delay:.34s}.cinema-punct{color:#e96b59}
@keyframes rise-in{from{opacity:0;transform:translateY(36px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.cinema-desc{font-size:17px;color:#e4e0df;line-height:1.8;margin:27px 0 31px;animation:rise-in .9s .5s both}
.cinema-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:56px;min-width:206px;border:1px solid rgba(255,255,255,.62);padding:14px 17px 14px 22px;font-size:14px;font-weight:700;letter-spacing:.06em;backdrop-filter:blur(8px);background:rgba(255,255,255,.04);transition:background .25s,border-color .25s,transform .25s;animation:rise-in .9s .65s both}
.cinema-cta:hover{background:#e96b59;border-color:#e96b59;transform:translateY(-4px)}.cinema-cta span{font-size:22px;line-height:1}
.cinema-bottom{position:absolute;z-index:2;bottom:77px;left:clamp(38px,6vw,110px);right:clamp(38px,6vw,110px);display:flex;align-items:end;justify-content:space-between;gap:20px}
.cinema-active{display:flex;align-items:center;gap:21px}.cinema-active.pulse{animation:scene-caption .55s ease both}@keyframes scene-caption{from{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.cinema-index{font-size:16px;font-weight:700;letter-spacing:.12em;white-space:nowrap}.cinema-rule{width:55px;height:1px;background:rgba(255,255,255,.55)}.cinema-active small{display:block;color:#f1a391;font-size:13px;margin-bottom:5px}.cinema-active strong{font-size:23px;font-weight:700}
.cinema-controls{display:flex;gap:8px}.cinema-controls button{border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.08);color:#fff;width:48px;height:48px;font-size:20px;transition:background .2s,transform .2s}.cinema-controls button:hover{background:#e96b59;transform:translateY(-3px);border-color:#e96b59}
.cinema-progress{position:absolute;bottom:30px;left:clamp(38px,6vw,110px);right:clamp(38px,6vw,110px);display:flex;gap:8px;z-index:2}.cinema-progress button{height:15px;flex:1;padding:0;border:0;background:transparent;display:flex;align-items:center}.cinema-progress button span{height:2px;width:100%;background:rgba(255,255,255,.4);position:relative;overflow:hidden}.cinema-progress button.is-active span:after{content:"";position:absolute;inset:0;background:#e96b59;transform-origin:left;animation:scene-progress 6.5s linear both}@keyframes scene-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.cinema-scroll{position:absolute;right:clamp(38px,6vw,110px);bottom:153px;z-index:2;background:none;border:0;color:rgba(255,255,255,.78);font-size:13px;letter-spacing:.13em;writing-mode:vertical-rl;display:flex;align-items:center;gap:16px}.cinema-scroll span{font-size:22px;writing-mode:horizontal-tb;animation:scroll-nudge 1.8s ease-in-out infinite}@keyframes scroll-nudge{50%{transform:translateY(8px)}}
.showcase-intro{padding-top:100px;padding-bottom:110px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end}.section-count{font-size:13px;font-weight:700;letter-spacing:.2em;color:#e96b59}.showcase-intro h2{font-size:clamp(57px,7vw,110px);line-height:1.16;letter-spacing:-.085em;margin:25px 0 0}.showcase-intro h2 em{font-style:normal;color:#e96b59}.showcase-intro p{font-size:19px;line-height:1.9;color:#b8b8c1;margin:0 0 8px;max-width:500px}
.cinematic-strip{background:#151821}.cinematic-strip a{min-height:156px;position:relative;padding:23px 24px;overflow:hidden}.cinematic-strip a:after{content:"";position:absolute;inset:0;background:#e96b59;transform:translateY(101%);transition:transform .35s cubic-bezier(.18,.72,.3,1);z-index:0}.cinematic-strip a:hover:after{transform:translateY(0)}.cinematic-strip a>*{position:relative;z-index:1}.cinematic-strip a small{color:#e96b59}.cinematic-strip a:hover small{color:#fff}.cinematic-strip a strong{font-size:18px}.cinematic-strip a span{position:absolute;right:20px;bottom:18px;font-size:21px;opacity:.4;transition:opacity .2s,transform .2s}.cinematic-strip a:hover span{opacity:1;transform:translate(3px,-3px)}
.featured-section .section-head{padding-top:110px}.works-grid{grid-template-columns:repeat(12,1fr);gap:20px}.work-card{grid-column:span 5;position:relative;overflow:hidden;background:#171922;opacity:0;transform:translateY(50px);transition:opacity .8s ease,transform .8s cubic-bezier(.18,.72,.2,1)}.work-card.is-visible{opacity:1;transform:translateY(0)}.work-card:nth-child(4n+1),.work-card:nth-child(4n+4){grid-column:span 7}.work-card:nth-child(4n+3){grid-column:span 5}.work-thumb{height:clamp(340px,32vw,530px);aspect-ratio:auto}.work-thumb:after{background:linear-gradient(0deg,rgba(3,4,7,.85),transparent 65%)}.work-thumb .art{transition:transform .8s cubic-bezier(.18,.72,.2,1),filter .8s}.work-card:hover .art{transform:scale(1.09);filter:saturate(1.15)}.work-card:hover{transform:translateY(-7px)}.work-no{width:auto;height:auto;border:0;top:24px;left:26px;color:#f0e7e3;font-size:14px;letter-spacing:.16em}.work-kind{bottom:auto;top:25px;right:25px;left:auto;letter-spacing:.08em}.work-meta{position:absolute;left:27px;right:26px;bottom:22px;z-index:2;align-items:end}.work-meta h3{font-size:clamp(27px,3vw,43px);margin-bottom:9px}.work-meta p{color:#d8d1d0;font-size:14px}.work-meta span{color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:50%;width:45px;height:45px;display:grid;place-items:center}.work-card:hover .work-meta span{background:#e96b59;border-color:#e96b59}
.reveal,.detail-body,.detail-stage{opacity:0;transform:translateY(45px);transition:opacity .85s ease,transform .85s ease}.reveal.is-visible,.detail-body.is-visible,.detail-stage.is-visible{opacity:1;transform:translateY(0)}
.detail-stage{overflow:hidden}.detail-stage .art{animation:detail-drift 18s ease-in-out infinite alternate}@keyframes detail-drift{from{transform:scale(1)}to{transform:scale(1.09)}}.detail-head h1{animation:rise-in .8s both}.detail-stage-label{border-left:2px solid #e96b59;padding-left:13px}
@media(max-width:900px){.cinema-hero{height:750px;min-height:0}.cinema-title{left:8vw}.cinema-title h1{font-size:clamp(60px,9vw,90px)}.cinema-scroll{display:none}.showcase-intro{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px}.showcase-intro p{max-width:680px}.works-grid{gap:16px}.work-card,.work-card:nth-child(4n+1),.work-card:nth-child(4n+4),.work-card:nth-child(4n+3){grid-column:span 6}.work-thumb{height:390px}}
@media(max-width:600px){.site-header{height:64px}.cinema-hero{height:calc(100svh - 64px);min-height:620px}.cinema-frame{inset:10px}.cinema-image{inset:-9%}.cinema-shade{background:linear-gradient(90deg,rgba(5,6,11,.75),rgba(5,6,11,.28)),linear-gradient(0deg,rgba(5,6,11,.88),transparent 55%)}.cinema-topline{top:34px;left:26px;right:26px;font-size:11px}.cinema-topline span:last-child{display:none}.cinema-title{left:27px;right:24px;top:43%}.cinema-kicker{font-size:12px;margin-bottom:16px}.cinema-title h1{font-size:clamp(53px,13.5vw,78px);letter-spacing:-.09em}.cinema-desc{font-size:15px;margin:18px 0 25px}.cinema-cta{min-width:172px;padding:11px 15px;font-size:13px}.cinema-bottom{left:27px;right:27px;bottom:65px}.cinema-active{gap:9px}.cinema-rule{width:22px}.cinema-index{font-size:12px}.cinema-active small{font-size:11px}.cinema-active strong{font-size:17px}.cinema-controls button{width:36px;height:36px;font-size:17px}.cinema-progress{left:27px;right:27px;bottom:23px}.showcase-intro{padding-top:70px;padding-bottom:75px}.showcase-intro h2{font-size:61px}.showcase-intro p{font-size:16px}.cinematic-strip a{min-height:115px}.cinematic-strip a strong{font-size:16px}.featured-section .section-head{padding-top:80px}.works-grid{grid-template-columns:1fr}.work-card,.work-card:nth-child(4n+1),.work-card:nth-child(4n+4),.work-card:nth-child(4n+3){grid-column:span 1}.work-thumb{height:390px}.work-meta h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.work-card,.detail-body,.detail-stage{opacity:1;transform:none}}
