:root{
  --bg:#0b0709;--bg2:#140c10;--panel:#1a1015;--line:#3a2229;
  --ink:#f1e8de;--dim:#b9aa9d;--scarlet:#e10100;--scarlet2:#ff3b2f;--gold:#e8be6e;--night:#0e1426;
  --serif:"Cormorant Garamond",Georgia,serif;--title:"Cinzel",Georgia,serif;--mono:"Courier Prime","Courier New",monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:20px;line-height:1.55;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:var(--gold)}
a:hover{color:#fff}
[hidden]{display:none!important}
.kicker{font-family:var(--title);letter-spacing:.18em;text-transform:uppercase;font-size:13px;color:var(--gold);margin:0 0 .6em}
h1,h2,h3{font-family:var(--title);font-weight:700;line-height:1.15;margin:.2em 0 .5em}
h2{font-size:clamp(28px,4vw,44px)}
h3{font-size:22px}
.wrap{max-width:1180px;margin:0 auto;padding-left:20px;padding-right:20px}
.top{position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;
  background:#0b0709;border-bottom:1px solid var(--line)}
.top .mark{font-family:var(--title);font-weight:700;letter-spacing:.12em;color:var(--scarlet2);text-decoration:none;font-size:17px;white-space:nowrap}
.top nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.top nav a{color:var(--ink);text-decoration:none;font-family:var(--title);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.top nav a:hover{color:var(--gold)}


/* hero */
.hero{position:relative;min-height:calc(100svh - 170px);display:flex;align-items:flex-end;overflow:hidden}
.hero-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#0b070955 0%,#0b070900 35%,#0b0709cc 72%,#0b0709 100%)}
.hero-tx{position:relative;padding:0 20px 9vh;max-width:1180px;margin:0 auto;width:100%}
.hero h1{font-size:clamp(46px,10vw,132px);color:var(--scarlet2);letter-spacing:.04em;margin:0;text-shadow:0 0 40px #e1010088,0 2px 0 #000}
.hero .tag{font-size:clamp(22px,2.6vw,30px);font-style:italic;margin:.3em 0 1em;text-shadow:0 1px 8px #000}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 22px;border:1px solid var(--scarlet);background:var(--scarlet);color:#fff;text-decoration:none;
  font-family:var(--title);font-size:14px;letter-spacing:.14em;text-transform:uppercase;border-radius:2px}
.btn:hover{background:#b80000;color:#fff}
.btn.ghost{background:transparent;border-color:var(--gold);color:var(--gold)}
.btn.ghost:hover{background:#e8be6e22}

main{display:block}
section{padding:70px 0}
.intro .lede{font-size:clamp(22px,2.4vw,28px);max-width:900px;margin:0 auto;text-align:center}
.films{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.films>*{min-width:0}
.film video{width:100%;aspect-ratio:16/9;background:#000;border:1px solid var(--line)}
.film h2{font-size:24px}
.film p{color:var(--dim);font-size:17px;margin:.5em 0 0}
.films .note{grid-column:1/-1;color:var(--dim);font-size:16px;font-style:italic;margin:0;text-align:center}
.two{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin-bottom:60px}
.two>*{min-width:0}
.rounded{border-radius:6px;border:1px solid var(--line);box-shadow:0 20px 60px #000a}
.counter{font-family:var(--mono);color:var(--scarlet2);background:#e1010014;padding:0 .3em;border-radius:3px;white-space:nowrap;text-shadow:0 0 12px #e1010066}
blockquote.big{margin:10px auto 0;max-width:880px;text-align:center;font-size:clamp(24px,3vw,34px);font-style:italic;color:var(--ink);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 10px}
blockquote cite{display:block;font-style:normal;font-family:var(--title);font-size:13px;letter-spacing:.18em;color:var(--gold);margin-top:14px;text-transform:uppercase}

.char-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.char-grid>*{min-width:0}
.char img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:4px;border:1px solid var(--line)}
.char h3{margin:.7em 0 .3em;color:var(--scarlet2)}
.char p{font-size:17px;color:var(--dim);margin:0}

.story .sub{color:var(--dim);margin-top:-8px}
.story-list{display:flex;flex-direction:column;gap:34px;margin-top:30px}
.story-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:30px;align-items:center;
  background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.story-card:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.story-card:nth-child(even) .ph{order:2}
.story-card .ph img{width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}
.story-card .tx{padding:22px 26px 24px 0}
.story-card:nth-child(even) .tx{padding:22px 0 24px 26px}
.story-card h3{font-size:26px;color:var(--ink)}
.story-card p{margin:.4em 0}
.story-card blockquote{margin:14px 0;padding-left:14px;border-left:2px solid var(--scarlet);font-style:italic;font-size:19px}
.story-card blockquote cite{display:inline;margin-left:8px;font-size:11px}
.song{font-family:var(--title);font-size:13px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase}
.more{font-family:var(--title);font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}

.song-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.song-list>*{min-width:0}
.song-list li{background:var(--panel);border:1px solid var(--line);padding:18px 20px;border-radius:4px;counter-increment:s}
.song-list li::before{content:counter(s);font-family:var(--title);color:var(--scarlet2);font-size:28px;display:block}
.song-list strong{display:block;font-size:22px}
.song-list span{font-family:var(--title);font-size:12px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase}
.song-list p{font-size:17px;color:var(--dim);margin:.4em 0 0}

.foot{border-top:1px solid var(--line);padding:40px 20px 60px;text-align:center;color:var(--dim);font-size:16px}
.foot p{max-width:760px;margin:.6em auto}
.foot .fine{font-style:italic;color:var(--gold)}

/* screenplay */
.sp-wrap{display:grid;grid-template-columns:250px minmax(0,1fr);gap:40px;max-width:1180px;margin:0 auto;padding:30px 20px}
.toc{position:sticky;top:90px;align-self:start;max-height:calc(100vh - 90px);overflow:auto;font-size:16px}
.toc ol{list-style:none;padding:0;margin:0}
.toc li a{display:block;padding:4px 0;color:var(--dim);text-decoration:none}
.toc li a span{display:inline-block;width:26px;color:var(--scarlet2);font-family:var(--title);font-size:13px}
.toc li a:hover{color:var(--ink)}
.toc .dl{margin-top:16px;font-size:15px}
.script{max-width:780px;min-width:0}
.titlepage{text-align:center;padding:60px 0 50px;border-bottom:1px solid var(--line);margin-bottom:30px}
.titlepage h1{font-size:clamp(40px,7vw,72px);color:var(--scarlet2);margin-bottom:.3em}
.titlepage p{margin:.4em 0}
.fine{font-size:15px;color:var(--dim)}
.howto{font-size:17px;color:var(--dim);font-style:italic}
.lyr{color:var(--gold)}
.seq{margin:56px 0 30px;scroll-margin-top:100px}
.seqcard{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:22px 22px 18px}
.seqcard h3{font-size:30px;color:var(--ink);margin-bottom:.6em}
.seqcard figure{margin:0 0 14px}
.seqcard figure img{width:100%;border-radius:4px}
.seqcard figcaption{font-size:15px;color:var(--dim);font-style:italic;margin-top:6px}
.seqcard .syn{font-size:20px}
.seqcard .look{font-size:16px;color:var(--dim)}
.seqcard .look span{font-family:var(--title);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-right:6px}
.script .scene,.script .act,.script .dlg,.script .trans,.script .center,.script .lyric,.script .term,.script .sung{font-family:var(--mono);font-size:16px;line-height:1.5}
.script .scene{font-weight:700;margin:2em 0 1em;letter-spacing:.02em;color:#fff}
.script .act{margin:0 0 1em}
.script .dlg{margin:0 0 1em 18%;max-width:62%}
.script .dlg p{margin:0}
.script .dlg .cue{margin-left:22%;margin-top:.2em;color:#fff}
.script .dlg .paren{margin-left:11%;color:var(--dim)}
.script .sung,.script .lyric p{font-style:italic;color:var(--gold)}
.script .lyric{margin:0 0 1em 18%}
.script .lyric p{margin:0}
.script .trans{text-align:right;margin:1em 0}
.script .trans.end{text-align:center;font-weight:700;margin:3em 0}
.script .center{text-align:center;margin:.2em 0}
.script .term{color:#7dff9a;background:#07130b;padding:2px 8px;margin:0 0 .3em;display:inline-block}

/* plan */
.prose{max-width:860px;padding-top:40px;padding-bottom:40px}
.prose h1{font-size:clamp(34px,5vw,54px);color:var(--scarlet2)}
.prose h2{font-size:32px;margin-top:1.6em;color:var(--ink)}
.prose h3{font-size:22px;color:var(--gold)}
.prose table{border-collapse:collapse;width:100%;font-size:17px;margin:1em 0;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.prose th{background:var(--panel);font-family:var(--title);font-size:13px;letter-spacing:.08em}
.prose code{font-family:var(--mono);font-size:.85em;background:#ffffff12;padding:0 .3em;border-radius:3px}
.prose pre{background:#000;border:1px solid var(--line);padding:14px;overflow-x:auto;font-size:15px}
.prose pre code{background:none}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.prose blockquote{border-left:2px solid var(--scarlet);margin:1em 0;padding-left:16px;font-style:italic}

@media (max-width:900px){
  body{font-size:19px}
  .films,.two,.story-card,.story-card:nth-child(even){grid-template-columns:minmax(0,1fr)}
  .story-card:nth-child(even) .ph{order:0}
  .story-card .tx,.story-card:nth-child(even) .tx{padding:4px 18px 20px}
  .char-grid{grid-template-columns:repeat(2,1fr)}
  .song-list{grid-template-columns:minmax(0,1fr)}
  .sp-wrap{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;max-height:none;border:1px solid var(--line);border-radius:6px;padding:14px 16px}
  .toc ol{columns:2;column-gap:18px}
  .two.rev>img{order:2}
}
@media (max-width:560px){
  .top{padding:8px 16px;flex-direction:column;align-items:flex-start;gap:2px}.top nav{gap:14px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;justify-content:flex-start}.top nav a{font-size:11px;letter-spacing:.08em;white-space:nowrap}.top .mark{font-size:14px}
  .seq{scroll-margin-top:80px}
  .wrap{padding-left:16px;padding-right:16px}
  .char-grid{grid-template-columns:minmax(0,1fr)}
  .toc ol{columns:1}
  .script .scene,.script .act,.script .dlg,.script .trans,.script .lyric,.script .sung{font-size:14.5px}
  .script .dlg{margin-left:6%;max-width:88%}
  .script .dlg .cue{margin-left:14%}
  .script .lyric{margin-left:6%}
  section{padding:48px 0}
}
@media (prefers-reduced-motion:reduce){.hero-v{display:none}html{scroll-behavior:auto}}
.draftbox{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:6px;padding:26px 28px}
.draftbox p{font-size:18px}
.pending{position:relative;aspect-ratio:16/9;border:1px solid var(--line);overflow:hidden;background:#000}.pending img{width:100%;height:100%;object-fit:cover;opacity:.35}.pending p{position:absolute;inset:auto 0 40% 0;text-align:center;font-style:italic;margin:0}
.watch h1{font-size:clamp(36px,6vw,64px);color:var(--scarlet2)}
.watch h2{font-size:28px;margin-top:40px}
.lede-s{font-size:21px;max-width:820px}
.prog{margin:24px 0}.bar{height:10px;background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--scarlet),var(--gold));transition:width .6s}
#stat{font-size:17px;color:var(--dim)}
.player-wrap video{width:100%;aspect-ratio:16/9;background:#000;border:1px solid var(--line)}
#nowplaying{font-family:var(--title);font-size:14px;letter-spacing:.1em;color:var(--gold);text-transform:uppercase}
.chapters{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.chapters li{display:flex;gap:12px;align-items:center;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:4px;color:var(--dim);font-size:18px}
.chapters li.ready{color:var(--ink);cursor:pointer;border-color:#e1010066}
.chapters li.ready:hover,.chapters li.ready:focus{background:#2a121a;outline:none}
.chapters .n{font-family:var(--title);color:var(--scarlet2);width:26px;flex:none}
.chapters .t{flex:1;min-width:0}.chapters .s{font-size:14px;font-family:var(--title);letter-spacing:.06em;white-space:nowrap}
.chapters li.ready .s{color:var(--gold)}
.frames{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.frames figure{margin:0}.frames img{width:100%;aspect-ratio:1344/768;object-fit:cover;border-radius:3px;border:1px solid var(--line);background:#000}
.frames figcaption{font-family:var(--mono);font-size:12px;color:var(--dim)}
.watch .note{color:var(--dim);font-style:italic;margin-top:30px}
@media (max-width:700px){.chapters{grid-template-columns:minmax(0,1fr)}.frames{grid-template-columns:repeat(2,minmax(0,1fr))}}
.watch{padding-top:34px}.prose{padding-top:44px}
.film.full{grid-column:1/-1}.yt{position:relative;aspect-ratio:16/9;border:1px solid var(--line);background:#000}.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
