/* ============ Film page (loads after styles.css) ============ */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* hero + player */
.fm-hero { display: flex; flex-direction: column; gap: 22px; margin-top: 0; padding-top: clamp(32px, 4vw, 56px); }
.fm-hero h1 { font-family: var(--serif); font-weight: 300; font-size: clamp(44px, 6.4vw, 96px); line-height: 1.02; letter-spacing: -.01em; text-wrap: balance; max-width: 20ch; }
.fm-hero .lede { max-width: 70ch; }
.fm-hero .player { margin-top: 14px; }
.has-gsap .fm-hero .reveal { opacity: 1; transform: none; }

/* acts */
.fm-acts { display: flex; flex-direction: column; gap: clamp(48px, 6vw, 88px); }
.fm-act { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(24px, 4vw, 64px); align-items: center; }
.fm-act--alt .fm-act__text { order: 2; }
.fm-act--alt .fm-act__media { order: 1; }
.fm-act__text { display: flex; flex-direction: column; gap: 14px; }
.fm-act__text h3 { font-size: clamp(28px, 3vw, 44px); }
.fm-act__text p:not(.eyebrow) { font-size: 16px; color: var(--ink-2); max-width: 52ch; }
.fm-act__media { display: grid; gap: 14px; }
.fm-act__media img { width: 100%; height: auto; display: block; background: var(--ink); }
.has-gsap .fm-act__media img { clip-path: inset(6% 4% 6% 4%); will-change: clip-path; }
.fm-act__media:not(.fm-act__media--grid):has(img + img) { grid-template-columns: 3fr 2fr; align-items: end; }
.fm-act__media--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* the draft cut */
.fm-screen { margin-top: clamp(72px, 9vw, 130px); background: var(--ink); color: var(--paper); margin-left: calc(-1 * var(--gutter)); margin-right: calc(-1 * var(--gutter)); padding: clamp(56px, 7vw, 110px) var(--gutter); display: flex; flex-direction: column; gap: 28px; }
.fm-screen__head { display: flex; flex-direction: column; gap: 12px; }
.fm-screen__head h2 { color: var(--paper); }
.fm-screen__head .eyebrow { color: #b8b09c; }
.fm-screen__note { font-size: 13px; letter-spacing: .04em; color: #b8b09c; }
.fm-screen__stage { display: flex; flex-direction: column; gap: 16px; }
.fm-screen__stage video { width: 100%; height: auto; display: block; background: #000; }
.fm-screen__fs, .fm-screen__q { align-self: flex-start; background: transparent; border: 1px solid var(--paper); color: var(--paper); cursor: pointer; font-family: var(--sans); }
.fm-screen__fs:hover, .fm-screen__q:hover { background: var(--paper); color: var(--ink); }

/* particulars */
.fm-notes { display: flex; flex-direction: column; gap: 24px; max-width: 720px; }
.fm-notes .spec { margin-top: 4px; }
.fm-notes__link { font-size: 15px; color: var(--ink-2); }

@media (max-width: 1100px) {
  .fm-act, .fm-act--alt { grid-template-columns: 1fr; }
  .fm-act--alt .fm-act__text { order: 1; }
  .fm-act--alt .fm-act__media { order: 2; }
}
@media (max-width: 760px) {
  .fm-act__media--grid { grid-template-columns: 1fr 1fr; }
  .fm-act__media:not(.fm-act__media--grid):has(img + img) { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .has-gsap .fm-act__media img { clip-path: none; }
}

.fm-screen__ctrls{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start}
.fm-screen__ctrls .fm-screen__fs{margin:0}
