:root{
  --ink:#070707;--ink-2:#0c0c0c;--paper:#eeeae2;--paper-2:#e4e0d7;--white:#f7f5ef;
  --muted:rgba(247,245,239,.58);--line:rgba(247,245,239,.15);--line-dark:rgba(7,7,7,.15);
  --sans:"Inter Tight",Arial,sans-serif;--mono:"IBM Plex Mono",monospace;
  --pad:clamp(20px,2.6vw,50px);--header-h:76px;--ease:cubic-bezier(.16,1,.3,1);--ease-out:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font:400 16px/1.42 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}body.menu-open,body.reel-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img,video{display:block;width:100%;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}::selection{background:#f5f0e7;color:#080808}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-track{background:#090909}::-webkit-scrollbar-thumb{background:#4b4b4b}
@view-transition{navigation:auto}::view-transition-old(root){animation:vt-out .35s var(--ease) both}::view-transition-new(root){animation:vt-in .58s var(--ease) both}@keyframes vt-out{to{opacity:0;transform:scale(.994)}}@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
.paper{background:var(--paper);color:var(--ink)}.project-dark{background:var(--ink);color:var(--white)}.eyebrow{font:400 10px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase}.section-no{font:400 10px/1 var(--mono);letter-spacing:.08em}

/* loader — ELION picture start */
.loader{position:fixed;z-index:3000;inset:0;background:#050505;color:var(--white);padding:var(--pad);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;clip-path:inset(0);transition:clip-path 1.05s var(--ease-out);isolation:isolate}.loader:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.96%,rgba(255,255,255,.08) 50%,transparent 50.04%),linear-gradient(0deg,transparent 49.96%,rgba(255,255,255,.055) 50%,transparent 50.04%);opacity:.55}.loader:after{content:"";position:absolute;inset:-40%;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");animation:loaderGrain .24s steps(2) infinite}.loader.is-done{clip-path:inset(0 0 100% 0);pointer-events:none}.loader__top,.loader__bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;font:400 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.loader__top{border-top:1px solid rgba(255,255,255,.22);padding-top:10px}.loader__center{position:relative;z-index:2;align-self:center;justify-self:center;display:flex;align-items:center;gap:clamp(28px,5vw,90px)}.loader__leader{width:clamp(116px,15vw,230px);aspect-ratio:1;border:1px solid rgba(255,255,255,.46);border-radius:50%;display:grid;place-items:center;position:relative}.loader__leader:before,.loader__leader:after{content:"";position:absolute;background:rgba(255,255,255,.18)}.loader__leader:before{width:1px;height:124%;left:50%;top:-12%}.loader__leader:after{height:1px;width:124%;top:50%;left:-12%}.loader__leader span{font:300 clamp(4rem,9vw,9rem)/1 var(--sans);letter-spacing:-.08em}.loader__leader i{position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(from -90deg,rgba(255,255,255,.82) 0 2deg,transparent 2deg 360deg);animation:leaderSweep 1.05s linear infinite}.loader__identity{display:flex;flex-direction:column;align-items:flex-start}.loader__identity small{font:400 8px/1 var(--mono);letter-spacing:.14em;opacity:.48}.loader__identity strong{font:300 clamp(4rem,11vw,12rem)/.75 var(--sans);letter-spacing:-.075em;margin:17px 0 18px}.loader__identity>span{font:400 10px/1 var(--mono);letter-spacing:.2em}.loader__bottom{display:grid;grid-template-columns:auto minmax(130px,28vw) 36px;gap:16px;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:10px}.loader__track{height:1px;background:rgba(255,255,255,.18);overflow:hidden}.loader__track i{display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}.loader__bottom b{font:500 10px/1 var(--mono);text-align:right}.loader.is-ready .loader__identity>span{animation:pictureFlash .34s steps(2) 2}.loader.is-ready .loader__leader span{opacity:.18}.loader.is-ready .loader__leader:after,.loader.is-ready .loader__leader:before{opacity:.25}@keyframes leaderSweep{to{transform:rotate(360deg)}}@keyframes loaderGrain{0%{transform:translate(0)}50%{transform:translate(-2%,1%)}100%{transform:translate(1%,-2%)}}@keyframes pictureFlash{50%{opacity:.2}}

/* header */
.site-header{position:fixed;z-index:1200;left:0;right:0;top:0;height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);transition:background .35s ease,border .35s ease,color .35s ease}.site-header.is-scrolled{background:rgba(7,7,7,.68);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{justify-self:start;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:-.01em}.brand img{width:25px;height:25px}.brand small{font:400 8px/1 var(--mono);letter-spacing:.16em;opacity:.55}.header-nav{display:flex;align-items:center;gap:28px;font:400 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.09em}.header-nav a{position:relative;opacity:.72}.header-nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.header-nav a:hover{opacity:1}.header-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-tools{justify-self:end;display:flex;align-items:center;gap:25px}.language-switcher{display:flex;gap:6px;font:400 9px/1 var(--mono);letter-spacing:.08em}.language-switcher button{border:0;background:none;padding:3px 0;cursor:pointer;opacity:.35}.language-switcher button.is-active{opacity:1}.language-switcher span{opacity:.22}.menu-trigger{border:0;background:none;display:flex;align-items:center;gap:10px;padding:8px 0;cursor:pointer;font:500 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em}.menu-trigger i{position:relative;width:28px;height:1px;background:currentColor}.menu-trigger i:after{content:"";position:absolute;right:0;top:6px;width:18px;height:1px;background:currentColor;transition:width .3s var(--ease),transform .3s var(--ease),top .3s var(--ease)}.menu-trigger:hover i:after{width:28px}.menu-open .menu-trigger i{transform:rotate(45deg)}.menu-open .menu-trigger i:after{top:0;width:28px;transform:rotate(90deg)}
.menu-overlay{position:fixed;z-index:1100;inset:0;background:#050505;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .75s var(--ease),visibility 0s linear .75s}.menu-open .menu-overlay{visibility:visible;clip-path:inset(0);transition-delay:0s}.menu-overlay__media{position:absolute;right:0;top:0;width:46%;height:100%;opacity:.32}.menu-overlay__media video{width:100%;height:100%;object-fit:cover}.menu-overlay__shade{position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.96) 45%,rgba(5,5,5,.28) 100%)}.menu-overlay__inner{position:relative;z-index:2;height:100%;padding:calc(var(--header-h) + 50px) var(--pad) var(--pad);display:grid;grid-template-columns:1fr 4fr 2fr}.menu-num{font:400 9px/1 var(--mono);letter-spacing:.1em;opacity:.55}.menu-nav{grid-column:2;align-self:center;display:flex;flex-direction:column}.menu-nav a{display:grid;grid-template-columns:55px 1fr;align-items:baseline;border-bottom:1px solid var(--line);padding:12px 0}.menu-nav b{font:400 9px/1 var(--mono);opacity:.45}.menu-nav span{font:300 clamp(4rem,7vw,8.5rem)/.9 var(--sans);letter-spacing:-.055em;text-transform:uppercase;transition:transform .4s var(--ease)}.menu-nav a:hover span{transform:translateX(16px)}.menu-contact{grid-column:3;align-self:end;display:flex;flex-direction:column;gap:7px;font:400 9px/1.4 var(--mono);letter-spacing:.03em}

/* global overlays */
.scroll-progress{position:fixed;left:0;top:0;height:2px;width:100%;z-index:1600;background:#fff;transform:scaleX(0);transform-origin:left;mix-blend-mode:difference;pointer-events:none}.cursor{position:fixed;left:0;top:0;z-index:1800;width:12px;height:12px;border-radius:50%;background:#fff;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference;display:grid;place-items:center;transition:width .25s var(--ease),height .25s var(--ease),mix-blend-mode .2s}.cursor span{font:500 0/1 var(--mono);color:#000;opacity:0;transition:font-size .2s,opacity .2s}.cursor.is-active{width:80px;height:80px;mix-blend-mode:normal}.cursor.is-active span{font-size:9px;opacity:1}.reel-modal{position:fixed;z-index:2500;inset:0;background:#000;padding:var(--pad);opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s linear .45s;display:grid;grid-template-rows:auto 1fr;gap:18px}.reel-open .reel-modal{opacity:1;visibility:visible;transition-delay:0s}.reel-modal__top{display:flex;justify-content:space-between;align-items:center;font:400 9px/1 var(--mono);letter-spacing:.08em}.reel-modal__top button{border:0;background:none;cursor:pointer;font:inherit;letter-spacing:inherit}.reel-modal video{width:100%;height:100%;object-fit:contain;min-height:0}

/* hero */
.hero-cinema{height:100svh;min-height:680px;position:relative;overflow:hidden;background:#050505}.hero-reel{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;filter:saturate(.88) contrast(1.055) brightness(.66);transform:scale(1.04);will-change:transform;opacity:1}.hero-cinema.video-needs-gesture:after{content:'CLICK TO START BACKGROUND FILM';position:absolute;z-index:5;right:var(--pad);top:calc(var(--header-h) + 52px);font:500 8px/1 var(--mono);letter-spacing:.12em;padding:9px 11px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.28);backdrop-filter:blur(8px)}.hero-vignette{position:absolute;inset:0;background:radial-gradient(circle at 66% 42%,transparent 0 18%,rgba(0,0,0,.14) 46%,rgba(0,0,0,.62) 100%),linear-gradient(180deg,rgba(0,0,0,.24),transparent 30%,rgba(0,0,0,.62))}.hero-grain{position:absolute;inset:-50%;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");animation:grain .25s steps(2) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(2%,-3%)}50%{transform:translate(-3%,2%)}75%{transform:translate(1%,3%)}100%{transform:translate(-2%,-1%)}}.hero-topline{position:absolute;z-index:2;top:calc(var(--header-h) + 18px);left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.24);padding-top:9px;font:400 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.hero-title{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:16.5vh;font:300 clamp(6.5rem,13.2vw,15rem)/.72 var(--sans);letter-spacing:-.07em;text-transform:uppercase;display:flex;flex-direction:column}.hero-title span:last-child{align-self:flex-end}.hero-bottom{position:absolute;z-index:3;left:var(--pad);right:var(--pad);bottom:var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}.reel-control{justify-self:start;border:0;background:transparent;padding:0;display:flex;gap:12px;align-items:center;cursor:pointer;text-align:left}.reel-control__icon{width:52px;height:52px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-size:10px;transition:background .25s,color .25s}.reel-control:hover .reel-control__icon{background:#fff;color:#000}.reel-control>span:last-child{display:flex;flex-direction:column;gap:5px}.reel-control b{font:500 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.reel-control small{font:400 8px/1 var(--mono);opacity:.55}.hero-bottom>p{justify-self:center;margin:0;width:min(320px,100%);font-size:16px;line-height:1.18;letter-spacing:-.02em}.scroll-cue{justify-self:end;display:flex;flex-direction:column;gap:8px;align-items:center;font:400 8px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.scroll-cue i{width:1px;height:28px;background:rgba(255,255,255,.5);position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;left:0;top:-100%;width:1px;height:100%;background:#fff;animation:scrollcue 1.8s ease-in-out infinite}@keyframes scrollcue{to{top:100%}}.hero-timeline{position:absolute;z-index:3;left:0;bottom:0;width:100%;height:2px;background:rgba(255,255,255,.13)}.hero-timeline span{display:block;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:left}


/* cinematic entrance — deliberately visible, not theatrical */
body.motion-ready .hero-reel{animation:heroFilmIn 2.2s var(--ease-out) both}
body.motion-ready .hero-topline{animation:heroMetaIn .9s .12s var(--ease-out) both}
body.motion-ready .hero-title span:first-child{animation:heroTypeIn 1.15s .16s var(--ease-out) both}
body.motion-ready .hero-title span:last-child{animation:heroTypeIn 1.15s .28s var(--ease-out) both}
body.motion-ready .hero-bottom{animation:heroBottomIn 1s .48s var(--ease-out) both}
body.motion-ready .project-hero__poster{animation:projectPosterIn 1.35s .12s var(--ease-out) both}
body.motion-ready .project-hero__title{animation:projectTitleIn 1.15s .28s var(--ease-out) both}
body.motion-ready .project-hero__top{animation:heroMetaIn .9s .18s var(--ease-out) both}
@keyframes heroFilmIn{from{opacity:.2;filter:saturate(.55) contrast(1.12) brightness(.42)}to{opacity:1}}
@keyframes heroMetaIn{from{opacity:0;transform:translateY(-14px);letter-spacing:.2em}to{opacity:1;transform:none}}
@keyframes heroTypeIn{from{opacity:0;transform:translateY(58px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes heroBottomIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes projectPosterIn{from{opacity:0;transform:translate3d(0,70px,0) rotate(2deg) scale(.94)}to{opacity:1;transform:translate3d(0,var(--project-depth,0px),0) rotate(0) scale(1)}}
@keyframes projectTitleIn{from{opacity:0;transform:translateY(48px);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}

/* card reveals: image, title and ambience arrive at different speeds */
.film-card[data-reveal]{filter:blur(8px);transform:translateY(58px);transition:opacity 1s var(--ease),transform 1.15s var(--ease),filter 1.05s var(--ease)}
.film-card[data-reveal].is-visible{filter:none;transform:none}
.film-card[data-reveal] .film-card__poster{transform:translate3d(0,calc(42px + var(--depth-y,0px)),0) rotateX(2deg);transition:transform 1.25s var(--ease-out),opacity .9s ease;opacity:.2}
.film-card[data-reveal].is-visible .film-card__poster{transform:translate3d(0,var(--depth-y,0px),0) rotateX(0);opacity:1}
.film-card[data-reveal] .film-card__poster img{transform:scale(1.075);transition:transform 1.6s var(--ease-out),filter .5s ease}
.film-card[data-reveal].is-visible .film-card__poster img{transform:scale(1)}
.film-card[data-reveal] .film-card__copy h3{opacity:0;transform:translateY(34px);clip-path:inset(0 0 100% 0);transition:opacity .75s .15s ease,transform 1s .12s var(--ease-out),clip-path 1.05s .12s var(--ease-out)}
.film-card[data-reveal].is-visible .film-card__copy h3{opacity:1;transform:none;clip-path:inset(0)}
.film-card[data-reveal] .film-card__wash{opacity:.08;transform:scale(1.12);transition:opacity 1.3s ease,transform 1.8s var(--ease-out)}
.film-card[data-reveal].is-visible .film-card__wash{opacity:1;transform:scale(1)}
.project-hero__poster{transform:translate3d(0,var(--project-depth,0px),0);will-change:transform}

/* manifesto */
.manifesto{min-height:118svh;padding:130px var(--pad) 95px;display:grid;grid-template-columns:1.15fr 6.2fr 2.65fr;grid-template-rows:auto 1fr auto;gap:30px}.manifesto .section-no{grid-column:1}.manifesto-main{grid-column:2/4;align-self:center;max-width:1300px}.manifesto-main h2{font:300 clamp(4.8rem,8.8vw,10.5rem)/.87 var(--sans);letter-spacing:-.06em;margin:20px 0 0;max-width:12ch}.manifesto-bottom{grid-column:2/4;align-self:end;display:grid;grid-template-columns:1.8fr 2.2fr;gap:9vw;align-items:end}.manifesto-bottom>p{font-size:clamp(18px,1.75vw,29px);line-height:1.25;letter-spacing:-.027em;max-width:700px;margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark)}.stats div{padding:16px 10px 0 0;border-right:1px solid var(--line-dark);min-height:115px;display:flex;flex-direction:column;justify-content:space-between}.stats div+div{padding-left:15px}.stats div:last-child{border-right:0}.stats strong{font:400 clamp(2.2rem,3vw,4rem)/1 var(--sans);letter-spacing:-.045em}.stats span{font:400 8px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.08em}

/* work */
.works{background:#070707}.works-head{min-height:58vh;padding:110px var(--pad) 65px;display:grid;grid-template-columns:1.15fr 6.2fr 2.65fr;align-items:end;border-bottom:1px solid var(--line)}.works-head>span{font:400 9px/1 var(--mono)}.works-head h2{font:300 clamp(5rem,10vw,11rem)/.76 var(--sans);letter-spacing:-.07em;text-transform:uppercase;margin:0}.works-head p{font-size:16px;line-height:1.2;margin:0 0 6px;max-width:260px;color:var(--muted)}.film-card{position:relative;min-height:96svh;display:grid;grid-template-columns:1.15fr 5.55fr 3.3fr;padding:var(--pad);border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate;align-items:center}.film-card.is-left{grid-template-columns:1.15fr 3.3fr 5.55fr}.film-card__wash{position:absolute;z-index:-2;inset:-18%;background-size:cover;background-position:center;filter:blur(85px) saturate(.78) brightness(.13);opacity:.74;transform:scale(1.12)}.film-card:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,7,7,.85),rgba(7,7,7,.12) 48%,rgba(7,7,7,.75)),linear-gradient(180deg,rgba(7,7,7,.32),transparent 48%,rgba(7,7,7,.58))}.film-card__meta{grid-column:1;align-self:stretch;padding-top:12px;display:flex;flex-direction:column;gap:6px;font:400 8px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.08em;opacity:.72}.film-card__poster{grid-column:2;justify-self:center;position:relative;width:min(33vw,540px);perspective:1200px;transform-style:preserve-3d;will-change:transform}.film-card.is-left .film-card__poster{grid-column:3}.film-card__poster img{aspect-ratio:2/2.9;object-fit:cover;object-position:top;box-shadow:0 45px 100px rgba(0,0,0,.48);transform:translateZ(0);transition:filter .5s ease}.film-card__poster:hover img{filter:saturate(1.08) contrast(1.02)}.poster-shadow{position:absolute;z-index:-1;inset:9% -9% -9% 8%;background:var(--accent);opacity:.13;filter:blur(45px);transform:translateZ(-30px)}.film-card__copy{grid-column:3;align-self:end;padding:0 0 7vh 2.2vw}.film-card.is-left .film-card__copy{grid-column:2;grid-row:1;text-align:left;padding-left:0;padding-right:2.2vw}.film-card__copy>p:first-child{font:400 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 16px}.film-card__copy h3{font:300 clamp(4rem,7.2vw,9.5rem)/.76 var(--sans);letter-spacing:-.065em;text-transform:uppercase;margin:0;max-width:9ch}.film-card__bottom{margin-top:35px;display:grid;grid-template-columns:1fr;gap:28px;max-width:460px}.film-card__bottom>p{font-size:17px;line-height:1.2;letter-spacing:-.02em;color:rgba(255,255,255,.72);margin:0}.film-card__bottom>a{display:inline-flex;gap:10px;align-items:center;width:max-content;font:500 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:6px}.film-card__bottom>a i{font-style:normal}.film-card.is-left .film-card__bottom{margin-left:0}

/* showreel / pseudo 3d */
.reel-archive{min-height:130svh;background:#0a0a0a;padding:110px var(--pad) 90px;overflow:hidden;position:relative}.reel-archive__head{display:grid;grid-template-columns:1.15fr 6.2fr 2.65fr;align-items:end;position:relative;z-index:3}.reel-archive__head>span{font:400 9px/1 var(--mono)}.reel-archive__head h2{font:300 clamp(5rem,10vw,11rem)/.76 var(--sans);letter-spacing:-.07em;margin:10px 0 0}.reel-archive__head button{justify-self:end;border:0;background:none;display:flex;align-items:center;gap:10px;cursor:pointer;font:500 8px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.reel-archive__head button>span{width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center}.filmstrip-3d{height:80vh;min-height:640px;margin-top:50px;position:relative;perspective:1200px;transform-style:preserve-3d;isolation:isolate}.filmstrip-3d figure{position:absolute;left:50%;top:50%;width:min(44vw,720px);aspect-ratio:16/9;margin:0;transform-style:preserve-3d;box-shadow:0 35px 100px rgba(0,0,0,.55);will-change:transform,opacity}.filmstrip-3d figure img{width:100%;height:100%;object-fit:cover}.reel-caption{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font:400 8px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}


/* showreel background film */
.reel-archive__media{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.reel-archive__media video{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72) contrast(1.05) brightness(.52);opacity:.28;transform:scale(1.055);transition:opacity 1.2s var(--ease),transform 8s linear}.reel-archive.is-playing .reel-archive__media video{opacity:.42;transform:scale(1.015)}.reel-archive__media-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,8,.72) 0%,rgba(8,8,8,.34) 35%,rgba(8,8,8,.5) 72%,rgba(8,8,8,.88) 100%),linear-gradient(90deg,rgba(8,8,8,.48),rgba(8,8,8,.08) 48%,rgba(8,8,8,.42))}.reel-archive__head,.filmstrip-3d,.reel-caption{position:relative;z-index:2}.filmstrip-3d:before{content:"";position:absolute;inset:10% 7%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.06),transparent 62%);filter:blur(30px);pointer-events:none}.footer-bottom--compact{border-top:1px solid var(--line);padding-top:20px;padding-bottom:4px}
/* V3.3 clean autoplay reel — one uninterrupted moving-image plane */
.reel-archive--clean{min-height:112svh;display:grid;grid-template-rows:auto 1fr auto auto;padding-bottom:42px}.reel-archive--clean .reel-archive__media video{opacity:.56;filter:saturate(.76) contrast(1.06) brightness(.54);transform:scale(1.035)}.reel-archive--clean.is-playing .reel-archive__media video{opacity:.68;transform:scale(1.008)}.reel-archive--clean .reel-archive__media-shade{background:radial-gradient(circle at 61% 44%,rgba(8,8,8,.06) 0 22%,rgba(8,8,8,.18) 48%,rgba(8,8,8,.68) 100%),linear-gradient(180deg,rgba(8,8,8,.62) 0%,rgba(8,8,8,.12) 38%,rgba(8,8,8,.2) 65%,rgba(8,8,8,.82) 100%)}.reel-archive--clean .reel-archive__head{align-self:start}.reel-archive__signal{position:relative;z-index:2;align-self:end;display:flex;justify-content:space-between;gap:20px;margin-top:48vh;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.22);font:400 8px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.68)}.reel-archive__progress{position:relative;z-index:2;height:1px;background:rgba(255,255,255,.14);overflow:hidden}.reel-archive__progress i{display:block;width:100%;height:100%;background:rgba(255,255,255,.9);transform:scaleX(0);transform-origin:left}.reel-archive--clean .reel-caption{position:relative;z-index:2;margin-top:15px;border-top:0}.reel-archive--clean .filmstrip-3d{display:none!important}


/* studio */
.studio{min-height:125svh;padding:125px var(--pad) 85px;display:grid;grid-template-columns:1.15fr 8.85fr;gap:30px}.studio .section-no{grid-column:1}.studio-grid{grid-column:2;display:grid;grid-template-columns:1.1fr 1fr;gap:10vw}.studio-intro h2{font:300 clamp(5rem,8vw,9.5rem)/.76 var(--sans);letter-spacing:-.065em;margin:26px 0 50px}.studio-intro>p:last-child{font-size:clamp(18px,1.6vw,27px);line-height:1.25;letter-spacing:-.025em;max-width:650px}.capabilities{padding-top:14vh}.cap-list{margin-top:26px;border-top:1px solid var(--line-dark)}.cap-list article{display:grid;grid-template-columns:40px 1fr 1.2fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line-dark);align-items:start}.cap-list span{font:400 8px/1 var(--mono)}.cap-list h3{font-size:20px;font-weight:400;letter-spacing:-.025em;margin:0}.cap-list p{font-size:14px;line-height:1.25;margin:0;opacity:.64}.people{grid-column:2;margin-top:13vh;display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid var(--line-dark);padding-top:16px}.people article{display:grid;grid-template-columns:1fr 1.4fr;gap:15px}.people span{font:400 8px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.08em}.people h3{font-size:clamp(2.5rem,4vw,5rem);line-height:.9;letter-spacing:-.055em;margin:0}.people a{grid-column:2;font:400 9px/1.2 var(--mono);border-bottom:1px solid var(--line-dark);padding-bottom:8px;width:max-content}

/* contact stage + footer */
.contact-stage{min-height:88svh;position:relative;background:#050505;overflow:hidden;display:grid;align-items:end;padding:var(--pad)}.contact-stage__frame{position:absolute;inset:0}.contact-stage__frame img,.contact-stage__frame video{width:100%;height:100%;object-fit:cover;filter:brightness(.52) saturate(.68);transform:scale(1.04)}.contact-stage__frame div{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.16) 54%,rgba(0,0,0,.42)),linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.72))}.contact-stage__copy{position:relative;z-index:2;width:min(1150px,95%);padding-bottom:5vh}.contact-stage__copy>span{font:400 8px/1 var(--mono)}.contact-stage__copy h2{font:300 clamp(5rem,10.5vw,12rem)/.76 var(--sans);letter-spacing:-.07em;text-transform:uppercase;margin:30px 0;max-width:8ch}.contact-stage__copy p{font-size:18px;max-width:400px;color:var(--muted)}.contact-stage__copy a{font:500 9px/1 var(--mono);display:inline-block;margin-top:22px;border-bottom:1px solid currentColor;padding-bottom:6px}.site-footer{background:#050505;padding:0 var(--pad) 22px}.footer-cta{min-height:42vh;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font:300 clamp(4.5rem,9vw,10rem)/.8 var(--sans);letter-spacing:-.065em;text-transform:uppercase}.footer-cta i{font-style:normal;transition:transform .4s var(--ease)}.footer-cta:hover i{transform:translate(10px,-10px)}.footer-bottom{padding-top:16px;display:grid;grid-template-columns:1fr 1fr 1fr;font:400 8px/1.2 var(--mono);letter-spacing:.06em;opacity:.55}.footer-bottom span:nth-child(2){text-align:center}.footer-bottom span:last-child{text-align:right}

/* project hero */
.project-page{--accent:#8a95a8}.project-hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:#060606}.project-hero__bg{position:absolute;inset:-12%;background-size:cover;background-position:center 18%;filter:blur(58px) saturate(.82) brightness(.31);transform:scale(1.12)}.project-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.23) 47%,rgba(0,0,0,.5) 100%),linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.56))}.project-hero__top{position:absolute;z-index:2;top:calc(var(--header-h) + 17px);left:var(--pad);right:var(--pad);border-top:1px solid rgba(255,255,255,.22);padding-top:9px;display:flex;justify-content:space-between;font:400 8px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.project-hero__title{position:absolute;z-index:3;left:var(--pad);bottom:9vh;width:59vw}.project-hero__title p{font:400 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.09em;margin:0 0 16px}.project-hero h1{font:300 clamp(5.6rem,11vw,13rem)/.72 var(--sans);letter-spacing:-.07em;text-transform:uppercase;margin:0;max-width:7ch}.project-hero__poster{position:absolute;z-index:2;right:8vw;top:15vh;height:70vh;aspect-ratio:2/2.9;margin:0;perspective:1400px}.project-hero__poster img{height:100%;object-fit:cover;object-position:top;box-shadow:0 45px 110px rgba(0,0,0,.48)}.screening-link{position:absolute;z-index:4;right:var(--pad);bottom:var(--pad);width:230px;border-top:1px solid rgba(255,255,255,.45);padding-top:9px;display:flex;justify-content:space-between;font:500 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.screening-link i{font-style:normal}.project-scroll{position:absolute;z-index:4;left:var(--pad);bottom:var(--pad);display:flex;flex-direction:column;gap:7px;font:400 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.project-scroll i{height:28px;width:1px;background:rgba(255,255,255,.5);margin-left:4px}

/* project content */
.project-overview{min-height:110svh;padding:135px var(--pad) 110px;display:grid;grid-template-columns:1.15fr 6fr 2.85fr;gap:30px}.project-overview__label{font:400 8px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;display:flex;flex-direction:column;gap:8px}.project-overview__copy{font:300 clamp(2.35rem,3.8vw,5rem)/1.03 var(--sans);letter-spacing:-.042em;max-width:1020px}.project-overview__copy p{margin:0 0 1em}.project-details{margin:0;padding:0;align-self:start;border-top:1px solid var(--line-dark)}.project-details div{display:grid;grid-template-columns:1fr 1.45fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line-dark)}.project-details dt{font:400 8px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.06em}.project-details dd{font-size:14px;line-height:1.25;margin:0}
.poster-stage{min-height:120svh;position:relative;overflow:hidden;display:grid;place-items:center;padding:120px var(--pad)}.poster-stage__wash{position:absolute;inset:-20%;background-size:cover;background-position:center;filter:blur(105px) brightness(.16) saturate(.7);opacity:.75}.poster-stage__label{position:absolute;left:var(--pad);top:var(--pad);display:flex;flex-direction:column;gap:8px;font:400 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;z-index:2}.poster-stage figure{position:relative;z-index:2;margin:0;width:min(37vw,620px);perspective:1400px}.poster-stage figure img{box-shadow:0 55px 140px rgba(0,0,0,.6)}.poster-stage__quote{position:absolute;right:var(--pad);bottom:var(--pad);z-index:2;margin:0;width:min(340px,28vw);font-size:17px;line-height:1.22;color:var(--muted);letter-spacing:-.02em}.poster-triptych{min-height:120svh;padding:120px var(--pad)}.poster-triptych__copy{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.poster-triptych__copy span{font:400 8px/1 var(--mono)}.poster-triptych__copy h2{font:300 clamp(4rem,8vw,9rem)/.8 var(--sans);letter-spacing:-.06em;margin:0;text-transform:uppercase}.poster-triptych__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;align-items:center}.poster-triptych figure{margin:0;perspective:1200px}.poster-triptych figure:nth-child(2){transform:translateY(9vh)}.poster-triptych img{box-shadow:0 35px 90px rgba(0,0,0,.45)}
.themes-section{min-height:115svh;padding:125px var(--pad) 100px}.themes-head{display:grid;grid-template-columns:1.15fr 8.85fr;margin-bottom:100px}.themes-head>span{font:400 8px/1 var(--mono)}.themes-head p{margin:0;font:400 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.themes-head h2{font:300 clamp(4.6rem,8vw,9rem)/.85 var(--sans);letter-spacing:-.06em;margin:18px 0 0;max-width:10ch}.themes-grid{margin-left:11.5%;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-dark)}.themes-grid article{min-height:310px;padding:18px 6vw 28px 0;border-bottom:1px solid var(--line-dark);display:flex;flex-direction:column}.themes-grid article:nth-child(odd){border-right:1px solid var(--line-dark);padding-right:6vw}.themes-grid article:nth-child(even){padding-left:6vw}.themes-grid span{font:400 8px/1 var(--mono)}.themes-grid h3{font:400 clamp(2rem,3.2vw,4rem)/.93 var(--sans);letter-spacing:-.045em;margin:auto 0 16px}.themes-grid p{font-size:15px;line-height:1.25;max-width:430px;margin:0;opacity:.67}.context-section{min-height:100svh;padding:130px var(--pad);display:grid;grid-template-columns:1.15fr 8.85fr;gap:30px}.context-head{display:flex;flex-direction:column;gap:8px;font:400 8px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.08em}.context-copy{font:300 clamp(2.1rem,3.8vw,4.9rem)/1.04 var(--sans);letter-spacing:-.04em;max-width:1150px}.context-copy p{margin:0 0 1em}.related-section{padding:125px var(--pad) 150px}.related-head{display:grid;grid-template-columns:1.15fr 8.85fr;margin-bottom:70px}.related-head>span{font:400 8px/1 var(--mono)}.related-head p{font:400 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:0}.related-head h2{font:300 clamp(4.5rem,8vw,9rem)/.8 var(--sans);letter-spacing:-.06em;margin:18px 0 0}.related-grid{margin-left:11.5%;display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}.related-card{perspective:1200px}.related-card__img{background:#111;overflow:hidden}.related-card__img img{aspect-ratio:2/2.82;object-fit:cover;object-position:top;transition:filter .45s ease}.related-card:hover img{filter:saturate(1.08)}.related-card>div:last-child{display:flex;justify-content:space-between;align-items:baseline;padding-top:10px;border-top:1px solid var(--line);margin-top:12px}.related-card span{font:400 8px/1 var(--mono);opacity:.6}.related-card h3{font:400 clamp(1.5rem,2vw,2.8rem)/1 var(--sans);letter-spacing:-.04em;margin:0;text-align:right}.next-project{min-height:67svh;position:relative;overflow:hidden;padding:var(--pad);display:grid;grid-template-columns:1.15fr 7.7fr 1.15fr;align-items:center}.next-project__bg{position:absolute;inset:-14%;background-image:var(--next-poster);background-size:cover;background-position:center 20%;filter:blur(80px) brightness(.31) saturate(.75);transform:scale(1.15);opacity:.8}.next-project:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.18),rgba(0,0,0,.62))}.next-project>span,.next-project>strong,.next-project>i{position:relative;z-index:2}.next-project>span{font:400 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.next-project strong{font:300 clamp(5rem,10vw,12rem)/.75 var(--sans);letter-spacing:-.07em;text-transform:uppercase}.next-project i{font-style:normal;font-size:clamp(4rem,8vw,8rem);justify-self:end;transition:transform .4s var(--ease)}.next-project:hover i{transform:translate(12px,-12px)}

/* contact page */
.contact-page{background:var(--paper);color:var(--ink)}.contact-page .site-header{color:var(--ink)}.contact-page .brand img{filter:invert(1)}.contact-page .site-header.is-scrolled{background:rgba(238,234,226,.76);border-color:rgba(0,0,0,.08)}.contact-page .scroll-progress{background:#000}.contact-main{min-height:100svh;padding:calc(var(--header-h) + 40px) var(--pad) 90px;background:var(--paper);color:var(--ink)}.contact-main__top{border-top:1px solid var(--line-dark);padding-top:9px;display:flex;justify-content:space-between;font:400 8px/1 var(--mono);letter-spacing:.08em}.contact-main__title{margin:12vh 0 10vh;display:grid;grid-template-columns:1.2fr 5fr}.contact-main__title p{font-size:16px;max-width:300px;margin:0}.contact-main h1{font:300 clamp(5rem,12vw,14rem)/.72 var(--sans);letter-spacing:-.075em;text-transform:uppercase;margin:0;max-width:8ch}.contact-directory{border-top:1px solid var(--line-dark)}.contact-directory>a{display:grid;grid-template-columns:2.5fr 6.5fr 1fr;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line-dark);transition:padding .35s var(--ease)}.contact-directory>a:hover{padding-left:10px;padding-right:10px}.contact-directory span{display:flex;flex-direction:column;gap:5px}.contact-directory b{font:400 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.contact-directory small{font-size:18px}.contact-directory strong{font:400 clamp(1.8rem,3.8vw,4.8rem)/1 var(--sans);letter-spacing:-.045em;word-break:break-word}.contact-directory i{font-style:normal;font-size:35px;text-align:right}.back-home{display:inline-block;margin-top:70px;font:500 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:6px}.contact-page .site-footer{color:var(--white)}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(48px);filter:blur(7px);transition:opacity .95s var(--ease),transform 1.1s var(--ease),filter 1s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none;filter:none}

/* errors */
.error-page{min-height:100vh;background:#070707;color:#fff;display:grid;place-items:center}.error-page main{text-align:center}.error-page span{font:400 9px/1 var(--mono)}.error-page h1{font:300 clamp(5rem,12vw,14rem)/.72 var(--sans);letter-spacing:-.07em;margin:25px}.error-page a{font:500 9px/1 var(--mono);border-bottom:1px solid #fff;padding-bottom:6px}

@media(max-width:1050px){
  :root{--header-h:70px}.header-nav{display:none}.site-header{grid-template-columns:1fr 1fr}.header-tools{grid-column:2}.hero-title{font-size:15vw}.manifesto{grid-template-columns:1fr 5fr}.manifesto-main,.manifesto-bottom{grid-column:2}.manifesto-bottom{grid-template-columns:1fr;gap:70px}.works-head{grid-template-columns:1fr 5fr}.works-head h2{grid-column:2}.works-head p{grid-column:2;margin-top:20px}.film-card,.film-card.is-left{grid-template-columns:1fr 4.6fr 4.4fr}.film-card__poster,.film-card.is-left .film-card__poster{width:min(40vw,520px)}.film-card__copy h3{font-size:8vw}.reel-archive__head{grid-template-columns:1fr 5fr}.reel-archive__head button{grid-column:2;margin-top:25px;justify-self:start}.filmstrip-3d figure{width:58vw}.studio{grid-template-columns:1fr 5fr}.studio-grid,.people{grid-column:2}.studio-grid{grid-template-columns:1fr}.capabilities{padding-top:8vh}.project-hero__poster{height:62vh;right:5vw;top:18vh}.project-hero__title{width:65vw}.project-overview{grid-template-columns:1fr 5fr}.project-overview__copy,.project-details{grid-column:2}.project-details{margin-top:65px}.themes-grid,.related-grid{margin-left:0}.context-section{grid-template-columns:1fr 5fr}.related-head,.themes-head{grid-template-columns:1fr 5fr}.related-grid{gap:14px}.menu-overlay__inner{grid-template-columns:1fr 5fr}.menu-nav{grid-column:2}.menu-contact{grid-column:2}.menu-overlay__media{width:60%}
}

@media(max-width:720px){
  :root{--pad:18px;--header-h:64px}.brand small{display:none}.menu-trigger>span{display:none}.language-switcher{font-size:8px}.cursor{display:none}.loader-count{font-size:28vw}.loader-left small{display:none}
  .hero-cinema{min-height:650px}.hero-topline{top:calc(var(--header-h) + 10px)}.hero-topline span:last-child{display:none}.hero-title{bottom:27vh;font-size:18.2vw;line-height:.76}.hero-title span:last-child{align-self:flex-start}.hero-bottom{grid-template-columns:1fr auto}.hero-bottom>p{display:none}.scroll-cue{grid-column:2}.reel-control__icon{width:46px;height:46px}.reel-control b{font-size:8px}
  .manifesto{display:block;min-height:auto;padding-top:100px;padding-bottom:90px}.manifesto .section-no{margin-bottom:80px}.manifesto-main h2{font-size:15vw;max-width:100%;line-height:.88}.manifesto-bottom{display:block;margin-top:80px}.manifesto-bottom>p{font-size:19px}.stats{margin-top:70px;grid-template-columns:1fr 1fr}.stats div:last-child{grid-column:1/-1;border-top:1px solid var(--line-dark);margin-top:20px}.stats div:nth-child(2){border-right:0}
  .works-head{display:block;min-height:360px;padding-top:90px}.works-head>span{display:block;margin-bottom:55px}.works-head h2{font-size:17vw}.works-head p{margin-top:18px}.film-card,.film-card.is-left{display:grid;grid-template-columns:1fr;min-height:0;padding:25px 18px 65px}.film-card__meta{grid-column:1;flex-direction:row;justify-content:space-between;margin-bottom:40px}.film-card__poster,.film-card.is-left .film-card__poster{grid-column:1;grid-row:auto;width:min(76vw,430px);justify-self:center}.film-card__copy,.film-card.is-left .film-card__copy{grid-column:1;grid-row:auto;padding:42px 0 0;text-align:left}.film-card__copy h3{font-size:16vw;max-width:100%}.film-card__bottom{margin-top:25px}.film-card__bottom>p{font-size:16px}.film-card__wash{filter:blur(60px) saturate(.7) brightness(.12)}
  .reel-archive{min-height:980px;padding-top:95px}.reel-archive__head{display:block}.reel-archive__head>span{display:block;margin-bottom:50px}.reel-archive__head h2{font-size:17vw}.reel-archive__head button{margin-top:30px}.filmstrip-3d{height:600px;min-height:0;margin-top:45px}.filmstrip-3d figure{width:82vw}.reel-caption{display:block}.reel-caption span{display:block}.reel-caption span+span{margin-top:7px}
  .studio{display:block;min-height:auto;padding-top:100px}.studio .section-no{margin-bottom:80px}.studio-grid{display:block}.studio-intro h2{font-size:18vw}.studio-intro>p:last-child{font-size:19px}.capabilities{padding-top:100px}.cap-list article{grid-template-columns:30px 1fr}.cap-list article p{grid-column:2;margin-top:8px}.people{display:block;margin-top:110px}.people article{display:block}.people article+article{margin-top:55px}.people h3{font-size:13vw;margin:12px 0 22px}.people a{font-size:8px}
  .contact-stage{min-height:680px}.contact-stage__copy h2{font-size:17vw}.footer-cta{min-height:35vh;font-size:15vw}.footer-bottom{grid-template-columns:1fr 1fr;gap:12px}.footer-bottom span:nth-child(2){text-align:right}.footer-bottom span:last-child{grid-column:1/-1;text-align:left}
  .menu-overlay__media{width:100%;opacity:.18}.menu-overlay__shade{background:rgba(5,5,5,.78)}.menu-overlay__inner{display:flex;flex-direction:column;padding-top:calc(var(--header-h) + 40px)}.menu-nav{margin:auto 0}.menu-nav a{grid-template-columns:40px 1fr}.menu-nav span{font-size:16vw}.menu-contact{margin-top:auto}
  .project-hero{min-height:680px}.project-hero__top span:nth-child(2){display:none}.project-hero__poster{height:50vh;right:5vw;top:18vh}.project-hero__title{width:93vw;bottom:13vh}.project-hero h1{font-size:16vw;max-width:100%}.project-scroll{display:none}.screening-link{width:175px;right:18px}.project-overview{display:block;min-height:auto;padding-top:100px}.project-overview__label{margin-bottom:60px}.project-overview__copy{font-size:8.4vw}.project-details{margin-top:65px}.poster-stage{min-height:850px;padding:100px 18px}.poster-stage figure{width:77vw}.poster-stage__quote{width:70vw;right:18px;font-size:15px}.poster-triptych{padding:95px 18px}.poster-triptych__copy{display:block}.poster-triptych__copy span{display:block;margin-bottom:40px}.poster-triptych__copy h2{font-size:16vw}.poster-triptych__grid{grid-template-columns:1fr;gap:45px}.poster-triptych figure:nth-child(2){transform:none}.themes-section{min-height:auto;padding:100px 18px}.themes-head{display:block;margin-bottom:60px}.themes-head>span{display:block;margin-bottom:55px}.themes-head h2{font-size:15vw}.themes-grid{display:block}.themes-grid article{border-right:0!important;padding:20px 0 30px!important;min-height:250px}.themes-grid h3{font-size:10vw}.context-section{display:block;min-height:auto;padding:100px 18px}.context-head{margin-bottom:60px}.context-copy{font-size:8.2vw}.related-section{padding:100px 18px}.related-head{display:block}.related-head>span{display:block;margin-bottom:50px}.related-head h2{font-size:15vw}.related-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.related-card{flex:0 0 74vw;scroll-snap-align:start}.related-card h3{font-size:8vw}.next-project{min-height:50vh;grid-template-columns:1fr auto}.next-project>span{grid-column:1/-1;align-self:start}.next-project strong{font-size:15vw}.next-project i{font-size:11vw}.contact-main__title{display:block;margin-top:15vh}.contact-main__title p{margin-bottom:50px}.contact-main h1{font-size:18vw}.contact-directory>a{grid-template-columns:1fr auto}.contact-directory strong{grid-column:1/-1;grid-row:2;font-size:7.5vw}.contact-directory i{grid-column:2;grid-row:1/3}
}

:root[data-motion="reduced"]{scroll-behavior:auto}:root[data-motion="reduced"] .smooth-mode .scroll-shell{position:static!important;transform:none!important}:root[data-motion="reduced"] .smooth-mode body{height:auto!important}:root[data-motion="reduced"] .hero-grain,:root[data-motion="reduced"] .scroll-cue i:after{animation:none!important}:root[data-motion="reduced"] .loader{display:none}:root[data-motion="reduced"] .cursor{display:none}:root[data-motion="reduced"] .filmstrip-3d figure{transition:none!important}:root[data-motion="reduced"] [data-tilt]{transform:none!important}:root[data-motion="reduced"] .hero-reel{display:block!important}@media (prefers-reduced-motion: reduce){:root:not([data-motion]){scroll-behavior:auto}:root:not([data-motion]) .smooth-mode .scroll-shell{position:static!important;transform:none!important}:root:not([data-motion]) .smooth-mode body{height:auto!important}:root:not([data-motion]) .hero-grain,:root:not([data-motion]) .scroll-cue i:after{animation:none!important}:root:not([data-motion]) .loader{display:none}:root:not([data-motion]) .cursor{display:none}:root:not([data-motion]) .filmstrip-3d figure{transition:none!important}:root:not([data-motion]) [data-tilt]{transform:none!important}:root:not([data-motion]) .hero-reel{display:block!important}}
/* final interaction fixes */
body.menu-open .site-header{color:var(--white);background:transparent;border-color:transparent;backdrop-filter:none}
body.menu-open .site-header .brand img{filter:none}
.contact-page.menu-open .site-header{color:var(--white)}
.poster-triptych figure:nth-child(2){transform:none;position:relative;top:9vh}
@media(max-width:720px){.poster-triptych figure:nth-child(2){top:0}}
/* adaptive header over light / dark sections */
.site-header.is-light{color:var(--ink)}
.site-header.is-light .brand img{filter:invert(1)}
.site-header.is-light.is-scrolled{background:rgba(238,234,226,.72);border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:blur(18px)}
body.menu-open .site-header.is-light{color:var(--white);background:transparent;border-color:transparent;backdrop-filter:none}
body.menu-open .site-header.is-light .brand img{filter:none}
@media(max-width:720px){
  .hero-title span:last-child{font-size:14vw;letter-spacing:-.085em;white-space:nowrap}
}

@media(max-width:720px){.loader{padding:18px}.loader__center{flex-direction:column;gap:26px}.loader__leader{width:126px}.loader__identity{align-items:center}.loader__identity strong{font-size:24vw;margin:10px 0 14px}.loader__identity small{font-size:7px}.loader__bottom{grid-template-columns:auto 1fr 28px;gap:10px;font-size:7px}.loader__top{font-size:7px}.reel-archive--clean{min-height:840px;padding-top:90px}.reel-archive__signal{margin-top:42vh}.reel-archive--clean .reel-archive__media video{opacity:.62;filter:saturate(.78) contrast(1.04) brightness(.5)}}



/* V3.5 FINAL — menu contrast + loader parity */
.menu-overlay,
.contact-page .menu-overlay,
.paper .menu-overlay{
  color:var(--white);
  background:#050505;
  isolation:isolate;
}
.menu-overlay a,.menu-overlay button{color:inherit}
.menu-overlay__inner{color:var(--white)}
.menu-nav a{border-color:rgba(247,245,239,.15)}
.menu-nav b,.menu-num{color:rgba(247,245,239,.55)}
.menu-contact{color:rgba(247,245,239,.78)}
.menu-contact a:hover{color:var(--white)}
body.menu-open .site-header,
.contact-page.menu-open .site-header,
body.menu-open .site-header.is-light{
  color:var(--white)!important;
  background:transparent!important;
  border-color:transparent!important;
  backdrop-filter:none!important;
}
body.menu-open .site-header .brand img,
.contact-page.menu-open .site-header .brand img,
body.menu-open .site-header.is-light .brand img{filter:none!important}

/* Keep the ELION Picture Start present on desktop and mobile.
   Reduced-motion receives a calm/short version instead of removing it. */
:root[data-motion="reduced"] .loader{display:grid!important;transition-duration:.28s!important}:root[data-motion="reduced"] .loader:after,:root[data-motion="reduced"] .loader__leader i{animation:none!important}:root[data-motion="reduced"] .loader.is-ready .loader__identity>span{animation:none!important}
@media (prefers-reduced-motion: reduce){:root:not([data-motion]) .loader{display:grid!important;transition-duration:.28s!important}:root:not([data-motion]) .loader:after,:root:not([data-motion]) .loader__leader i{animation:none!important}:root:not([data-motion]) .loader.is-ready .loader__identity>span{animation:none!important}
}

/* V3.6 FINAL — preserve display scale; solve fit through composition, wrapping and width. */
.scroll-shell,main,section,article,.film-card__meta,.film-card__poster,.film-card__copy,.project-hero__title,.contact-main__title,.contact-main__title>*{min-width:0}
.project-hero__title{width:min(84vw,1600px);max-width:calc(100vw - (var(--pad) * 2))}
.project-hero h1{max-width:7ch;overflow-wrap:normal;word-break:normal}
.film-card__copy h3{overflow-wrap:normal;word-break:normal}
.contact-directory strong{overflow-wrap:anywhere;hyphens:auto}
.contact-main h1{overflow-wrap:normal;word-break:normal}
.contact-stage__copy h2,.footer-cta span,.next-project strong{overflow-wrap:normal;word-break:normal}
html.loader-lock,body.loader-lock{overflow:hidden!important;overscroll-behavior:none!important}
body.loader-lock{height:100svh;touch-action:none}
.contact-stage__frame video{display:block;position:absolute;inset:0;will-change:transform}
@media(max-width:1050px){.project-hero__title{width:min(88vw,1100px)}}
@media(max-width:720px){
  .project-hero__title{width:calc(100vw - 36px);max-width:calc(100vw - 36px)}
  .project-hero h1{max-width:7ch}
  .film-card,.film-card.is-left{grid-template-columns:minmax(0,1fr)}
  .film-card__meta,.film-card__copy{width:100%;max-width:100%;min-width:0}
  .footer-cta span,.next-project strong,.contact-stage__copy h2{max-width:100%}
}

@media(max-width:720px){
  /* Preserve the mobile display token; only an unbreakable English word may wrap internally. */
  .contact-stage__copy h2,.contact-main h1{overflow-wrap:anywhere;word-break:normal}
}


/* V3.7 MOBILE QA — iOS viewport integrity, safe areas and spacing rhythm */
html{
  width:100%;
  max-width:100%;
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body,.scroll-shell,main{
  width:100%;
  max-width:100%;
  min-width:0;
}
body{overflow-x:clip}
main>section,main>.works,.site-footer,.contact-main{
  width:100%;
  max-width:100%;
}
/* Decorative overscan must never establish the document's inline size. */
.hero-cinema,.film-card,.reel-archive,.contact-stage,.project-hero,.next-project{overflow-x:clip}

@media(max-width:720px){
  :root{--pad:20px}
  html,body,.scroll-shell,main{
    inline-size:100dvw;
    max-inline-size:100dvw;
    min-inline-size:0;
  }
  main>section,main>.works,.site-footer,.contact-main{
    inline-size:100%;
    max-inline-size:100%;
  }
  .site-header{
    padding-left:max(var(--pad),env(safe-area-inset-left));
    padding-right:max(var(--pad),env(safe-area-inset-right));
  }
  .loader,.menu-overlay__inner,.reel-modal{
    padding-left:max(var(--pad),env(safe-area-inset-left));
    padding-right:max(var(--pad),env(safe-area-inset-right));
  }
  .manifesto,.works-head,.film-card,.studio,.contact-stage,
  .project-overview,.poster-stage,.poster-triptych,.themes-section,
  .context-section,.related-section,.next-project,.contact-main,.site-footer{
    padding-left:max(var(--pad),env(safe-area-inset-left));
    padding-right:max(var(--pad),env(safe-area-inset-right));
  }
  .manifesto-main,.manifesto-bottom,.stats,.works-head>* ,.film-card__meta,
  .film-card__poster,.film-card__copy,.studio-grid,.people,.contact-stage__copy,
  .project-overview__copy,.project-details,.themes-head,.themes-grid,
  .context-head,.context-copy,.related-head,.contact-main__title,.contact-directory{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .screening-link{right:max(var(--pad),env(safe-area-inset-right))}
  .poster-stage__quote{right:max(var(--pad),env(safe-area-inset-right))}
  .manifesto-main h2{
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
  }
  /* Russian display copy gets one art-directed break opportunity without shrinking the style. */
  html[lang="ru"] .manifesto-main h2{
    overflow-wrap:normal;
    word-break:normal;
  }
  /* Horizontal related-work rail is intentional; keep the page itself locked to the viewport. */
  .related-grid{max-width:100%;overscroll-behavior-inline:contain}
}

@media(max-width:430px){
  .manifesto .section-no{margin-bottom:68px}
  .manifesto-bottom{margin-top:68px}
  .film-card__poster,.film-card.is-left .film-card__poster{width:min(78vw,430px)}
  .project-overview__copy,.context-copy{max-width:100%}
}

@media(max-width:360px){
  :root{--pad:18px}
  .manifesto .section-no{margin-bottom:60px}
  .manifesto-bottom{margin-top:60px}
  .film-card,.film-card.is-left{padding-top:22px;padding-bottom:58px}
  .menu-nav a{grid-template-columns:34px minmax(0,1fr)}
  .header-tools{gap:16px}
}

@media(max-width:720px){
  html,body,.scroll-shell,main{inline-size:100vw;max-inline-size:100vw}
  @supports (width:100dvw){html,body,.scroll-shell,main{inline-size:100dvw;max-inline-size:100dvw}}
  .project-hero__title{
    left:max(var(--pad),env(safe-area-inset-left));
    right:max(var(--pad),env(safe-area-inset-right));
    width:auto;
    max-width:none;
  }
}

/* iPhone safe-area hardening — no visual change on ordinary viewports. */
.site-header,
.loader,.menu-overlay__inner,.reel-modal,
.manifesto,.works-head,.film-card,.reel-archive,.studio,.contact-stage,.site-footer,
.project-overview,.poster-stage,.poster-triptych,.themes-section,.context-section,
.related-section,.next-project,.contact-main{
  padding-left:max(var(--pad),env(safe-area-inset-left));
  padding-right:max(var(--pad),env(safe-area-inset-right));
}
.hero-topline,.hero-title,.hero-bottom,.project-hero__top{
  left:max(var(--pad),env(safe-area-inset-left));
  right:max(var(--pad),env(safe-area-inset-right));
}
.project-hero__title,.project-scroll{
  left:max(var(--pad),env(safe-area-inset-left));
}
.screening-link{
  right:max(var(--pad),env(safe-area-inset-right));
}
.site-footer{padding-bottom:max(22px,env(safe-area-inset-bottom))}
.menu-overlay__inner,.reel-modal{padding-bottom:max(var(--pad),env(safe-area-inset-bottom))}
@media(max-width:720px){
  .loader{padding-bottom:max(18px,env(safe-area-inset-bottom))}
}


/* V3.8 FINAL — clean cinema image + clean optical loader */
.hero-grain{display:none!important}
.loader:after{display:none!important;content:none!important}
.loader{background:#030303}
.loader:before{opacity:.34;background:linear-gradient(90deg,transparent 49.97%,rgba(255,255,255,.075) 50%,transparent 50.03%),linear-gradient(0deg,transparent 49.97%,rgba(255,255,255,.045) 50%,transparent 50.03%)}
.loader__leader{background:radial-gradient(circle,rgba(255,255,255,.025) 0 46%,transparent 47%)}
.loader__leader i{opacity:.82}

/* V4.0 FINAL — mobile dynamic-viewport / in-app browser hardening */
@media(max-width:720px){
  /* Content sections must be content-driven. iOS Safari/Telegram toolbars can
     change the visual viewport while the page is open; never let STUDIO be
     clipped to a stale viewport-height measurement. */
  .studio{
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    padding-top:calc(var(--header-h) + 38px);
    padding-bottom:calc(132px + env(safe-area-inset-bottom));
  }
  .studio .section-no{margin-bottom:68px}
  .studio-grid,.studio-intro,.capabilities,.cap-list,.people,.people article{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
  }
  .studio-intro{width:100%;max-width:100%;min-width:0}
  .studio-intro h2{width:100%;max-width:100%;margin-bottom:42px}
  .capabilities{padding-top:88px}
  .cap-list article{min-width:0}
  .people{margin-top:96px;padding-bottom:max(24px,env(safe-area-inset-bottom))}

  /* Full-screen/mobile scenes get a real dynamic viewport floor where the
     browser supports it, while preserving the existing art direction. */
  @supports (height:100dvh){
    .hero-cinema,.project-hero{min-height:max(650px,100dvh)}
    .contact-stage{min-height:max(680px,100dvh)}
  }
}

/* Telegram / Safari can expose a bottom control bar with no non-zero CSS
   safe-area. Keep content scrollable above it instead of ending flush. */
@supports (-webkit-touch-callout:none){
  @media(max-width:720px){
    .studio{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
    .contact-main,.site-footer{padding-bottom:max(34px,env(safe-area-inset-bottom))}
  }
}

/* Short mobile viewports (Telegram / in-app browsers): keep the same type
   scale, compress only vertical whitespace so the next information layer is
   not pushed behind browser chrome. */
@media(max-width:720px) and (max-height:700px){
  .studio{padding-top:calc(var(--header-h) + 24px);padding-bottom:calc(132px + env(safe-area-inset-bottom))}
  .studio .section-no{margin-bottom:48px}
  .studio-intro h2{margin-bottom:30px}
  .capabilities{padding-top:54px}
  .people{margin-top:76px}
}
