:root { color-scheme:dark; --paper:#f4f1eb; --red:#f12b1f; --gold:#f4c542; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:#000; }
body { color:var(--paper); font-family:Arial,Helvetica,sans-serif; overflow-x:hidden; }
.home { position:relative; min-height:100svh; overflow:hidden; background:#000; }
.home__film { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#000; opacity:0; transition:opacity 120ms linear; }
.home__film.is-active { opacity:1; }
.topbar { position:absolute; z-index:10; top:clamp(1.4rem,3vw,2.8rem); right:clamp(1.4rem,3.2vw,3.6rem); display:flex; justify-content:flex-end; text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; }
.page .topbar { position:fixed; }
.navigation { display:flex; gap:.35rem; }
.navigation a { display:block; padding:.65rem .8rem .58rem; border:1px solid var(--red); color:var(--paper); text-decoration:none; transition:background-color 160ms ease,color 160ms ease; }
.navigation a:hover,.navigation a[aria-current="page"] { background:var(--red); color:#000; }
.navigation a:focus-visible { outline:none; border-color:var(--gold); box-shadow:0 0 0 2px var(--gold); }
.page { min-height:100svh; overflow-y:auto; background:#000; color:var(--paper); }
.archive { padding:7.5rem clamp(1.4rem,4vw,4rem) 8rem; }
.archive__heading { margin-bottom:clamp(3.5rem,6vw,6rem); text-align:center; }
.archive__heading h1,.films>h1,.section-label { display:inline-block; margin:0; padding:.65rem .8rem .58rem; border:1px solid var(--red); color:var(--paper); font:400 .76rem/1 Arial,Helvetica,sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.series-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(3.5rem,6vw,6rem) clamp(1rem,2vw,2rem); }
.series-card { min-width:0; color:var(--paper); text-decoration:none; }
.series-card img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; margin-bottom:1rem; transition:opacity 180ms ease,outline-color 180ms ease; }
.series-card:hover img { opacity:.8; outline:2px solid var(--gold); outline-offset:.35rem; }
.series-card:focus-visible { outline:2px solid var(--gold); outline-offset:.7rem; }
.series-card span { color:var(--gold); font-size:.62rem; letter-spacing:.18em; }
.series-card h2 { margin:.55rem 0 0; max-width:32ch; font:400 clamp(.95rem,1.45vw,1.3rem)/1.25 Georgia,"Times New Roman",serif; overflow-wrap:anywhere; }
.series-card--long-title h2 { max-width:none; font-size:clamp(.55rem,.72vw,.72rem); line-height:1.2; letter-spacing:-.01em; white-space:nowrap; }
.series { padding:10rem clamp(1.4rem,6vw,7rem) 7rem; }
.series__heading { max-width:76rem; margin:0 auto clamp(6rem,11vw,11rem); }
.series__heading>a { display:inline-block; margin-bottom:4rem; padding-bottom:.35rem; border-bottom:1px solid var(--red); color:var(--paper); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; text-decoration:none; }
.series__heading p { margin:0 0 1rem; color:var(--gold); font-size:.72rem; letter-spacing:.22em; }
.series__heading h1 { max-width:18ch; margin:0; font:400 clamp(2.5rem,7vw,6.5rem)/1.08 Georgia,"Times New Roman",serif; overflow-wrap:anywhere; }
.series__images { display:grid; gap:clamp(5rem,11vw,11rem); }
.series__images figure { width:min(100%,86rem); margin:0 auto; }
.series__images img { display:block; max-width:100%; max-height:88svh; width:auto; height:auto; margin:0 auto; }
.series__images figcaption { margin-top:.8rem; color:rgba(244,241,235,.42); font-size:.65rem; letter-spacing:.18em; text-align:right; }
.series__pager { display:flex; justify-content:space-between; gap:2rem; max-width:86rem; margin:clamp(7rem,14vw,14rem) auto 0; }
.series__pager a { max-width:44%; color:var(--paper); font:400 clamp(1rem,2vw,1.5rem)/1.3 Georgia,"Times New Roman",serif; text-decoration:none; }
.series__pager a:hover { color:var(--red); }
.series__pager a:last-child { margin-left:auto; text-align:right; }
.series-page { height:100svh; overflow:hidden; }
.series-viewer { position:relative; height:100svh; padding:7.4rem clamp(1rem,3vw,3rem) 2rem; overflow:hidden; }
.series-viewer__header { position:absolute; z-index:2; top:6.1rem; left:clamp(1rem,3vw,3rem); right:clamp(1rem,3vw,3rem); min-height:2.5rem; display:grid; place-items:start center; pointer-events:none; }
.series-viewer__header h1 { max-width:min(48vw,34rem); margin:0; color:var(--paper); font:400 clamp(1rem,2vw,1.5rem)/1.25 Georgia,"Times New Roman",serif; text-align:center; overflow-wrap:anywhere; }
.series-viewer__controls { position:absolute; left:0; top:0; display:flex; flex-direction:column; align-items:flex-start; gap:.45rem; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; pointer-events:auto; }
.series-viewer__all { padding-bottom:.22rem; border-bottom:1px solid var(--red); color:var(--paper); text-decoration:none; }
.series-viewer__number { color:var(--gold); }
.series-viewer__series-nav { display:flex; align-items:center; gap:.5rem; color:var(--gold); }
.series-viewer__series-nav a { display:grid; place-items:center; color:var(--gold); font-size:1rem; line-height:1; letter-spacing:0; text-decoration:none; transition:color 160ms ease,transform 160ms ease; }
.series-viewer__series-nav a:hover,.series-viewer__series-nav a:focus-visible { color:var(--red); outline:none; transform:scale(1.18); }
.series-viewer__stage { position:relative; width:100%; height:100%; display:grid; place-items:center; cursor:pointer; touch-action:pan-y; }
.series-viewer__stage>img { display:block; max-width:calc(100% - 6rem); max-height:calc(100svh - 12rem); width:auto; height:auto; object-fit:contain; user-select:none; -webkit-user-drag:none; }
.series-viewer__image-nav { position:absolute; z-index:2; top:50%; width:2.4rem; height:2.4rem; padding:0; border:1px solid var(--gold); border-radius:50%; background:#000; color:var(--gold); font-size:1rem; cursor:pointer; transform:translateY(-50%); transition:background-color 160ms ease,color 160ms ease,transform 160ms ease; }
.series-viewer__image-nav:hover,.series-viewer__image-nav:focus-visible { background:var(--gold); color:#000; outline:none; transform:translateY(-50%) scale(1.08); }
.series-viewer__image-nav--previous { left:0; }
.series-viewer__image-nav--next { right:0; }
.series-viewer__counter { position:absolute; left:50%; bottom:.8rem; margin:0; color:var(--gold); font-size:.6rem; letter-spacing:.16em; transform:translateX(-50%); }
.films { padding:7.5rem clamp(1.4rem,6vw,7rem) 10rem; background:#000; }
.films>h1 { display:block; width:max-content; margin:0 auto clamp(5rem,9vw,9rem); text-align:center; }
.film-entry { width:min(100%,64rem); margin:0 auto clamp(8rem,14vw,14rem); }
.film-embed { position:relative; width:100%; aspect-ratio:16/9; background:#050505; border:1px solid rgba(244,197,66,.35); }
.film-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.film-entry h2 { margin:1.35rem 0 .35rem; font:400 clamp(1.5rem,3vw,2.4rem)/1.2 Georgia,"Times New Roman",serif; }
.film-entry p { margin:0; color:var(--gold); font-size:.68rem; letter-spacing:.18em; }
.release { min-height:100svh; display:grid; place-content:center; justify-items:center; padding:10rem 1.5rem 2rem; }
.sound-page .release { padding-bottom:7rem; }
.release>.section-label { width:max-content; margin:0 auto 3rem; text-align:center; }
.release__card { width:min(78vw,23rem); text-align:center; }
.release__cover { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }
.release__title { margin:1.4rem 0 1.25rem; font:400 clamp(1.1rem,2vw,1.45rem)/1.25 Georgia,"Times New Roman",serif; letter-spacing:.08em; }
.release__title span { display:block; color:var(--red); text-transform:lowercase; }
.release__title small { display:block; margin-top:.35rem; color:var(--paper); font:inherit; font-size:.78em; }
.release__audio { display:none; }
.player { display:grid; justify-items:center; gap:.65rem; }
.player__toggle { width:5.5rem; height:5.5rem; padding:0; border:0; background:transparent; cursor:pointer; transition:transform 180ms ease,filter 180ms ease; }
.player__toggle img { display:block; width:100%; height:100%; object-fit:contain; }
.player__toggle:hover,.player__toggle:focus-visible { transform:scale(1.06); filter:drop-shadow(0 0 12px rgba(244,197,66,.45)); outline:none; }
.player__toggle.is-playing { animation:star-pulse 1.8s ease-in-out infinite; }
.player__time { color:var(--gold); font-size:.65rem; letter-spacing:.12em; text-align:center; }
@keyframes star-pulse { 50% { transform:scale(.94); filter:drop-shadow(0 0 16px rgba(244,197,66,.5)); } }
.return-home { position:fixed; z-index:30; left:0; right:0; bottom:0; height:5.75rem; display:grid; place-items:center; border-top:1px solid var(--red); background:rgba(0,0,0,.94); transform:translateY(105%); transition:transform 220ms ease; }
.return-home.is-visible { transform:translateY(0); }
.return-home img { display:block; width:4.8rem; height:4.8rem; object-fit:contain; transition:transform 180ms ease,filter 180ms ease; }
.return-home:hover img,.return-home:focus-visible img { transform:scale(1.16); filter:drop-shadow(0 0 10px rgba(244,197,66,.45)); }
.return-home:focus-visible { outline:2px solid var(--gold); outline-offset:-3px; }
@media (max-width:620px) {
  .topbar { left:1rem; right:1rem; justify-content:stretch; }
  .navigation { width:100%; gap:.3rem; }
  .navigation a { flex:1; padding:.6rem .35rem .55rem; text-align:center; font-size:.64rem; letter-spacing:.12em; }
  .archive { padding-top:7rem; }
  .series { padding-top:8rem; }
  .archive__heading,.series__heading { margin-bottom:3.5rem; }
  .series-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3.5rem .8rem; }
  .series-card h2 { font-size:.92rem; }
  .series-card--long-title { grid-column:span 2; }
  .series-card--long-title h2 { font-size:.7rem; text-align:center; }
  .series__heading>a { margin-bottom:3rem; }
  .series__images { gap:6rem; }
  .series__pager { flex-direction:column; }
  .series__pager a { max-width:100%; }
  .release__card { width:min(84vw,22rem); }
  .films { padding-top:7rem; }
  .series-viewer { padding:9rem .8rem 2.4rem; }
  .series-viewer__header { top:5.4rem; left:1rem; right:1rem; }
  .series-viewer__header h1 { max-width:48vw; font-size:.95rem; }
  .series-viewer__controls { gap:.38rem; font-size:.55rem; letter-spacing:.1em; }
  .series-viewer__stage>img { max-width:calc(100% - 4.6rem); max-height:calc(100svh - 12.5rem); }
  .series-viewer__image-nav { width:2rem; height:2rem; }
}
@media (prefers-reduced-motion:reduce) { .home__film { display:none; } }
