/* ============================================================
   THIRD PARTY FILMS — production stylesheet
   Cinematic immersive · Russian constructivist / suprematist
   ============================================================ */

:root{
  --bg:#0A0A0A;
  --paper:#F2EAD3;
  --red:#E63223;
  --steel:#8B8B85;
  --line:#1d1d1d;
  --line-paper:#222;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--paper);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
em{font-style:italic;color:inherit}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:22px 36px;mix-blend-mode:difference}
.nav .mark{display:flex;align-items:center;gap:10px;font-family:'Archivo Black',sans-serif;letter-spacing:.06em;font-size:13px;text-transform:uppercase}
.nav .mark .sq{width:14px;height:14px;background:var(--red);display:inline-block}
.nav ul{display:flex;gap:28px;list-style:none;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.nav ul li a{padding-bottom:2px;border-bottom:1px solid transparent;transition:border-color .2s}
.nav ul li a:hover, .nav ul li a.current{border-color:var(--red)}

/* ---------- HERO ---------- */
.hero{position:relative;height:100vh;min-height:680px;overflow:hidden;display:flex;align-items:flex-end}
.hero-reel{position:absolute;inset:0;display:flex;animation:reel 28s linear infinite}
.hero-reel .slide{flex:0 0 100vw;height:100vh;background-size:cover;background-position:center;filter:brightness(.55) contrast(1.05) saturate(.8)}
@keyframes reel{
  0%,12%   {transform:translateX(0)}
  16%,28%  {transform:translateX(-100vw)}
  32%,45%  {transform:translateX(-200vw)}
  49%,62%  {transform:translateX(-300vw)}
  66%,79%  {transform:translateX(-400vw)}
  83%,96%  {transform:translateX(-500vw)}
  100%     {transform:translateX(0)}
}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,0) 35%,rgba(10,10,10,0) 55%,rgba(10,10,10,.95) 100%);pointer-events:none;z-index:1}

/* constructivist hero overlay (suprematist composition) */
.hero-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}
.hero-overlay .red-bar{position:absolute;left:-20px;top:30%;width:30%;height:14px;background:var(--red);transform:rotate(-22deg)}
.hero-overlay .red-square{position:absolute;right:8%;top:18%;width:130px;height:130px;background:var(--red);mix-blend-mode:multiply;opacity:.92}
.hero-overlay .black-line{position:absolute;left:0;right:0;top:62%;height:2px;background:var(--paper);transform:rotate(-2deg);opacity:.18}
.hero-overlay .red-circle{position:absolute;right:14%;top:46%;width:46px;height:46px;border:3px solid var(--red);border-radius:50%}

.hero-content{position:relative;z-index:3;width:100%;padding:0 36px 64px}
.hero-meta{display:flex;justify-content:space-between;align-items:flex-end;border-top:2px solid var(--paper);padding-top:14px;flex-wrap:wrap;gap:16px}
.hero-meta .lede{max-width:560px;font-size:15px;line-height:1.5;color:var(--paper)}
.hero-meta .corner{display:flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper)}
.hero-meta .corner .dot{width:8px;height:8px;background:var(--red);border-radius:50%;display:inline-block;animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.3}}

.hero-title{font-family:'Anton',sans-serif;font-size:clamp(64px,11vw,180px);line-height:.85;letter-spacing:-.01em;text-transform:uppercase;color:var(--paper);margin-bottom:36px;max-width:1100px}
.hero-title .row{display:block}
.hero-title .row .accent{color:var(--red);font-style:normal}

/* short page hero (used on inner pages) */
.page-hero{position:relative;padding:160px 36px 64px;background:var(--bg);border-bottom:2px solid var(--paper)}
.page-hero .num{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;color:var(--steel);text-transform:uppercase;margin-bottom:18px;display:block}
.page-hero h1{font-family:'Anton',sans-serif;font-size:clamp(48px,8vw,120px);line-height:.9;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:24px}
.page-hero h1 .red{color:var(--red)}
.page-hero p.lede{font-size:17px;line-height:1.55;max-width:780px;color:var(--paper)}

/* ---------- TICKER ---------- */
.ticker{background:var(--red);color:var(--bg);padding:14px 0;overflow:hidden;border-top:2px solid var(--paper);border-bottom:2px solid var(--paper)}
.ticker-track{display:flex;gap:48px;white-space:nowrap;animation:tick 40s linear infinite;font-family:'Archivo Black',sans-serif;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.ticker-track span{display:inline-flex;align-items:center;gap:48px}
.ticker-track .dot{width:10px;height:10px;background:var(--bg);border-radius:50%;display:inline-block}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- SECTION CHROME ---------- */
section{padding:90px 36px;position:relative}
.section-num{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;color:var(--steel);text-transform:uppercase;margin-bottom:18px}
.section-title{font-family:'Anton',sans-serif;font-size:clamp(40px,6vw,84px);line-height:.95;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:48px}
.section-title .red{color:var(--red)}

/* ---------- WORK LIST (A24-style hover) ---------- */
.films{position:relative;border-top:2px solid var(--paper)}
.filters{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:32px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.filters li{padding:8px 14px;border:1px solid var(--steel);color:var(--steel);cursor:pointer;transition:all .15s;user-select:none}
.filters li:hover{color:var(--paper);border-color:var(--paper)}
.filters li.active{background:var(--red);border-color:var(--red);color:var(--bg)}
.films-list{list-style:none;border-top:1px solid var(--line)}
.films-list li.hidden{display:none}
.films-list li{position:relative;border-bottom:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:80px 1fr auto;gap:32px;align-items:center;cursor:pointer;transition:background .2s}
.films-list li:hover{background:rgba(230,50,35,.04)}
.films-list .num{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.12em;color:var(--steel)}
.films-list li:hover .num{color:var(--red)}
.films-list .title{font-family:'Anton',sans-serif;font-size:clamp(28px,4vw,56px);text-transform:uppercase;letter-spacing:-.01em;line-height:1;transition:color .2s,transform .25s;color:var(--paper)}
.films-list li:hover .title{transform:translateX(8px)}
.films-list .meta{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;color:var(--steel);text-transform:uppercase}
.films-list .meta .yr{color:var(--paper)}
.films-list a.row{color:inherit;display:contents}

/* hover preview pane */
.preview-pane{position:fixed;top:50%;right:6%;transform:translateY(-50%) translateY(8px) scale(.96);width:380px;height:240px;pointer-events:none;opacity:0;transition:opacity .25s ease,transform .25s ease;z-index:30}
.preview-pane.show{opacity:1;transform:translateY(-50%) scale(1)}
.preview-pane .img{position:absolute;inset:0;background-size:cover;background-position:center;filter:contrast(1.05)}
.preview-pane::before,.preview-pane::after{content:"";position:absolute;width:36px;height:36px;border:3px solid var(--red);pointer-events:none}
.preview-pane::before{top:-8px;left:-8px;border-right:none;border-bottom:none}
.preview-pane::after{bottom:-8px;right:-8px;border-left:none;border-top:none}
.preview-pane .label{position:absolute;left:-30px;bottom:-30px;background:var(--red);color:var(--bg);padding:6px 12px;font-family:'Archivo Black',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;transform:rotate(-4deg)}

/* ---------- DIAGONAL DIVIDER ---------- */
.diagonal{height:120px;position:relative;overflow:hidden;background:var(--bg);padding:0}
.diagonal::before{content:"";position:absolute;top:50%;left:-10%;width:120%;height:6px;background:var(--red);transform:rotate(-3.5deg)}
.diagonal-tag{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-3.5deg);background:var(--bg);padding:6px 18px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.3em;color:var(--paper);text-transform:uppercase}

/* ---------- SERVICES (homepage card grid) ---------- */
.services{background:var(--paper);color:var(--bg)}
.services .section-num{color:#5a5a5a}
.services .section-title{color:var(--bg)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--bg);border-left:2px solid var(--bg)}
.svc{border-right:2px solid var(--bg);border-bottom:2px solid var(--bg);padding:28px 24px;min-height:220px;position:relative;transition:background .2s,color .2s;color:var(--bg)}
.svc:hover{background:var(--red);color:var(--paper)}
.svc .svc-num{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;color:var(--bg);opacity:.5;margin-bottom:24px}
.svc:hover .svc-num{color:var(--paper);opacity:.8}
.svc .svc-title{font-family:'Anton',sans-serif;font-size:30px;text-transform:uppercase;line-height:.95;margin-bottom:14px}
.svc .svc-body{font-size:13px;line-height:1.5;max-width:240px}
.svc .geo{position:absolute;bottom:14px;right:14px;width:36px;height:36px;background:var(--red);transition:transform .3s,background .3s,border-color .3s}
.svc:hover .geo{background:var(--bg);transform:rotate(45deg)}
.svc.tri .geo{background:transparent;border-bottom:36px solid var(--red);border-left:18px solid transparent;border-right:18px solid transparent;width:0;height:0}
.svc.tri:hover .geo{border-bottom-color:var(--bg)}
.svc.cir .geo{border-radius:50%}

/* ---------- PRESS / QUOTES ---------- */
.press{position:relative;padding:120px 36px}
.press-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:2px solid var(--paper);padding-top:48px}
.quote{position:relative;padding:24px 0 24px 32px;border-left:3px solid var(--red)}
.quote .q{font-family:'Anton',sans-serif;font-size:28px;line-height:1.15;text-transform:uppercase;letter-spacing:-.005em;margin-bottom:16px}
.quote .src{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;color:var(--steel);text-transform:uppercase}
.quote .src .name{color:var(--paper)}

/* ---------- STUDIO / FOUNDER ---------- */
.studio{position:relative;padding:120px 36px;background:var(--bg);border-top:2px solid var(--paper)}
.studio-grid{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center}
.studio-portrait{position:relative;aspect-ratio:3/4;background:#111;overflow:hidden}
.studio-portrait img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(.85)}
.studio-portrait::before,.studio-portrait::after{content:"";position:absolute;width:60px;height:60px;border:4px solid var(--red);pointer-events:none;z-index:2}
.studio-portrait::before{top:-12px;left:-12px;border-right:none;border-bottom:none}
.studio-portrait::after{bottom:-12px;right:-12px;border-left:none;border-top:none}
.studio-portrait .stamp{position:absolute;left:0;bottom:24px;background:var(--red);color:var(--bg);padding:8px 16px;font-family:'Archivo Black',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;transform:rotate(-3deg);z-index:3}
.studio-body .eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;color:var(--steel);text-transform:uppercase;margin-bottom:18px}
.studio-body h3{font-family:'Anton',sans-serif;font-size:clamp(40px,5.5vw,72px);text-transform:uppercase;line-height:.92;margin-bottom:24px;letter-spacing:-.005em}
.studio-body h3 .red{color:var(--red)}
.studio-body p{font-size:16px;line-height:1.65;color:var(--paper);margin-bottom:14px;max-width:580px}
.studio-body p .accent{color:var(--red);font-weight:500}
.studio-credits{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.studio-credits span{padding:6px 12px;border:1px solid var(--steel);color:var(--paper)}

/* ---------- TEAM ---------- */
.team{margin-top:120px;border-top:2px solid var(--paper);padding-top:48px}
.team-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;gap:24px;flex-wrap:wrap}
.team-head .label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;color:var(--steel);text-transform:uppercase}
.team-head h3{font-family:'Anton',sans-serif;font-size:clamp(34px,5vw,64px);text-transform:uppercase;line-height:.95;letter-spacing:-.005em}
.team-head h3 .red{color:var(--red)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.tm{position:relative}
.tm-portrait{position:relative;aspect-ratio:1/1;background:#111;overflow:hidden;margin-bottom:18px}
.tm-portrait img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(.85);transition:filter .3s,transform .4s}
.tm:hover .tm-portrait img{filter:contrast(1.1) saturate(1);transform:scale(1.02)}
.tm-portrait::before,.tm-portrait::after{content:"";position:absolute;width:36px;height:36px;border:3px solid var(--red);pointer-events:none;z-index:2;opacity:0;transition:opacity .25s}
.tm-portrait::before{top:-6px;left:-6px;border-right:none;border-bottom:none}
.tm-portrait::after{bottom:-6px;right:-6px;border-left:none;border-top:none}
.tm:hover .tm-portrait::before,.tm:hover .tm-portrait::after{opacity:1}
.tm-portrait .tm-num{position:absolute;top:10px;left:10px;background:var(--red);color:var(--bg);font-family:'Archivo Black',sans-serif;font-size:11px;letter-spacing:.18em;padding:4px 8px;z-index:3}
.tm-portrait.placeholder{background:linear-gradient(135deg,#181818 0%,#0e0e0e 100%);display:flex;align-items:center;justify-content:center;color:var(--steel)}
.tm-placeholder-mark{font-family:'Archivo Black',sans-serif;font-size:96px;color:var(--red);line-height:1;opacity:.85}
.tm-name{font-family:'Anton',sans-serif;font-size:24px;text-transform:uppercase;line-height:1;margin-bottom:6px;letter-spacing:.005em;color:var(--paper)}
.tm-role{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.2em;color:var(--red);text-transform:uppercase;margin-bottom:12px}
.tm-bio{font-size:13.5px;line-height:1.6;color:var(--paper);max-width:340px}

/* ---------- PROJECT PAGE ---------- */
.project-hero{position:relative;height:80vh;min-height:580px;overflow:hidden;display:flex;align-items:flex-end;border-bottom:2px solid var(--paper)}
.project-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.55) contrast(1.05) saturate(.8)}
.project-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.4) 0%,rgba(10,10,10,0) 40%,rgba(10,10,10,.95) 100%);pointer-events:none}
.project-hero .red-square{position:absolute;right:6%;top:24%;width:90px;height:90px;background:var(--red);mix-blend-mode:multiply;opacity:.92;z-index:1}
.project-hero .content{position:relative;z-index:3;width:100%;padding:0 36px 60px}
.project-hero .meta-top{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;color:var(--paper);text-transform:uppercase;margin-bottom:22px;opacity:.85}
.project-hero h1{font-family:'Anton',sans-serif;font-size:clamp(56px,10vw,148px);line-height:.85;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:18px;max-width:1100px}
.project-hero h1 .red{color:var(--red)}
.project-hero .logline{font-size:18px;line-height:1.5;max-width:680px;color:var(--paper)}

.project-body{display:grid;grid-template-columns:8fr 4fr;gap:64px;padding:90px 36px;border-bottom:2px solid var(--paper)}
.project-body h2{font-family:'Anton',sans-serif;font-size:32px;text-transform:uppercase;letter-spacing:-.005em;margin-bottom:18px;color:var(--paper)}
.project-body h2 .red{color:var(--red)}
.project-body p{font-size:16px;line-height:1.7;color:var(--paper);margin-bottom:14px;max-width:680px}
.project-body p em{font-style:italic}
.project-body .sidebar{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper);line-height:1.8}
.project-body .sidebar dl{margin-bottom:24px}
.project-body .sidebar dt{color:var(--steel);font-size:10px;margin-top:14px}
.project-body .sidebar dt:first-child{margin-top:0}
.project-body .sidebar dd{color:var(--paper);font-size:13px;letter-spacing:.05em;text-transform:none;font-family:'Inter',sans-serif;line-height:1.5}
.project-body .sidebar .laurels{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.project-body .sidebar .laurels span{padding:6px 10px;border:1px solid var(--red);color:var(--paper);font-size:10px}

.project-trailer{padding:0;border-bottom:2px solid var(--paper);background:#000}
.project-trailer .embed{aspect-ratio:16/9;width:100%;background:#0a0a0a;display:flex;align-items:center;justify-content:center;color:var(--steel);font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;position:relative}
.project-trailer .embed iframe{width:100%;height:100%;border:0;position:absolute;inset:0}

.project-stills{padding:90px 36px;background:var(--bg);border-bottom:2px solid var(--paper)}
.project-stills h2{font-family:'Anton',sans-serif;font-size:32px;text-transform:uppercase;margin-bottom:24px}
.project-stills .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-stills .grid img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#111;filter:contrast(1.05)}
.project-stills .grid img.wide{grid-column:span 2}

/* figure-based stills grid (Bout / Calico / new pages) */
.project-stills .stills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.project-stills .stills-grid figure{margin:0;display:flex;flex-direction:column;gap:10px}
.project-stills .stills-grid .still{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#111;filter:contrast(1.05)}
.project-stills .stills-grid figure.wide{grid-column:span 2}
.project-stills .stills-grid figure.tall .still{aspect-ratio:9/16}
.project-stills .stills-grid figcaption{font:400 12px/1.45 'Inter',sans-serif;color:var(--steel);letter-spacing:.01em}
.project-stills .stills-grid figcaption .cap-credit{display:block;margin-top:4px;font:600 10px/1.4 'JetBrains Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:#666}
@media (max-width:900px){.project-stills .stills-grid{grid-template-columns:repeat(2,1fr)}.project-stills .stills-grid figure.wide{grid-column:span 2}}
@media (max-width:560px){.project-stills .stills-grid{grid-template-columns:1fr}.project-stills .stills-grid figure.wide{grid-column:span 1}}

/* caption beneath a video embed (project-trailer) */
.video-caption{padding:24px 36px 36px;background:#000;color:var(--cream);border-bottom:2px solid var(--paper)}
.video-caption p{font:300 16px/1.55 'Inter',sans-serif;max-width:760px;margin:0;color:var(--cream)}
.video-caption .vc-num{font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:14px;display:block}
@media (max-width:700px){.video-caption{padding:20px 18px 28px}}

.project-press{padding:90px 36px;background:var(--paper);color:var(--bg);border-bottom:2px solid var(--bg)}
.project-press .section-title{color:var(--bg)}
.project-press .section-title .red{color:var(--red)}
.project-press .grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.project-press .quote{border-left:3px solid var(--red);padding:18px 0 18px 24px;color:var(--bg)}
.project-press .quote .q{font-family:'Anton',sans-serif;font-size:24px;line-height:1.2;text-transform:uppercase;margin-bottom:10px;color:var(--bg)}
.project-press .quote .src{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#5a5a5a}
.project-press .quote .src .name{color:var(--bg);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s,color .15s}
a.name:hover{border-bottom-color:var(--red);color:var(--red)}

.project-nav{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--paper)}
.project-nav a{padding:48px 36px;display:flex;flex-direction:column;gap:8px;font-family:'Anton',sans-serif;font-size:32px;text-transform:uppercase;line-height:1;transition:background .2s,color .2s;color:var(--paper)}
.project-nav a .label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;color:var(--steel);text-transform:uppercase}
.project-nav a:first-child{border-right:1px solid var(--line)}
.project-nav a:hover{background:var(--red);color:var(--bg)}
.project-nav a:hover .label{color:var(--bg)}
.project-nav a:last-child{text-align:right;align-items:flex-end}

/* ---------- WATCH-CTA BUTTONS (HBO Max / YouTube / TikTok / Vimeo) ---------- */
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.watch-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;font-family:'Archivo Black',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;border:2px solid currentColor;transition:all .2s;background:transparent}
.watch-cta .dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block;animation:pulse 1.6s infinite}
.watch-cta .arr{font-family:'Inter',sans-serif;font-weight:600;margin-left:4px;transition:transform .2s}
.watch-cta:hover .arr{transform:translateX(4px)}
.watch-cta.cta-hbo{color:#fff;border-color:#fff;background:#000}
.watch-cta.cta-hbo:hover{background:#fff;color:#000}
.watch-cta.cta-yt{color:#fff;border-color:#FF0000;background:#FF0000}
.watch-cta.cta-yt:hover{background:#000;color:#FF0000;border-color:#FF0000}
.watch-cta.cta-tt{color:#fff;border-color:#FF2D9D;background:#000}
.watch-cta.cta-tt:hover{background:#FF2D9D;color:#000}
.watch-cta.cta-vimeo{color:#1AB7EA;border-color:#1AB7EA}
.watch-cta.cta-vimeo:hover{background:#1AB7EA;color:#0A0A0A}

/* small variant for tile badges */
.tile-badge{position:absolute;top:14px;right:14px;font-family:'Archivo Black',sans-serif;font-size:9.5px;letter-spacing:.16em;padding:4px 8px;text-transform:uppercase;z-index:3}
.tile-badge.hbo{background:#fff;color:#000}
.tile-badge.yt{background:#FF0000;color:#fff}
.tile-badge.tt{background:#FF2D9D;color:#000}

/* ---------- SPARROW: constructivist placeholder hero ---------- */
.sparrow-hero{background:#0A0A0A}
.sparrow-bg{position:absolute;inset:0;overflow:hidden;background:linear-gradient(135deg,#0A0A0A 0%,#1a0a0a 50%,#0A0A0A 100%)}
.sparrow-bg .ssq{position:absolute;background:var(--red)}
.sparrow-bg .ssq1{left:-4%;top:18%;width:42%;height:18px;transform:rotate(-22deg);background:var(--red);opacity:.95}
.sparrow-bg .ssq2{right:8%;top:22%;width:180px;height:180px;background:var(--red);mix-blend-mode:multiply;opacity:.92}
.sparrow-bg .ssq3{right:30%;top:55%;width:90px;height:90px;border:4px solid var(--red);background:transparent;border-radius:50%}
.sparrow-bg .sline{position:absolute;left:0;right:0;top:48%;height:2px;background:var(--paper);transform:rotate(-2deg);opacity:.2}
.sparrow-hero::after{content:"MEMORIAL";position:absolute;left:36px;top:140px;font-family:'Archivo Black',sans-serif;font-size:11px;letter-spacing:.4em;color:var(--steel);z-index:2}

/* ---------- CONFESSIONAL: pink brand hero ---------- */
.conf-hero{background:#0A0A0A}
.conf-hero .bg{filter:brightness(.65) contrast(1.1) saturate(1.05)}
.conf-hero::after{background:linear-gradient(180deg,rgba(10,10,10,.4) 0%,rgba(10,10,10,0) 40%,rgba(10,10,10,.95) 100%)}
.conf-mark{position:absolute;left:36px;top:120px;z-index:3;font-family:'Archivo Black',sans-serif;font-size:clamp(28px,3.4vw,44px);letter-spacing:.04em;color:#FF2D9D;text-shadow:0 0 28px rgba(255,45,157,.55);user-select:none}
.conf-mark .hex{display:inline-block;color:#FF2D9D;transform:translateY(2px);margin:0 .04em}
.proj.confessional .project-hero h1 .red{color:#FF2D9D}
.proj.confessional .project-body h2 .red,
.proj.confessional .studio-body h3 .red,
.proj.confessional .laurels span{border-color:#FF2D9D;color:#FF2D9D}
.proj.confessional .project-press .quote{border-left-color:#FF2D9D}
.proj.confessional .meta-top{color:#FF2D9D}

/* vertical stills grid (Shorts-format) */
.project-stills.vertical .vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:900px}
.project-stills.vertical .vstill{aspect-ratio:9/16;background:#111;overflow:hidden;position:relative}
.project-stills.vertical .vstill img{width:100%;height:100%;object-fit:cover}

/* trailer note (for Sparrow password) */
.trailer-note{padding:16px 36px;background:var(--bg);border-bottom:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;color:var(--steel);text-transform:uppercase;text-align:center}
.trailer-note strong{color:var(--paper)}

/* ---------- WORK ARCHIVE GRID ---------- */
.archive{padding:60px 36px 90px;border-bottom:2px solid var(--paper)}
.archive .filters{margin-bottom:48px}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.archive-tile{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#111;color:var(--paper)}
.archive-tile.tall{grid-row:span 2;aspect-ratio:auto}
.archive-tile.wide{grid-column:span 2}
.archive-tile.hidden{display:none}
.archive-tile .img{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.7) contrast(1.05) saturate(.85);transition:filter .3s,transform .4s}
.archive-tile:hover .img{filter:brightness(.85) contrast(1.1) saturate(1);transform:scale(1.04)}
.archive-tile .num{position:absolute;top:14px;left:14px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;color:var(--paper);background:rgba(10,10,10,.6);padding:4px 8px;z-index:2}
.archive-tile .body{position:absolute;left:18px;right:18px;bottom:18px;z-index:2}
.archive-tile .title{font-family:'Anton',sans-serif;font-size:28px;line-height:.95;text-transform:uppercase;letter-spacing:-.005em;margin-bottom:6px}
.archive-tile .meta{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;color:var(--paper);text-transform:uppercase;opacity:.85}
.archive-tile.in-prod::after{content:"In Production";position:absolute;top:14px;right:14px;background:var(--red);color:var(--bg);font-family:'Archivo Black',sans-serif;font-size:9.5px;letter-spacing:.18em;padding:4px 8px;text-transform:uppercase;z-index:2;transform:rotate(-2deg)}

/* ---------- SERVICES PAGE ---------- */
.services-page-body{padding:90px 36px;background:var(--paper);color:var(--bg)}
.services-page-body .section-title{color:var(--bg)}
.services-page-body .section-title .red{color:var(--red)}
.svc-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--bg);border-left:2px solid var(--bg)}
.svc-detail .cell{border-right:2px solid var(--bg);border-bottom:2px solid var(--bg);padding:36px;min-height:280px;position:relative;transition:background .2s,color .2s}
.svc-detail .cell:hover{background:var(--red);color:var(--paper)}
.svc-detail .cell .num{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;opacity:.5;margin-bottom:18px}
.svc-detail .cell:hover .num{opacity:.85}
.svc-detail .cell h3{font-family:'Anton',sans-serif;font-size:36px;text-transform:uppercase;letter-spacing:-.005em;line-height:.95;margin-bottom:14px}
.svc-detail .cell p{font-size:14.5px;line-height:1.55;max-width:480px;margin-bottom:10px}
.svc-detail .cell ul{list-style:none;margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;line-height:1.85}
.svc-detail .cell ul li::before{content:"·  ";color:var(--red)}
.svc-detail .cell:hover ul li::before{color:var(--bg)}

/* ---------- CONTACT PAGE ---------- */
.contact-body{padding:120px 36px;display:grid;grid-template-columns:5fr 7fr;gap:64px;border-bottom:2px solid var(--paper)}
.contact-body .lead{font-family:'Anton',sans-serif;font-size:clamp(40px,5.5vw,80px);line-height:.92;text-transform:uppercase;letter-spacing:-.005em}
.contact-body .lead .red{color:var(--red)}
.contact-body .channels{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.05em;line-height:1.9;text-transform:uppercase}
.contact-body .channels h4{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;color:var(--red);margin-bottom:12px;margin-top:32px;text-transform:uppercase}
.contact-body .channels h4:first-child{margin-top:0}
.contact-body .channels a{color:var(--paper);border-bottom:1px solid var(--line);transition:border-color .2s,color .2s}
.contact-body .channels a:hover{color:var(--red);border-color:var(--red)}

/* ---------- FOOTER ---------- */
footer{padding:80px 36px 36px;border-top:2px solid var(--paper);background:var(--bg)}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;align-items:start}
.f-cta{font-family:'Anton',sans-serif;font-size:clamp(40px,6vw,80px);line-height:.9;text-transform:uppercase}
.f-cta .red{color:var(--red)}
.f-cta a{transition:color .2s}
.f-cta a:hover{color:var(--red)}
.f-col h4{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--steel);margin-bottom:14px}
.f-col a,.f-col p{display:block;font-size:14px;line-height:1.7;color:var(--paper)}
.f-col a:hover{color:var(--red)}
.f-foot{border-top:1px solid var(--line);margin-top:48px;padding-top:18px;display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--steel)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .nav{padding:14px 18px}
  .nav ul{gap:14px}
  .nav ul li a{font-size:10px}
  section, .archive, .contact-body, .project-body, .project-stills, .project-press, .services-page-body{padding-left:18px;padding-right:18px}
  footer{padding-left:18px;padding-right:18px}
  .hero-content{padding-left:18px;padding-right:18px}
  .page-hero{padding:120px 18px 48px}
  .hero-meta{flex-direction:column;align-items:flex-start;gap:18px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .press-grid{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr;gap:32px}
  .preview-pane{display:none}
  .studio-grid{grid-template-columns:1fr;gap:32px}
  .team-grid{grid-template-columns:1fr;gap:32px}
  .archive-grid{grid-template-columns:repeat(2,1fr)}
  .archive-tile.wide{grid-column:span 1}
  .archive-tile.tall{grid-row:span 1;aspect-ratio:4/3}
  .project-body{grid-template-columns:1fr;gap:36px}
  .project-stills .grid{grid-template-columns:1fr 1fr}
  .project-stills .grid img.wide{grid-column:span 2}
  .project-press .grid{grid-template-columns:1fr}
  .project-nav{grid-template-columns:1fr}
  .project-nav a{padding:32px 18px;font-size:24px}
  .project-nav a:last-child{text-align:left;align-items:flex-start;border-top:1px solid var(--line)}
  .svc-detail{grid-template-columns:1fr}
  .contact-body{grid-template-columns:1fr;gap:32px}
  .films-list li{grid-template-columns:50px 1fr;row-gap:8px}
  .films-list .meta{grid-column:1/-1;padding-left:50px;margin-top:-8px}
}

/* Confessional · episode grid (16:9 title cards) */
.project-episodes{padding:80px 6vw 100px;background:#000;color:var(--cream)}
.project-episodes .section-num{font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:#FF2D9D;margin-bottom:18px}
.project-episodes .section-title{font:700 clamp(36px,5vw,64px)/.95 'Anton',sans-serif;letter-spacing:.01em;text-transform:uppercase;margin:0 0 36px}
.project-episodes .section-title .red{color:#FF2D9D}
.ep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ep-card{display:block;text-decoration:none;color:inherit;position:relative;overflow:hidden;border:1px solid rgba(255,45,157,.25);transition:border-color .25s ease,transform .25s ease}
.ep-card:hover{border-color:#FF2D9D;transform:translateY(-2px)}
.ep-card .ep-img{aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#000;transition:transform .5s ease}
.ep-card:hover .ep-img{transform:scale(1.03)}
.ep-card .ep-meta{padding:12px 14px;font:600 11px/1.3 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;background:#000;border-top:1px solid rgba(255,45,157,.18)}
.ep-foot{margin:28px 0 0;font:400 14px/1.5 'Inter',sans-serif;color:#bdbdbd}
.ep-foot a{color:#FF2D9D;border-bottom:1px solid #FF2D9D;text-decoration:none}
@media (max-width:900px){.ep-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ep-grid{grid-template-columns:1fr}}

/* Studio · press list */
.studio-press{padding:80px 6vw 100px;background:var(--cream);color:var(--ink)}
.studio-press .section-num{font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:18px}
.studio-press .section-title{font:700 clamp(40px,5.5vw,72px)/.95 'Anton',sans-serif;letter-spacing:.01em;text-transform:uppercase;margin:0 0 40px}
.studio-press .section-title .red{color:var(--red)}
.press-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--ink)}
.press-item{display:block;padding:24px 28px 26px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--ink);border-right:1px solid var(--ink);transition:background .2s ease,color .2s ease;position:relative}
.press-item:nth-child(2n){border-right:none}
.press-item:hover{background:var(--ink);color:var(--cream)}
.press-item:hover .pq{color:var(--cream)}
.press-item:hover .outlet{color:var(--red)}
.press-item:hover .date{color:#bdbdbd}
.press-item .po{display:flex;justify-content:space-between;align-items:baseline;font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.press-item .outlet{color:var(--red)}
.press-item .date{color:var(--steel)}
.press-item .ph{font:700 18px/1.25 'Inter',sans-serif;margin-bottom:10px}
.press-item .pq{font:400 14px/1.45 'Inter',sans-serif;color:var(--steel);margin:0;font-style:italic}
.press-item::after{content:"↗";position:absolute;top:24px;right:18px;font:700 16px/1 'JetBrains Mono',monospace;opacity:.4;transition:opacity .2s ease,transform .2s ease}
.press-item:hover::after{opacity:1;transform:translate(2px,-2px);color:var(--red)}
@media (max-width:760px){
  .press-list{grid-template-columns:1fr}
  .press-item{border-right:none}
}

/* === Donate button (nav) === */
.nav ul li a.donate{padding:6px 12px;border:1px solid var(--red);background:var(--red);color:var(--paper);font-weight:600;letter-spacing:.16em;transition:background .15s,color .15s,transform .15s}
.nav ul li a.donate:hover{background:transparent;color:var(--red);border-color:var(--red);border-bottom-color:var(--red);transform:translateY(-1px)}

/* === Donate section (contact page) === */
.donate-section{padding:120px 36px 100px;background:var(--bg);color:var(--paper);border-top:2px solid var(--paper)}
.donate-section .section-num{font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.2em;color:var(--red);text-transform:uppercase;margin-bottom:24px}
.donate-section h2{font:700 clamp(56px,8vw,120px)/.9 'Anton',sans-serif;letter-spacing:.005em;text-transform:uppercase;margin:0 0 28px}
.donate-section .lede{max-width:760px;font:300 clamp(18px,1.6vw,22px)/1.55 'Inter',sans-serif;color:var(--cream);margin-bottom:40px}
.donate-cta{display:flex;flex-direction:column;gap:16px;max-width:640px}
.donate-btn{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:18px 28px;background:var(--red);color:var(--paper);font:700 13px/1 'JetBrains Mono',monospace;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:1px solid var(--red);transition:background .15s,color .15s}
.donate-btn:hover{background:transparent;color:var(--red)}
.donate-note{font:400 14px/1.5 'Inter',sans-serif;color:var(--steel);max-width:760px;margin:40px 0 0}
@media (max-width:700px){.donate-section{padding:80px 18px 70px}}

/* === Donate tiers === */
.donate-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:24px;border-top:1px solid #2a2a2a;border-left:1px solid #2a2a2a}
.donate-tiers .tier{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:36px 28px 28px;background:transparent;color:var(--paper);text-decoration:none;border-right:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;transition:background .2s,color .2s;min-height:300px}
.donate-tiers .tier:hover{background:var(--red);color:var(--paper)}
.donate-tiers .tier:hover .tier-desc{color:var(--paper)}
.donate-tiers .tier:hover .tier-cta{color:var(--paper);border-color:var(--paper)}
.donate-tiers .tier:hover .tier-amount{color:var(--paper)}
.donate-tiers .tier.featured{background:rgba(230,50,35,.08)}
.donate-tiers .tier .tier-flag{position:absolute;top:0;right:0;background:var(--red);color:var(--paper);font:700 10px/1 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;padding:8px 12px}
.donate-tiers .tier-amount{font:700 56px/1 'Anton',sans-serif;letter-spacing:.005em;color:var(--cream);margin-bottom:8px}
.donate-tiers .tier-amount .tier-unit{font-size:32px;color:var(--red);margin-left:2px}
.donate-tiers .tier-name{font:600 12px/1 'JetBrains Mono',monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:18px}
.donate-tiers .tier:hover .tier-name{color:var(--paper)}
.donate-tiers .tier-desc{font:300 15px/1.5 'Inter',sans-serif;color:var(--cream);margin:0 0 24px;flex-grow:1}
.donate-tiers .tier-cta{font:700 11px/1 'JetBrains Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);padding-bottom:6px;border-bottom:1px solid var(--cream);align-self:flex-start;transition:color .2s,border-color .2s}
@media (max-width:1024px){.donate-tiers{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.donate-tiers{grid-template-columns:1fr}.donate-tiers .tier{min-height:240px;padding:28px 22px 24px}}

/* === Watch page (private links — donor access) === */
.watch-hero{padding:160px 36px 60px;background:var(--bg);color:var(--paper);border-bottom:2px solid var(--paper)}
.watch-hero .section-num{font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.2em;color:var(--red);text-transform:uppercase;margin-bottom:24px}
.watch-hero h1{font:700 clamp(56px,8vw,108px)/.9 'Anton',sans-serif;letter-spacing:.005em;text-transform:uppercase;margin:0 0 24px}
.watch-hero .lede{max-width:720px;font:300 clamp(17px,1.5vw,20px)/1.55 'Inter',sans-serif;color:var(--cream);margin:0}
.watch-list{padding:80px 36px;background:var(--bg);color:var(--paper)}
.watch-list .watch-item{display:grid;grid-template-columns:120px 1fr auto;gap:32px;align-items:center;padding:28px 0;border-bottom:1px solid #2a2a2a}
.watch-list .watch-item:last-child{border-bottom:none}
.watch-list .watch-num{font:700 56px/1 'Anton',sans-serif;letter-spacing:.005em;color:var(--red)}
.watch-list .watch-body{display:flex;flex-direction:column;gap:8px}
.watch-list .watch-title{font:700 24px/1.15 'Anton',sans-serif;letter-spacing:.01em;text-transform:uppercase;margin:0;color:var(--paper)}
.watch-list .watch-meta{font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.watch-list .watch-pwd{font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.12em;color:var(--cream)}
.watch-list .watch-pwd strong{color:var(--red)}
.watch-list .watch-cta{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;font:700 12px/1 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--paper);text-decoration:none;border:1px solid var(--paper);transition:background .15s,color .15s}
.watch-list .watch-cta:hover{background:var(--paper);color:var(--bg)}
@media (max-width:760px){.watch-list .watch-item{grid-template-columns:80px 1fr;gap:20px}.watch-list .watch-cta{grid-column:1 / -1;justify-self:start}}
