:root{--ink:#100e15;--paper:#f4f0ed;--red:#e44354;--blue:#829aff;--serif:'Libre Caslon Display',Didot,'Times New Roman',serif;--mono:'IBM Plex Mono',monospace;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,sans-serif;overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #9dacf9;outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h2{font:400 clamp(48px,6.8vw,110px)/.97 var(--serif);letter-spacing:-.025em}h2 em{font-style:italic;color:#b7c5f4}p{font-size:17px;line-height:1.6}button{min-height:44px}.eyebrow{font:400 12px/1.6 var(--mono);letter-spacing:.09em;text-transform:uppercase}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:#111;padding:16px}.skip:focus{top:20px}.site-header{position:absolute;z-index:20;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:30px 4vw}.thea{font-size:21px;letter-spacing:.28em;font-weight:700;line-height:1}.thea span{display:block;font:9px/2.5 var(--mono);letter-spacing:.2em}.site-header nav{display:flex;gap:35px;font-size:14px}.site-header a{position:relative}.site-header nav a:after{content:'';position:absolute;height:1px;background:#fff;left:0;right:100%;bottom:-8px;transition:right .3s}.site-header nav a:hover:after{right:0}.hero-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#08080c}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;will-change:transform}.hero-mono{filter:grayscale(1) brightness(.72)}.hero-shade{position:absolute;inset:0;background:linear-gradient(#0b10162e 0%,transparent 35%,#08080c25 65%,#08080cdd 100%)}.hero-title{position:absolute;top:21%;left:0;width:100%;text-align:center;z-index:3}.hero-title h1{font:400 clamp(100px,20.5vw,340px)/1.05 var(--serif);display:flex;justify-content:center;gap:.1em;letter-spacing:-.035em;text-shadow:0 2px 40px #0001}.hero-title>.eyebrow{margin-bottom:14px}.subtitle{font:12px/1.7 var(--mono);letter-spacing:.4em}.hero-bottom{position:absolute;bottom:35px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:flex-end;z-index:4}.hero-bottom>p:last-child{text-align:right}.enter{text-align:center;font-size:13px}.scroll-line{display:block;width:1px;height:43px;margin:16px auto 0;background:linear-gradient(#fff,transparent)}#particles{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.contact-intro{min-height:100svh;position:relative;display:grid;grid-template-columns:1.2fr 1fr;background:#121124;align-items:center;isolation:isolate;padding:100px 7vw;gap:7vw}.intro-image{position:relative}.intro-image:before{content:'';position:absolute;inset:-70px -50px;background:#b23e7555;filter:blur(100px);z-index:-1}.intro-image img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:42%;box-shadow:0 30px 90px #0008}.intro-copy>.eyebrow{display:block;margin-bottom:30px}.intro-copy h2{font-size:clamp(48px,5.1vw,88px);margin-bottom:32px}.intro-copy p{max-width:440px;margin-bottom:18px;color:#d3cddc}.text-link{display:inline-block;margin-top:22px;padding-bottom:9px;border-bottom:1px solid #ac8fa5;font-size:14px}.vertical-note{position:absolute;left:25px;bottom:100px;writing-mode:vertical-rl}.poster-nav button,.art-foot button{font-size:14px;border-bottom:1px solid #ffffff66}.universe{background:#262248;min-height:115svh;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;position:relative;overflow:hidden}.swan-field{position:relative;height:100%;min-height:600px;overflow:hidden}.swan-field img{width:100%;height:100%;object-fit:cover;opacity:.8;mix-blend-mode:screen;filter:contrast(1.25)}.swan-field:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#262248),linear-gradient(0deg,#262248,transparent 40%,#262248);pointer-events:none}.swan-label{position:absolute;bottom:15%;left:8%;z-index:2}.universe-copy{padding:110px 8vw 110px 3vw;position:relative}.year{font:400 clamp(80px,14vw,240px)/.9 var(--serif);letter-spacing:-.035em;color:#a493c8;margin:35px 0 15px}.universe h2{font-size:clamp(60px,7vw,116px);margin-bottom:35px}.universe-copy>p:not(.year){max-width:490px}.dream-question{font:italic 30px/1.3 var(--serif);color:#c5b7e4;margin-top:27px}.series-label{display:flex;align-items:center;gap:25px;border-top:1px solid #ffffff40;margin-top:50px;padding-top:22px}.series-label>span:first-child{font:34px var(--serif);letter-spacing:.08em}.funding{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:130px 7vw;background:radial-gradient(ellipse at 10% 25%,#652235,transparent 70%),#1d101c;align-items:start}.crown-art{position:sticky;top:45px}.crown-art img{width:100%;box-shadow:0 40px 90px #0009;transform:rotate(-2deg)}.crown-art>.eyebrow{display:block;margin-top:30px;color:#cbaeba}.funding-copy>.eyebrow{color:#ffb7c6;display:block;margin-bottom:35px}.funding-copy h2{font-size:clamp(54px,6.4vw,106px);margin-bottom:30px}.funding-copy h2 em{color:#f389a0}.funding-copy>p{max-width:500px;margin:18px 0;color:#dfcad4}.funding-number{border-top:1px solid #ed6b8a55;border-bottom:1px solid #ed6b8a55;padding:30px 0;margin:35px 0}.funding-number strong{font:400 clamp(95px,10vw,160px)/1 var(--serif);letter-spacing:-.065em}.funding-number strong span{font:14px var(--mono);letter-spacing:.14em;margin-left:20px}.funding-number p{margin-top:10px;color:#e9b9c9}.film-plans{display:flex;gap:55px;margin-bottom:30px}.film-plans h3{font:36px/1.3 var(--serif);margin-top:5px}.campaign-status{border-left:2px solid #ee7694;padding:0 0 0 22px;margin-top:35px}.campaign-status strong{display:block;font:25px var(--serif);margin:8px 0}.campaign-status p{font-size:14px;color:#ccb3c0;max-width:330px}.funding-copy .development-note{font-size:12px;margin-top:25px;color:#bb9caa}.posters{background:#090c13;padding:100px 0 70px;overflow:hidden}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:0 5vw 55px}.section-heading h2{margin-top:25px;font-size:clamp(48px,5.6vw,90px)}.poster-nav{display:flex;gap:30px}.poster-rail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding:15px 5vw 40px;scrollbar-width:thin;scrollbar-color:#807b96 transparent}.poster-card{flex:0 0 29vw;scroll-snap-align:center;padding:0;text-align:left;min-width:270px}.poster-card img{height:42vw;max-height:700px;width:100%;object-fit:contain;background:transparent;transition:transform .5s}.poster-card:hover img{transform:translateY(-8px)}.poster-card span{display:block;margin-top:18px;font:12px var(--mono);color:#aaa8b6}.poster-hint{margin:25px 5vw 0;color:#aaa8b6}.filmmakers{position:relative;min-height:90svh;display:grid;grid-template-columns:1.05fr 1fr;background:#151b2b}.filmmakers-image img{width:100%;height:100%;object-fit:cover;object-position:42%}.filmmakers-copy{padding:100px 6vw}.filmmakers h2{font-size:clamp(42px,4.3vw,70px);margin:30px 0 40px}details{margin-top:35px;border-top:1px solid #ffffff33;padding-top:22px}summary{cursor:pointer;font-size:14px;min-height:30px}dl{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:14px;line-height:1.5;margin-top:25px}dt{color:#9fa8c1}dd{margin:0}footer{padding:60px 5vw;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#09090f}footer p{font:12px var(--mono);margin-top:6px}footer>a:last-child{font-size:14px;border-bottom:1px solid #ffffff55;padding-bottom:8px}.footer-wordmark{font:clamp(25px,5vw,75px) var(--serif)}dialog{background:#08090df5;color:var(--paper);border:1px solid #ffffff33;width:min(1100px,96vw);max-height:95svh;padding:20px}dialog::backdrop{background:#040409e8;backdrop-filter:blur(15px)}.art-top,.art-foot{display:flex;align-items:center;justify-content:space-between;gap:20px}.art-top button{font-size:14px}.art-foot p{font:14px var(--mono);text-align:center}#art-image{height:73svh;width:100%;object-fit:contain;margin:12px 0}.film-grain{position:fixed;z-index:60;inset:-20%;pointer-events:none;background:url('assets/noise.svg');opacity:.075;mix-blend-mode:screen}.film-damage{position:fixed;z-index:61;inset:0;pointer-events:none;overflow:hidden;opacity:.12}.film-damage i{position:absolute;top:-20%;bottom:-20%;width:1px;background:linear-gradient(transparent,#fff7,transparent);left:23%}.film-damage i:nth-child(2){left:74%;opacity:.5}.film-damage i:nth-child(3){left:92%;opacity:.5}.reading-progress{position:fixed;top:0;height:2px;width:100%;background:#e95c88;transform:scaleX(0);transform-origin:left;z-index:70}
@media(max-width:800px){.site-header{padding:22px 5vw}.site-header nav{gap:17px;font-size:12px}.thea{font-size:17px}.hero-image{object-fit:cover;object-position:51% 55%}.hero-title{top:27%}.hero-title h1{font-size:23vw;gap:.08em}.hero-title .eyebrow{font-size:10px}.hero-bottom{bottom:45px}.hero-bottom>p{font-size:9px}.hero-bottom>p:last-child{display:none}.hero-bottom .enter{margin-left:auto;font-size:12px}.subtitle{font-size:10px;letter-spacing:.3em}.contact-intro{padding:75px 6vw;gap:40px;grid-template-columns:1fr}.intro-image img{aspect-ratio:5/4;object-position:center}.intro-copy h2{font-size:57px}.vertical-note{display:none}.universe{grid-template-columns:1fr}.swan-field{position:absolute;inset:0;min-height:0;opacity:.3}.swan-field img{object-position:65% center}.swan-field:after{background:linear-gradient(0deg,#262248,transparent)}.swan-label{display:none}.universe-copy{padding:80px 7vw;z-index:2}.year{font-size:34vw}.universe h2{font-size:74px}.universe-copy>p:not(.year){max-width:500px}.universe .dream-question{font-size:28px}.funding{grid-template-columns:1fr;padding:85px 7vw;gap:70px}.crown-art{position:relative;top:0;max-width:450px;margin:0 auto}.funding-copy h2{font-size:74px}.funding-number strong{font-size:130px}.posters{padding-top:70px}.section-heading{padding-bottom:35px}.section-heading h2{font-size:49px}.poster-nav{gap:15px}.poster-card{flex-basis:76vw;min-width:0}.poster-card img{height:112vw;max-height:none}.poster-rail{gap:20px}.filmmakers{grid-template-columns:1fr}.filmmakers-image{height:55vw}.filmmakers-copy{padding:65px 7vw}.filmmakers h2{font-size:50px}footer{flex-wrap:wrap;padding-bottom:70px}.footer-wordmark{font-size:50px}footer>div{flex-basis:100%;order:3}dialog{padding:14px}.art-foot p{font-size:12px}#art-image{height:70svh}.universe-copy .eyebrow,.funding-copy>.eyebrow{font-size:11px}}
@mediaall{html:where([data-koan-motion="reduced"]){scroll-behavior:auto}:where(html[data-koan-motion="reduced"]) #particles{display:none}:where(html[data-koan-motion="reduced"]) *,:where(html[data-koan-motion="reduced"]) *:before,:where(html[data-koan-motion="reduced"]) *:after{animation:none!important;transition:none!important}}.hero-title{will-change:opacity,transform}.contact-intro{display:block;min-height:100svh;padding:0;background:#121124}.intro-image{position:absolute;inset:0;z-index:-1}.intro-image img{height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;box-shadow:none}.intro-image:before{display:none}.contact-intro:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0e1221e8 0%,#0e122155 60%,transparent),linear-gradient(0deg,#0e1221,transparent 50%)}.intro-copy{padding:17vh 7vw 12vh;max-width:860px}.intro-copy h2{font-size:clamp(60px,7.5vw,120px)}.intro-copy p{max-width:390px}.vertical-note{bottom:60px;left:auto;right:30px}.film-grain{animation:grain-drift .23s steps(3) infinite}.film-damage{animation:gate-weave 9s steps(1) infinite}.film-damage:before{content:'';position:absolute;inset:-10%;background:linear-gradient(105deg,transparent 47%,#be50700d 49%,transparent 53%);animation:film-leak 13s ease-in-out infinite}.film-damage i:first-child{animation:scratch-drift 7.3s steps(1) infinite}.film-damage i:nth-child(2){animation:scratch-drift 11.7s steps(1) infinite reverse}.film-damage i:nth-child(3){animation:scratch-drift 5.1s steps(1) infinite}.swan-field img{animation:swan-drift 22s ease-in-out infinite alternate}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused #particles{display:none}@keyframes grain-drift{0%{transform:translate(0,0)}20%{transform:translate(2%,-3%)}40%{transform:translate(-2%,2%)}60%{transform:translate(3%,1%)}80%{transform:translate(-1%,-2%)}}@keyframes gate-weave{0%,94%,100%{transform:translateX(0);opacity:.09}95%{transform:translateX(2px);opacity:.18}97%{transform:translateX(-1px);opacity:.12}}@keyframes scratch-drift{0%,30%,100%{transform:translateX(0);opacity:0}31%,38%{transform:translateX(20vw);opacity:.8}39%,70%{transform:translateX(-10vw);opacity:.2}71%,73%{transform:translateX(50vw);opacity:.7}74%{opacity:0}}@keyframes film-leak{0%,75%,100%{transform:translateX(-70%);opacity:0}85%{opacity:.5}95%{transform:translateX(75%);opacity:0}}@keyframes frame-breathe{from{transform:scale(1)}to{transform:scale(1.018)}}@keyframes tracking{from{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes swan-drift{from{transform:scale(1.04) translateX(-1%)}to{transform:scale(1.1) translateX(1%)}}
@media(max-width:800px){.intro-copy{padding:110px 7vw 85px;max-width:100%}.intro-copy h2{font-size:clamp(50px,12vw,80px)}.contact-intro{min-height:90svh}.intro-image img{object-position:60%}.contact-intro:after{background:linear-gradient(90deg,#0e1221e8,#0e122166),linear-gradient(0deg,#0e1221,transparent)}}
/* Solid colour art direction: light belongs to the film, not decorative gradients. */.funding{background:#30121e}.universe{background:#1c2040}.swan-field:after{background:#1c204033}.contact-intro:after{background:#070d1b8c}.intro-image:before{display:none}.hero-shade{background:#0b0d142e}.film-damage:before{display:none}
@media(max-width:800px){.contact-intro:after{background:#070d1ba8}.swan-field:after{background:#1c204066}}
/* Monochrome institutional typography and photographic emotion. */
:root{--ink:#080808;--paper:#f2f2f2;--red:#e1e1e1;--blue:#eee;--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif}body{background:#080808}h2,.intro-copy h2,.funding-copy h2,.universe h2,.section-heading h2,.filmmakers h2{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:-.018em;line-height:.93}h2 em,.intro-copy h2 em,.funding-copy h2 em,.universe h2 em,.filmmakers h2 em{font-style:normal;color:inherit}p{font-family:Arial,sans-serif}.eyebrow{letter-spacing:.1em}.site-header nav{font:12px var(--mono);text-transform:uppercase}.site-header{color:#fff}.music-toggle{border-color:#777}.contact-intro,.posters,.filmmakers,.funding,footer{background:#080808}.contact-intro{min-height:100svh;isolation:isolate}.intro-copy{width:48%;margin-left:auto;padding:18vh 6vw 10vh 3vw}.intro-copy h2{font-size:clamp(62px,6vw,105px)}.intro-copy p{color:#ccc;max-width:430px}.intro-image{inset:0 auto 0 0;width:54%;z-index:0}.intro-image img{object-fit:cover;object-position:39% center;height:100%;width:100%}.contact-intro:after{display:none}.intro-copy{position:relative;z-index:1}.vertical-note{right:25px}.universe{background:#f0f0f0;color:#111;grid-template-columns:1fr 1fr;min-height:100svh}.swan-field{height:100%;min-height:700px;background:#eee}.swan-field img{mix-blend-mode:normal;opacity:1;filter:grayscale(1) contrast(1.15);object-fit:cover;object-position:65% center;animation:none}.swan-field:after{display:none}.swan-label{color:#111;bottom:35px;left:40px}.universe-copy{padding:100px 6vw 100px 3vw}.year{font:600 clamp(95px,14vw,220px)/.9 var(--display);color:#111}.dream-question{font:400 19px/1.5 var(--mono);color:#444}.series-label{border-color:#1116}.series-label>span:first-child{font:600 42px var(--display);letter-spacing:.02em}.funding{background:#080808;gap:8vw;grid-template-columns:.85fr 1fr}.crown-art{top:40px}.crown-art img{width:100%;height:auto;max-height:calc(100svh - 110px);object-fit:contain;transform:none;box-shadow:none}.crown-art>.eyebrow{color:#aaa;text-align:center;font-size:11px}.funding-copy h2{font-size:clamp(55px,6.3vw,105px)}.funding-copy>.eyebrow,.funding-copy>p,.funding-number p,.campaign-status p,.funding-copy .development-note{color:#bbb}.funding-number{border-color:#555}.funding-number strong{font:600 clamp(95px,11vw,170px)/1 var(--display);letter-spacing:-.03em}.film-plans h3{font:600 39px var(--display);text-transform:uppercase}.campaign-status{border-color:#bbb}.campaign-status strong{font:500 24px var(--display);text-transform:uppercase}.filmmakers-image{height:90svh}.filmmakers-image img{object-position:38% center;object-fit:cover}.filmmakers-copy{align-self:center}.filmmakers h2{font-size:clamp(52px,6vw,100px)}dt{color:#aaa}.poster-card img{object-fit:contain;height:42vw;width:100%}.poster-card span,.poster-hint{color:#aaa}.reading-progress{background:#fff}.hero-title h1{font-family:var(--serif)}.film-grain{opacity:.045}.film-damage{opacity:.06}#particles{z-index:2}.art-top,.art-foot{font-family:var(--mono)}.poster-card:hover img{transform:none}.text-link{border-color:#aaa}.series-label,.funding-number,details{border-color:#555}
@media(max-width:800px){.intro-copy{width:100%;margin:0;padding:60px 7vw 70px}.contact-intro{display:flex;flex-direction:column}.intro-image{position:relative;width:100%;height:68svh;inset:auto}.intro-image img{object-position:40% 35%;height:100%;aspect-ratio:auto}.intro-copy h2{font-size:64px}.universe{display:flex;flex-direction:column}.swan-field{position:relative;width:100%;height:70vw;min-height:0;opacity:1}.swan-field img{width:100%;height:100%;object-fit:cover;object-position:65% 60%}.swan-label{display:block;left:7vw;bottom:15px;font-size:9px}.universe-copy{padding:50px 7vw 75px}.universe h2{font-size:74px}.year{font-size:120px}.dream-question{font:16px/1.5 var(--mono)}.funding{grid-template-columns:1fr}.crown-art{width:100%;max-width:450px}.crown-art img{height:auto;max-height:none}.funding-copy h2{font-size:70px}.poster-card img{height:112vw}.filmmakers-image{height:75svh}.filmmakers-image img{object-position:37% center}.filmmakers h2{font-size:70px}.music-toggle{background:#080808cc}}.poster-card{background:transparent}.art-foot button:disabled{opacity:.35;cursor:default}.universe .dream-question{font:400 19px/1.5 var(--mono)}.posters .section-heading h2 em{font-size:.62em;display:block;letter-spacing:0}.filmmakers-copy>.eyebrow{color:#aaa}
.music-toggle{position:fixed;bottom:16px;right:20px;top:auto;z-index:80;padding:0 14px;min-height:34px;background:#080808b8;border:1px solid #ffffff25;font-size:10px;cursor:pointer;color:#fff;font-family:var(--mono,monospace);letter-spacing:.08em;transition:border-color .2s,opacity .2s}.site-header{pointer-events:none}.site-header a,.site-header button{pointer-events:auto}.hero-title{pointer-events:none}

.film-grain{mix-blend-mode:normal;opacity:.035}
/* Broadcast switching: the image speaks; labels are limited to channel controls. */
/* Full original compositions. Letterbox and pillarbox instead of cropping. */
.hero-image,.intro-image img,.filmmakers-image img{object-fit:contain;object-position:center;transform:none;background:#000;animation:none}.hero-stage,.intro-image,.filmmakers-image{background:#000}.swan-field img{object-fit:contain;object-position:center;transform:none;background:#000}.swan-field{background:#000}.swan-label{color:#fff;text-shadow:0 1px 4px #000}.hero-shade{background:#0002}.hero-image{object-fit:cover;background:#000}

/* ==========================================================================
   REVISION - FILM STILLS ARCHIVE, TRAILER, COLOR FIDELITY & REFINED CREDITS
   ========================================================================== */

/* 1. IMAGE COLOR FIDELITY - Absolutely NO oversaturation or artificial color effects */
img, video {
  filter: none !important;
  mix-blend-mode: normal !important;
}
.hero-mono {
  filter: grayscale(1) !important;
}
.swan-field img {
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

/* 2. FRAMING: Aspect Ratio Protection ONLY for Stills, Subject Focus Elsewhere */
.hero-image {
  object-fit: cover !important;
  object-position: center !important;
  background: #000;
}
.intro-image img {
  object-fit: cover !important;
  object-position: 40% 35% !important;
  background: #000;
}
.swan-field img {
  object-fit: cover !important;
  object-position: 65% center !important;
  background: #000;
}

/* 3. FILMMAKERS / CREDITS: Thea Logo on left, Directors inside Cast & Crew */
.filmmakers-image.filmmakers-logo-stage {
  background: #141416 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 480px;
  padding: 40px;
}
.thea-logo-img {
  width: 65% !important;
  max-width: 420px !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
  border-radius: 4px;
}
.filmmakers-byline {
  font: 400 14px/1.4 var(--mono);
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin: 10px 0 28px 0;
}
.filmmakers-copy h2 {
  margin-bottom: 2px;
}

/* 4. SECTION 2 (THE UNIVERSE): Remove heavy borders and text shadows */
.universe, .universe *, .swan-label, .universe-copy h2, .dream-question {
  text-shadow: none !important;
  filter: none !important;
  box-shadow: none !important;
}
.universe .series-label {
  border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
  box-shadow: none !important;
  margin-top: 40px;
  padding-top: 20px;
}
.swan-label {
  text-shadow: none !important;
  color: #111 !important;
  background: rgba(255, 255, 255, 0.85);
  padding: 4px 8px;
  border-radius: 2px;
}
@media (max-width: 800px) {
  .swan-label {
    color: #fff !important;
    background: rgba(0, 0, 0, 0.7);
  }
}

/* 5. TRAILER SECTION */
.trailer-section {
  background: #080808;
  color: #f2f2f2;
  padding: 90px 4vw 80px;
  position: relative;
  border-top: 1px solid #1c1c1c;
}
.trailer-player-wrap {
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.9);
}
.trailer-player-wrap video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  aspect-ratio: 16 / 9;
  background: #000;
  filter: none !important;
}
@media (max-width: 800px) {
  .trailer-section { padding: 60px 5vw 40px; }
}

/* Hero CTA group for Watch Trailer button */
.hero-cta-group {
  display: flex;
  align-items: center;
  gap: 18px;
  justify-content: center;
}
.trailer-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 11px var(--mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.28);
  padding: 8px 18px;
  border-radius: 30px;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
}
.trailer-pill:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: #fff;
  transform: translateY(-1px);
}
.trailer-pill::before {
  content: '▶';
  font-size: 8px;
  opacity: 0.85;
}

/* 6. FILM STILLS SECTION - 16:9 Protected Ratio, No Channel Concept, Natural Height */
.stills-section {
  background: #080808;
  color: #f2f2f2;
  padding: 85px 4vw 100px;
  position: relative;
  border-top: 1px solid #1c1c1c;
}
.stills-header {
  max-width: 1400px;
  margin: 0 auto 28px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 16px;
}
.stills-header h2 {
  font-size: clamp(48px, 6vw, 92px);
  line-height: 0.92;
  margin-top: 8px;
}
.stills-nav {
  display: flex;
  align-items: center;
  gap: 16px;
}
.stills-nav button {
  font: 12px var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-bottom: 1px solid #ffffff55;
  color: #fff;
  padding: 4px 2px;
  cursor: pointer;
  background: none;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  transition: opacity 0.2s, border-color 0.2s;
}
.stills-nav button:disabled {
  opacity: 0.25;
  cursor: default;
  border-color: transparent;
}
.stills-counter {
  font: 12px var(--mono);
  color: #888;
  letter-spacing: 0.14em;
}
.stills-stage {
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
  background: #000;
  border-radius: 4px;
  overflow: hidden;
  outline: none;
}
.stills-frame-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
#still-featured-img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  aspect-ratio: 16 / 9 !important;
  display: block;
  filter: none !important;
  background: #000;
  transition: opacity 0.2s ease-out;
}
.still-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 4px 0;
  font-family: var(--mono);
  gap: 16px;
}
.still-timecode {
  font-size: 11px;
  color: #777;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
.still-description {
  font-size: 12px;
  color: #bbb;
  text-align: right;
  letter-spacing: 0.03em;
  font-family: var(--mono);
}
.stills-collage {
  max-width: 1400px;
  margin: 28px auto 0;
  display: grid;
  grid-template-columns: repeat(11, 1fr);
  gap: 10px;
}
.still-thumb-btn {
  background: none;
  border: 1px solid transparent;
  padding: 0;
  cursor: pointer;
  aspect-ratio: 16 / 9;
  position: relative;
  border-radius: 2px;
  overflow: hidden;
  opacity: 0.45;
  transition: opacity 0.2s, border-color 0.2s, transform 0.2s;
}
.still-thumb-btn:hover {
  opacity: 0.85;
  transform: translateY(-2px);
}
.still-thumb-btn.active {
  opacity: 1;
  border-color: #fff;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.25);
}
.still-thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: none !important;
}
.still-thumb-num {
  position: absolute;
  bottom: 3px;
  left: 4px;
  font: 9px var(--mono);
  color: #fff;
  background: rgba(0, 0, 0, 0.75);
  padding: 1px 4px;
  border-radius: 2px;
  letter-spacing: 0.05em;
}

/* Mobile responsive stills and collage */
@media (max-width: 900px) {
  .stills-section { padding: 60px 5vw 70px; }
  .stills-header { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 20px; }
  .stills-stage { margin-bottom: 20px; }
  .still-meta { flex-direction: column; align-items: flex-start; gap: 6px; padding: 10px 0 0; }
  .still-description { text-align: left; }
  .stills-collage {
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-top: 20px;
  }
  .still-thumb-btn { opacity: 0.75; }
  .still-thumb-btn.active { opacity: 1; }
}
@media (max-width: 550px) {
  .stills-collage {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }
}


/* ==========================================================================
   GLASSMORPHIC APPLE TITLE, 2X BYLINE & FLAWLESS FULL-FRAME THEA EMBLEM
   ========================================================================== */

/* 1. GLASSMORPHIC APPLE-STYLE HERO TITLE */
.hero-title h1 {
  font: 400 clamp(100px, 20.5vw, 340px) / 1.05 var(--serif) !important;
  display: flex !important;
  justify-content: center !important;
  gap: 0.06em !important;
  letter-spacing: -0.03em !important;
  position: relative;
  text-shadow: none !important;
}

.hero-title h1 span {
  display: inline-block;
  position: relative;
  background: linear-gradient(
    135deg,
    #ffffff 0%,
    rgba(240, 246, 255, 0.95) 15%,
    rgba(195, 218, 245, 0.42) 36%,
    rgba(255, 255, 255, 0.18) 48%,
    rgba(255, 255, 255, 0.96) 52%,
    rgba(185, 212, 242, 0.48) 68%,
    rgba(242, 248, 255, 0.92) 86%,
    #ffffff 100%
  ) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.9) !important;
  filter: 
    drop-shadow(0 0 2px rgba(255, 255, 255, 0.95))
    drop-shadow(0 0 18px rgba(255, 255, 255, 0.75))
    drop-shadow(0 0 48px rgba(210, 232, 255, 0.45))
    drop-shadow(0 16px 36px rgba(0, 0, 0, 0.6)) !important;
  transform: translateZ(0);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
}

.hero-title h1 span:hover {
  transform: translateY(-2px) scale(1.015);
  filter: 
    drop-shadow(0 0 3px rgba(255, 255, 255, 1))
    drop-shadow(0 0 26px rgba(255, 255, 255, 0.9))
    drop-shadow(0 0 65px rgba(215, 238, 255, 0.6))
    drop-shadow(0 20px 42px rgba(0, 0, 0, 0.65)) !important;
}

/* 2. 2X LARGER "BY PRASHANT SINGH RATHORE" */
.filmmakers-byline {
  font-family: var(--display), sans-serif !important;
  font-size: clamp(26px, 2.7vw, 36px) !important;
  font-weight: 500 !important;
  color: #d6d6d6 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 12px 0 32px 0 !important;
  line-height: 1.2 !important;
}

/* 3. FLAWLESS FULL-FRAME THEA EMBLEM (NO BLACK BOX) */
.filmmakers {
  background: #080808 !important;
  display: grid !important;
  grid-template-columns: 1.1fr 1fr !important;
  min-height: 85svh !important;
  align-items: center !important;
  gap: 4vw !important;
  overflow: hidden !important;
}

.filmmakers-image.filmmakers-logo-stage {
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 520px !important;
  padding: 3vw 4vw !important;
  box-shadow: none !important;
}

.thea-logo-img {
  width: 100% !important;
  max-width: 680px !important;
  height: auto !important;
  max-height: 75svh !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
  filter: drop-shadow(0 20px 50px rgba(0, 0, 0, 0.8)) !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
}

@media (max-width: 800px) {
  .filmmakers {
    grid-template-columns: 1fr !important;
  }
  .filmmakers-image.filmmakers-logo-stage {
    min-height: 340px !important;
    padding: 40px 6vw !important;
  }
  .thea-logo-img {
    max-width: 380px !important;
  }
  .filmmakers-byline {
    font-size: 24px !important;
  }
}

/* Off-white archival background for 03 / THE WORLD BEYOND THE ROOM */
.universe {
  background: #ece9e2 !important;
  color: #141414 !important;
}
.swan-field {
  background: #e5e2db !important;
}
.universe .year {
  color: #1a1a1a !important;
}
.universe h2 {
  color: #111 !important;
}
.universe-copy p {
  color: #2c2c2c !important;
}
.universe .dream-question {
  color: #444 !important;
}
.universe .series-label {
  border-top: 1px solid rgba(0, 0, 0, 0.14) !important;
}
.universe .series-label > span:first-child {
  color: #111 !important;
}
.swan-label {
  color: #111 !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* ==========================================================================
   ENCOUNTER IMAGE COLOR FIX, SUBTLE STILLS GALLERY & ALWAYS-OPEN CREDITS
   ========================================================================== */

/* 1. ENCOUNTER IMAGE COLOR PURITY - Completely remove pink/magenta glow and all filters */
.contact-intro::before,
.contact-intro::after,
.intro-image::before,
.intro-image::after {
  display: none !important;
  content: none !important;
  background: none !important;
  filter: none !important;
  opacity: 0 !important;
}

.contact-intro {
  background: #080808 !important;
  isolation: auto !important;
}

.intro-image {
  background: #080808 !important;
}

.intro-image img {
  filter: none !important;
  mix-blend-mode: normal !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* 2. SUBTLE STILLS GALLERY (NO LABELS, PURE VISUAL FLOW) */
.still-meta {
  display: none !important;
}

.still-thumb-num {
  display: none !important;
}

.stills-subtle-bar {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin-top: 18px;
  width: 100%;
}

.still-thumb-btn {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 2px !important;
  opacity: 0.45 !important;
  transition: opacity 0.25s ease, border-color 0.25s ease, transform 0.25s ease !important;
}

.still-thumb-btn:hover {
  opacity: 0.85 !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  transform: translateY(-2px) !important;
}

.still-thumb-btn.active {
  opacity: 1 !important;
  border-color: #ffffff !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.9), 0 0 10px rgba(255, 255, 255, 0.2) !important;
}

/* 3. ALWAYS-OPEN CAST & CREW */
.credits-block {
  margin-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 22px;
}

.credits-label {
  display: block;
  margin-bottom: 16px;
  color: #888;
  font-size: 11px;
  letter-spacing: 0.12em;
}

.credits-list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 24px;
  align-items: baseline;
}

.credits-list dt {
  font: 11px var(--mono);
  color: #777;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.credits-list dd {
  font: 500 16px/1.3 var(--display);
  color: #e2e2e2;
  margin: 0;
  letter-spacing: 0.02em;
}

@media (max-width: 800px) {
  .credits-list {
    grid-template-columns: 1fr;
    gap: 4px 0;
    margin-bottom: 14px;
  }
  .credits-list dt {
    margin-top: 8px;
    font-size: 10px;
  }
}

/* ==========================================================================
   GLASSMORPHIC STORY BEATS & BUTTERY SMOOTH SCROLLING
   ========================================================================== */

/* 1. GLASSMORPHIC STORY BEATS */

/* 2. BUTTERY SMOOTH SECTION TRANSITION (ZERO GLITCH / OVERFLOW JUMP) */
.contact-intro {
  min-height: 100svh !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: center !important;
  background: #080808 !important;
  padding: 0 !important;
  overflow: hidden !important;
  contain: layout style;
}

.intro-image {
  position: relative !important;
  width: 100% !important;
  height: 100svh !important;
  inset: auto !important;
  overflow: hidden !important;
  background: #080808 !important;
}

.intro-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 40% 35% !important;
  display: block !important;
}

.intro-copy {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  padding: 8vh 6vw !important;
  margin: 0 !important;
}

@media (max-width: 850px) {
  .contact-intro {
    display: flex !important;
    flex-direction: column !important;
  }
  .intro-image {
    height: 65svh !important;
  }
  .intro-copy {
    padding: 50px 7vw 60px !important;
  }
}


/* ==========================================================================
   OPTIMIZED HERO SCROLL TRAVEL & BUTTERY SMOOTH SECTION FLOW
   ========================================================================== */

html {
  scroll-behavior: auto !important;
}

/* ==========================================================================
   PATREON-STYLE FLOATING EDITORIAL STILLS SECTION
   ========================================================================== */
.stills-section.patreon-style {
  position: relative !important;
  width: 100% !important;
  min-height: 100vh !important;
  height: 100vh !important;
  min-height: 720px !important;
  overflow: hidden !important;
  background: linear-gradient(145deg, #a9c8eb 0%, #c4ddfa 42%, #d9ecfe 100%) !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  isolation: isolate !important;
}

.stills-bg-atmosphere {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 65% 55% at 90% 20%, rgba(180, 212, 248, 0.85) 0%, transparent 70%),
    radial-gradient(ellipse 55% 45% at 10% 85%, rgba(195, 222, 252, 0.7) 0%, transparent 65%);
  pointer-events: none;
  z-index: 1;
}

/* Headings with mix-blend-mode: exclusion (exact Patreon treatment) */
.stills-editorial-header {
  position: absolute;
  top: max(env(safe-area-inset-top), 7vh);
  left: max(env(safe-area-inset-left), 5vw);
  z-index: 50;
  pointer-events: none;
  mix-blend-mode: exclusion;
  color: #ffffff;
}

.stills-eyebrow {
  display: block;
  font-family: var(--display, 'Barlow Condensed', sans-serif);
  font-size: 13px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 8px;
  opacity: 0.95;
}

.stills-title-display {
  margin: 0;
  font-family: var(--serif, 'Libre Caslon Display', Didot, serif) !important;
  font-size: clamp(58px, 9.2vw, 140px) !important;
  line-height: 0.86 !important;
  letter-spacing: -0.045em !important;
  font-weight: 400 !important;
  text-transform: none !important;
  display: flex;
  flex-direction: column;
}
.stills-title-display span,
.stills-sub-display span {
  text-transform: none !important;
  display: inline-block;
}

.stills-editorial-sub {
  position: absolute;
  bottom: max(env(safe-area-inset-bottom), 7vh);
  right: max(env(safe-area-inset-right), 5vw);
  z-index: 50;
  pointer-events: none;
  mix-blend-mode: exclusion;
  color: #ffffff;
  text-align: right;
}

.stills-sub-display {
  margin: 0;
  font-family: var(--serif, 'Libre Caslon Display', Didot, serif) !important;
  font-size: clamp(52px, 8.4vw, 128px) !important;
  line-height: 0.86 !important;
  letter-spacing: -0.045em !important;
  font-weight: 400 !important;
  text-transform: none !important;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.stills-editorial-copy {
  position: absolute;
  bottom: max(env(safe-area-inset-bottom), 7vh);
  left: max(env(safe-area-inset-left), 5vw);
  max-width: 440px;
  z-index: 50;
  pointer-events: none;
  mix-blend-mode: exclusion;
  color: #ffffff;
}

.stills-editorial-copy p {
  font-family: Arial, sans-serif;
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.45;
  letter-spacing: -0.015em;
  margin: 0;
  opacity: 0.95;
}

/* Horizontal Track Viewport */
.stills-track-viewport {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  user-select: none;
  z-index: 10;
}
.stills-track-viewport::-webkit-scrollbar {
  display: none;
}
.stills-track-viewport.is-dragging {
  cursor: grabbing;
}

.stills-track {
  display: flex;
  align-items: center;
  gap: 4.8vw;
  padding: 0 8vw;
  width: max-content;
  will-change: transform;
}

/* Individual Card Styling with Varied Sizes & Floating Offsets */
.still-patreon-card {
  position: relative;
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 25px 65px rgba(20, 35, 65, 0.22);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
  background: #000;
  cursor: pointer;
  border: none;
  padding: 0;
  text-align: left;
}

.still-patreon-card:hover {
  transform: translateY(-8px) scale(1.025);
  box-shadow: 0 35px 85px rgba(15, 30, 60, 0.32);
}

.still-patreon-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

/* Specific floating offsets & varied proportions (Patreon organic layout) */
.still-patreon-card.type-1 { width: 380px; aspect-ratio: 16 / 9; margin-top: 55px; }
.still-patreon-card.type-2 { width: 330px; aspect-ratio: 4 / 5; margin-top: -35px; }
.still-patreon-card.type-3 { width: 520px; aspect-ratio: 16 / 9; margin-top: 65px; }
.still-patreon-card.type-4 { width: 310px; aspect-ratio: 1 / 1; margin-top: -85px; }
.still-patreon-card.type-5 { width: 280px; aspect-ratio: 16 / 9; margin-top: -20px; }
.still-patreon-card.type-6 { width: 350px; aspect-ratio: 4 / 5; margin-top: 50px; }
.still-patreon-card.type-7 { width: 480px; aspect-ratio: 16 / 9; margin-top: -55px; }
.still-patreon-card.type-8 { width: 360px; aspect-ratio: 4 / 5; margin-top: 40px; }
.still-patreon-card.type-9 { width: 270px; aspect-ratio: 16 / 9; margin-top: -70px; }
.still-patreon-card.type-10 { width: 540px; aspect-ratio: 16 / 9; margin-top: 75px; }
.still-patreon-card.type-11 { width: 340px; aspect-ratio: 16 / 9; margin-top: -30px; }

/* Subtle pill tag in bottom-left corner with arrow icon */
.still-patreon-tag {
  position: absolute;
  left: 14px;
  bottom: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(10, 10, 15, 0.65);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #f5f5f5;
  font-family: Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.01em;
  padding: 6px 14px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  transition: background 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}

.still-patreon-card:hover .still-patreon-tag {
  background: rgba(10, 10, 15, 0.88);
  transform: translateX(2px);
}

.still-patreon-tag svg {
  width: 11px;
  height: 11px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  transition: transform 0.25s ease;
}

.still-patreon-card:hover .still-patreon-tag svg {
  transform: translate(2px, -2px);
}

/* Lightbox dialog for full 16:9 still viewing */
#still-viewer {
  border: none;
  background: transparent;
  color: #f2f2f2;
  padding: 0;
  max-width: 100vw;
  max-height: 100vh;
  width: 100vw;
  height: 100vh;
}

#still-viewer::backdrop {
  background: rgba(8, 8, 12, 0.94);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.still-viewer-stage {
  width: 100%;
  height: calc(100vh - 140px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 4vw;
}

.still-viewer-stage img {
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.8);
}

@media (max-width: 850px) {
  .stills-section.patreon-style {
    min-height: 85vh !important;
    height: 85vh !important;
  }
  .stills-editorial-header {
    top: 3.5vh;
    left: 5vw;
  }
  .stills-editorial-sub {
    top: 52vh;
    bottom: auto;
    right: 5vw;
  }
  .stills-editorial-copy {
    bottom: 3.5vh;
    left: 5vw;
    max-width: 80vw;
  }
  .still-patreon-card.type-1 { width: 280px; }
  .still-patreon-card.type-2 { width: 240px; }
  .still-patreon-card.type-3 { width: 340px; }
  .still-patreon-card.type-4 { width: 220px; }
  .still-patreon-card.type-5 { width: 200px; }
  .still-patreon-card.type-6 { width: 240px; }
  .still-patreon-card.type-7 { width: 320px; }
  .still-patreon-card.type-8 { width: 250px; }
  .still-patreon-card.type-9 { width: 190px; }
  .still-patreon-card.type-10 { width: 340px; }
  .still-patreon-card.type-11 { width: 240px; }
}

/* KOAN: crisp type and full-frame moving stills. */
.hero-title h1 span {background:none!important;-webkit-text-fill-color:#fff!important;-webkit-text-stroke:0!important;filter:none!important;text-shadow:none!important;transition:none!important;will-change:auto!important}
.hero-title h1 span:hover {transform:none!important;filter:none!important}
.stills-section.patreon-style {background:#fff!important;border:0!important;min-height:760px!important;height:100svh!important}
.stills-bg-atmosphere,.stills-editorial-sub,.stills-editorial-copy,.still-patreon-tag {display:none!important}
.stills-editorial-header {top:12%;left:6vw;mix-blend-mode:difference;color:#fff;z-index:50}
.stills-title-display {font-family:var(--display),sans-serif!important;font-size:clamp(68px,10vw,180px)!important;font-weight:600!important;line-height:.88!important;letter-spacing:-.025em!important;text-transform:uppercase!important}
.stills-title-display span {text-transform:uppercase!important}
.stills-track {gap:5vw;padding:0 6vw;align-items:center}
.still-patreon-card[class*="type-"] {width:clamp(560px,52vw,1100px)!important;aspect-ratio:16/9!important;margin-top:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important}
.still-patreon-card.type-2 {margin-top:18vh!important;width:clamp(500px,46vw,960px)!important}
.still-patreon-card.type-3 {margin-top:-12vh!important;width:clamp(620px,58vw,1200px)!important}
.still-patreon-card.type-4 {margin-top:12vh!important}
.still-patreon-card img {object-fit:contain!important;height:auto!important;width:100%!important;aspect-ratio:16/9}
.still-patreon-card:hover {transform:none!important;box-shadow:none!important}
#still-viewer-caption {display:none}
@media(max-width:850px){.stills-section.patreon-style{height:85svh!important;min-height:560px!important}.stills-editorial-header{top:12%;left:5vw}.still-patreon-card[class*="type-"]{width:88vw!important}.still-patreon-card.type-3{width:96vw!important}.stills-track{gap:8vw}.stills-title-display{font-size:17vw!important}}

.stills-editorial-header{top:24%}
@media(max-width:850px){.stills-editorial-header{top:22%}}

.stills-section.patreon-style{background:#080808!important}.stills-editorial-header{color:#fff;mix-blend-mode:difference}

/* Restore the approved glass wordmark, while sizing its O as live type. */
.hero-title h1 span{background:linear-gradient(135deg,#fff 0%,rgba(240,246,255,.95) 15%,rgba(195,218,245,.42) 36%,rgba(255,255,255,.18) 48%,rgba(255,255,255,.96) 52%,rgba(185,212,242,.48) 68%,#fff 100%)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;-webkit-text-stroke:1.5px rgba(255,255,255,.9)!important;filter:drop-shadow(0 0 2px rgba(255,255,255,.95)) drop-shadow(0 0 18px rgba(255,255,255,.6))!important}
.hero-title h1 span{
 background:linear-gradient(155deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.55) 18%,rgba(220,230,240,.20) 38%,rgba(255,255,255,.10) 46%,rgba(255,255,255,.88) 49%,rgba(255,255,255,.25) 54%,rgba(230,240,250,.38) 75%,rgba(255,255,255,.94) 100%)!important;
 -webkit-background-clip:text!important;background-clip:text!important;
 color:transparent!important;-webkit-text-fill-color:transparent!important;
 -webkit-text-stroke:1px rgba(255,255,255,.78)!important;
 text-shadow:0 1px 1px rgba(255,255,255,.32),0 8px 24px rgba(0,0,0,.18)!important;
 filter:drop-shadow(0 0 1px rgba(255,255,255,.9))!important;
}
.cursor-water{position:fixed;inset:0;width:100%;height:100%;z-index:12;pointer-events:none;filter:blur(3px);opacity:.75}
.water-reactive{filter:url(#koan-water)!important}
.hero-mono.water-reactive{filter:grayscale(1) url(#koan-water)!important}
.motion-paused .cursor-water{display:none}
@mediaall{:where(html[data-koan-motion="reduced"]) .cursor-water{display:none}}

.cursor-water{opacity:.375}
/* A full-viewport cinema for the official trailer. */
.trailer-section{padding:0!important;border:0;min-height:100svh;overflow:hidden;scroll-margin-top:0}
.trailer-player-wrap{width:100%;max-width:none;margin:0;border-radius:0;box-shadow:none;aspect-ratio:auto;height:100svh}
.trailer-player-wrap video{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;background:#000}

.trailer-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;transition:opacity .25s;min-width:80px;padding:12px;color:#fff}
.trailer-play svg{width:56px;height:56px;border:1px solid #ffffff8c;border-radius:50%;padding:16px;fill:currentColor;background:#0002;backdrop-filter:blur(8px)}
.trailer-play span{font:11px var(--mono);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 6px #000}
.trailer-section:hover .trailer-play,.trailer-play:focus-visible{opacity:1}
.trailer-section.is-playing .trailer-play{opacity:0;pointer-events:none}
@media(hover:none){.trailer-play{opacity:1}}

/* Holographic edge highlights over the approved translucent glass fill. */
.hero-title h1 span{
 background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(255,255,255,.55) 18%,rgba(220,230,240,.20) 38%,rgba(255,255,255,.10) 46%,rgba(255,255,255,.88) 49%,rgba(255,255,255,.25) 54%,rgba(230,240,250,.38) 75%,rgba(255,255,255,.94))!important;
 -webkit-background-clip:text!important;background-clip:text!important;
 -webkit-text-fill-color:transparent!important;-webkit-text-stroke:1px rgba(255,255,255,.78)!important;
 filter:grayscale(1) drop-shadow(.8px 0 0 rgba(255,255,255,.4)) drop-shadow(-.8px 0 0 rgba(255,255,255,.25))!important;
 text-shadow:0 1px 1px rgba(255,255,255,.32),0 8px 24px rgba(0,0,0,.18)!important;
}
.trailer-section{min-height:0!important}
.trailer-player-wrap{height:auto!important;aspect-ratio:var(--trailer-ratio,16/9)!important}
.trailer-player-wrap video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@media(min-width:851px){.contact-intro .intro-image{grid-column:2;grid-row:1}.contact-intro .intro-copy{grid-column:1;grid-row:1}.contact-intro .vertical-note{left:24px;right:auto}}
.hero-title h1 span{transition:transform .35s cubic-bezier(.2,.7,.2,1)!important}
@media(hover:hover) and (pointer:fine){.hero-title h1 span.letter-o:hover{transform:translateY(-1px) scale(1.02)!important}}
.stills-title-display{font-family:var(--serif)!important;font-style:italic!important;font-weight:400!important;font-size:clamp(64px,9vw,150px)!important;letter-spacing:-.035em!important;line-height:.9!important;text-transform:none!important}
.stills-title-display span{text-transform:none!important}
@media(max-width:850px){.stills-title-display{font-size:16vw!important}}
@mediaall{:where(html[data-koan-motion="reduced"]) .hero-title h1 span.letter-o:hover{transform:none!important}:where(html[data-koan-motion="reduced"]) .intro-image,:where(html[data-koan-motion="reduced"]) .intro-copy,:where(html[data-koan-motion="reduced"]) .swan-field img,:where(html[data-koan-motion="reduced"]) .funding-copy,:where(html[data-koan-motion="reduced"]) .crown-art,:where(html[data-koan-motion="reduced"]) .still-patreon-card{translate:0 0!important}}

@font-face{font-family:'Merriweather KOAN';src:url(assets/merriweather-italic.woff2) format('woff2'), url(assets/merriweather-italic.ttf) format('truetype');font-style:italic;font-weight:400;font-display:swap}
.stills-title-display .stills-script{font-family:'Merriweather KOAN',serif!important;font-style:italic!important;font-size:.57em;letter-spacing:-.045em!important;line-height:1.25}
.stills-title-display .stills-koan{font-family:var(--serif)!important;font-style:normal!important;font-weight:400!important;letter-spacing:.12em!important;line-height:1.05}
.thea{display:flex;align-items:center;gap:12px}
.thea-mark{width:42px;height:40px;object-fit:contain;filter:brightness(0) invert(1)}
@media(max-width:700px){.thea{gap:8px}.thea-mark{width:32px;height:32px}}
.site-header .thea{color:#080808}
.site-header .thea-mark{filter:brightness(0)}

.site-header .thea-mark{width:84px;height:80px}
@media(max-width:700px){.site-header .thea-mark{width:64px;height:64px}}
.intro-image,.intro-copy,.universe-copy,.crown-art,.funding-copy,.filmmakers-copy{filter:blur(var(--entrance-blur,0px))!important;opacity:var(--entrance-opacity,1);will-change:filter}
@mediaall{:where(html[data-koan-motion="reduced"]) .intro-image,:where(html[data-koan-motion="reduced"]) .intro-copy,:where(html[data-koan-motion="reduced"]) .universe-copy,:where(html[data-koan-motion="reduced"]) .crown-art,:where(html[data-koan-motion="reduced"]) .funding-copy,:where(html[data-koan-motion="reduced"]) .filmmakers-copy{filter:none!important;opacity:1}}
.intro-image,.intro-copy,.universe-copy,.crown-art,.funding-copy,.filmmakers-copy{filter:none!important;opacity:1;will-change:auto}

/* Physical artwork and quiet control feedback. */
.poster-card{perspective:1200px}
.poster-card img,.poster-card:hover img{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))!important;transition:transform .45s cubic-bezier(.2,.7,.2,1);transform-origin:center;backface-visibility:hidden}
.trailer-play svg{transition:transform .3s,border-color .3s,background .3s}
.trailer-play:hover svg,.trailer-play:focus-visible svg{transform:scale(1.06);border-color:#fff;background:#ffffff18}
#still-viewer[open] .art-top,#art-viewer[open] .art-top{animation:viewer-controls .35s ease both}
@keyframes viewer-controls{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}
@mediaall{:where(html[data-koan-motion="reduced"]) .poster-card img,:where(html[data-koan-motion="reduced"]) .poster-card:hover img{transform:none!important}:where(html[data-koan-motion="reduced"]) .trailer-play svg{transition:none;transform:none!important}:where(html[data-koan-motion="reduced"]) #still-viewer[open] .art-top,:where(html[data-koan-motion="reduced"]) #art-viewer[open] .art-top{animation:none}}

/* Discoveries beside Aman: a printed contact edition and a quiet research console. */
.intro-image{position:relative}
.newspaper-trigger{position:absolute;right:28px;bottom:32px;z-index:4;display:flex;align-items:center;gap:10px;padding:12px 15px;color:#fff;background:#080808b8;border:1px solid #ffffff50;backdrop-filter:blur(12px);font:11px var(--mono);cursor:pointer;transition:background .25s,transform .25s}
.newspaper-trigger:hover{background:#080808e8;transform:translateY(-2px)}
.newspaper-trigger svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.2}
.research-trigger{display:flex;align-items:center;gap:9px;margin-top:24px;padding:0 0 8px;background:none;border:0;border-bottom:1px solid #ffffff50;color:#bbb;font:11px var(--mono);cursor:pointer}
.research-trigger:hover{color:#fff}
.research-trigger svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1}
#chronicle-viewer,#research-viewer{max-height:92svh;overflow:auto;overscroll-behavior:contain;border:0;padding:0;margin:auto;color:#eee;background:transparent}
#chronicle-viewer::backdrop,#research-viewer::backdrop{background:#000b;backdrop-filter:blur(9px)}
#chronicle-viewer{width:min(940px,94vw);perspective:1400px}
.paper-toolbar,.research-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font:10px var(--mono);letter-spacing:.1em}
.paper-toolbar{padding:12px 4px 16px;color:#ddd}
.paper-toolbar button,.research-top button{color:inherit;background:none;border:0;font:11px var(--mono);padding:8px;cursor:pointer}
.newsprint{position:relative;isolation:isolate;padding:32px 44px 24px;background:#e6e5e1;color:#171717;box-shadow:0 25px 70px #0009,inset 0 0 35px #00000010;font-family:Georgia,'Times New Roman',serif;transform-origin:50% 0;clip-path:polygon(0 .2%,99.8% 0,100% 99.8%,.15% 100%)}
.newsprint::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.newsprint::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.4%,#0000000a 49.9%,#ffffff50 50.1%,transparent 50.6%),linear-gradient(0deg,transparent 49.6%,#0000000a 50%,#ffffff50 50.2%,transparent 50.6%)}
#chronicle-viewer[open] .newsprint{animation:paper-unfold .55s cubic-bezier(.2,.7,.2,1) both}
@keyframes paper-unfold{from{opacity:0;transform:translateY(24px) rotateX(12deg) scale(.96)}to{opacity:1;transform:none}}
#research-viewer{width:min(640px,92vw);padding:26px 30px;background:#0b0b0bf5;border:1px solid #ffffff30;box-shadow:0 30px 90px #000b}
.research-top{padding-bottom:16px;border-bottom:1px solid #ffffff28;color:#aaa}
#research-title{font:400 28px/1.15 var(--mono);letter-spacing:-.06em;margin:24px 0 12px}#result-label{font:9px var(--mono);letter-spacing:.15em;color:#fff}#result-text{font:12px/1.7 var(--mono);color:#aaa}
#research-viewer[open]{animation:research-in .3s ease both}@keyframes research-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.newspaper-trigger{right:16px;bottom:20px}.newsprint{padding:22px}.paper-toolbar{font-size:8px}#research-viewer{padding:20px}}
@mediaall{:where(html[data-koan-motion="reduced"]) #chronicle-viewer[open] .newsprint,:where(html[data-koan-motion="reduced"]) #research-viewer[open]{animation:none}:where(html[data-koan-motion="reduced"]) .newspaper-trigger{transition:none}}
.motion-paused #chronicle-viewer[open] .newsprint,.motion-paused #research-viewer[open]{animation:none}
#chronicle-viewer,#research-viewer{overflow-x:hidden}
.paper-toolbar{position:sticky;top:0;z-index:5;background:#080808e8;backdrop-filter:blur(12px)}.research-top{position:sticky;top:-26px;z-index:5;background:#0b0b0b}.paper-toolbar button,.research-top button{min-height:32px}

/* Portrait leads the encounter; the paper reports only what predates the interview. */
@media(min-width:851px){.contact-intro{grid-template-columns:36% 64%!important}.intro-copy{padding:7vh 4vw!important}.intro-copy h2{font-size:clamp(42px,4.8vw,78px)!important}.intro-image img{object-position:46% 35%!important}}
#research-viewer{width:min(1000px,95vw);padding:0;background:#0b0b0b}.research-top{top:0;padding:18px 24px;background:#0b0b0bf5;backdrop-filter:blur(12px)}.research-top>div>span{font:9px var(--mono);letter-spacing:.13em;color:#999}#research-title{font:400 20px/1.3 var(--mono);margin:7px 0 0;letter-spacing:-.035em;text-transform:none!important}.dossier-tools{display:flex;justify-content:space-between;gap:12px;padding:15px 24px;font:9px/1.6 var(--mono);color:#999}.dossier-tools a{color:#ddd;border-bottom:1px solid #666}.dossier-pages{display:flex;gap:5px;padding:0 24px 18px;flex-wrap:wrap}.dossier-pages button{min-height:34px;padding:7px 10px;border:1px solid #ffffff28;font:9px var(--mono);color:#aaa;transition:background .2s}.dossier-pages button:hover,.dossier-pages button[aria-pressed=true]{color:#fff;background:#ffffff16;border-color:#aaa}.dossier-document{margin:0 24px}.dossier-document img{width:100%;height:auto;filter:none!important;object-fit:contain;aspect-ratio:auto}.dossier-document figcaption{padding:12px 0;font:10px/1.6 var(--mono);color:#aaa}.dossier-transcript{margin:8px 24px 24px;border-top:1px solid #444;padding-top:12px}.dossier-transcript summary{font:11px var(--mono);color:#ccc;cursor:pointer}.dossier-transcript pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 var(--mono);color:#bbb;padding:18px 0}.film-subtitle{display:block;font:12px/1.5 var(--mono);margin-top:6px;color:#bbb}.basilisk-premise{margin:0 0 25px;border-block:1px solid #ffffff30;padding:14px 0}.basilisk-premise summary{font:12px var(--mono);cursor:pointer}.basilisk-premise p{font:14px/1.7 Arial,sans-serif;margin-top:15px;color:#bbb}
@media(max-width:600px){.research-top{padding:14px 16px}.dossier-tools{padding:12px 16px;flex-direction:column;gap:5px}.dossier-pages{padding:0 16px 14px}.dossier-document{margin:0 10px}.dossier-transcript{margin:8px 16px 20px}#research-title{font-size:17px}.intro-image{height:75svh!important}}
/* Eliminate inherited grid gaps and horizontal focus scrolling at every width. */
.contact-intro{gap:0!important;overflow:clip!important;max-width:100%;min-width:0}
.intro-copy,.intro-image{min-width:0;max-width:100%}
@media(min-width:851px){.contact-intro{grid-template-columns:minmax(0,36fr) minmax(0,64fr)!important}}
@media(max-width:850px){.contact-intro{width:100%;gap:0!important}.intro-copy{max-width:100%;padding:40px 7vw 50px!important}.intro-copy h2{font-size:clamp(42px,9vw,64px)!important}.intro-image{width:100%!important;order:0}.intro-copy{order:1}.newspaper-trigger{max-width:calc(100% - 32px)}.intro-copy p{max-width:100%}}

/* ── Trailer Coming Soon ─────────────────────────────────────── */

/* ── Poster Card Transparency ──────────────────────────────── */
.posters,
.poster-rail,
.poster-card,
.poster-card img,
.posters button.poster-card {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ── Header Brand Alignment & Spacing ───────────────────────── */
.site-header .thea {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  text-decoration: none !important;
  color: #fff !important;
}
.site-header .thea-mark {
  width: 42px !important;
  height: 40px !important;
  object-fit: contain !important;
  filter: none !important;
  display: block !important;
  flex-shrink: 0 !important;
}
.site-header .thea > div {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.site-header .thea span {
  display: block !important;
  font: 9px/1.3 var(--mono, monospace) !important;
  letter-spacing: 0.22em !important;
  margin-top: 4px !important;
  color: rgba(255, 255, 255, 0.72) !important;
}
@media (max-width: 700px) {
  .site-header .thea {
    gap: 20px !important;
  }
  .site-header .thea-mark {
    width: 34px !important;
    height: 32px !important;
  }
}

/* ── Music Toggle Modern Pill ───────────────────────────────── */
.music-toggle {
  position: fixed !important;
  bottom: 22px !important;
  right: 24px !important;
  top: auto !important;
  z-index: 100 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 18px !important;
  min-height: 36px !important;
  background: rgba(12, 12, 14, 0.8) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-family: var(--mono, monospace) !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5) !important;
}
.music-toggle:hover {
  background: rgba(26, 26, 30, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.6) !important;
}
.music-toggle:active {
  transform: translateY(1px) !important;
}
.music-toggle .music-icon {
  flex-shrink: 0 !important;
  display: block;
}
.music-toggle.is-paused {
  opacity: 0.7 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}
.music-toggle.is-paused:hover {
  opacity: 1 !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}
@media (max-width: 600px) {
  .music-toggle {
    bottom: 14px !important;
    right: 14px !important;
    padding: 6px 14px !important;
    font-size: 10px !important;
    min-height: 32px !important;
  }
}

/* ── Section 1 Background Realistic Film Grain ──────────────── */
body > .film-grain {
  display: none !important;
}

.hero-film-grain {
  position: absolute;
  inset: -80px;
  width: calc(100% + 160px);
  height: calc(100% + 160px);
  z-index: 2;
  pointer-events: none;
  background-image: url('assets/film-grain-alpha.png');
  background-repeat: repeat;
  background-size: 160px 160px;
  opacity: 0.10;
  animation: hero-grain-jitter 1.4s steps(1) infinite;
  will-change: transform;
}

@keyframes hero-grain-jitter {
  0%   { transform: translate3d(0, 0, 0); }
  10%  { transform: translate3d(-24px, -18px, 0); }
  20%  { transform: translate3d(30px, 34px, 0); }
  30%  { transform: translate3d(-18px, 24px, 0); }
  40%  { transform: translate3d(34px, -28px, 0); }
  50%  { transform: translate3d(-28px, 16px, 0); }
  60%  { transform: translate3d(18px, -34px, 0); }
  70%  { transform: translate3d(-34px, -12px, 0); }
  80%  { transform: translate3d(24px, 30px, 0); }
  90%  { transform: translate3d(-14px, 32px, 0); }
  100% { transform: translate3d(16px, -16px, 0); }
}

@media all {
  :where(html[data-koan-motion="reduced"]) .hero-film-grain {
    animation: none !important;
  }
}

/* ── Unified Music Dock & Volume Control ─────────────────────── */
.music-dock {
  position: fixed !important;
  bottom: 22px !important;
  right: 24px !important;
  top: auto !important;
  z-index: 100 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 6px 14px 6px 16px !important;
  min-height: 38px !important;
  background: rgba(12, 12, 14, 0.82) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5) !important;
  pointer-events: auto !important;
  transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.music-dock:hover {
  background: rgba(22, 22, 26, 0.94) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.6) !important;
}

.music-dock .music-toggle {
  position: static !important;
  inset: auto !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  min-height: auto !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 11px !important;
  font-family: var(--mono, monospace) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
}

.music-dock .music-toggle:hover {
  opacity: 0.85 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.music-dock .music-toggle .music-icon {
  flex-shrink: 0 !important;
  display: block;
}

.music-dock .volume-divider {
  width: 1px !important;
  height: 14px !important;
  background: rgba(255, 255, 255, 0.2) !important;
}

.music-dock .music-volume-ctrl {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.music-dock .music-volume-slider {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 58px !important;
  height: 3px !important;
  background: rgba(255, 255, 255, 0.22) !important;
  border-radius: 2px !important;
  outline: none !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.music-dock .music-volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 11px !important;
  height: 11px !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer !important;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.6) !important;
  transition: transform 0.15s ease !important;
}

.music-dock .music-volume-slider::-webkit-slider-thumb:hover {
  transform: scale(1.25) !important;
}

.music-dock .music-volume-slider::-moz-range-thumb {
  width: 11px !important;
  height: 11px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: none !important;
  cursor: pointer !important;
}

.music-dock .volume-val {
  font: 10px var(--mono, monospace) !important;
  color: rgba(255, 255, 255, 0.6) !important;
  min-width: 27px !important;
}

@media (max-width: 600px) {
  .music-dock {
    bottom: 14px !important;
    right: 14px !important;
    padding: 5px 12px !important;
    min-height: 32px !important;
    gap: 8px !important;
  }
  .music-dock .music-volume-slider {
    width: 42px !important;
  }
  .music-dock .volume-val {
    display: none !important;
  }
}

/* ── Mobile Hamburger Menu & Effortless Scroll ──────────────── */
.ham-trigger {
  display: none;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  width: 40px;
  height: 40px;
  padding: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  z-index: 105;
  transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
  pointer-events: auto;
}

.ham-trigger .ham-line {
  display: block;
  width: 22px;
  height: 1.5px;
  background: #fff;
  border-radius: 1px;
  transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.2s ease;
}

.ham-trigger.is-active {
  background: transparent !important;
  border: none !important;
}

.ham-trigger.is-active .ham-line-1 {
  transform: translateY(3.75px) rotate(45deg);
}

.ham-trigger.is-active .ham-line-2 {
  transform: translateY(-3.75px) rotate(-45deg);
}

@media (max-width: 800px) {

  .site-header {
    padding: 16px 20px !important;
  }

  .ham-trigger {
    display: flex !important;
  }

  .site-header nav#site-nav {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100svh !important;
    background: transparent !important;
    background-color: transparent !important;
    backdrop-filter: blur(32px) !important;
    -webkit-backdrop-filter: blur(32px) !important;
    z-index: 102 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 32px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-16px) !important;
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .site-header nav#site-nav.is-open {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  /* The closed drawer is invisible: its links must not catch taps */
  .site-header nav#site-nav:not(.is-open) a {
    pointer-events: none !important;
  }

  .site-header nav#site-nav a {
    font-size: 26px !important;
    font-family: var(--display, 'Barlow Condensed', Arial, sans-serif) !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.88) !important;
    padding: 8px 16px !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.7) !important;
    transition: color 0.2s, transform 0.2s !important;
  }

  .site-header nav#site-nav a:hover,
  .site-header nav#site-nav a:active {
    color: #fff !important;
    transform: scale(1.08) !important;
  }

  .site-header nav#site-nav a:after {
    display: none !important;
  }
}

/* ── Section 2 Vertical Story Scrubber (portrait screens only) ───── */
/* Track: nodes, fill and thumb all share this box, so they can never drift apart */

.hero-picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.hero-picture .hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center !important;
}
@media (orientation: portrait), (max-aspect-ratio: 1/1), (max-width: 800px) {
  .hero-picture .hero-image {
    object-position: center center !important;
  }
}

/* Large-viewport height: no black strip when the mobile address bar collapses */
.hero-stage { height: 100vh; height: 100lvh; }
/* Story text never runs under the right-hand slider on portrait screens */

/* Poster archive: round arrow controls instead of plain text links */
.poster-nav { gap: 12px !important; align-items: center; }
.poster-nav button {
  width: 52px; height: 52px; min-height: 0; padding: 0;
  display: grid; place-items: center;
  border: 1px solid rgba(255, 255, 255, .28) !important; border-radius: 50%;
  background: rgba(255, 255, 255, .02); color: #fff;
  transition: background .25s, border-color .25s, transform .25s;
}
.poster-nav button:hover { background: rgba(255, 255, 255, .12); border-color: #fff !important; }
.poster-nav button:active { transform: scale(.94); }
.poster-nav svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 800px) { .poster-nav button { width: 44px; height: 44px; } }

/* Phones: the music control becomes a small round sound button (hardware keys handle volume) */
@media (max-width: 600px) {
  .music-dock {
    width: 44px !important; height: 44px !important; min-height: 0 !important;
    padding: 0 !important; gap: 0 !important; justify-content: center !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
  }
  .music-dock .music-text, .music-dock .volume-divider, .music-dock .music-volume-ctrl { display: none !important; }
  .music-dock .music-toggle { width: 44px !important; height: 44px !important; justify-content: center !important; color: #fff !important; }
  .music-dock .music-icon { width: 16px; height: 16px; }
}

/* ── Phone menu: a dark, cinematic chapter index ── */
@media (max-width: 800px) {
  .site-header nav#site-nav {
    counter-reset: chapter;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 96px 8vw 104px !important;
    background:
      radial-gradient(ellipse 90% 55% at 85% 0%, rgba(140, 38, 52, .28), transparent 65%),
      radial-gradient(ellipse 80% 50% at 0% 100%, rgba(60, 70, 140, .18), transparent 65%),
      rgba(7, 7, 8, .97) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    transform: none !important;
    transition: opacity .45s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .45s !important;
    visibility: hidden;
  }
  .site-header nav#site-nav.is-open {
    visibility: visible;
    transition: opacity .45s cubic-bezier(.2, .8, .2, 1), visibility 0s !important;
  }
  /* small header label and film credit line */
  .site-header nav#site-nav::before {
    position: absolute;
    left: 8vw;
    font: 400 9.5px/1.6 var(--mono, monospace);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .45);
  }
  .site-header nav#site-nav::before { content: 'Index'; top: 34px; }
  .site-header nav#site-nav .menu-credit {
    display: block;
    position: absolute;
    left: 8vw;
    bottom: max(30px, env(safe-area-inset-bottom));
    font: 400 9.5px/1.6 var(--mono, monospace);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .45);
    pointer-events: none;
  }
  .site-header nav#site-nav a {
    counter-increment: chapter;
    display: grid !important;
    grid-template-columns: 44px 1fr auto;
    align-items: baseline;
    padding: 20px 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .12);
    font: 400 clamp(32px, 9.5vw, 46px)/1 var(--serif, serif) !important;
    letter-spacing: -.01em !important;
    text-transform: none !important;
    text-shadow: none !important;
    color: #f2f2f2 !important;
    opacity: 0;
    translate: 0 22px;
    transition: opacity .55s cubic-bezier(.2, .8, .2, 1), translate .7s cubic-bezier(.2, .8, .2, 1), color .2s !important;
  }
  .site-header nav#site-nav a:last-of-type { border-bottom: 1px solid rgba(255, 255, 255, .12); }
  .site-header nav#site-nav a::before {
    content: '0' counter(chapter);
    font: 400 10px/1 var(--mono, monospace);
    letter-spacing: .2em;
    color: rgba(255, 255, 255, .42);
    transform: translateY(-.5em);
  }
  .site-header nav#site-nav.is-open a::after {
    content: '' !important;
    display: block !important;
    position: static !important;
    width: 9px; height: 9px;
    border-top: 1px solid rgba(255, 255, 255, .55);
    border-right: 1px solid rgba(255, 255, 255, .55);
    background: none !important;
    transform: rotate(45deg) translateY(-.2em);
  }
  .site-header nav#site-nav.is-open a { opacity: 1; translate: 0 0; }
  .site-header nav#site-nav.is-open a:nth-child(1) { transition-delay: .08s, .08s, 0s !important; }
  .site-header nav#site-nav.is-open a:nth-child(2) { transition-delay: .14s, .14s, 0s !important; }
  .site-header nav#site-nav.is-open a:nth-child(3) { transition-delay: .20s, .20s, 0s !important; }
  .site-header nav#site-nav.is-open a:nth-child(4) { transition-delay: .26s, .26s, 0s !important; }
  .site-header nav#site-nav.is-open a:nth-child(5) { transition-delay: .32s, .32s, 0s !important; }
  .site-header nav#site-nav a:hover,
  .site-header nav#site-nav a:active {
    transform: none !important;
    color: #fff !important;
    font-style: italic !important;
  }
  .site-header nav#site-nav a:active { color: rgba(255, 255, 255, .7) !important; }
}
@media (max-width: 800px) {
  :where(html[data-koan-motion="reduced"]) .site-header nav#site-nav a { translate: none; transition: opacity .2s !important; }
}
@media (max-width: 800px) {
  .site-header nav#site-nav.is-open a::after { margin-right: 6px; }
  /* lift the open menu above the film grain and scratch overlays */
  .site-header:has(#site-nav.is-open) { z-index: 120 !important; }
}

/* Phones: tapping the round sound button opens the full control with the volume slider */
@media (max-width: 600px) {
  .music-dock.is-expanded {
    width: auto !important; height: 44px !important;
    padding: 0 16px 0 6px !important; gap: 10px !important;
    background: rgba(12, 12, 14, .92) !important;
  }
  .music-dock.is-expanded .music-toggle { width: auto !important; padding: 0 4px 0 10px !important; gap: 8px !important; }
  .music-dock.is-expanded .music-text,
  .music-dock.is-expanded .volume-divider { display: block !important; }
  .music-dock.is-expanded .music-volume-ctrl { display: flex !important; }
  .music-dock.is-expanded .music-volume-slider { width: 96px !important; }
  .music-dock.is-expanded .volume-val { display: inline !important; }
}

/* Story rail rides with the pinned stage; thumb and fill move by transform only */

/* Posters: one shared height; each poster keeps its own proportions, so widths may differ */
.poster-rail { align-items: flex-start; }
.poster-card { flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; max-width: none !important; }
.poster-card img {
  height: min(42vw, 640px) !important;
  max-height: none !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain;
}
.poster-card span { max-width: 100%; }
@media (max-width: 800px) {
  .poster-card img { height: min(112vw, 66svh) !important; }
}

/* The KOΛN logogram wherever the name appears (see koan-mark.js) */
.koan-mark {
  font-family: 'Libre Caslon Display', Didot, 'Times New Roman', serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: .1em !important;
  margin-right: -.1em;            /* no trailing gap before punctuation */
  -webkit-text-stroke: 0 !important;
  white-space: nowrap;
}
.koan-mark .koan-sr {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

.site-header nav .menu-credit { display: none; }

/* Opening screen on phones: the stage is sized to the full screen (address bar hidden), so keep the
   bottom row above whatever part of the screen is actually visible, and clear of the sound button */
@supports (height: 100dvh) {
  @media (max-width: 800px) {
    .hero-bottom { bottom: calc(100lvh - 100dvh + 34px) !important; }
  }
}
@media (max-width: 600px) {
  .hero-bottom { right: calc(4vw + 58px) !important; }
}

/* Lite mode (weak devices): drop the decorative layers on the hero */
html.k-lite .hero-film-grain, html.k-lite #particles { display: none !important; }
html.k-lite .hero-stage { will-change: auto; }
