/* ELION V5: shared editorial grid, readable type and a measured motion system. */
:root {
  --pad: clamp(22px, 3.2vw, 64px);
  --gutter: clamp(20px, 2.2vw, 42px);
  --section-space: clamp(88px, 9vw, 172px);
  --index-col: minmax(40px, 1fr);
  --display-leading: .94;
  --display-tracking: -.052em;
  --muted: rgba(247,245,239,.72);
  --ease: cubic-bezier(.19,1,.22,1);
  --ease-out: cubic-bezier(.22,.68,0,1.01);
}
html { scrollbar-gutter: stable; }
body { line-height:1.5; }
img { height:auto; }
h1,h2,h3,p { text-wrap:pretty; }
h1,h2,h3 { font-kerning:normal; }
:focus-visible { outline:2px solid currentColor; outline-offset:7px; }
.skip-link { position:fixed;z-index:4000;left:var(--pad);top:12px;padding:12px 20px;background:var(--paper);color:var(--ink);transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.site-header { --header-h:80px; }
.header-nav,.menu-trigger,.language-switcher { font-size:11px; }
.header-nav { gap:32px; }
.header-nav a { opacity:.82;padding:12px 0; }
.header-nav a[aria-current] { opacity:1; }
.header-nav a[aria-current]:after { transform:scaleX(1); }
.language-switcher button { min-width:28px;min-height:36px; }
.language-switcher span { align-self:center; }
.brand { font-size:15px; }
.brand small { font-size:9px; }
.eyebrow,.section-no,.works-head>span,.film-card__meta,
.film-card__copy>p:first-child,.hero-topline,.project-hero__top,
.project-hero__title p,.project-scroll,.screening-link,
.project-overview__label,.project-details dt,.poster-stage__label,
.themes-head>span,.themes-head p,.themes-grid span,.context-head,
.related-head>span,.related-head p,.people span,.people a,
.contact-main__top,.contact-directory b,.footer-bottom,
.reel-control b,.reel-control small,.contact-stage__copy>span,
.contact-stage__copy a,.film-card__bottom a,.next-project>span {
  font-size:11px;line-height:1.45;letter-spacing:.075em;
}
.hero-title { margin:0;line-height:.9;bottom:19%;font-size:clamp(6.5rem,13.2vw,16rem); }
.hero-bottom { grid-template-columns:1fr 1fr 1fr;gap:var(--gutter); }
.hero-bottom>p { font-size:clamp(17px,1.45vw,23px);line-height:1.3;max-width:28ch; }
.hero-topline { padding-top:14px; }
.hero-reel { filter:saturate(.96) brightness(.83); }
.hero-vignette { background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 35%,rgba(0,0,0,.65)); }
.reel-control__icon { width:60px;height:60px; }
.reel-control { gap:16px; }
.scroll-cue { font-size:10px; }
.hero-cinema { min-height:650px; }
.hero-cinema.video-needs-gesture:after { display:none; }
.background-retry { display:none;position:absolute;right:var(--pad);top:calc(var(--header-h) + 64px);z-index:5;background:#070707bb;border:1px solid var(--line);padding:12px 16px;font:400 11px/1.5 var(--mono);cursor:pointer; }
.video-needs-gesture .background-retry { display:block; }
.hero-title span,.project-hero h1,.works-head h2,.film-card__copy h3,
.studio-intro h2,.contact-stage__copy h2,.contact-main h1,.next-project strong,
.themes-head h2,.related-head h2,.poster-triptych__copy h2,.footer-cta {
  letter-spacing:var(--display-tracking);line-height:var(--display-leading);
}

/* The same content axes run through each editorial section. */
.manifesto { min-height:0;padding-block:var(--section-space);grid-template-columns:1fr 7fr 4fr;gap:var(--gutter); }
.manifesto .section-no { padding-top:4px; }
.manifesto-main { grid-column:2/4; }
.manifesto-main .eyebrow { margin:0 0 32px; }
.manifesto-main h2 { font-size:clamp(4.8rem,8.8vw,10.5rem);line-height:.98;letter-spacing:-.05em;max-width:15ch;margin:0; }
.manifesto-bottom { grid-column:2/4;grid-template-columns:6fr 4fr;gap:clamp(32px,5vw,96px);margin-top:72px;align-items:start; }
.manifesto-bottom>p { font-size:clamp(21px,2vw,30px);line-height:1.4;max-width:35ch; }
.stats div { min-height:120px;gap:32px; }
.stats span { font-size:10px;line-height:1.45; }
.stats strong { font-size:clamp(25px,2.7vw,45px); }
.works-head { min-height:0;grid-template-columns:1fr 7fr 4fr;gap:var(--gutter);padding-top:var(--section-space);padding-bottom:64px;align-items:start; }
.works-head>span { padding-top:12px; }
.works-head h2 { max-width:10ch; }
.works-head p { font-size:clamp(18px,1.5vw,23px);line-height:1.4;align-self:end;max-width:23ch;margin-bottom:8px; }
.film-index { display:flex;align-items:center;gap:12px;padding:20px var(--pad);border-bottom:1px solid var(--line);font:400 11px/1.4 var(--mono);letter-spacing:.06em; }
.film-index>span { margin-right:auto;text-transform:uppercase; }
.film-index a { display:grid;place-items:center;min-width:40px;min-height:40px;border:1px solid var(--line);transition:background .25s,color .25s; }
.film-index a:hover,.film-index a:focus-visible { background:var(--paper);color:var(--ink); }

/* Whole posters, a readable description, and an explicit editorial gutter. */
.film-card,.film-card.is-left { grid-template-columns:1fr 6fr 5fr;gap:var(--gutter);min-height:0;padding-block:clamp(64px,6vw,120px);align-items:center; }
.film-card.is-left { grid-template-columns:1fr 5fr 6fr; }
.film-card__meta { padding-top:0;align-self:start;gap:8px; }
.film-card__poster,.film-card.is-left .film-card__poster { width:min(100%,440px);justify-self:start; }
.film-card.is-left .film-card__poster { justify-self:end; }
.film-card__poster img { aspect-ratio:auto;object-fit:contain;box-shadow:0 28px 70px #0005; }
.film-card__copy,.film-card.is-left .film-card__copy { align-self:center;padding:0;min-width:0; }
.film-card__copy h3 { max-width:100%;font-size:clamp(4rem,6.6vw,8.5rem);overflow-wrap:normal; }
.film-card__copy>p:first-child { margin-bottom:28px; }
.film-card__bottom { margin-top:36px; }
.film-card__bottom>p { font-size:clamp(18px,1.5vw,24px);line-height:1.45;max-width:32ch;letter-spacing:-.018em; }
.film-card__bottom a { display:flex;justify-content:space-between;align-items:center;max-width:300px;padding:18px 0;border-top:1px solid var(--line);border-bottom:0;margin-top:28px; }
.film-card__bottom a i { font-size:22px;transition:transform .45s var(--ease); }
.film-card__bottom a:hover i { transform:translate(4px,-4px); }
.film-card__wash { filter:blur(50px) saturate(.7) brightness(.19); }
.film-card:after { background:linear-gradient(90deg,#070707d9,#07070777 55%,#070707bb); }
.poster-shadow { opacity:.08; }

/* Long-form pages: lead, supporting reading text, then the production record. */
.project-hero { min-height:740px; }
.project-hero__title { width:57%;bottom:16%; }
.project-hero h1 { max-width:100%;font-size:clamp(5.6rem,10.6vw,13rem); }
.project-hero__poster { top:17%;right:var(--pad);height:64%;max-width:44%; }
.project-hero__poster img { object-fit:contain; }
.project-hero__title p { margin-bottom:28px; }
.project-overview { min-height:0;grid-template-columns:1fr 7fr 4fr;gap:var(--gutter);padding-block:var(--section-space); }
.project-overview__copy { font-size:clamp(20px,1.85vw,29px);line-height:1.5;letter-spacing:-.015em;max-width:40ch;padding-right:clamp(0px,2vw,40px); }
.project-overview__copy p:first-child { font-size:clamp(26px,2.5vw,36px);line-height:1.26;letter-spacing:-.028em;margin-bottom:1em; }
.project-overview__copy p:last-child { margin-bottom:0; }
.project-details { margin-left:clamp(0px,2vw,40px); }
.project-details div { grid-template-columns:1fr 1.4fr;padding:18px 0;gap:16px; }
.project-details dd { font-size:16px;line-height:1.45; }
.poster-stage { min-height:0;padding-block:var(--section-space); }
.poster-stage figure { width:min(44vw,600px); }
.poster-stage__quote { font-size:19px;line-height:1.4; }
.poster-triptych { min-height:0;padding-block:var(--section-space);padding-bottom:calc(var(--section-space) + 7vh); }
.themes-section { min-height:0;padding-block:var(--section-space); }
.themes-head,.related-head { grid-template-columns:1fr 11fr;gap:var(--gutter);margin-bottom:72px; }
.themes-head h2 { max-width:14ch; }
.themes-grid { margin-left:calc((100% - var(--gutter)*11)/12 + var(--gutter)); }
.themes-grid article { min-height:290px;padding-top:24px;gap:30px; }
.themes-grid h3 { line-height:1.05; }
.themes-grid p { font-size:18px;line-height:1.45;opacity:.8; }
.context-section { min-height:0;grid-template-columns:1fr 11fr;gap:var(--gutter);padding-block:var(--section-space); }
.context-copy { display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,100px);font-size:clamp(23px,2.25vw,34px);line-height:1.4;letter-spacing:-.025em; }
.context-copy p { margin:0; }
.related-section { padding-block:var(--section-space); }
.related-grid { margin-left:calc((100% - var(--gutter)*11)/12 + var(--gutter));gap:var(--gutter);align-items:start; }
.related-card__img { aspect-ratio:2/3;background:#111; }
.related-card__img img { height:100%;object-fit:contain; }
.related-card h3 { line-height:1.05;letter-spacing:-.03em; }
.related-card>div:last-child { padding-top:18px;border-top:1px solid var(--line);margin-top:20px; }
.next-project { min-height:55svh;grid-template-columns:1fr 10fr 1fr;gap:var(--gutter); }
.next-project strong { font-size:clamp(4rem,8.5vw,10rem); }

.reel-archive { min-height:90svh; }
.reel-archive h2 { line-height:.95;letter-spacing:-.045em; }
.reel-section-video { filter:brightness(.8) saturate(.96); }
.studio { min-height:0;padding-block:var(--section-space);grid-template-columns:1fr 11fr;gap:var(--gutter); }
.studio-grid { grid-template-columns:6fr 5fr;gap:clamp(32px,5vw,96px); }
.studio-intro h2 { font-size:clamp(5rem,7vw,9.5rem);margin-top:32px;margin-bottom:48px; }
.studio-intro>p:last-child { font-size:clamp(21px,1.9vw,29px);line-height:1.4;max-width:30ch; }
.capabilities { padding-top:0; }
.capabilities article { padding-block:24px; }
.capabilities h3 { line-height:1.1; }
.capabilities p { font-size:17px;line-height:1.45; }
.people { margin-top:80px;gap:var(--gutter);padding-top:24px; }
.people article { display:flex;flex-direction:column;align-items:start;gap:22px; }
.people h3 { line-height:1.05;font-size:clamp(32px,3.5vw,60px); }
.people a { max-width:100%;overflow-wrap:anywhere; }
.contact-stage__copy { width:100%;display:grid;grid-template-columns:1fr 7fr 4fr;column-gap:var(--gutter);padding-block:80px; }
.contact-stage__copy>span { grid-column:1;align-self:start;margin-top:12px; }
.contact-stage__copy h2 { grid-column:2/4;max-width:12ch;margin:0 0 40px; }
.contact-stage__copy p { grid-column:2;font-size:21px;line-height:1.4;margin:0; }
.contact-stage__copy a { grid-column:3;justify-self:start;align-self:end;margin:0;font-size:13px;padding-bottom:10px; }
.contact-stage__frame img,.contact-stage__frame video { filter:brightness(.8) saturate(.96); }
.contact-main__title { grid-template-columns:1fr 7fr 4fr;gap:var(--gutter);margin-block:100px; }
.contact-main__title p { grid-column:3;grid-row:2;align-self:end;font-size:21px;line-height:1.4; }
.contact-main h1 { grid-column:1/4;grid-row:1;font-size:clamp(5rem,10.5vw,14rem);max-width:13ch; }
.contact-directory>a { padding-block:32px; }
.contact-directory b { margin-bottom:8px; }
.contact-directory strong { font-size:clamp(24px,3.7vw,60px);letter-spacing:-.035em; }
.footer-cta { min-height:32vh;padding-block:50px;gap:24px; }
.footer-bottom { padding-block:24px;opacity:.75; }

/* Content enters crisply. Only the media scales, never the whole page. */
[data-reveal],.film-card[data-reveal] { filter:none;transform:translateY(26px);transition:opacity .65s var(--ease),transform .9s var(--ease); }
[data-reveal].is-visible,.film-card[data-reveal].is-visible { filter:none;transform:none; }
.film-card[data-reveal] .film-card__copy h3 { clip-path:none;transform:translateY(20px); }
.film-card[data-reveal].is-visible .film-card__copy h3 { clip-path:none;transform:none; }
.film-card[data-reveal] .film-card__poster { opacity:1; }
.film-card[data-reveal] .film-card__poster img { transform:scale(1.03); }
@keyframes heroTypeIn { from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none} }
@keyframes projectTitleIn { from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none} }
@keyframes heroFilmIn { from{opacity:.35;transform:scale(1.065)}to{opacity:1;transform:scale(1.04)} }
.menu-nav span { line-height:1.04; }
.menu-nav a { padding-block:17px; }
.menu-contact { font-size:12px;gap:12px; }
.experience-controls { display:flex;flex-direction:column;gap:8px;padding-bottom:24px;margin-bottom:12px;border-bottom:1px solid var(--line); }
.experience-controls button { text-align:left;border:0;background:none;padding:10px 0;cursor:pointer;font:400 11px/1.5 var(--mono); }
.loader__bottom { grid-template-columns:auto minmax(130px,28vw) auto; }
.film-card__bottom a { width:100%; }
.cursor { display:none; }
.loader:after { display:none; }
.error-page main { max-width:1440px;margin:auto;padding:120px var(--pad); }
.error-page h1 { font-size:clamp(4rem,11vw,11rem);line-height:.96;letter-spacing:-.05em; }
.error-page a { display:inline-block;margin:24px 28px 0 0;padding-bottom:8px;border-bottom:1px solid; }

@media(max-width:1100px) and (min-width:721px) {
  .project-overview { grid-template-columns:1fr 7fr 4fr; }
  .studio-grid { grid-template-columns:1fr; }
  .capabilities { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
  .capabilities>.eyebrow { grid-column:1/-1; }
  .film-card__poster,.film-card.is-left .film-card__poster { width:100%; }
  .people { grid-template-columns:1fr 1fr; }
}
@media(max-width:720px) {
  :root { --pad:22px;--gutter:20px;--section-space:88px; }
  .header-nav { display:none; }
  .header-tools { gap:18px; }
  .brand small { display:none; }
  .hero-cinema { min-height:660px; }
  .hero-title { bottom:31%;font-size:clamp(2.5rem,13.2vw,6.5rem);line-height:.98; }
  .hero-title span:last-child { align-self:start; }
  .hero-bottom { grid-template-columns:1fr auto;row-gap:28px; }
  .hero-bottom>p { display:block;grid-row:1;grid-column:1/3;justify-self:start;font-size:20px;max-width:25ch; }
  .hero-bottom .reel-control { grid-row:2; }
  .scroll-cue { grid-column:2;grid-row:2; }
  .hero-topline { font-size:9px;gap:24px; }
  .hero-topline span:last-child { text-align:right; }
  .manifesto,.studio,.context-section,.project-overview { display:block; }
  .manifesto .section-no,.studio .section-no { margin:0 0 48px; }
  .manifesto-main h2 { font-size:clamp(3.6rem,13.5vw,6.6rem);line-height:1.02;max-width:100%; }
  .manifesto-bottom { display:block;margin-top:44px; }
  .manifesto-bottom>p { font-size:22px; }
  .stats { margin-top:40px; }
  .stats strong { font-size:27px; }
  .stats span { font-size:9px; }
  .stats div { min-height:110px; }
  .works-head { display:grid;grid-template-columns:1fr;gap:24px;padding-bottom:42px; }
  .works-head>* { grid-column:1;grid-row:auto; }
  .works-head h2 { font-size:clamp(3.5rem,16vw,7rem);max-width:100%;hyphens:auto; }
  .works-head p { max-width:27ch;font-size:19px; }
  .film-index { gap:6px;flex-wrap:wrap; }
  .film-index>span { flex-basis:100%;margin-bottom:10px; }
  .film-index a { flex:1; }
  .film-card,.film-card.is-left { display:flex;flex-direction:column;gap:28px;padding-block:36px 64px; }
  .film-card__meta { width:100%;display:flex;flex-direction:row;gap:16px; }
  .film-card__meta span:last-child { margin-left:auto; }
  .film-card__poster,.film-card.is-left .film-card__poster { width:100%;max-width:440px;align-self:center; }
  .film-card__copy,.film-card.is-left .film-card__copy { width:100%;padding:0; }
  .film-card__copy>p:first-child { margin-bottom:16px; }
  .film-card__copy h3 { font-size:clamp(3.9rem,14vw,6rem);max-width:100%; }
  .film-card__bottom { margin-top:24px; }
  .film-card__bottom>p { font-size:19px;max-width:100%; }
  .film-card__bottom a { max-width:none;margin-top:24px; }
  .project-hero { min-height:740px;height:100svh; }
  .project-hero__poster { right:var(--pad);top:19%;height:48%;max-width:78%; }
  .project-hero__title { left:var(--pad);right:var(--pad);width:auto;bottom:14%; }
  .project-hero h1 { font-size:clamp(3.9rem,15vw,7rem);max-width:100%; }
  .project-hero__title p { margin-bottom:16px; }
  .project-hero__top { font-size:9px; }
  .project-overview__label { margin-bottom:36px; }
  .project-overview__copy { font-size:20px;line-height:1.5;padding:0;max-width:100%; }
  .project-overview__copy p:first-child { font-size:26px;line-height:1.28; }
  .project-details { margin:48px 0 0; }
  .poster-stage { padding-block:100px 70px;display:flex;flex-direction:column;gap:36px; }
  .poster-stage figure { width:100%;max-width:450px; }
  .poster-stage__quote { position:relative;inset:auto;width:100%;max-width:100%;font-size:19px; }
  .poster-triptych__grid { gap:16px; }
  .themes-head,.related-head { display:block;margin-bottom:40px; }
  .themes-head>span,.related-head>span { display:block;margin-bottom:32px; }
  .themes-head h2 { font-size:clamp(3.5rem,13vw,6rem);max-width:100%;line-height:1.02;hyphens:auto;overflow-wrap:anywhere; }
  .themes-grid { margin-left:0;grid-template-columns:1fr; }
  .themes-grid article,.themes-grid article:nth-child(odd),.themes-grid article:nth-child(even) { padding:24px 0 32px;border-right:0;min-height:0;gap:24px; }
  .themes-grid h3 { margin:0;font-size:34px; }
  .context-head { margin-bottom:36px; }
  .context-copy { display:block;font-size:23px;line-height:1.4; }
  .context-copy p+p { margin-top:1.4em; }
  .related-grid { margin-left:0;gap:20px;grid-template-columns:repeat(3,minmax(220px,72vw));padding-bottom:20px; }
  .related-head h2 { font-size:clamp(3.5rem,13vw,6rem); }
  .next-project { min-height:420px;grid-template-columns:1fr auto;gap:28px; }
  .next-project>span { grid-column:1/-1;align-self:end; }
  .next-project strong { font-size:clamp(3.5rem,12vw,6rem); }
  .next-project i { font-size:42px; }
  .studio-grid { display:block; }
  .studio-intro h2 { font-size:clamp(2.8rem,13.5vw,7rem);margin-block:28px 36px; }
  .studio-intro>p:last-child { font-size:22px; }
  .capabilities { padding-top:48px; }
  .people { display:grid;grid-template-columns:1fr;margin-top:56px;gap:40px; }
  .people article+article { margin-top:0; }
  .people h3 { font-size:42px;margin:0; }
  .people a { font-size:11px; }
  .contact-stage { min-height:740px; }
  .contact-stage__copy { display:block;padding-block:48px; }
  .contact-stage__copy>span { display:block;margin:0 0 44px; }
  .contact-stage__copy h2 { font-size:clamp(4rem,14vw,7rem);max-width:100%;margin-bottom:32px; }
  .contact-stage__copy p { font-size:21px; }
  .contact-stage__copy a { margin-top:36px; }
  .contact-main__title { display:flex;flex-direction:column-reverse;gap:36px;margin-block:60px; }
  .contact-main h1 { font-size:clamp(4.2rem,15vw,7rem);max-width:100%; }
  .contact-directory>a { grid-template-columns:1fr auto;gap:24px;padding-block:28px; }
  .contact-directory>a span { grid-column:1/-1; }
  .contact-directory strong { font-size:clamp(24px,6vw,38px); }
  .contact-directory i { font-size:28px; }
  .footer-cta { font-size:clamp(3rem,12vw,6rem);min-height:0;line-height:1; }
  .footer-bottom { font-size:9px;grid-template-columns:1fr;gap:12px; }
  .footer-bottom span:nth-child(2),.footer-bottom span:last-child { text-align:left; }
  .menu-overlay__inner { display:flex;flex-direction:column;gap:28px;padding-top:110px;padding-bottom:max(24px,env(safe-area-inset-bottom));height:100dvh;overflow-y:auto; }
  .menu-num { flex:none; }
  .menu-nav { flex:1;justify-content:center;width:100%;min-height:240px; }
  .menu-nav a { padding-block:12px; }
  .menu-nav span { font-size:clamp(3.5rem,14vw,5rem); }
  .menu-contact { font-size:11px;overflow-wrap:anywhere;align-items:stretch;align-self:stretch;gap:6px;text-align:left; }
  .experience-controls { padding-bottom:12px;margin-bottom:6px;gap:2px; }
  .experience-controls button { padding-block:6px; }
}
:root[data-motion="reduced"]{ scroll-behavior:auto; }:root[data-motion="reduced"] [data-reveal],:root[data-motion="reduced"] .film-card[data-reveal],:root[data-motion="reduced"] .film-card[data-reveal] .film-card__copy h3{ opacity:1;transform:none;filter:none;clip-path:none;transition:none; }:root[data-motion="reduced"] .film-card[data-reveal] .film-card__poster,:root[data-motion="reduced"] .film-card[data-reveal] .film-card__poster img{ transform:none;opacity:1;transition:none; }:root[data-motion="reduced"] body.motion-ready .hero-reel,:root[data-motion="reduced"] body.motion-ready .hero-title span,:root[data-motion="reduced"] body.motion-ready .hero-topline,:root[data-motion="reduced"] body.motion-ready .hero-bottom,:root[data-motion="reduced"] body.motion-ready .project-hero__poster,:root[data-motion="reduced"] body.motion-ready .project-hero__title{ animation:none; }:root[data-motion="reduced"] .scroll-cue i:after,:root[data-motion="reduced"] .loader__leader i{ animation:none; }:root[data-motion="reduced"] ::view-transition-old(root),:root[data-motion="reduced"] ::view-transition-new(root){ animation-duration:.01ms; }
@media (prefers-reduced-motion: reduce){:root:not([data-motion]){ scroll-behavior:auto; }:root:not([data-motion]) [data-reveal],:root:not([data-motion]) .film-card[data-reveal],:root:not([data-motion]) .film-card[data-reveal] .film-card__copy h3{ opacity:1;transform:none;filter:none;clip-path:none;transition:none; }:root:not([data-motion]) .film-card[data-reveal] .film-card__poster,:root:not([data-motion]) .film-card[data-reveal] .film-card__poster img{ transform:none;opacity:1;transition:none; }:root:not([data-motion]) body.motion-ready .hero-reel,:root:not([data-motion]) body.motion-ready .hero-title span,:root:not([data-motion]) body.motion-ready .hero-topline,:root:not([data-motion]) body.motion-ready .hero-bottom,:root:not([data-motion]) body.motion-ready .project-hero__poster,:root:not([data-motion]) body.motion-ready .project-hero__title{ animation:none; }:root:not([data-motion]) .scroll-cue i:after,:root:not([data-motion]) .loader__leader i{ animation:none; }:root:not([data-motion]) ::view-transition-old(root),:root:not([data-motion]) ::view-transition-new(root){ animation-duration:.01ms; }
}
noscript .no-js-message { position:relative;padding:18px var(--pad);background:var(--paper);color:var(--ink); }
:root[data-motion="reduced"] body.motion-ready .project-hero__top { animation:none; }

/* V5.1 — staggered scene entrances; separate translate preserves media tilt. */
:root[data-motion="full"] [data-stage] > [data-beat] {
  opacity:0;translate:0 var(--beat-distance,22px);
  transition:opacity .65s var(--ease),translate .95s var(--ease);
  transition-delay:var(--beat-delay,0ms);
}
:root[data-motion="full"] [data-stage].is-in > [data-beat] { opacity:1;translate:0 0; }
:root[data-motion="full"] [data-stage] > :is(.eyebrow,span,p:first-child) { --beat-distance:14px; }
:root[data-motion="full"] .menu-nav a {
  opacity:0;translate:0 28px;
  transition:opacity .32s ease,translate .55s var(--ease);
}
:root[data-motion="full"] .menu-open .menu-nav a { opacity:1;translate:0 0;transition-delay:.16s; }
:root[data-motion="full"] .menu-open .menu-nav a:nth-child(2) { transition-delay:.23s; }
:root[data-motion="full"] .menu-open .menu-nav a:nth-child(3) { transition-delay:.3s; }
:root[data-motion="full"] .menu-contact { opacity:0;translate:0 16px;transition:opacity .35s,translate .7s var(--ease); }
:root[data-motion="full"] .menu-open .menu-contact { opacity:1;translate:0 0;transition-delay:.35s; }
:root[data-motion="full"] body.motion-ready .project-hero__top { animation:heroMetaIn .8s .08s var(--ease) both; }
:root[data-motion="full"] body.motion-ready .project-hero__title { animation:projectTitleIn 1s .2s var(--ease) both; }
:root[data-motion="full"] body.motion-ready .project-hero__poster { animation:projectPosterIn 1.15s .07s var(--ease) both; }
:root[data-motion="full"] body.motion-ready :is(.screening-link,.project-scroll) { animation:heroMetaIn .8s .36s var(--ease) both; }
:root[data-motion="reduced"] [data-stage] > [data-beat] { opacity:1;translate:none;transition:none; }
@media(max-width:720px) {
  :root[data-motion="full"] [data-stage] > [data-beat] { transition-duration:.55s,.75s; }
}

/* V5.2: a spare film leader, with a sector rather than a countdown numeral. */
.loader--leader { display:grid;place-items:center;grid-template-rows:1fr;transition:clip-path .8s var(--ease); }
.loader--leader:before,.loader--leader:after { display:none; }
.leader-mark { display:flex;align-items:center;gap:clamp(28px,5vw,80px); }
.leader-dial { width:clamp(130px,18vw,250px);overflow:visible; }
.leader-axis { fill:none;stroke:currentColor;stroke-width:.5;opacity:.15; }
.leader-ring { fill:none;stroke:currentColor;stroke-width:.8;opacity:.55; }
.leader-ring--inner { stroke-width:.4;opacity:.2; }
.leader-sector { fill:currentColor;fill-opacity:.13;stroke:currentColor;stroke-width:.7;stroke-opacity:.65; }
.leader-dot { fill:currentColor; }
.leader-name { display:flex;flex-direction:column;font:300 clamp(2.8rem,7.1vw,8rem)/.95 var(--sans);letter-spacing:-.055em; }
.experience-controls { flex-direction:row;gap:12px;border:0;margin:0 0 18px;padding:0; }
.experience-controls button { display:grid;place-items:center;width:40px;height:40px;padding:8px;border:1px solid var(--line);border-radius:50%;opacity:.65;transition:opacity .2s; }
.experience-controls button:hover,.experience-controls button:focus-visible { opacity:1; }
.experience-controls svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3; }
.experience-controls .play-icon { display:none; }
.experience-controls [aria-pressed="false"] .pause-icon { display:none; }
.experience-controls [aria-pressed="false"] .play-icon { display:block; }
.studio-grid { grid-template-columns:minmax(0,6fr) minmax(0,5fr);min-width:0; }
.studio-grid>* { min-width:0; }
.cap-list article { grid-template-columns:30px minmax(0,1fr) minmax(0,1.2fr); }
.cap-list article>* { min-width:0; }
@media(min-width:1101px) { .studio-intro h2 { font-size:clamp(4rem,6.1vw,8rem); } }
@media(min-width:721px) and (max-width:1100px) { .studio-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:720px) {
  .leader-mark { flex-direction:column;gap:40px; }
  .leader-name { align-items:center;font-size:clamp(2.8rem,12vw,4.8rem); }
  .cap-list article { grid-template-columns:30px minmax(0,1fr); }
}
/* Contact uses the same left reading axis as the other editorial sections. */
.contact-main__title p { grid-column:1/3;justify-self:start;align-self:start;text-align:left;max-width:32ch; }
@media(max-width:720px) {
  .contact-main__title { align-items:stretch; }
  .contact-main__title p { align-self:flex-start;width:100%;margin:0; }
  .contact-main h1 { font-size:clamp(2.05rem,10.6vw,4.75rem);max-width:100%;overflow-wrap:normal;word-break:normal;text-wrap:balance; }
}

/* Mobile keeps the editorial rhythm without waiting for scroll observers.
   Coarse-pointer tablets receive the same treatment, including in landscape. */
@media (max-width:900px), (pointer:coarse) {
  .skip-link:focus:not(:focus-visible) { transform:translateY(-180%); }
  :root [data-reveal],
  :root .film-card[data-reveal],
  :root .film-card[data-reveal] .film-card__poster,
  :root .film-card[data-reveal] .film-card__poster img,
  :root .film-card[data-reveal] .film-card__copy h3,
  :root[data-motion] [data-stage] > [data-beat],
  :root[data-motion] [data-stage].is-in > [data-beat] {
    opacity:1;transform:none;translate:none;filter:none;clip-path:none;
    transition:none;will-change:auto;
  }

  .film-card__wash,.poster-shadow,.poster-stage__wash,
  .project-hero__bg,.next-project__bg,.hero-grain {
    display:none;animation:none;
  }
  .film-card__poster img,.project-hero__poster img,
  .poster-stage figure img,.poster-triptych img { box-shadow:none; }
  .film-card__poster,.project-hero__poster,.poster-stage figure,
  .poster-triptych figure,.related-card {
    perspective:none;transform-style:flat;will-change:auto;
  }
  .hero-reel,.project-hero__poster,.contact-stage__frame video,
  [data-parallax],[data-tilt] { transform:none;will-change:auto; }
  .hero-reel,.reel-section-video,.reel-archive--clean .reel-archive__media video,
  .contact-stage__frame img,.contact-stage__frame video,.menu-overlay__media video {
    filter:none;
  }
  /* The existing vignette/shade layers still provide contrast above the film. */
  .site-header.is-scrolled {
    background:#070707;backdrop-filter:none;-webkit-backdrop-filter:none;
  }
  .contact-page .site-header.is-scrolled,.site-header.is-light.is-scrolled {
    background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;
  }

  :root[data-motion="full"] body.motion-ready :is(
    .hero-reel,.hero-title span,.hero-topline,.hero-bottom,
    .project-hero__poster,.project-hero__title,.project-hero__top,
    .screening-link,.project-scroll
  ) { animation:mobileFadeIn .32s ease-out both;transform:none; }

  .menu-overlay {
    clip-path:none;opacity:0;
    transition:opacity .24s ease,visibility 0s linear .24s;
  }
  .menu-open .menu-overlay { clip-path:none;opacity:1;transition-delay:0s; }
  :root[data-motion="full"] .menu-nav a,
  :root[data-motion="full"] .menu-open .menu-nav a,
  :root[data-motion="full"] .menu-contact,
  :root[data-motion="full"] .menu-open .menu-contact {
    opacity:1;translate:none;transition:none;
  }
  .menu-nav a:hover span { transform:none; }
  .reel-modal { transition:opacity .24s ease,visibility 0s linear .24s; }
  .reel-open .reel-modal { transition-delay:0s; }
  .loader,.loader--leader { clip-path:none;opacity:1;transition:opacity .28s ease; }
  .loader.is-done { clip-path:none;opacity:0; }
  :root[data-motion="full"]::view-transition-old(root) { animation:mobileFadeOut .2s ease both; }
  :root[data-motion="full"]::view-transition-new(root) { animation:mobileFadeIn .28s ease both; }

  :root[data-motion="reduced"] .menu-overlay,
  :root[data-motion="reduced"] .reel-modal { transition:none; }
  :root[data-motion="reduced"] .loader { transition-duration:.01ms!important; }
  @media (prefers-reduced-motion:reduce) {
    :root:not([data-motion]) .menu-overlay,
    :root:not([data-motion]) .reel-modal { transition:none; }
    :root:not([data-motion]) .loader { transition-duration:.01ms!important; }
  }
}
@keyframes mobileFadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes mobileFadeOut { from { opacity:1; } to { opacity:0; } }

/* V5.5 local: mobile rhythm without an invisible waiting state or scroll loop. */
@media (max-width:900px), (pointer:coarse) {
  :root[data-motion="full"] .mobile-enter {
    animation:mobileEditorialIn .58s cubic-bezier(.16,1,.3,1) both;
    animation-delay:var(--mobile-delay,0ms);
  }
  :root[data-motion="full"] .film-card__poster.mobile-enter,
  :root[data-motion="full"] .poster-stage figure.mobile-enter,
  :root[data-motion="full"] .poster-triptych figure.mobile-enter {
    animation-name:mobilePosterIn;animation-duration:.68s;
  }
  :root[data-motion="full"] body.motion-ready :is(.hero-title span,.hero-topline,.hero-bottom,.project-hero__title,.project-hero__top,.screening-link,.project-scroll) {
    animation:mobileEditorialIn .58s cubic-bezier(.16,1,.3,1) both;
  }
  :root[data-motion="full"] body.motion-ready .hero-title span:nth-child(2) { animation-delay:70ms; }
  :root[data-motion="full"] body.motion-ready .project-hero__poster { animation:mobilePosterIn .68s cubic-bezier(.16,1,.3,1) both; }
  :root[data-motion="full"] .menu-open .menu-nav a { animation:mobileEditorialIn .4s cubic-bezier(.16,1,.3,1) both; }
  :root[data-motion="full"] .menu-open .menu-nav a:nth-child(2) { animation-delay:45ms; }
  :root[data-motion="full"] .menu-open .menu-nav a:nth-child(3) { animation-delay:90ms; }
}
@keyframes mobileEditorialIn { from { opacity:.72;translate:0 14px; } to { opacity:1;translate:0 0; } }
@keyframes mobilePosterIn { from { translate:0 20px; } to { translate:0 0; } }
