:root { --film-ink:#14110d; --film-cream:#f3efe4; --film-red:#e4411d; --film-gold:#f2b44d; }
.film-site { background:var(--film-ink); color:var(--film-ink); font-family:"Helvetica Neue",Arial,sans-serif; }
.film-site button,.film-site a { color:inherit; }
.loader { position:fixed; inset:0; z-index:1000; background:#f5f0e5; color:#17120d; padding:2.2rem 2.6rem; display:flex; flex-direction:column; justify-content:space-between; transition:opacity .55s ease,visibility .55s ease; }
.is-ready .loader { opacity:0; visibility:hidden; pointer-events:none; }
.loader-grain,.film-site::after { content:""; position:fixed; inset:0; pointer-events:none; opacity:.08; z-index:1100; 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='.55'/%3E%3C/svg%3E"); }
.loader-top,.loader-bottom { display:flex; justify-content:space-between; font-size:.72rem; letter-spacing:.18em; font-weight:600; }
.loader-center { display:flex; align-items:flex-end; justify-content:space-between; border-bottom:1px solid rgba(20,17,13,.25); padding-bottom:1rem; }
.loader-center p { margin:0 0 .7rem; letter-spacing:.18em; font-size:.72rem; }
.loader-center strong { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(8rem,23vw,22rem); line-height:.68; letter-spacing:-.09em; font-weight:400; }
.loader-line { height:2px; background:rgba(20,17,13,.18); }
.loader-line i { display:block; height:100%; background:var(--film-red); transform-origin:left; transition:transform .12s linear; }
.film-header { position:fixed; z-index:80; top:34px; left:0; right:0; height:46px; display:flex; align-items:flex-start; padding:.35rem 2.4rem 0; color:var(--film-cream); mix-blend-mode:difference; }
.film-signature { font-family:"Iowan Old Style",Baskerville,serif; font-size:1.55rem; font-weight:700; text-decoration:none; }
.film-signature span { font-size:.75rem; vertical-align:top; }
.film-counter,.sound-toggle,.menu-toggle { font-size:.7rem; letter-spacing:.13em; font-weight:600; }
.film-counter { position:absolute; left:50%; transform:translateX(-50%); }
.sound-toggle { justify-self:end; border:0; background:none; padding:.7rem 0; cursor:pointer; }
.film-actions { margin-left:auto; display:flex; align-items:center; justify-content:flex-end; gap:1.7rem; font-size:.7rem; letter-spacing:.13em; font-weight:600; }
.menu-toggle { border:1px solid rgba(243,239,228,.55); background:rgba(20,17,13,.12); color:var(--film-cream); padding:.62rem .78rem; cursor:pointer; }
.credits-menu { position:fixed; inset:0; z-index:900; overflow:hidden; color:var(--film-cream); background:#090806; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .55s ease,visibility .55s ease; }
.credits-menu.open { opacity:1; visibility:visible; pointer-events:auto; }
.credits-backdrop { position:absolute; z-index:2; left:52%; right:4%; top:17%; bottom:20%; opacity:.94; transform:perspective(1100px) rotateY(-13deg); box-shadow:0 0 55px rgba(239,221,184,.17); border:1px solid rgba(255,238,204,.15); overflow:hidden; background:radial-gradient(circle at 50% 50%,rgba(243,239,228,.16),rgba(243,239,228,.07) 42%,rgba(20,17,13,.18)); }
.credits-backdrop img { position:absolute; inset:0; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain!important; object-position:center center; opacity:0; filter:grayscale(.2) sepia(.18) contrast(1.12) brightness(.55) blur(8px); transform:scale(.965); transition:opacity .7s ease,transform 1.4s ease,filter .7s ease; }
.credits-backdrop img.active { opacity:1; transform:scale(.985); filter:grayscale(.08) sepia(.12) contrast(1) brightness(1.08) blur(.35px); }
.credits-menu::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(7,6,5,.96) 0 33%,rgba(7,6,5,.68) 48%,rgba(7,6,5,.18)),linear-gradient(180deg,rgba(7,6,5,.72),transparent 28%,transparent 72%,rgba(7,6,5,.72)); }
.credits-menu::after { content:""; position:absolute; z-index:2; inset:0; pointer-events:none; border-top:32px solid rgba(0,0,0,.62); border-bottom:32px solid rgba(0,0,0,.62); box-shadow:inset 0 0 0 1px rgba(243,239,228,.08); }
.credits-projector { --projector-x:3%; --projector-y:71%; --screen-left:52%; --screen-right:96%; --screen-top:17%; --screen-bottom:80%; position:absolute; inset:0; z-index:3; pointer-events:none; }
.projector-beam { position:absolute; inset:0; clip-path:polygon(calc(var(--projector-x) + 105px) calc(var(--projector-y) + 46px),var(--screen-left) var(--screen-top),var(--screen-right) var(--screen-top),var(--screen-right) var(--screen-bottom),var(--screen-left) var(--screen-bottom),calc(var(--projector-x) + 105px) calc(var(--projector-y) + 72px)); background:linear-gradient(110deg,rgba(255,233,178,.3),rgba(245,225,184,.07) 54%,rgba(245,225,184,.025)); mix-blend-mode:screen; }
.projector-machine { position:absolute; left:var(--projector-x); top:var(--projector-y); width:110px; height:110px; filter:drop-shadow(0 8px 15px #000); }
.projector-body { position:absolute; top:36px; left:7px; width:73px; height:48px; border:1px solid #756952; border-radius:5px; background:linear-gradient(150deg,#514c40,#171612 60%); }
.projector-reel { position:absolute; top:0; width:44px; height:44px; border:4px solid #746b59; border-radius:50%; background:repeating-conic-gradient(#181713 0deg 35deg,#6f6654 35deg 55deg); box-shadow:inset 0 0 0 7px #29251e; }
.reel-one { left:0; }.reel-two { left:51px; }
.projector-lens { position:absolute; left:80px; top:46px; width:25px; height:26px; background:linear-gradient(90deg,#37332a,#837354); border-right:4px solid #fff2c5; box-shadow:12px 0 25px 5px #efd89a70; }
.projector-foot { position:absolute; left:27px; top:84px; width:38px; height:23px; border-bottom:5px solid #746b59; background:linear-gradient(90deg,transparent 40%,#514c40 40% 60%,transparent 60%); }
.credits-close { position:absolute; z-index:5; top:2.3rem; right:2.4rem; border:0; border-bottom:1px solid rgba(243,239,228,.6); background:none; color:var(--film-cream); padding:.75rem 0; font-size:.68rem; letter-spacing:.16em; cursor:pointer; }
.credits-nav { position:absolute; inset:5.1rem 0 4.2rem; z-index:4; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#746b59 transparent; padding:.7rem 31vw 1.2rem 15vw; display:flex; flex-direction:column; gap:.08rem; }
.credits-nav a { flex-shrink:0; }
.credits-nav a { display:grid; grid-template-columns:4.4rem 1fr auto; align-items:baseline; gap:2rem; padding:.72rem 2vw .72rem 0; border-top:1px solid rgba(243,239,228,.16); color:rgba(243,239,228,.72); text-decoration:none; transition:color .35s ease,background .35s ease,padding .35s ease; }
.credits-nav a:last-child { border-bottom:1px solid rgba(243,239,228,.16); }
.credits-nav a:hover,.credits-nav a:focus-visible { color:var(--film-cream); background:rgba(243,239,228,.09); padding-left:1.1rem; outline:0; }
.credits-nav span,.credits-nav small { font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; }
.credits-nav strong { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(2rem,3.5vw,4rem); line-height:1.05; letter-spacing:-.045em; font-weight:400; }
.credits-caption { position:absolute; z-index:5; left:2.4rem; bottom:2.1rem; margin:0; font-size:.68rem; letter-spacing:.18em; font-weight:600; color:rgba(243,239,228,.68); }
.film-stage { position:sticky; top:0; height:100vh; overflow:hidden; background:var(--film-ink); }
.film-track { height:100%; width:max-content; display:flex; will-change:transform; }
.film-panel { flex:0 0 100vw; height:100vh; position:relative; overflow:hidden; }
.film-panel video { width:100%; height:100%; object-fit:cover; display:block; }
.perforations { position:absolute; z-index:60; left:0; right:0; height:34px; background:var(--film-ink); pointer-events:none; }
.perforations::after { content:""; position:absolute; inset:7px 0; background:repeating-linear-gradient(90deg,transparent 0 20px,var(--film-cream) 20px 48px,transparent 48px 69px); opacity:.92; }
.perforations-top { top:0; }
.perforations-bottom { bottom:0; }
.opening-panel { background:#d9c7a5; }
.opening-panel video { filter:saturate(.83) contrast(1.04) brightness(1.04); }
.exposure { position:absolute; inset:0; background:radial-gradient(circle at 2% 40%,rgba(255,223,157,.68),transparent 34%),linear-gradient(90deg,rgba(255,248,225,.2),transparent 45%); mix-blend-mode:screen; }
.opening-credit { position:absolute; z-index:4; left:6vw; top:50%; transform:translateY(-48%); color:#fff8eb; text-shadow:0 2px 25px rgba(26,14,5,.15); }
.is-ready .opening-credit { animation:credit-in 1.2s .8s both cubic-bezier(.2,.75,.25,1); }
@keyframes credit-in { from { opacity:0; transform:translateY(-42%); filter:blur(10px); } to { opacity:1; transform:translateY(-48%); filter:blur(0); } }
.opening-credit>span,.project-title>span,.edge-code,.scroll-cue { font-size:.7rem; letter-spacing:.18em; font-weight:600; }
.opening-credit h1 { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(5rem,10vw,10rem); line-height:.73; letter-spacing:-.07em; font-weight:400; margin:1.2rem 0 2.2rem; }
.opening-credit .seo-home-title { font-size:clamp(3.7rem,7.6vw,7.8rem); line-height:.82; max-width:72vw; }
.opening-credit p { font-family:"Iowan Old Style",Baskerville,serif; font-size:1.35rem; font-style:italic; }
.scroll-cue { position:absolute; z-index:5; right:4vw; bottom:6.5vh; color:white; }
.scroll-cue b { font-size:1.4rem; margin-left:1rem; }
.edge-code { position:absolute; z-index:5; right:2rem; top:50%; color:rgba(255,255,255,.74); transform:rotate(90deg) translateX(50%); transform-origin:right top; }
.piano-panel { background:var(--film-cream); display:grid; grid-template-columns:42vw 58vw; padding:5.5rem 0 4.5rem; }
.piano-panel video { grid-column:2; filter:saturate(.72) sepia(.08); }
.project-title { position:relative; z-index:3; padding:7vh 4vw; display:flex; flex-direction:column; }
.project-title h2 { font-family:"Iowan Old Style",Baskerville,serif; font-weight:400; font-size:clamp(4rem,7.5vw,8rem); line-height:.82; letter-spacing:-.065em; margin:auto 0 2rem; }
.project-title h2 i { color:var(--film-red); font-weight:400; }
.project-title p { font-family:"Iowan Old Style",Baskerville,serif; font-style:italic; font-size:1.2rem; margin:0 0 2rem; }
.project-title small { font-size:.7rem; letter-spacing:.14em; }
.film-scratch { position:absolute; z-index:4; top:0; bottom:0; left:65%; width:1px; background:rgba(255,255,255,.35); box-shadow:17vw 0 rgba(255,255,255,.18); }
.title-panel { flex-basis:76vw; width:76vw; background:var(--film-red); display:grid; grid-template-columns:45% 55%; padding:5.5rem 3vw 4.5rem; overflow:visible; }
.title-negative { display:flex; flex-direction:column; padding:6vh 3vw 4vh; position:relative; z-index:5; }
.title-negative>span,.table-copy>span,.dark-copy>span,.author-copy>span,.end-copy>span { font-size:.7rem; letter-spacing:.18em; font-weight:600; }
.title-negative h2 { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(4.5rem,8.5vw,9.4rem); font-weight:400; line-height:.78; letter-spacing:-.07em; margin:auto 0 2rem; width:max-content; max-width:62vw; }
.title-negative p,.table-copy p,.dark-copy p,.author-copy p { font-family:"Iowan Old Style",Baskerville,serif; font-size:1.25rem; font-style:italic; }
.title-negative small,.table-copy small,.dark-copy small,.author-copy small { margin-top:1rem; font-size:.7rem; letter-spacing:.13em; }
.title-still { overflow:hidden; }
.title-still img { width:100%; height:100%; object-fit:cover; filter:saturate(.62) sepia(.12) contrast(1.08) brightness(.9); transform:scale(1.05); }
.table-panel { flex-basis:112vw; width:112vw; background:#ede6d7; display:grid; grid-template-columns:63% 37%; padding:5.5rem 4vw 4.5rem; }
.vertical-reel { display:grid; grid-template-columns:1fr 1.25fr; gap:2vw; min-width:0; }
.vertical-reel img,.vertical-reel video { width:100%; height:100%; min-width:0; object-fit:cover; }
.vertical-reel img { filter:saturate(.5) contrast(1.1); }
.table-copy { display:flex; flex-direction:column; justify-content:flex-start; padding:15vh 3vw 3vw; }
.table-copy h2 { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(5rem,8vw,9rem); font-weight:400; line-height:.78; letter-spacing:-.07em; margin:6vh 0 3vh; }
.light-burn { position:absolute; z-index:6; pointer-events:none; mix-blend-mode:screen; }
.light-burn-one { width:18vw; top:0; bottom:0; left:-8vw; background:linear-gradient(90deg,transparent,#ff692f 45%,#ffe3a3 58%,transparent); opacity:.35; filter:blur(18px); }
.manifesto-panel { flex-basis:100vw; width:100vw; background:#13100d; color:var(--film-cream); display:grid; grid-template-columns:36vw 1fr; padding:5.5rem 6vw 4.5rem; gap:8vw; }
.manifesto-panel video { width:36vw; height:calc(100vh - 10rem); object-fit:cover; filter:saturate(.8) contrast(1.1); }
.manifesto-words { position:absolute; z-index:3; inset:0; display:flex; flex-direction:column; justify-content:space-around; pointer-events:none; }
.manifesto-words span { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(5rem,11vw,13rem); line-height:.7; letter-spacing:-.06em; white-space:nowrap; color:transparent; -webkit-text-stroke:1px rgba(243,239,228,.34); }
.manifesto-words span:nth-child(2) { margin-left:48vw; color:var(--film-cream); -webkit-text-stroke:0; mix-blend-mode:difference; }
.manifesto-caption { align-self:end; position:relative; z-index:4; padding-bottom:7vh; }
.manifesto-caption h2 { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(4rem,7vw,8rem); font-weight:400; line-height:.8; letter-spacing:-.065em; margin:0 0 2rem; }
.manifesto-caption small { font-size:.7rem; letter-spacing:.14em; }
.luminaire-panel { flex-basis:92vw; width:92vw; background:#080706; color:var(--film-cream); display:grid; grid-template-columns:43% 57%; padding:5.5rem 4vw 4.5rem; }
.dark-copy { display:flex; flex-direction:column; justify-content:flex-start; position:relative; z-index:4; padding:15vh 3vw 3vw; }
.dark-copy h2 { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(4.5rem,7.6vw,8.5rem); font-weight:400; line-height:.78; letter-spacing:-.07em; margin:6vh 0 3vh; }
.dark-copy h2 i { color:#f6a74d; font-weight:400; }
.luminaire-panel video { width:100%; height:calc(100vh - 10rem); align-self:center; object-fit:cover; object-position:center 62%; transform:translateY(2.5vh); position:relative; z-index:2; filter:contrast(1.13) brightness(.8); }
.glow { position:absolute; right:5vw; top:22%; width:35vw; height:35vw; border-radius:50%; background:rgba(255,161,59,.18); filter:blur(90px); z-index:1; }
.web-panel { flex-basis:100vw; width:100vw; padding:5.5rem 5vw 4.5rem; background:#f0e9dc; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.web-panel::before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,transparent 0 47%,rgba(228,65,29,.12) 47.1% 47.4%,transparent 47.5%),linear-gradient(90deg,rgba(20,17,13,.07) 1px,transparent 1px),linear-gradient(rgba(20,17,13,.07) 1px,transparent 1px); background-size:auto,7.5vw 7.5vw,7.5vw 7.5vw; opacity:.65; }
.web-index,.web-line { position:relative; z-index:2; display:flex; justify-content:space-between; font-size:.7rem; letter-spacing:.18em; font-weight:600; }
.web-copy { position:relative; z-index:2; max-width:64vw; margin:0 0 2vh 10vw; }
.web-copy h2 { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(5rem,9vw,10rem); font-weight:400; line-height:.78; letter-spacing:-.07em; margin:0 0 2.5rem; }
.web-copy h2 i { color:var(--film-red); font-weight:400; }
.web-copy p { max-width:29rem; margin:0; font-family:"Iowan Old Style",Baskerville,serif; font-size:1.45rem; line-height:1.16; font-style:italic; }
.web-line { border-top:1px solid rgba(20,17,13,.35); padding-top:1rem; }
.author-panel { flex-basis:88vw; width:88vw; background:#f5efe3; display:grid; grid-template-columns:36% 42% 22%; padding:5.5rem 4vw 4.5rem; align-items:center; }
.author-image { height:68vh; overflow:hidden; }
.author-image img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.08); }
.author-copy { padding:4vw; }
.author-copy h2 { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(4rem,7vw,8rem); font-weight:400; line-height:.8; letter-spacing:-.07em; margin:8vh 0 3vh; }
.author-note { align-self:end; font-family:"Iowan Old Style",Baskerville,serif; font-style:italic; font-size:1.15rem; line-height:1.5; padding-bottom:3vh; }
.end-panel { flex-basis:100vw; width:100vw; background:#f0e9dc; display:grid; grid-template-columns:24% 1fr; padding:5.5rem 5vw 4.5rem; }
.end-mark { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(8rem,18vw,22rem); line-height:.7; writing-mode:vertical-rl; transform:rotate(180deg); color:rgba(20,17,13,.08); }
.end-copy { display:flex; flex-direction:column; justify-content:flex-start; padding-top:13vh; }
.end-copy h2 { font-family:"Iowan Old Style",Baskerville,serif; font-size:clamp(4.5rem,8vw,9rem); font-weight:400; line-height:.78; letter-spacing:-.07em; margin:5vh 0; }
.end-copy h2 i { color:var(--film-red); font-weight:400; }
.end-copy>a { align-self:flex-start; border-bottom:1px solid var(--film-ink); padding:.8rem 0; font-size:.76rem; letter-spacing:.14em; font-weight:600; }
.end-copy>a b { margin-left:3rem; font-size:1.2rem; }
.end-details { position:absolute; left:0; right:0; bottom:0; min-height:118px; display:grid; grid-template-columns:1.25fr .8fr 1fr auto; align-items:center; gap:2rem; padding:2.1rem 4vw 1.5rem; border-top:1px solid rgba(20,17,13,.3); background:#ded6c8; font-size:clamp(.7rem,1.15vw,.95rem); letter-spacing:.1em; text-transform:uppercase; }
.end-details span { margin-left:auto; }
@media (max-height:900px) and (min-width:821px) {
  .credits-close { top:1.6rem; }
  .credits-nav { inset:4.25rem 0 3rem; padding:.35rem 31vw .7rem 15vw; }
  .credits-nav a { padding:.48rem 2vw .48rem 0; }
  .credits-nav strong { font-size:clamp(1.85rem,3vw,3.15rem); line-height:1; }
  .credits-caption { bottom:1.3rem; }
}
@media (max-width:820px) {
  .film-header { top:0; padding:0 .9rem 0 1rem; height:58px; align-items:center; }
  .film-counter { display:none; }
  .film-actions { margin-left:auto; gap:.55rem; font-size:.58rem; }
  .sound-toggle { padding:.5rem .15rem; }
  .menu-toggle { padding:.5rem .58rem; }
  .credits-close { top:1.2rem; right:1rem; }
  .credits-nav { inset:4.4rem 0 3.4rem; width:100%; padding:.5rem 1rem 1.5rem; }
  .credits-backdrop { left:42%; right:-8%; top:19%; bottom:21%; opacity:.56; transform:perspective(900px) rotateY(-9deg); }
  .credits-projector { --projector-x:10px; --projector-y:73%; --screen-left:42%; --screen-right:108%; --screen-top:19%; --screen-bottom:79%; }
  .projector-machine { transform:scale(.58); transform-origin:left top; }
  .projector-beam { clip-path:polygon(calc(var(--projector-x) + 61px) calc(var(--projector-y) + 27px),var(--screen-left) var(--screen-top),var(--screen-right) var(--screen-top),var(--screen-right) var(--screen-bottom),var(--screen-left) var(--screen-bottom),calc(var(--projector-x) + 61px) calc(var(--projector-y) + 42px)); opacity:.62; }
  .credits-nav a { grid-template-columns:2rem minmax(0,1fr); gap:.6rem; padding:.68rem 0; }
  .credits-nav small { display:none; }
  .credits-nav strong { font-size:clamp(1.5rem,7.3vw,2.35rem); line-height:1; }
  .credits-nav span { font-size:.6rem; }
  .credits-caption { left:1rem; bottom:1.2rem; }
  .credits-menu::after { border:0; box-shadow:inset 7px 0 0 rgba(0,0,0,.6),inset -7px 0 0 rgba(0,0,0,.6); background:repeating-linear-gradient(180deg,transparent 0 34px,rgba(243,239,228,.13) 34px 48px,transparent 48px 69px) left/7px 100% no-repeat,repeating-linear-gradient(180deg,transparent 0 34px,rgba(243,239,228,.13) 34px 48px,transparent 48px 69px) right/7px 100% no-repeat; }
  .film-stage { position:relative; height:auto; overflow:visible; }
  .film-track { display:block; width:100%; transform:none!important; }
  .film-panel { height:100svh; min-height:680px; }
  .perforations { position:fixed; top:0; bottom:0; width:8px; height:auto; background:rgba(20,17,13,.78); }
  .perforations::after { inset:0 1px; background:repeating-linear-gradient(180deg,transparent 0 28px,rgba(243,239,228,.62) 28px 39px,transparent 39px 56px); opacity:.55; }
  .perforations-top { left:0; right:auto; }
  .perforations-bottom { right:0; left:auto; }
  .opening-credit { left:1.2rem; right:1.2rem; top:auto; bottom:15vh; transform:none; }
  .opening-credit h1 { font-size:clamp(4.2rem,21vw,6.5rem); }
  .opening-credit .seo-home-title { font-size:clamp(2.95rem,14.5vw,5rem); max-width:94vw; }
  .opening-credit p { font-size:1rem; }
  .edge-code { display:none; }
  .scroll-cue { display:none; }
  .piano-panel { display:block; padding:0; }
  .piano-panel video { width:100%; height:100%; }
  .project-title { position:absolute; inset:0; color:white; padding:14vh 1.2rem 12vh; background:linear-gradient(90deg,rgba(17,12,7,.72),rgba(17,12,7,.04)); }
  .project-title h2 { font-size:clamp(4rem,18vw,6.4rem); }
  .project-title h2 i { color:#ff9d72; }
  .title-panel,.table-panel,.manifesto-panel,.luminaire-panel,.web-panel,.author-panel,.end-panel { width:100%; min-height:100svh; display:block; padding:0; }
  .title-negative { position:absolute; inset:0; z-index:3; color:white; padding:14vh 1.2rem 12vh; background:linear-gradient(180deg,rgba(228,65,29,.12),rgba(116,24,9,.84)); }
  .title-negative h2 { font-size:25vw; }
  .title-still { height:100%; }
  .vertical-reel { display:block; height:100%; }
  .vertical-reel>img { display:none; }
  .vertical-reel video { width:100%; height:100%; }
  .table-copy,.dark-copy,.author-copy { position:absolute; inset:0; z-index:4; padding:14vh 1.2rem 12vh; color:white; justify-content:flex-end; background:linear-gradient(180deg,transparent 28%,rgba(12,9,6,.85)); }
  .table-copy h2,.dark-copy h2,.author-copy h2 { font-size:20vw; }
  .manifesto-panel { background:#13100d; color:var(--film-cream); }
  .manifesto-panel video { position:absolute; inset:0 0 auto; width:100%; height:50%; filter:saturate(.72) contrast(1.05) brightness(.72); }
  .manifesto-words { inset:56% 1.2rem auto; height:auto; display:grid; grid-template-columns:1fr; gap:.7rem; opacity:1; }
  .manifesto-words span { font-family:"Helvetica Neue",Arial,sans-serif; font-size:.68rem; letter-spacing:.18em; line-height:1; color:rgba(243,239,228,.62); -webkit-text-stroke:0; }
  .manifesto-words span:nth-child(2) { margin-left:0; color:var(--film-cream); mix-blend-mode:normal; }
  .manifesto-caption { position:absolute; z-index:5; left:1.2rem; right:1.2rem; bottom:8vh; }
  .manifesto-caption h2 { font-size:13vw; }
  .luminaire-panel video { width:100%; height:100%; object-fit:cover; object-position:center 58%; transform:scale(1.015); background:transparent; }
  .web-panel { padding:14vh 1.2rem 8vh; display:flex; }
  .web-panel::before { background-size:auto,18vw 18vw,18vw 18vw; }
  .web-copy { max-width:none; margin:auto 0 0; }
  .web-copy h2 { font-size:19vw; }
  .web-copy p { max-width:20rem; font-size:1.2rem; }
  .web-line { flex-direction:column; gap:.65rem; }
  .author-image { height:100%; }
  .author-copy { display:flex; }
  .author-note { display:none; }
  .end-panel { min-height:112svh; padding:12vh 1.2rem 14rem; }
  .end-mark { position:absolute; right:-2vw; top:8vh; font-size:45vw; writing-mode:initial; transform:none; }
  .end-copy { position:relative; z-index:2; height:75%; }
  .end-copy h2 { font-size:18vw; }
  .end-details { left:0; right:0; bottom:0; min-height:auto; grid-template-columns:1fr; gap:0; padding:2rem 1.2rem; }
  .end-details a,.end-details span { width:100%; margin:0; padding:.75rem 0; border-top:1px solid rgba(20,17,13,.22); }
  .loader { padding:1.4rem; }
  .loader-center strong { font-size:35vw; }
}
@media (prefers-reduced-motion:reduce) {
  .film-spacer { height:auto!important; }
  .film-stage { position:relative; height:auto; overflow:visible; }
  .film-track { display:block; width:100%; transform:none!important; }
  .film-panel { min-height:100svh; }
}
