/* Approved Original #5: a cinematic viewfinder with a reactive side rail. */
.home-page .viewfinder-hero.showcase{height:100vh;height:100dvh;min-height:650px;max-height:none;position:sticky;top:0;overflow:hidden;background:#151515;color:white;isolation:isolate}
.viewfinder-hero .showcase-slide{position:absolute;inset:0;z-index:0;transition:opacity .35s ease;transform:none;pointer-events:none}
.viewfinder-hero .showcase-slide.is-current{z-index:1;pointer-events:auto}
.viewfinder-hero .showcase-poster,.viewfinder-hero .hero-video,.viewfinder-hero .showcase-preview-video{height:100%;width:100%;object-fit:cover;transform:none!important;inset:0}
.home-page .viewfinder-hero #showcase-0:after,.viewfinder-hero .showcase-slide:after{display:none!important}
.viewfinder-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#0008,transparent 90%),linear-gradient(0deg,#0009,transparent 65%)}
.viewfinder-frame{position:absolute;inset:130px var(--gutter) 35px;pointer-events:none;z-index:3}
.viewfinder-frame i{position:absolute;width:48px;height:48px;border:1px solid #ffffff90}
.viewfinder-frame i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.viewfinder-frame i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}.viewfinder-frame i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}.viewfinder-frame i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.viewfinder-copy{position:absolute;left:calc(var(--gutter) + 30px);bottom:80px;z-index:4;max-width:65%}
.home-page .viewfinder-copy h1{font-family:var(--serif);font-size:clamp(70px,8vw,140px);font-weight:400;line-height:.98;letter-spacing:-.055em;color:white;margin:0 0 28px;text-align:left;text-wrap:initial}
.viewfinder-copy .watch-button{display:inline-flex;align-items:center;gap:16px;font-size:16px;min-height:54px;color:white;padding:0;background:transparent;border:0;border-radius:0;margin:0}
.viewfinder-copy .play-symbol{width:54px;height:54px;border:1px solid currentColor;border-radius:50%;background:transparent;transition:transform .5s cubic-bezier(.2,1.7,.3,1),background .3s,border-color .3s}
.viewfinder-copy .watch-button:hover .play-symbol{transform:scale(1.12);background:var(--red);border-color:var(--red)}
.viewfinder-rail{position:absolute;z-index:4;right:calc(var(--gutter) + 28px);top:50%;transform:translateY(-45%);display:flex;flex-direction:column;width:215px;gap:12px}
.viewfinder-project{appearance:none;border:1px solid #ffffff40;background:#17171728;backdrop-filter:blur(8px);color:white;display:flex;align-items:center;gap:12px;padding:6px;text-align:left;border-radius:3px;min-height:60px;transition:transform .35s cubic-bezier(.2,1.6,.3,1),background .25s,border-color .25s;cursor:pointer}
.viewfinder-project img{display:block;width:64px;height:46px;object-fit:cover;flex-shrink:0;border-radius:0;opacity:1}
.viewfinder-project>span{font-family:var(--sans);font-size:13px;line-height:1.2;color:white;text-transform:none;letter-spacing:0}
.viewfinder-project .viewfinder-arrow{margin-left:auto;font-size:16px}
.viewfinder-project:hover,.viewfinder-project[aria-pressed=true]{background:var(--red);transform:translateX(-10px) scale(1.025);border-color:transparent}
.viewfinder-project:focus-visible,.viewfinder-reset:focus-visible{outline:2px solid white;outline-offset:4px}
.viewfinder-reset{position:absolute;z-index:4;right:calc(var(--gutter) + 30px);bottom:70px;border:0;background:none;color:white;font-size:13px;padding:12px 0;min-height:44px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.viewfinder-reset:hover{color:white}.viewfinder-reset span{transition:transform .25s}.viewfinder-reset:hover span{transform:translate(2px,-2px)}
.viewfinder-rail-copy{display:none}
@media(max-width:1100px){.viewfinder-copy{max-width:68%}.home-page .viewfinder-copy h1{font-size:clamp(65px,8vw,100px)}.viewfinder-rail{width:180px}.viewfinder-project img{width:45px}.viewfinder-project{gap:9px}.viewfinder-project>span{font-size:12px}}
@media(max-width:800px){.home-page .viewfinder-hero.showcase{position:relative;height:100vh;height:100dvh;min-height:600px}.viewfinder-frame{inset:105px 22px 25px}.viewfinder-copy{left:40px;bottom:210px;right:35px;max-width:none}.home-page .viewfinder-copy h1{font-size:clamp(50px,14vw,100px);margin-bottom:24px}.viewfinder-copy .watch-button{font-size:14px}.viewfinder-rail{left:0;right:0;top:auto;bottom:68px;transform:none;width:auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:7px 40px;scrollbar-width:none;overscroll-behavior-x:contain;gap:12px;touch-action:pan-x pan-y}.viewfinder-rail::-webkit-scrollbar{display:none}.viewfinder-project{flex:0 0 160px;min-height:60px;scroll-snap-align:center}.viewfinder-project:hover,.viewfinder-project[aria-pressed=true]{transform:translateY(-4px);background:var(--red)}.viewfinder-project img{width:45px}.viewfinder-reset{right:40px;bottom:26px;font-size:11px}.viewfinder-rail-copy{display:flex}.viewfinder-rail.recentering{scroll-snap-type:none}}
@media(max-width:800px) and (max-height:650px){.home-page .viewfinder-hero.showcase{min-height:100dvh}.viewfinder-frame{inset:90px 22px 15px}.viewfinder-copy{bottom:165px}.home-page .viewfinder-copy h1{font-size:clamp(42px,12vw,65px);margin-bottom:14px}.viewfinder-copy .play-symbol{width:44px;height:44px}.viewfinder-rail{bottom:48px}.viewfinder-reset{bottom:7px}}
@media(max-height:600px) and (min-width:801px){.home-page .viewfinder-hero.showcase{min-height:100dvh}.viewfinder-frame{top:105px}.viewfinder-copy{bottom:50px}.home-page .viewfinder-copy h1{font-size:70px}.viewfinder-rail{top:55%;gap:6px}.viewfinder-project{min-height:48px}.viewfinder-project img{height:34px}.viewfinder-reset{bottom:25px}}
@media(prefers-reduced-motion:reduce){.viewfinder-hero *{transition:none!important;animation:none!important}.home-page .viewfinder-hero.showcase{position:relative}}
.viewfinder-shade{background:linear-gradient(180deg,#0005,transparent 24%),linear-gradient(90deg,#0008,transparent 90%),linear-gradient(0deg,#0009,transparent 65%)}
/* A short, white studio ident replaces the old black film-strip preloader. */
.home-page .intro-loader{background:#f8f7f3;z-index:1100;display:grid;place-items:center;clip-path:inset(0);opacity:1}
.home-page .intro-loader[hidden]{display:none!important}
.studio-loader-mark{position:relative;width:clamp(225px,28vw,440px);padding:0 12px 32px;overflow:hidden}
.studio-loader-mark img{width:100%;height:auto;display:block;transform:none}
.studio-loader-rule{position:absolute;bottom:0;left:12px;right:12px;height:2px;background:#e7e1d8;overflow:hidden}
.studio-loader-rule:after{content:'';display:block;height:100%;background:var(--red);transform-origin:left;transform:scaleX(0)}
.home-page.intro-running .intro-loader,.intro-running .home-page .intro-loader{animation:studio-loader-out .55s 1.05s cubic-bezier(.76,0,.24,1) both}
.intro-running .studio-loader-mark img{animation:studio-ident-in .7s cubic-bezier(.22,1,.36,1) both}
.intro-running .studio-loader-rule:after{animation:studio-rule-in 1s .08s cubic-bezier(.22,1,.36,1) both}
.home-page .intro-loader .skip-intro{color:#666;background:transparent;border:0;border-radius:0;bottom:max(24px,env(safe-area-inset-bottom));right:var(--gutter);font-size:12px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
@keyframes studio-ident-in{from{transform:translateY(30px);opacity:0;clip-path:inset(100% 0 0)}to{transform:none;opacity:1;clip-path:inset(0)}}
@keyframes studio-rule-in{to{transform:scaleX(1)}}
@keyframes studio-loader-out{to{clip-path:inset(0 0 100% 0)}}
@media(max-width:700px){.studio-loader-mark{width:min(72vw,290px);padding-bottom:26px}}
@media(prefers-reduced-motion:reduce){.home-page .intro-loader{display:none!important}}
