@font-face {
  font-family: 'David Serif';
  src: url('assets/fonts/SourceSerifPro-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --ink: #111211;
  --paper: #eeede7;
  --accent: #b4c5af;
  --muted: #a7aaa2;
  --line: #373b35;
  --gutter: 5vw;
  --serif: 'David Serif', Georgia, 'Times New Roman', serif;
  color-scheme: dark;
  color: var(--paper);
  background: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 30px; }
body { margin: 0; }
main, section, article, figure, nav, div { min-width: 0; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; color: inherit; border-radius: 0; }
a { color: inherit; text-decoration: none; }
img { display: block; width: auto; max-width: 100%; height: auto; }
h1, h2, h3, p, figure, dl, dd { margin: 0; }
h1, h2, h3 { font-weight: 400; }
p { line-height: 1.6; }
i { font-weight: 400; }
[hidden] { display: none !important; }
::selection { color: var(--ink); background: var(--accent); }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 6px;
}
.skip { position: fixed; z-index: 100; left: 18px; top: -80px; padding: 16px 22px; background: var(--paper); color: var(--ink); }
.skip:focus { top: 15px; }
.micro { font-size: 11px; line-height: 1.6; letter-spacing: .045em; }

.masthead { display: flex; align-items: center; gap: 32px; padding: 24px var(--gutter) 22px; }
.signature { font-family: var(--serif); font-size: 37px; line-height: 1; letter-spacing: -.07em; }
.signature span { color: var(--accent); }
.masthead-note { font-size: 10px; line-height: 1.5; color: var(--muted); }
.masthead nav { display: flex; align-items: baseline; gap: 36px; margin-left: auto; font-size: 12px; }
.masthead nav a { padding: 10px 0; position: relative; }
.masthead nav a:after { content: ''; position: absolute; bottom: 3px; left: 0; right: 100%; height: 1px; background: currentColor; transition: right .2s ease; }
.masthead nav a:hover:after { right: 0; }
.masthead sup { color: var(--accent); font-size: 8px; margin-left: 3px; }

.opening { display: grid; grid-template-columns: minmax(0, 27fr) minmax(0, 73fr); padding: 27px var(--gutter) 0; }
.opening-aside { display: flex; flex-direction: column; align-items: flex-start; padding: 5px 30px 0 0; }
.opening-aside > p { color: var(--muted); }
.vertical-note { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 9px; letter-spacing: .12em; color: #7f867b; margin: auto 0; padding: 25px 0; }
.down-link { font-size: 31px; line-height: 1; padding: 10px 10px 10px 0; }
.opening-image, .project-screen { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #090a09; isolation: isolate; }
.opening-image > img, .project-screen > img { width: 100%; height: 100%; object-fit: contain; }
.screen-trigger { position: absolute; bottom: 20px; right: 20px; z-index: 2; display: inline-flex; gap: 12px; align-items: center; border: 0; padding: 15px 20px; color: var(--ink); background: var(--paper); font-size: 11px; transition: background .2s ease; }
.screen-trigger:hover { background: var(--accent); }
.screen-trigger > span:first-child { font-size: 13px; }
.opening-caption { display: flex; justify-content: space-between; gap: 25px; padding-top: 20px; align-items: flex-end; }
.opening-caption .micro { font-size: 10px; color: var(--muted); }
.film-title { display: block; font-family: var(--serif); font-size: clamp(24px, 2.4vw, 35px); line-height: 1.12; letter-spacing: -.025em; margin-top: 8px; }
.film-title > span { display: inline-block; font: 16px Arial, sans-serif; margin-left: 15px; vertical-align: middle; }
.film-title:hover { color: var(--accent); }
.opening-caption p { font-size: 10px; color: var(--muted); margin-top: 8px; line-height: 1.6; }
.frame-picker { display: flex; gap: 10px; align-items: center; flex-shrink: 0; padding-bottom: 2px; }
.frame-choice { padding: 9px 7px; min-width: 31px; min-height: 36px; border: 0; border-bottom: 1px solid #4e554b; color: #92998d; background: none; font-size: 10px; }
.frame-choice:hover, .frame-choice.is-active { color: var(--paper); border-color: var(--paper); }
.frame-choice.is-active { color: var(--accent); border-color: var(--accent); }
.opening h1 { grid-column: 1/-1; font-family: var(--serif); font-size: clamp(65px, 14.6vw, 236px); white-space: nowrap; line-height: 1.03; letter-spacing: -.07em; margin: 40px 0 18px; padding-right: .025em; }
.opening h1 i { font-style: italic; letter-spacing: -.075em; }
.name-period { color: var(--accent); }
.opening-bottom { grid-column: 1/-1; display: flex; gap: 25px; justify-content: space-between; padding: 14px 0 25px; border-top: 1px solid var(--line); font-size: 10px; }
.opening-bottom > span:nth-child(2) { color: var(--muted); }
.frame-enter { animation: frame-enter .52s cubic-bezier(.23,.77,.23,1) both; }
@keyframes frame-enter { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }

.work-section { padding: 105px var(--gutter) 110px; }
.section-rule { display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line); padding-top: 18px; }
.section-rule > :last-child { color: var(--muted); text-align: right; }
.work-heading { display: flex; justify-content: space-between; gap: 50px; align-items: flex-end; margin: 55px 0 60px; }
.work-heading h2 { font-family: var(--serif); font-size: clamp(57px, 7.2vw, 116px); line-height: .99; letter-spacing: -.05em; }
.work-heading h2 i { color: var(--accent); }
.work-heading p { color: var(--muted); font-size: 12px; line-height: 1.7; padding-bottom: 7px; }
.work-browser { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 5vw; align-items: start; }
.work-index { border-top: 1px solid var(--line); }
.work-entry { display: grid; grid-template-columns: 30px minmax(0,1fr) 25px; align-items: start; gap: 15px; width: 100%; padding: 25px 0; text-align: left; border: 0; border-bottom: 1px solid var(--line); background: none; color: #9a9f95; transition: color .2s ease; }
.work-entry > img { display: none; }
.entry-number { font-size: 10px; padding-top: 7px; color: #8e9987; }
.entry-name { font-family: var(--serif); font-size: clamp(28px, 3.1vw, 47px); line-height: 1.04; letter-spacing: -.035em; }
.entry-name small { display: block; font: 10px/1.6 Arial, sans-serif; color: var(--muted); letter-spacing: 0; margin-top: 10px; }
.entry-arrow { align-self: center; font-size: 22px; opacity: 0; transform: translate(-5px,5px); transition: opacity .2s, transform .2s; }
.work-entry.is-active, .work-entry:hover, .work-entry:focus-visible { color: var(--paper); }
.work-entry.is-active .entry-arrow, .work-entry:hover .entry-arrow, .work-entry:focus-visible .entry-arrow { opacity: 1; transform: translate(0,0); }
.work-entry.is-active .entry-number { color: var(--accent); }
.work-screen { position: sticky; top: 45px; padding-top: 0; }
.work-screen figure > img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: contain; background: #090a09; }
.work-screen figcaption { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; padding-top: 22px; }
.work-screen figcaption .micro { font-size: 10px; color: var(--accent); }
.work-screen h3 { font-family: var(--serif); font-size: clamp(28px, 3vw, 43px); line-height: 1.1; letter-spacing: -.03em; margin-top: 10px; }
.work-screen figcaption p { color: var(--muted); font-size: 11px; line-height: 1.6; margin-top: 12px; max-width: 380px; }
.round-play { display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--paper); color: var(--ink); width: 54px; height: 54px; flex-shrink: 0; font-size: 16px; margin-top: 6px; transition: background .2s, transform .2s; }
.round-play:hover { background: var(--accent); transform: scale(1.04); }
.underlink { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; padding: 10px 0; border: 0; border-bottom: 1px solid currentColor; background: none; color: inherit; font-size: 12px; line-height: 1.5; }
.underlink > span { font-size: 21px; line-height: 1; }
.work-screen > .underlink { margin-top: 22px; }
.interlude { background: #0b0d0c; }
.interlude > img { display: block; width: 100%; height: auto; }
.interlude-caption { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 20px var(--gutter) 25px; }
.interlude-caption .micro { color: var(--muted); font-size: 10px; }

.about-section { background: var(--paper); color: var(--ink); padding: 65px var(--gutter) 110px; color-scheme: light; }
.about-section .section-rule { border-color: #aeb3a9; }
.about-section .section-rule > :last-child { color: #676d61; }
.about-section a:focus-visible { outline-color: #50654b; }
.about-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 45px 9vw; margin-top: 65px; align-items: start; }
.about-heading { grid-column: 1; grid-row: 1; }
.about-heading h2 { font-family: var(--serif); font-size: clamp(65px, 8.4vw, 132px); line-height: .98; letter-spacing: -.055em; }
.about-heading h2 i { color: #6e7c67; }
.about-heading > .micro { display: block; margin-top: 27px; font-size: 10px; color: #676d61; }
.about-layout > figure { grid-column: 2; grid-row: 1/3; margin-top: 78px; }
.about-layout > figure img { width: 100%; height: auto; }
.about-layout > figure figcaption { font-size: 10px; margin-top: 14px; color: #676d61; }
.about-copy { grid-column: 1; grid-row: 2; max-width: 430px; margin-left: 10%; }
.about-copy > p { font-size: 15px; line-height: 1.75; margin-bottom: 22px; color: #454b40; }
.about-copy > p:first-child { font-family: var(--serif); font-size: 27px; line-height: 1.25; letter-spacing: -.02em; color: var(--ink); }
.about-copy .underlink { margin-top: 6px; }
.quiet-link { display: block; font-size: 11px; margin-top: 20px; color: #5c6655; }

.contact-section { padding: 65px var(--gutter) 70px; }
.contact-title { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; width: 100%; font-family: var(--serif); font-size: clamp(60px, 19.2vw, 320px); letter-spacing: -.07em; line-height: 1.1; margin: 40px 0 30px; white-space: nowrap; }
.contact-title > span { font-family: Arial, sans-serif; font-size: .38em; letter-spacing: 0; line-height: 1; transition: transform .3s ease; color: var(--accent); }
.contact-title:hover > span { transform: translate(5px,-5px); }
.contact-detail { display: grid; grid-template-columns: 1fr 1fr auto; gap: 30px; font-size: 12px; line-height: 1.7; align-items: start; }
.contact-detail > p { color: var(--muted); }
.contact-detail > a:first-child { font-size: 15px; overflow-wrap: anywhere; }
.contact-detail > a:last-child { text-align: right; color: var(--accent); }
footer { display: flex; justify-content: space-between; gap: 25px; font-size: 10px; line-height: 1.6; color: var(--muted); margin: 0 var(--gutter); padding: 27px 0; border-top: 1px solid var(--line); }

#screening { padding: 25px 30px; color: var(--paper); background: var(--ink); width: min(1240px,95vw); max-width: none; max-height: 95dvh; overflow-y: auto; border: 1px solid #4b5146; }
#screening::backdrop { background: #070807ed; backdrop-filter: blur(8px); }
body:has(dialog[open]) { overflow: hidden; }
.screening-top { display: flex; justify-content: space-between; align-items: center; gap: 25px; border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.screening-top .micro { color: var(--muted); font-size: 10px; }
.screening-top .close { background: none; border: 0; min-height: 44px; padding: 10px 0 10px 20px; font-size: 12px; }
#screening h2 { font-family: var(--serif); font-size: clamp(28px,3.5vw,46px); line-height: 1.1; letter-spacing: -.025em; padding: 23px 0; }
.player iframe { display: block; width: 100%; aspect-ratio: 16/9; border: 0; background: #050605; }
.screening-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 18px; font-size: 11px; line-height: 1.6; }
.screening-bottom p { color: var(--muted); max-width: 680px; }
.screening-bottom a { flex-shrink: 0; text-decoration: underline; text-underline-offset: 4px; }


.project-opening { padding: 35px var(--gutter) 0; }
.project-kicker { display: flex; justify-content: space-between; gap: 25px; font-size: 11px; line-height: 1.6; color: var(--accent); letter-spacing: .055em; }
.project-kicker > :last-child { color: var(--muted); text-align: right; }
.project-opening h1 { font-family: var(--serif); font-size: clamp(72px,12vw,190px); line-height: .94; letter-spacing: -.06em; margin: 43px 0 54px; }
.project-opening h1 i { display: block; padding-left: 15vw; font-style: italic; color: var(--accent); }
.project-topline { display: flex; justify-content: space-between; gap: 25px; font-size: 11px; line-height: 1.6; padding: 18px 0; border-top: 1px solid var(--line); }
.project-topline > :last-child { color: var(--muted); }
.project-screen { width: 100%; }
.project-context { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 9vw; padding: 90px var(--gutter) 85px; }
.project-context h2 { font-family: var(--serif); font-size: clamp(42px,4.8vw,75px); line-height: 1.06; letter-spacing: -.04em; max-width: 460px; }
.project-context p { font-size: 16px; line-height: 1.75; color: var(--muted); margin-bottom: 22px; max-width: 660px; }
.project-context p:last-child { margin-bottom: 0; }
.project-context p.micro { font-size: 11px; line-height: 1.7; letter-spacing: .02em; }
.project-context a { text-decoration: underline; text-underline-offset: 4px; color: var(--paper); }
.film-stills { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 7vw; padding: 25px var(--gutter) 100px; align-items: start; }
.film-stills figure:nth-child(even) { margin-top: 125px; }
.film-stills img { width: 100%; height: auto; }
.film-stills figcaption { margin-top: 14px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.credits { padding: 45px var(--gutter) 100px; }
.credits-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 9vw; margin-top: 50px; }
.credits-grid h2 { font-family: var(--serif); font-size: clamp(48px,6vw,92px); line-height: 1; letter-spacing: -.05em; }
.credits-grid dl { display: grid; grid-template-columns: minmax(110px,.7fr) minmax(0,1.3fr); gap: 20px 30px; }
.credits-grid dt { color: var(--muted); font-size: 11px; line-height: 1.7; }
.credits-grid dd { font-size: 14px; line-height: 1.7; }
.credits-grid dl > div { display: contents; }
.credits-grid a { text-decoration: underline; text-underline-offset: 4px; }
.next-film { padding: 45px var(--gutter) 90px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); align-items: center; gap: 5vw; }
.next-film > a { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 5vw; align-items: center; grid-column: 1/-1; }
.next-film h2, .next-film h3 { font-family: var(--serif); font-size: clamp(43px,6vw,92px); line-height: 1.05; letter-spacing: -.04em; margin-top: 15px; }
.next-film p, .next-film .micro { font-size: 11px; color: var(--muted); }
.next-film img { width: 100%; height: auto; }
.next-film:hover h2, .next-film:hover h3 { color: var(--accent); }

@media (min-width: 1750px) {
  :root { --gutter: max(5vw,calc((100vw - 1575px)/2)); }
  .opening h1 { font-size: 247px; }
  .contact-title { font-size: 350px; }
}

@media (max-width: 1050px) {
  .masthead { gap: 25px; }
  .masthead nav { gap: 27px; }
  .opening { grid-template-columns: minmax(0,22fr) minmax(0,78fr); }
  .opening-caption { gap: 15px; }
  .frame-picker { gap: 5px; }
  .work-browser { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 4vw; }
  .work-entry { grid-template-columns: 22px minmax(0,1fr) 20px; gap: 10px; }
  .entry-name { font-size: 31px; }
  .work-screen figcaption { gap: 15px; }
  .round-play { width: 46px; height: 46px; font-size: 14px; }
  .about-layout { gap: 35px 7vw; }
  .about-copy { margin-left: 0; }
  .contact-detail { grid-template-columns: 1.1fr 1fr; gap: 25px; }
  .contact-detail > a:last-child { grid-column: 1; text-align: left; }
  .project-context, .credits-grid { gap: 6vw; }
  .credits-grid dl { gap: 17px 20px; }
}

@media (max-width: 760px) {
  :root { --gutter: 6vw; }
  html { scroll-padding-top: 20px; }
  .micro { font-size: 10px; }
  .masthead { padding-top: 20px; padding-bottom: 17px; gap: 20px; }
  .signature { font-size: 32px; }
  .masthead-note { display: none; }
  .masthead nav { gap: 23px; font-size: 11px; }
  .masthead sup { font-size: 7px; }
  .opening { display: flex; flex-direction: column; padding-top: 22px; }
  .opening-aside { display: flex; flex-direction: row; align-items: center; justify-content: space-between; padding: 0 0 20px; }
  .opening-aside p { font-size: 10px; }
  .vertical-note { display: none; }
  .down-link { padding: 0 0 0 15px; font-size: 24px; }
  .opening-film { width: 100%; }
  .screen-trigger { bottom: 11px; right: 11px; padding: 11px 13px; gap: 8px; font-size: 10px; }
  .screen-trigger > span:first-child { font-size: 11px; }
  .opening-caption { display: block; padding-top: 18px; }
  .opening-caption .micro { font-size: 9px; }
  .film-title { font-size: 27px; margin-top: 7px; }
  .film-title > span { font-size: 15px; margin-left: 9px; }
  .opening-caption p { font-size: 10px; margin-top: 8px; }
  .frame-picker { gap: 12px; justify-content: flex-end; margin-top: 11px; }
  .frame-choice { min-width: 33px; min-height: 36px; font-size: 10px; }
  .opening h1 { font-size: 14.4vw; letter-spacing: -.07em; margin: 27px 0 19px; line-height: 1.04; }
  .opening-bottom { padding-top: 13px; padding-bottom: 20px; gap: 15px; font-size: 9px; }
  .opening-bottom > span:nth-child(2) { display: none; }
  .work-section { padding-top: 65px; padding-bottom: 65px; }
  .section-rule { gap: 20px; padding-top: 15px; }
  .section-rule > :last-child { max-width: 150px; }
  .work-section .section-rule > :last-child { display: none; }
  .work-heading { display: block; margin: 35px 0; }
  .work-heading h2 { font-size: 17vw; line-height: .98; }
  .work-heading p { font-size: 11px; margin: 24px 0 0 23%; }
  .work-browser { display: flex; flex-direction: column; gap: 25px; }
  .work-index { width: 100%; }
  .work-screen { order: -1; position: sticky; top: 0; width: 100%; z-index: 5; background: var(--ink); padding: 12px 0 20px; }
  .work-screen figcaption { padding-top: 15px; gap: 18px; }
  .work-screen figcaption .micro { font-size: 9px; }
  .work-screen h3 { font-size: 27px; margin-top: 7px; }
  .work-screen figcaption p { font-size: 10px; margin-top: 8px; max-width: 270px; }
  .round-play { width: 43px; height: 43px; margin-top: 1px; font-size: 13px; }
  .work-screen > .underlink { margin-top: 12px; font-size: 10px; padding: 7px 0; }
  .underlink { font-size: 11px; gap: 25px; }
  .underlink > span { font-size: 19px; }
  .work-entry { grid-template-columns: 18px minmax(0,1fr) 64px 16px; gap: 12px; padding: 19px 0; align-items: center; }
  .work-entry > img { display: block; width: 64px; aspect-ratio: 16/9; object-fit: contain; background: #090a09; }
  .entry-number { font-size: 9px; align-self: start; padding-top: 4px; }
  .entry-name { font-size: 24px; line-height: 1.08; }
  .entry-name small { font-size: 9px; margin-top: 7px; }
  .entry-arrow { font-size: 18px; }
  .interlude-caption { padding-top: 15px; padding-bottom: 18px; gap: 20px; }
  .interlude-caption .micro { font-size: 9px; }
  .interlude-caption .underlink { font-size: 10px; gap: 15px; }
  .about-section { padding-top: 40px; padding-bottom: 65px; }
  .about-layout { grid-template-columns: minmax(0,1fr); gap: 30px; margin-top: 40px; }
  .about-heading { grid-column: auto; grid-row: auto; }
  .about-heading h2 { font-size: 21vw; }
  .about-heading > .micro { margin-top: 23px; font-size: 9px; }
  .about-layout > figure { grid-column: auto; grid-row: auto; width: 83%; margin: 5px 0 0 auto; }
  .about-layout > figure img { width: 100%; height: auto; }
  .about-layout > figure figcaption { font-size: 9px; margin-top: 12px; }
  .about-copy { grid-column: auto; grid-row: auto; margin-left: 0; max-width: 100%; }
  .about-copy > p { font-size: 14px; line-height: 1.7; margin-bottom: 20px; }
  .about-copy > p:first-child { font-size: 27px; line-height: 1.25; max-width: 340px; }
  .contact-section { padding-top: 40px; padding-bottom: 45px; }
  .contact-section .section-rule > :last-child { display: none; }
  .contact-title { font-size: 19.2vw; margin: 35px 0 25px; gap: 12px; }
  .contact-title > span { font-size: .36em; }
  .contact-detail { display: flex; flex-direction: column; gap: 23px; font-size: 11px; }
  .contact-detail > a:first-child { font-size: 14px; }
  .contact-detail > a:last-child { text-align: left; font-size: 11px; }
  footer { flex-wrap: wrap; gap: 15px 25px; padding: 23px 0; font-size: 9px; }
  footer > span:first-child { flex-basis: 100%; }
  footer > a:last-child { margin-left: auto; }
  #screening { width: 96vw; padding: 14px; max-height: 96dvh; }
  .screening-top { padding-bottom: 10px; }
  .screening-top .micro { font-size: 9px; }
  #screening h2 { font-size: 28px; padding: 19px 0; }
  .screening-bottom { flex-direction: column; gap: 16px; font-size: 10px; }
  .screening-bottom a { align-self: flex-start; }
  .project-opening { padding-top: 30px; }
  .project-kicker { font-size: 10px; }
  .project-opening h1 { font-size: 18vw; line-height: .97; margin: 33px 0 40px; }
  .project-opening h1 i { padding-left: 9vw; }
  .project-topline { gap: 20px; font-size: 10px; padding: 15px 0; }
  .project-topline > :last-child { text-align: right; }
  .project-context { display: block; padding-top: 50px; padding-bottom: 40px; }
  .project-context h2 { font-size: 43px; max-width: 350px; margin-bottom: 30px; }
  .project-context p { font-size: 14px; margin-bottom: 20px; }
  .film-stills { display: block; padding-top: 15px; padding-bottom: 50px; }
  .film-stills figure:first-child { width: 92%; }
  .film-stills figure:nth-child(even) { width: 92%; margin: 36px 0 0 auto; }
  .film-stills figcaption { font-size: 9px; margin-top: 10px; }
  .credits { padding-top: 30px; padding-bottom: 55px; }
  .credits-grid { display: block; margin-top: 35px; }
  .credits-grid h2 { font-size: 55px; margin-bottom: 35px; }
  .credits-grid dl { grid-template-columns: minmax(95px,.7fr) minmax(0,1.3fr); gap: 17px 20px; }
  .credits-grid dt { font-size: 10px; }
  .credits-grid dd { font-size: 12px; }
  .next-film { display: block; padding-top: 25px; padding-bottom: 60px; }
  .next-film > a { display: block; }
  .next-film h2, .next-film h3 { font-size: 48px; margin: 14px 0 28px; }
  .next-film p, .next-film .micro { font-size: 10px; }
}

@media (max-width: 380px) {
  .masthead nav { gap: 18px; }
  .work-entry { grid-template-columns: 16px minmax(0,1fr) 54px 14px; gap: 9px; }
  .work-entry > img { width: 54px; }
  .entry-name { font-size: 22px; }
}

@media (max-width: 760px) and (max-height: 650px) {
  .work-screen { position: relative; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { animation: none !important; transition: none !important; }
  .frame-enter { clip-path: none; }
  .contact-title:hover > span, .round-play:hover { transform: none; }
}


:root { --accent:#d4c6b1; --muted:#b6b4ae; --line:#3a3935; }
.auteur-v3 .masthead { height:88px; padding-top:18px; padding-bottom:18px; }
.signature-mark { display:block; width:63px; height:45px; }
.signature-mark path { stroke:var(--paper); stroke-dasharray:220; stroke-dashoffset:0; animation:sign-in 1.25s cubic-bezier(.3,.6,.2,1) both; }
.signature-mark path+path { animation-delay:.15s; }
.auteur-v3 .masthead-note { letter-spacing:.02em; }
.reel-opening { --hero-progress:0; position:relative; height:128svh; min-height:800px; }
.reel-stage { height:calc(100svh - 20px); min-height:590px; position:sticky; top:0; overflow:hidden; isolation:isolate; }
.reel-window { position:absolute; inset:0; overflow:hidden; z-index:-2; clip-path:inset(calc(28px * (1 - var(--hero-progress))) calc(13vw * (1 - var(--hero-progress))) calc(94px * (1 - var(--hero-progress)))); background:#111615; }
.reel-window::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#0b0d0b14 25%,#080b0b26 48%,#080b0bce 100%); }
.reel-window img,.reel-window video { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center; }
.reel-window img { animation:screen-in 1.4s ease both; }
.reel-window video { opacity:0; transition:opacity .7s ease; }
.reel-window video.is-playing { opacity:1; }
.reel-topline { display:flex; justify-content:space-between; position:absolute; top:22px; left:var(--gutter); right:var(--gutter); font-size:10px; line-height:1.6; }
.reel-topline span:last-child { text-align:right; color:#c7c7c0; }
.reel-motto { position:absolute; left:var(--gutter); top:33%; font:400 clamp(22px,2.7vw,42px)/1.1 var(--serif); letter-spacing:-.035em; }
.reel-motto i { color:var(--accent); }
.reel-title { position:absolute; left:4.5vw; right:4.5vw; bottom:160px; font:400 clamp(60px,14.5vw,250px)/1.11 var(--serif); letter-spacing:-.075em; white-space:nowrap; transform:translateY(calc(-16px * var(--hero-progress))); }
.reel-title .name-wrap { display:inline-block; overflow:hidden; vertical-align:bottom; padding:0 .025em .12em 0; margin-bottom:-.12em; }
.reel-title .name-word { display:block; animation:name-in .95s cubic-bezier(.16,.7,.2,1) .12s both; }
.reel-title .name-wrap+ .name-wrap { margin-left:.12em; }
.reel-title .name-wrap+ .name-wrap .name-word { animation-delay:.23s; }
.reel-title i { font-style:italic; }
.reel-actions { position:absolute; bottom:98px; left:var(--gutter); right:var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:30px; }
.reel-watch { display:flex; align-items:center; gap:20px; border:0; background:none; padding:0; color:var(--paper); text-align:left; }
.reel-watch .play-outline { display:grid; place-items:center; width:51px; height:51px; border:1px solid #ffffff83; border-radius:50%; font-size:13px; transition:background .25s,color .25s,transform .25s; }
.reel-watch:hover .play-outline { background:var(--paper); color:var(--ink); transform:scale(1.07); }
.reel-watch strong { display:block; font-size:12px; line-height:1.5; font-weight:400; }
.reel-watch small { display:block; font-size:9px; color:#c2c1ba; margin-top:4px; letter-spacing:.055em; }
.motion-control { min-height:44px; display:flex; align-items:center; gap:10px; border:0; border-bottom:1px solid #878b81; padding:9px 0; background:transparent; font-size:10px; }
.motion-control .motion-icon { font-size:13px; min-width:14px; }
.reel-bottom { position:absolute; bottom:25px; left:var(--gutter); right:var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:25px; font-size:10px; line-height:1.6; }
.reel-bottom .reel-scroll { display:inline-flex; gap:18px; align-items:center; }
.reel-bottom .reel-scroll span { display:inline-block; font-size:24px; animation:scroll-in 1.1s ease .8s both; }
.reel-bottom > span { color:var(--muted); }
.auteur-v3 .work-section { padding-top:65px; }
.auteur-v3 .work-heading h2 { max-width:650px; }
.auteur-v3 .entry-number { color:#b3a58f; }
.auteur-v3 .work-entry { transition:color .2s,padding .35s; }
.auteur-v3 .work-entry.is-active { padding-left:12px; }
.auteur-v3 .work-screen figure > img { transition:aspect-ratio .35s; }
.auteur-v3 .work-screen figure > img.is-portrait-frame { aspect-ratio:4/3; }
.auteur-v3 .about-heading h2 i { color:#7d6f5d; }
.auteur-v3 .about-copy p { color:#48443e; }
.auteur-v3 .about-copy p:first-child { color:var(--ink); }
.auteur-v3 .quiet-link { color:#655d51; }
.auteur-v3 #screening[open] { animation:projection-in .35s cubic-bezier(.2,.7,.2,1); }
[data-reveal].will-reveal { opacity:0; transform:translateY(24px); }
[data-reveal].is-revealed { opacity:1; transform:none; transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1); }
@keyframes sign-in { from{stroke-dashoffset:220}to{stroke-dashoffset:0} }
@keyframes name-in { from{transform:translateY(115%)}to{transform:translateY(0)} }
@keyframes screen-in { from{opacity:.25;transform:scale(1.05)}to{opacity:1;transform:scale(1)} }
@keyframes scroll-in { from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none} }
@keyframes projection-in { from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none} }
@media(min-width:1700px) { .reel-title{font-size:14.5vw} }
@media(max-width:760px) {
  .auteur-v3 .masthead { height:76px; gap:18px; }
  .signature-mark { width:48px; height:36px; }
  .auteur-v3 .masthead nav { gap:21px; }
  .reel-opening { height:auto; min-height:0; }
  .reel-stage { height:calc(100svh - 76px); min-height:620px; max-height:960px; position:relative; }
  .reel-window { clip-path:inset(55px 6vw 164px); }
  .reel-window img,.reel-window video { object-position:55% center; }
  .reel-topline { top:8px; font-size:9px; }
  .reel-motto { top:20%; left:10vw; font-size:29px; }
  .reel-title { bottom:215px; left:7.5vw; right:5vw; white-space:normal; font-size:21vw; line-height:.98; transform:none; letter-spacing:-.07em; }
  .reel-title .name-wrap { display:block; width:max-content; max-width:100%; padding-bottom:.16em; margin-bottom:-.16em; }
  .reel-title .name-wrap+ .name-wrap { margin-left:7vw; }
  .reel-actions { bottom:85px; flex-wrap:wrap; gap:13px; align-items:center; }
  .reel-watch { gap:11px; }
  .reel-watch .play-outline { width:44px; height:44px; font-size:12px; }
  .reel-watch strong { font-size:11px; }
  .reel-watch small { font-size:8px; }
  .motion-control { font-size:9px; gap:6px; }
  .reel-bottom { bottom:21px; font-size:9px; border-top:1px solid var(--line); padding-top:16px; }
  .reel-bottom > span { max-width:130px; }
  .reel-bottom .reel-scroll { gap:12px; }
  .reel-bottom .reel-scroll span { font-size:19px; }
  .auteur-v3 .work-section { padding-top:40px; }
  .auteur-v3 .work-entry.is-active { padding-left:4px; }
  .auteur-v3 .work-screen figure > img.is-portrait-frame { aspect-ratio:16/9; }
}
@media(max-width:365px) {
  .auteur-v3 .masthead nav { gap:15px; }
  .motion-control { width:auto; font-size:8px; }
  .reel-watch { gap:8px; }
  .reel-watch strong { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
  .reel-opening { height:auto; min-height:0; }
  .reel-stage { position:relative; }
  .reel-window { clip-path:none; }
  .reel-title { transform:none; }
  [data-reveal].will-reveal { opacity:1; transform:none; }
  .signature-mark path { stroke-dashoffset:0; }
  .name-word { transform:none; }
}
@font-face{font-family:'David Serif';src:url('assets/fonts/SourceSerifPro-Regular.ttf') format('truetype');font-display:swap;font-style:normal;font-weight:400}
@font-face{font-family:Syncopate;src:url('assets/fonts/Syncopate-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}main,section,article,figure,div,nav{min-width:0}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}p{line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;border-radius:0}button,a{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#c4d0d2;color:#131316}.skip{position:fixed;z-index:100;top:-90px;left:20px;background:#fff;color:#111;padding:18px}.skip:focus{top:15px}.micro{font:11px/1.6 Arial,Helvetica,sans-serif;letter-spacing:.035em}.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--accent,#a5bac4);transform:scaleX(0);transform-origin:left;z-index:90;pointer-events:none}
.chapter-label{display:flex;justify-content:space-between;gap:28px;border-top:1px solid var(--line,#404044);padding-top:18px;font:11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.025em}.chapter-label>h2{font:inherit}.chapter-label>:last-child{text-align:right;color:var(--muted,#b2b8bc)}
.text-link{display:inline-block;padding:12px 0;border:0;border-bottom:1px solid currentColor;background:none;font-size:12px;line-height:1.6}.film-link{display:inline-flex;align-items:center;gap:16px;border:0;background:none;padding:0;text-align:left;font-size:12px;line-height:1.5}.play-disc{display:inline-grid;place-items:center;width:56px;height:56px;flex:0 0 56px;border:1px solid #ddd9cfaa;border-radius:50%;background:transparent;color:inherit;font:12px/1 Arial,sans-serif;transition:background .25s,color .25s,transform .3s}.film-link:hover .play-disc,button.play-disc:hover,.still-link:hover .play-disc{background:#eeede7;color:#111;transform:scale(1.05)}
.ambient-frame{position:relative;background:#111;overflow:hidden;width:100%;height:100%}.ambient-frame>img,.ambient-frame>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ambient-frame>video{opacity:0;transition:opacity .6s}.ambient-frame>video.is-playing{opacity:1}.ambient-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#080a0b9c 100%);pointer-events:none}.film-overlay{position:absolute;bottom:25px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#f5f3ec}.motion-control{display:flex;align-items:center;gap:9px;min-height:44px;border:0;border-bottom:1px solid #afada488;background:none;color:inherit;font:10px/1.5 Arial,sans-serif;padding:8px 0}.motion-control .motion-icon{font-size:13px;min-width:15px}.frame-play{position:absolute;inset:auto 25px 25px;display:flex;align-items:center;gap:14px;font:12px/1.5 Arial,sans-serif;color:#f5f3ec;text-shadow:0 1px 12px #000}.frame-play .play-disc{background:#10121270}.image-reveal{--scene-progress:inherit;clip-path:inset(calc(7% * (1 - var(--scene-progress,1))) calc(12% * (1 - var(--scene-progress,1))));transition:clip-path .12s linear}
.v4-predecon{--scene-progress:0;padding:68px var(--gutter,5vw) 90px;background:#111213;color:#eeede7;--line:#3f4140;--muted:#b1b3b0}.sixty-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:25px 0 8px}.sixty-heading h2{display:flex;align-items:center;gap:2vw;line-height:.8;letter-spacing:-.07em}.sixty-number{font:400 clamp(130px,23vw,360px)/.9 var(--serif,'David Serif',Georgia,serif);letter-spacing:-.085em}.sixty-word{font:400 clamp(60px,10vw,160px)/.9 var(--serif,'David Serif',Georgia,serif);letter-spacing:-.055em}.sixty-sub{display:block;font:11px/1.5 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-top:24px;margin-left:6px}.sixty-heading>p{font-size:12px;line-height:1.8;color:#bcc0bd;padding-bottom:30px}.predecon-cinema{position:relative;height:min(64vw,760px);max-height:80svh;min-height:340px;overflow:hidden}.predecon-cinema .ambient-frame>img,.predecon-cinema .ambient-frame>video{object-fit:cover}.case-colophon{display:grid;grid-template-columns:1fr 2fr 1fr;gap:35px;padding:27px 0 0}.case-colophon>p{font-size:14px;max-width:530px;color:#b9bdb9;line-height:1.75}.case-colophon>p strong{font-weight:400;color:#eeede7}.case-colophon>:last-child{text-align:right}.case-colophon .micro{font-size:10px}
.social-links{display:flex;gap:30px;flex-wrap:wrap;padding:22px var(--gutter,5vw) 42px;font-size:11px}.social-links>a{padding:8px 0;border-bottom:1px solid #8b8f8d}
#screening.screening-v4,.gallery-v4{padding:24px 28px;color:#eeede7;background:#111315;width:min(1240px,95vw);max-width:none;max-height:94dvh;overflow:auto;border:1px solid #555b5f}.screening-v4::backdrop,.gallery-v4::backdrop{background:#050708ed;backdrop-filter:blur(8px)}body:has(dialog[open]){overflow:hidden}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #3b4245;padding-bottom:14px}.dialog-close{border:0;background:transparent;min-height:44px;min-width:72px;text-align:right;font-size:12px}.screening-v4 h2,.gallery-v4 h2{font:400 clamp(26px,3.5vw,45px)/1.1 'David Serif',Georgia,serif;letter-spacing:-.025em;padding:22px 0}.film-player iframe,.film-player video{display:block;width:100%;aspect-ratio:16/9;max-height:65dvh;object-fit:contain;border:0;background:#030405}.screening-bottom{display:flex;justify-content:space-between;gap:28px;margin-top:18px;font-size:11px;line-height:1.7}.film-credit{color:#c1c6c7;max-width:760px}.external-film{text-decoration:underline;text-underline-offset:4px;flex-shrink:0}.gallery-heading{display:flex;justify-content:space-between;align-items:center}.gallery-counter{font-size:11px}.gallery-v4 figure img{height:62dvh;width:100%;object-fit:contain;background:#050708}.gallery-v4 figcaption{font-size:11px;margin-top:14px}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:11px;margin-top:22px}.gallery-context{max-width:700px}.gallery-controls{display:flex;gap:15px}.gallery-controls button{border:1px solid #858f94;background:none;width:44px;height:44px}.frame-enter{animation:frame-v4 .5s cubic-bezier(.2,.6,.2,1) both}@keyframes frame-v4{from{opacity:.4;clip-path:inset(0 20% 0 0)}to{opacity:1;clip-path:inset(0)}}
[data-reveal].will-reveal{opacity:0;transform:translateY(24px)}[data-reveal].is-revealed{opacity:1;transform:none;transition:opacity .8s,transform .9s cubic-bezier(.2,.7,.2,1)}
@media(max-width:760px){html{scroll-padding-top:20px}.chapter-label{font-size:10px;gap:24px;padding-top:15px}.chapter-label>:last-child{max-width:46%}.film-link{font-size:11px;gap:10px}.play-disc{width:44px;height:44px;flex-basis:44px;font-size:11px}.film-overlay{bottom:16px;left:17px;right:17px;gap:10px}.motion-control{font-size:9px;gap:6px}.frame-play{left:17px;bottom:17px;right:17px;font-size:11px}.image-reveal{clip-path:none}.v4-predecon{padding:43px var(--gutter,6vw) 52px}.sixty-heading{padding:28px 0 23px;gap:15px}.sixty-heading h2{gap:4vw}.sixty-number{font-size:33vw}.sixty-word{font-size:16vw}.sixty-sub{font-size:8px;letter-spacing:.1em;margin-top:15px;margin-left:2px}.sixty-heading>p{display:none}.predecon-cinema{min-height:0;height:67svh;max-height:540px}.case-colophon{grid-template-columns:1fr;gap:16px;padding-top:23px}.case-colophon>.micro{font-size:9px}.case-colophon>p{font-size:13px}.case-colophon>:last-child{text-align:left}.case-colophon>:last-child br{display:none}.social-links{gap:23px;font-size:10px;padding-bottom:28px}#screening.screening-v4,.gallery-v4{padding:17px;width:96vw}.screening-bottom{display:block;font-size:10px}.external-film{display:inline-block;margin-top:12px}.film-player iframe,.film-player video{max-height:63dvh}.gallery-v4 figure img{height:49dvh}.gallery-bottom{align-items:flex-start;gap:12px}.gallery-context{max-width:68%}.gallery-controls{gap:6px}.gallery-controls button{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.image-reveal{clip-path:none}[data-reveal].will-reveal{opacity:1;transform:none}}
