@font-face{font-family:DeckAvenir;src:url('./assets/fonts/AvenirLTStd-Book.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:DeckAvenir;src:url('./assets/fonts/AvenirLTStd-BookOblique.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:DeckAvenir;src:url('./assets/fonts/AvenirLTStd-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:DeckAvenir;src:url('./assets/fonts/AvenirLTStd-Heavy.otf') format('opentype');font-weight:800;font-style:normal;font-display:swap}

/* A single shared system for the film's story and the development investment. */
:root{
 --ink:oklch(12% .006 75);--surface:oklch(15% .007 75);--surface-raised:oklch(18% .008 75);
 --text:oklch(95% .006 75);--muted:oklch(76% .008 75);--quiet:oklch(68% .008 75);
 --accent:oklch(77% .16 65);--line:oklch(95% .006 75 / .2);--strong-line:oklch(95% .006 75 / .48);--shade:oklch(10% .006 75 / .85);
 --gutter:clamp(1.25rem,4.5vw,5rem);--content:80rem;--inset:max(var(--gutter),calc((100% - var(--content))/2));
 --section-space:clamp(4.5rem,7vw,7rem);--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;
 --column-gap:clamp(2rem,5vw,5rem);--label:.875rem;--body:1.0625rem;
 --lead:clamp(1.25rem,1vw + .55rem,1.625rem);--heading:clamp(2.125rem,4vw + .25rem,4.5rem);
 --ease:cubic-bezier(.22,1,.36,1);--header-height:5rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1rem)}
body{margin:0;background:var(--ink);color:var(--text);font-family:DeckAvenir;font-size:var(--body);line-height:1.65;font-synthesis:none;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:var(--ink)}
p,h1,h2,h3,figure,dl,dd{margin:0}
img,video{display:block;max-width:100%}
button,a,summary,input{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer}
button,summary{padding:0}
em,cite{font-style:italic}
p{max-width:65ch;text-wrap:pretty}
p+p{margin-top:var(--space-sm)}
svg{display:block;width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.5}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
#main:focus{outline:none}
.small-label{font-size:var(--label);font-weight:500;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
.display{font-size:var(--heading);font-weight:800;line-height:1.08;letter-spacing:-.025em;text-transform:uppercase;overflow-wrap:anywhere}
.accent-type,.title-period{color:var(--accent)}
.section-wrap{padding:var(--section-space) var(--inset)}
.status-dot{display:inline-block;width:.4rem;height:.4rem;background:var(--accent);margin-right:.75rem;vertical-align:.15rem}
.skip-link{position:fixed;top:var(--space-xs);left:var(--space-sm);padding:.75rem var(--space-sm);background:var(--surface-raised);z-index:300;transform:translateY(-160%)}
.skip-link:focus{transform:none}

/* Navigation keeps a fixed footprint; utilities never overlap the content. */
.site-header{position:fixed;inset:0 0 auto;z-index:200;height:var(--header-height);padding-inline:var(--inset);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);background:var(--ink);border-bottom:1px solid transparent;transition:border-color .2s var(--ease)}
.site-header.scrolled{border-bottom-color:var(--line)}
.brand{font-size:2rem;font-weight:800;line-height:1;letter-spacing:-.045em;white-space:nowrap;display:inline-flex;align-items:center;min-height:2.75rem}
.brand span{color:var(--accent)}
.header-actions,.desktop-nav{display:flex;align-items:center;gap:var(--space-lg)}
.header-actions{gap:var(--space-sm)}
.desktop-nav>a{display:inline-flex;align-items:center;min-height:2.75rem;font-size:var(--label);line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);transition:color .2s var(--ease)}
.desktop-nav>a:hover{color:var(--text)}
.desktop-nav .nav-cta{padding:.7rem 1rem;border:1px solid var(--strong-line);gap:var(--space-md);color:var(--text)}
.nav-cta:hover{border-color:var(--accent)}
#motion-toggle,.mobile-menu summary{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--line);color:var(--muted);background:var(--ink)}
#motion-toggle:hover,.mobile-menu summary:hover{border-color:var(--strong-line);color:var(--text)}
.mobile-menu{display:none}

/* The full reel follows the opening montage. */
.hero{background:var(--ink)}
.hero-content{--reel-width:min(100%,73rem,calc(58svh * 16 / 9));padding:clamp(2rem,5vw,5rem) var(--inset) var(--space-lg)}
.hero h1{position:absolute;z-index:2;left:15.5%;top:50%;transform:translateY(-50%);width:69%;container-type:inline-size;font-weight:800;line-height:.98;text-align:center;text-shadow:0 2px 24px var(--shade);pointer-events:none}
/* Keep the title inside the picture and clear of the native playback controls. */
.hero h1>span{display:block;font-size:15.35cqw;letter-spacing:-.02em;white-space:nowrap}
.hero h1>span:last-child{font-size:15.9cqw}
.inline-reel{position:relative;isolation:isolate;width:var(--reel-width);margin:0 auto;background:var(--ink)}
.inline-reel::after{content:"";position:absolute;z-index:1;inset:0 0 3rem;background:oklch(10% .006 75 / .35);pointer-events:none}
.inline-reel.reel-started::after,.inline-reel.reel-started h1{opacity:0}
#reel-video{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--ink)}
.reel-started #reel-video{object-fit:contain}
#reel-error{color:var(--accent);font-size:1rem;margin:var(--space-sm) auto 0}
#reel-error a{text-decoration:underline;text-underline-offset:.2em}
.hero-foot{display:flex;justify-content:center;width:var(--reel-width);margin:.25rem auto 0}
.hero-foot>a{display:grid;place-items:center;width:2.75rem;height:2.75rem;color:var(--accent);font-size:1.25rem}

/* Full-bleed moving question with solid type and a controlled shade. */
.chaos{position:relative;isolation:isolate;display:flex;align-items:center;min-height:38rem;height:82svh;max-height:58rem;overflow:hidden}
.chaos-image{position:absolute;inset:0;z-index:-2;background:var(--ink)}
.chaos-image>img{width:100%;height:100%;object-fit:cover;object-position:center}
.ambient-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
.ambient-loop.is-ready{opacity:1}
.chaos::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,oklch(10% .006 75 / .88),oklch(10% .006 75 / .45)),linear-gradient(0deg,var(--ink),transparent 30%,transparent 80%,var(--ink));pointer-events:none}
.chaos-copy{padding:var(--section-space) var(--inset);width:100%}
.chaos-copy>.small-label{display:block;color:var(--accent);margin-bottom:var(--space-lg)}
.chaos h2{font-size:clamp(2.1rem,7.2vw + .2rem,7.75rem);line-height:1.08}
.chaos h2>span{display:block}

/* A full opening frame leads directly to the reel. */
.cold-open{margin-top:var(--header-height);height:calc(100svh - var(--header-height));min-height:30rem;max-height:none}
.cold-open .chaos-copy{padding-block:4rem 6rem}
.cold-open #opening-question{font-size:clamp(2rem,6.3vw + .1rem,6.75rem);line-height:1.1}
.opening-next{position:absolute;bottom:1.25rem;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:2.75rem;height:2.75rem;font-size:1.5rem;color:var(--accent)}

/* Episode selection: readable tabs and a landscape film frame. */
.section-heading{margin-bottom:var(--space-xl)}
.section-heading .small-label{display:block;color:var(--accent);margin-bottom:var(--space-md)}
.act-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line)}
.act-tabs button{display:flex;align-items:center;gap:var(--space-sm);padding:1.25rem 1.5rem;min-height:4.75rem;text-align:left;position:relative;color:var(--muted);font-size:clamp(1.125rem,1.6vw + .3rem,1.75rem);font-weight:500;line-height:1.25;transition:color .2s var(--ease),background .2s var(--ease)}
.act-tabs button:first-child{padding-left:0}
.act-tabs button+button{border-left:1px solid var(--line)}
.act-tabs button>span:first-child{font-size:var(--label);font-weight:400}
.act-tabs button:hover{color:var(--text);background:var(--surface)}
.act-tabs button[aria-selected=true]{color:var(--text)}
.act-tabs button[aria-selected=true]::after{content:'';position:absolute;inset:auto 0 -1px;height:2px;background:var(--accent)}
.act-tabs button[aria-selected=true]>span:first-child{color:var(--accent)}
.tab-arrow{margin-left:auto;font-size:1.5rem;opacity:0;transition:opacity .2s var(--ease)}
.act-tabs button[aria-selected=true] .tab-arrow,.act-tabs button:hover .tab-arrow{opacity:1}
.act-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--column-gap);padding-top:var(--space-xl);align-items:start}
.act-copy{min-width:0}
.act-copy>.small-label{display:block;color:var(--muted);margin-bottom:var(--space-md)}
.act-copy h3{font-size:clamp(2.5rem,4.6vw + .2rem,4.75rem);line-height:1.06;min-height:3.18em;margin-bottom:var(--space-md)}
.act-copy>p{font-size:var(--body);line-height:1.65;color:var(--muted);max-width:40ch}
.act-counter{display:flex;align-items:baseline;gap:.625rem;margin-top:var(--space-lg);color:var(--quiet);font-size:1.25rem;line-height:1.2}
.act-counter b{font-size:2rem;font-weight:500;color:var(--muted)}
.act-visual{position:relative;aspect-ratio:4/3;overflow:hidden;margin-top:2.5rem;background:var(--surface)}
.act-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.act-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,oklch(10% .006 75 / .8),transparent 30%);pointer-events:none}
#act-video[data-src*="machine"]{object-position:center 25%}
.act-visual figcaption{position:absolute;z-index:1;inset:auto 1.5rem 1.25rem;display:flex;align-items:center;gap:var(--space-md);color:var(--text)}
.act-visual figcaption span:last-child{margin-left:auto}

/* The reversal and its interactive visual share one editorial beat. */
.vision{background:var(--surface);border-top:1px solid var(--line)}
.vision-intro{padding-bottom:var(--space-xl)}
.vision-intro>.small-label{color:var(--accent)}
.vision-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-xl);margin-top:var(--space-md)}
.vision-heading h2{font-size:clamp(2rem,4.2vw + .25rem,4.625rem);flex:none}
.vision-heading h2 span{color:var(--muted)}
.vision-heading p{max-width:16ch;font-size:1.125rem;line-height:1.5;color:var(--muted);padding-bottom:.25rem}
.comparison{position:relative;aspect-ratio:2.1/1;max-height:44rem;isolation:isolate;overflow:hidden;touch-action:pan-y;background:var(--ink)}
.comparison>.comparison-image,.comparison-before{position:absolute;inset:0}
.comparison-image{width:100%;height:100%;object-fit:cover;object-position:center}
.comparison-before{clip-path:inset(0 calc(100% - var(--reveal)) 0 0);z-index:1}
.comparison-shade{position:absolute;inset:0;background:linear-gradient(0deg,oklch(10% .006 75 / .3),transparent 40%);z-index:2;pointer-events:none}
.compare-label{position:absolute;top:var(--space-md);padding:.625rem .875rem;z-index:3;background:var(--shade);color:var(--text);pointer-events:none}
.fear-label{left:var(--gutter)}
.future-label{right:var(--gutter)}
.comparison-line{position:absolute;inset:0 auto 0 var(--reveal);width:2px;background:var(--text);z-index:4;pointer-events:none}
.comparison-line>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3.5rem;height:3.5rem;display:grid;place-items:center;border-radius:50%;border:1px solid var(--text);background:var(--ink);font-size:1.25rem}
.comparison input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5}
.comparison:focus-within .comparison-line>span{outline:3px solid var(--accent);outline-offset:5px}
.coda{padding-block:clamp(4rem,6vw,6rem);background:var(--surface)}
.coda>.small-label{color:var(--accent);margin-bottom:var(--space-lg)}
.coda h3{font-size:clamp(2.4rem,9vw + .3rem,9.25rem);line-height:1.06}
.coda-bottom{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--line)}
.coda-bottom .display{font-size:clamp(1.5rem,2.3vw + .25rem,2.5rem);line-height:1.2}
.coda-bottom .display span{color:var(--muted)}

/* The portrait remains whole, with its weight matched to the biography. */
.filmmaker{border-top:1px solid var(--line)}
.filmmaker>.small-label{max-width:64rem;margin-inline:auto;color:var(--accent);margin-bottom:var(--space-xl)}
.filmmaker-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:center;max-width:64rem;margin-inline:auto}
.filmmaker-details{max-width:34rem}
.filmmaker h2{font-size:clamp(3rem,6.4vw + .25rem,6.25rem);line-height:1.06}
.filmmaker-credit{display:block;color:var(--accent);margin-top:var(--space-md)}
.filmmaker-copy{margin-top:var(--space-lg);max-width:50ch;color:var(--muted);font-size:1.125rem;line-height:1.65}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-xl);min-height:2.75rem;border-bottom:1px solid var(--strong-line);font-size:var(--label);line-height:1.4;letter-spacing:.08em;color:var(--text)}
.text-link:hover{border-color:var(--accent);color:var(--accent)}
.filmmaker-copy .text-link{margin-top:var(--space-md)}
.filmmaker-photo{width:100%;max-width:28rem;justify-self:start}
.filmmaker-photo img{width:100%;height:auto;image-orientation:from-image;aspect-ratio:3/4}
.filmmaker-photo figcaption,.director-statement figcaption{margin-top:.75rem;font-size:calc(var(--label) * .75);line-height:1.5;text-align:right;color:var(--muted)}

/* A legible investment case, with deliverables ahead of the action. */
.development-draft{background:var(--surface);border-top:1px solid var(--line)}
.development-chapter{color:var(--accent);margin-bottom:var(--space-lg)}
.development-intro,.development-contact{display:grid;grid-template-columns:1.06fr 1fr;gap:var(--column-gap);align-items:start}
.development-draft h2{font-size:clamp(2rem,3.6vw + .25rem,4rem);line-height:1.1}
.development-case>p:first-child{font-size:var(--lead);line-height:1.55;max-width:40ch}
.development-case strong{font-weight:800;white-space:nowrap}
.development-case .development-stage{font-size:1rem;line-height:1.65;color:var(--muted);max-width:40ch;margin-top:var(--space-md)}
.development-scope{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--line)}
.development-scope>h3{font-weight:500;font-size:var(--label);color:var(--muted);margin-bottom:var(--space-md)}
.development-deliverables>div{display:grid;grid-template-columns:1.06fr 1fr;gap:var(--column-gap);padding-block:var(--space-md);border-bottom:1px solid var(--line)}
.development-deliverables>div:first-child{padding-top:0}
.development-deliverables>div:last-child{border:0;padding-bottom:0}
.development-deliverables dt{font-size:1.25rem;font-weight:500;line-height:1.4}
.development-deliverables dd{font-size:var(--body);line-height:1.6;color:var(--muted);max-width:48ch}
.development-contact{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--line)}
.development-materials h3{font-size:1.5rem;font-weight:500;line-height:1.3;letter-spacing:-.015em}
.development-materials p{font-size:1rem;line-height:1.6;color:var(--muted);margin-top:.75rem;max-width:35ch}
.investor-cta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:1.125rem 1.5rem;min-height:3.75rem;background:var(--text);color:var(--ink);font-size:var(--label);line-height:1.5;font-weight:800;letter-spacing:.04em;transition:background .2s var(--ease)}
.investor-cta>span{font-size:1.5rem;font-weight:400;line-height:1;flex:none}
.investor-cta:hover{background:var(--accent)}
.investor-cta:active{background:var(--muted)}
.investor-conversation{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:2.75rem;margin-top:.75rem;font-size:var(--label);line-height:1.5;color:var(--muted)}
.investor-conversation>span{flex:none}
.investor-conversation:hover{color:var(--text)}

.site-footer{padding:var(--space-xl) var(--inset) var(--space-lg)}
.footer-top{display:flex;align-items:center;justify-content:space-between}
.footer-title{font-size:clamp(1.75rem,7.45vw + .1rem,7.75rem);font-weight:800;line-height:1.12;letter-spacing:-.045em;color:transparent;-webkit-text-stroke:1.25px var(--muted);margin:var(--space-xl) 0 var(--space-lg);white-space:nowrap}
.footer-bottom{padding-top:var(--space-md);border-top:1px solid var(--line);color:var(--muted);font-size:var(--label);line-height:1.6;letter-spacing:.045em}
.js .reveal{opacity:0;transform:translateY(1rem);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .reveal.visible{opacity:1;transform:none}
.motion-paused{scroll-behavior:auto}
.motion-paused .reveal{opacity:1!important;transform:none!important;transition:none!important}
.motion-paused .ambient-loop{transition:none}

@media(max-width:1000px){
 .desktop-nav,.header-actions{gap:.75rem}
 .desktop-nav .nav-cta{gap:var(--space-sm)}
 .vision-heading{display:block}
 .vision-heading p{max-width:none;margin-top:var(--space-md)}
 .act-panel{grid-template-columns:1fr 1.05fr;gap:var(--space-lg)}
 .act-copy h3{font-size:clamp(2rem,4.5vw + .15rem,4rem)}
 .act-tabs button{padding-inline:var(--space-sm);gap:.75rem}
 .tab-arrow{display:none}
 .act-visual{aspect-ratio:1/1}
 .development-intro,.development-deliverables>div,.development-contact{gap:var(--space-lg)}
 .investor-cta{padding-inline:var(--space-sm)}
}
@media(max-width:760px){
 :root{--header-height:4.5rem;--section-space:4.5rem;--column-gap:2rem}
 .site-header{gap:.5rem}
 .brand{font-size:1.75rem}
 .header-actions{gap:.375rem}
 .desktop-nav>a:not(.nav-cta){display:none}
 .desktop-nav .nav-cta{font-size:.875rem;padding:.625rem .75rem;letter-spacing:.025em;gap:.5rem}
 .desktop-nav .nav-cta>span{display:none}
 .mobile-menu{display:block;position:relative}
 .mobile-menu summary{cursor:pointer;list-style:none}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu[open] summary{border-color:var(--accent);color:var(--text)}
 .mobile-menu nav{position:fixed;top:calc(var(--header-height) - .25rem);right:var(--gutter);width:min(18rem,calc(100vw - 2 * var(--gutter)));display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--surface-raised);border:1px solid var(--strong-line)}
 .mobile-menu nav a{display:flex;align-items:center;min-height:2.75rem;padding:.625rem .75rem;font-size:1rem;color:var(--text)}
 .mobile-menu nav a:hover{background:var(--surface)}
 .hero-content{--reel-width:100%;padding-top:2.5rem;padding-bottom:var(--space-lg)}
 .chaos{min-height:30rem;height:70svh;max-height:40rem}
 .chaos-copy{padding-block:4rem}
 .chaos h2{font-size:clamp(1.95rem,7.9vw + .1rem,4rem)}
 .cold-open{height:calc(100svh - var(--header-height));min-height:26rem;max-height:none}
 .cold-open #opening-question{font-size:clamp(1.625rem,7.8vw,3.5rem)}
 .section-heading{margin-bottom:var(--space-lg)}
 .act-tabs button{flex-direction:column;align-items:flex-start;gap:.375rem;padding:1rem .75rem;font-size:1.125rem;min-height:5.5rem}
 .act-tabs button:first-child{padding-left:0}
 .act-tab-title>span{display:block}
 .act-panel{display:flex;flex-direction:column;gap:var(--space-lg);padding-top:var(--space-lg)}
 .act-copy h3{font-size:clamp(2.5rem,8.3vw + .15rem,4.25rem);min-height:0}
 .act-copy>p{max-width:48ch}
 .act-counter{display:none}
 .act-visual{width:100%;aspect-ratio:16/10;margin:0}
 .act-visual figcaption{inset:auto 1rem 1rem;gap:.75rem}
 .act-visual figcaption .small-label{letter-spacing:.025em}
 .vision-heading h2{font-size:clamp(1.875rem,6.85vw + .1rem,3.75rem)}
 .vision-heading p{font-size:1.0625rem;margin-top:var(--space-sm)}
 .comparison{aspect-ratio:1.2/1;max-height:35rem}
 .comparison-image{object-position:45% center}
 .comparison-before img{object-position:50% center}
 .compare-label{top:var(--space-sm);padding:.5rem .625rem;font-size:.875rem;letter-spacing:.025em}
 .fear-label{left:var(--space-sm)}
 .future-label{right:var(--space-sm)}
 .comparison-line>span{width:3rem;height:3rem}
 .coda h3{font-size:clamp(2rem,9.65vw + .1rem,5.25rem)}
 .coda-bottom{margin-top:var(--space-lg);padding-top:var(--space-md)}
 .coda-bottom .display{font-size:clamp(1.25rem,5.5vw + .1rem,2.75rem)}
 .filmmaker-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}
 .filmmaker-credit{font-size:.875rem;letter-spacing:.04em}
 .filmmaker-copy{font-size:1.0625rem;margin-top:var(--space-md)}
 .filmmaker-photo{max-width:24rem;justify-self:start}
 .development-intro,.development-contact{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}
 .development-draft h2{font-size:clamp(1.9rem,7.8vw + .1rem,4rem)}
 .development-case>p:first-child{font-size:1.25rem;max-width:45ch}
 .development-case .development-stage{font-size:1rem;margin-top:var(--space-sm)}
 .development-scope{margin-top:var(--space-lg)}
 .development-deliverables>div{grid-template-columns:minmax(0,1fr);gap:.5rem;padding-block:var(--space-md)}
 .development-deliverables dt{font-size:1.25rem}
 .development-contact{margin-top:var(--space-lg);padding-top:var(--space-lg);gap:var(--space-md)}
 .development-materials p{font-size:1rem}
 .investor-cta{padding:1rem;letter-spacing:.025em}
 .investor-conversation{font-size:.875rem;line-height:1.6}
 .footer-title{font-size:clamp(1.5rem,7.4vw + .1rem,3.7rem);letter-spacing:-.045em;margin-block:var(--space-lg)}
 .footer-bottom{font-size:.875rem;letter-spacing:.025em}
}
@media(max-width:360px){
 :root{--gutter:1rem}
 .brand{font-size:1.625rem}
 .desktop-nav .nav-cta{padding-inline:.5rem}
 .act-tabs button{font-size:1.0625rem;padding-inline:.5rem}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .js .reveal{opacity:1;transform:none;transition:none}
 .ambient-loop{transition:none}
}
@media print{
 .site-header,.ambient-loop,.hero-foot>a{display:none!important}
 .js .reveal{opacity:1;transform:none}
 .hero-content{padding-top:var(--space-lg)}
 .section-wrap{break-inside:avoid}
}

/* Opening headline: a staggered reveal, once on arrival. */
.js #opening-question .reveal{clip-path:inset(0 100% 0 0);transform:translateY(.15em);transition:clip-path .72s var(--ease),opacity .32s ease,transform .72s var(--ease);transition-delay:0s}
.js #opening-question .reveal:nth-child(2){transition-delay:.54s}
.js #opening-question .reveal:nth-child(3){transition-delay:1.06s}
.js #opening-question .reveal.visible{clip-path:inset(0 0 0 0);transform:none}
.motion-paused #opening-question .reveal{clip-path:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.js #opening-question .reveal{clip-path:none!important;transition:none!important}}
@media print{.js #opening-question .reveal{clip-path:none!important;transition:none!important}}

/* Supplied VHS tracking footage passes across the title itself. */
.title-waiting #film-title>span{opacity:0}
.title-vhs-footage{position:absolute;z-index:5;pointer-events:none;object-fit:fill;mix-blend-mode:exclusion;opacity:0}
.title-vhs .title-vhs-footage{opacity:1}
.title-vhs #film-title>span{animation:vhs-title-arrive .45s ease-out both}
@keyframes vhs-title-arrive{from{opacity:0}to{opacity:1}}
.motion-paused #film-title>span{animation:none!important;opacity:1!important}
.motion-paused .title-vhs-footage{display:none}
@media(prefers-reduced-motion:reduce){#film-title>span{animation:none!important;opacity:1!important}.title-vhs-footage{display:none}}
@media print{#film-title>span{animation:none!important;opacity:1!important}.title-vhs-footage{display:none}}

/* Editorial copy arrives as its section enters the viewport. */
.js .scroll-text{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:var(--text-delay,0ms)}
.js .scroll-text.text-visible{opacity:1;transform:none}
.motion-paused .scroll-text{opacity:1!important;transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.js .scroll-text{opacity:1!important;transform:none!important;transition:none!important}}
@media print{.js .scroll-text{opacity:1!important;transform:none!important;transition:none!important}}

/* Hide before deferred scripts initialize, preventing a first-paint flash. */
.headline-pending #opening-question .reveal{opacity:0!important;clip-path:inset(0 100% 0 0);transform:translateY(.15em)}
@media(prefers-reduced-motion:reduce){.headline-pending #opening-question .reveal{opacity:1!important;clip-path:none;transform:none}}
@media print{.headline-pending #opening-question .reveal{opacity:1!important;clip-path:none;transform:none}}

/* Source credit sits below the film title and clears when playback begins. */
.book-credit{position:absolute;z-index:2;top:71%;left:15.5%;width:69%;max-width:none;margin:0;text-align:center;font-size:clamp(.6875rem,1.35vw,1.125rem);line-height:1.4;letter-spacing:.03em;color:var(--text);text-shadow:0 2px 12px #000;pointer-events:none}
.title-waiting .book-credit{opacity:0}
.title-vhs .book-credit{animation:vhs-title-arrive .45s ease-out both}
.inline-reel.reel-started .book-credit{opacity:0;animation:none}
.motion-paused .book-credit{animation:none}
@media(prefers-reduced-motion:reduce){.book-credit{animation:none}}

/* Development clarification is a smaller matching footnote. */
.development-case .development-stage{font-size:.8125rem;line-height:1.6;max-width:48ch}
.funding-asterisk{font-size:.65em;vertical-align:super;line-height:0;margin-left:.08em}

.voices-section{border-top:1px solid var(--line)}
.voices-label{color:var(--accent);margin-bottom:1.5rem}
#voices-title{font-size:clamp(2.3rem,5vw,5rem);max-width:24ch}
.voices-status{color:var(--muted);font-size:.875rem;margin-top:1.25rem;max-width:none}
.voices-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem 1.25rem;margin-top:2.5rem}
.guest-portrait{aspect-ratio:1;background-image:url('./assets/voices-crt-strong.png');background-size:300% 400%;background-position:var(--portrait-x) var(--portrait-y);background-repeat:no-repeat;background-color:var(--ink)}
.guest h3{font-size:clamp(1.1rem,1.65vw,1.5rem);font-weight:500;line-height:1.25;margin-top:1rem}
.guest p{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:.5rem;max-width:28ch}
@media(max-width:800px){.voices-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem}}
@media(max-width:380px){.guest h3{font-size:1rem}.guest p{font-size:.8rem}}

.career-trust{padding:2.5rem var(--inset) 3rem;border-top:1px solid var(--line);background:var(--ink)}
.trust-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem;color:var(--muted)}
.trust-award{display:flex;align-items:center;gap:.8rem;margin:0;font-size:.75rem}.trust-award strong{font-size:1.3rem;color:var(--text);font-weight:800;letter-spacing:.05em}
.trust-logos{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1.5rem 2rem;align-items:center}
.trust-logos>div{display:flex;align-items:center;justify-content:center;height:3.25rem}
.trust-logos img{width:auto;height:auto;max-width:100%;max-height:2.6rem;object-fit:contain;filter:brightness(0) invert(1);opacity:.68}
@media(max-width:800px){.trust-logos{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}.trust-intro{align-items:start}.trust-award{flex-direction:column;align-items:flex-end;gap:0}.trust-intro>.small-label{font-size:.75rem}}
@media(max-width:440px){.trust-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.trust-logos img{max-height:2rem}.trust-logos>div{height:2.75rem}}

.filmmaker-media{width:100%;max-width:28rem;justify-self:start}
.filmmaker-media .filmmaker-photo{max-width:none}
.filmmaker-media .filmmaker-photo img{aspect-ratio:3/2;object-fit:cover;object-position:center 30%}
.director-statement{margin-top:2rem}
.statement-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.statement-heading h3{font-size:1rem;font-weight:500;line-height:1.4}
.statement-heading>span{font-size:.75rem;color:var(--muted)}
#director-video{width:100%;aspect-ratio:16/9;background:#000;object-fit:contain}

.filmmaker-media .director-statement{margin-top:0}
.filmmaker-media .director-statement+.filmmaker-photo{margin-top:2rem}

/* Audio notes: clearer episodes and a sequential filmmaker story. */
.act-tabs button{flex-direction:column;align-items:flex-start;gap:.6rem;padding-block:1.5rem;color:var(--text)}
.act-tabs button>span:first-child{font-size:clamp(.8rem,1.3vw,1.125rem);font-weight:500;letter-spacing:.06em;color:var(--accent)}
.act-tabs button[aria-selected=true]>span:first-child{color:var(--text)}
.act-tabs button[aria-selected=true] .act-tab-title{color:var(--accent)}
.act-tab-title{font-size:clamp(1.125rem,2.5vw,2.1rem)}
.filmmaker-stack{max-width:60rem;margin-inline:auto}
.filmmaker>.small-label{max-width:60rem}
.filmmaker-stack h2{font-size:clamp(2.5rem,7vw,6.25rem)}
.filmmaker-stack .director-statement{margin:3rem 0 0}
.statement-title{font-size:clamp(1.5rem,3.5vw,2.5rem);line-height:1.15;margin-bottom:1.25rem}
.filmmaker-stack .filmmaker-copy{max-width:65ch;margin:2.5rem 0}
.filmmaker-stack .filmmaker-photo{max-width:38rem;margin:2rem 0 0 auto}
.filmmaker-stack .filmmaker-photo img{aspect-ratio:4/3;object-fit:cover;object-position:center 35%}
.network-logos{grid-template-columns:repeat(8,minmax(0,1fr));max-width:70rem;margin-inline:auto}
.guild-logos{grid-template-columns:repeat(4,minmax(0,1fr));max-width:38rem;margin:2.75rem auto 0;gap:2.5rem}
.guild-logos>div{height:4rem}.guild-logos img{max-height:3.8rem}
.loop-play{position:absolute;z-index:8;right:1rem;bottom:1rem;padding:.75rem 1rem;background:#0a0a0ae6;border:1px solid #ffffff70;color:#fff;font:inherit;font-size:.85rem;cursor:pointer}.loop-play[hidden]{display:none}
@media(max-width:700px){.network-logos{grid-template-columns:repeat(4,minmax(0,1fr))}.guild-logos{gap:1.25rem}.filmmaker-stack .director-statement{margin-top:2rem}.filmmaker-stack .filmmaker-photo{max-width:100%}.act-tabs button>span:first-child{font-size:.7rem;letter-spacing:.02em}}
.trust-logos img[src$="abc.png"]{filter:grayscale(1)}

.film-photo-frame{position:relative;overflow:hidden;background:#242322}
.film-photo-frame img{display:block;filter:saturate(.4) contrast(.91) sepia(.08) brightness(.97)}
.film-photo-frame::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23888888' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
@media(max-width:700px){.act-tabs button>span:first-child{min-height:2.5em}.guild-logos img{max-height:3rem}}

/* Fullscreen video must size to the rotated screen, not the inline 16:9 box. */
#reel-video:fullscreen,#director-video:fullscreen{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;object-fit:contain;background:#000}
#reel-video:-webkit-full-screen,#director-video:-webkit-full-screen{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;object-fit:contain;background:#000}
@media(max-width:700px){.act-tab-title{font-size:clamp(.9rem,3.8vw,1.25rem);overflow-wrap:normal}.act-tabs button{padding-inline:.5rem}.act-tab-title>span{overflow-wrap:anywhere}}
