/* =============================================================================
   SHOWMAN PRODUCTIONS — 2026
   Cinematic · obsidian + burnished gold · editorial
   ========================================================================== */

:root{
  --bg:        #0a0a0b;
  --bg-2:      #0e0f11;
  --panel:     #121316;         /* cool dark */
  --line:      rgba(255,255,255,.12);
  --line-2:    rgba(255,255,255,.055);
  --ink:       #eef0f2;         /* cool bone white */
  --ink-soft:  #a6a9af;
  --ink-mute:  #63666c;
  /* Showman signature — monochrome + spotlight silver (var names kept) */
  --gold:      #cfd4da;         /* silver accent */
  --gold-2:    #eef2f6;         /* bright silver */
  --gold-deep: #8b9199;         /* dim steel */
  --teal:      #8a9198;
  --red:       #cfd4da;         /* neutralized (no color) */
  --warm:      #cfd4da;         /* accent = silver (used broadly) */
  --warm-2:    #eef2f6;
  --warm-dim:  #474b52;         /* steel hairline */
  --warm-glow: rgba(228,235,244,.30);
  --warm-wash: rgba(228,235,244,.06);
  /* filament gold — display accent (headlines, stats, wordmarks) */
  --fil-1: #fff6d6;  --fil-2: #ffd24e;  --fil-3: #c9962c;  --fil-4: #8a6420;
  --fil: #f4c24a;    --fil-glow: rgba(255,180,30,.26);

  --serif:   "Bebas Neue", sans-serif;          /* display / big numerals */
  --display: "Bebas Neue", sans-serif;
  --mono:    "Space Mono", ui-monospace, monospace;
  --deco:    "Space Mono", ui-monospace, monospace;  /* surveillance labels */
  --sans:    "Inter", -apple-system, BlinkMacSystemFont, sans-serif;

  --wrap: 1240px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:300;
  line-height:1.55;
  letter-spacing:.01em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--warm); color:#000; }

/* ---------- overlays: grain + spotlight + progress ---------- */
.grain{
  position:fixed; inset:-15%; z-index:9998; pointer-events:none; opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 8s steps(6) infinite;
  will-change:transform; transform:translateZ(0);
}
@keyframes grain{
  0%,100%{transform:translate3d(0,0,0)} 20%{transform:translate3d(-5%,3%,0)}
  40%{transform:translate3d(3%,-5%,0)} 60%{transform:translate3d(-3%,5%,0)} 80%{transform:translate3d(5%,-3%,0)}
}
.spotlight{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(600px circle at var(--mx,50%) var(--my,30%),
             rgba(230,235,240,.06), transparent 60%);
  transition:background .2s;
}
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:0; z-index:10000;
  background:linear-gradient(90deg,var(--fil-4),var(--fil-2));
}

/* ---------- NAV ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:9000;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px clamp(18px,4vw,54px);
  transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(8,8,10,.72); backdrop-filter:blur(14px) saturate(1.2);
  padding-top:14px; padding-bottom:14px; border-bottom-color:var(--line-2);
}
.nav__brand{ display:flex; align-items:center; gap:12px; font-weight:600; letter-spacing:.16em; font-size:14px; }
.nav__mark{ width:24px; height:24px; color:var(--ink); flex:none; transition:transform .5s var(--ease); }
.nav__brand:hover .nav__mark{ transform:rotate(6deg) scale(1.06); }
.nav__thin{ color:var(--ink-mute); font-weight:300; }
.nav__links{ display:flex; align-items:center; gap:34px; }
.nav__links a{ font-size:13px; letter-spacing:.06em; color:var(--ink-soft); position:relative; transition:color .3s; }
.nav__links a:hover{ color:var(--ink); }
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:-6px; height:1px; width:0;
  background:var(--fil-2); transition:width .3s var(--ease);
}
.nav__links a:hover::after{ width:100%; }
.nav__cta{
  border:1px solid var(--line); padding:9px 18px; border-radius:100px; color:var(--ink)!important;
}
.nav__cta:hover{ border-color:var(--warm); background:rgba(216,178,90,.08); }
.nav__cta::after{ display:none; }
.nav__burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; position:relative; z-index:9200; }
.nav__burger span{ width:24px; height:2px; background:var(--ink); transition:transform .3s var(--ease), opacity .3s; transform-origin:center; }
.nav__burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav__burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.nav__scrim{ position:fixed; inset:0; z-index:8500; background:rgba(6,6,8,.6); backdrop-filter:blur(3px);
  opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s; }
.nav__scrim.show{ opacity:1; visibility:visible; }

/* ---------- HERO ---------- */
.hero{ position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; }
.hero__bg{ position:absolute; inset:0; z-index:0; }
.hero__mesh{
  position:absolute; inset:-20%;
  background:
    radial-gradient(40% 50% at 50% -5%, rgba(240,244,248,.16), transparent 60%),
    radial-gradient(50% 60% at 18% 30%, rgba(200,208,216,.07), transparent 62%),
    radial-gradient(60% 70% at 82% 80%, rgba(180,188,196,.06), transparent 60%),
    var(--bg);
  filter:blur(34px);
  animation:drift 24s ease-in-out infinite alternate;
  will-change:transform; transform:translateZ(0); backface-visibility:hidden;
}
@keyframes drift{
  0%{ transform:translate3d(0,0,0) scale(1.05); }
  100%{ transform:translate3d(-3%,2%,0) scale(1.12); }
}
.hero__vignette{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(8,8,10,.6) 0%, transparent 22%, transparent 60%, var(--bg) 100%),
    radial-gradient(120% 120% at 50% 40%, transparent 40%, rgba(8,8,10,.7) 100%);
}
/* ---- HERO · streamer billboard ---- */
.hero{ align-items:flex-end; }
.bb__media{ position:absolute; inset:0; z-index:0; background-size:cover; background-position:center 28%;
  background-image:
    radial-gradient(110% 80% at 72% 8%, rgba(255,255,255,.10), transparent 52%),
    radial-gradient(80% 70% at 25% 88%, rgba(0,0,0,.55), transparent 60%),
    linear-gradient(155deg,#191a1e 0%, #0d0d10 58%, #090909 100%);
  filter:grayscale(1) contrast(1.05);
  transform:scale(1.05); animation:bbzoom 26s ease-in-out infinite alternate; }
@keyframes bbzoom{ to{ transform:scale(1.14); } }
.bb__scrim{ position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(0deg, var(--bg) 1%, rgba(10,10,11,.55) 22%, transparent 60%),
    linear-gradient(90deg, rgba(10,10,11,.9) 0%, rgba(10,10,11,.4) 42%, transparent 74%); }
.bb__grain{ position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.06; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* clean centered stage hero — the ghosted outlined wordmark */
.hero{ align-items:center; }
.stage{ position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(46% 42% at 50% 42%, rgba(255,206,110,.12), transparent 62%),
    radial-gradient(95% 75% at 50% 135%, rgba(255,190,90,.04), transparent 72%); }
.hero__center{ position:relative; z-index:2; width:100%; max-width:1360px; margin:0 auto;
  padding:0 clamp(20px,4vw,54px); text-align:center; }
.hero__eyebrow{ font-family:var(--mono); font-size:12px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:clamp(16px,2.4vw,26px); }
.hero__mark{ position:relative; margin:0; line-height:.8; }
/* hazing gold atmosphere behind the letters — throbs in sync */
.hero__mark::before{ content:""; position:absolute; left:50%; top:52%; transform:translate(-50%,-50%);
  width:96%; height:170%; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse 58% 48% at 50% 50%, rgba(255,198,66,.26), rgba(255,168,18,.10) 45%, transparent 72%);
  filter:blur(44px); animation:haze 6.5s ease-in-out infinite; }
@keyframes haze{ 0%,100%{ opacity:.5; transform:translate(-50%,-50%) scale(.95); }
  50%{ opacity:1; transform:translate(-50%,-50%) scale(1.07); } }

.ghost{ display:inline-block; font-family:var(--display); font-weight:400;
  font-size:clamp(80px,21vw,340px); letter-spacing:.03em; line-height:.8;
  background:linear-gradient(179deg, #fff6d6 4%, #ffd24e 34%, #c9962c 62%, #6a4c12 86%, #2c1e06 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  -webkit-text-stroke:1.4px rgba(255,224,128,.8);
  filter:
    drop-shadow(0 0 11px rgba(255,201,52,.6))
    drop-shadow(0 0 32px rgba(255,184,30,.44))
    drop-shadow(0 0 74px rgba(255,160,8,.3));
  animation: ignite 2s cubic-bezier(.2,.7,.2,1) both, glow 6.5s ease-in-out 2.1s infinite; }

/* bulb flickers to life once on load */
@keyframes ignite{
  0%{ opacity:0; -webkit-text-stroke-color:rgba(255,224,128,.15);
    filter:drop-shadow(0 0 0 transparent); }
  30%{ opacity:.5; }
  48%{ opacity:1; -webkit-text-stroke-color:rgba(255,246,208,1);
    filter:drop-shadow(0 0 20px rgba(255,244,196,1)) drop-shadow(0 0 52px rgba(255,206,70,.95)) drop-shadow(0 0 120px rgba(255,168,18,.6)); }
  58%{ opacity:.72;
    filter:drop-shadow(0 0 7px rgba(255,201,52,.4)); }
  70%{ opacity:1;
    filter:drop-shadow(0 0 16px rgba(255,232,150,.9)) drop-shadow(0 0 44px rgba(255,196,54,.7)); }
  100%{ opacity:1; -webkit-text-stroke-color:rgba(255,224,128,.8);
    filter:drop-shadow(0 0 11px rgba(255,201,52,.6)) drop-shadow(0 0 32px rgba(255,184,30,.44)) drop-shadow(0 0 74px rgba(255,160,8,.3)); } }

/* barely-there idle breathe */
@keyframes glow{
  0%,100%{ filter:drop-shadow(0 0 10px rgba(255,201,52,.55)) drop-shadow(0 0 30px rgba(255,184,30,.4)) drop-shadow(0 0 70px rgba(255,160,8,.28)); }
  50%{ filter:drop-shadow(0 0 13px rgba(255,214,86,.72)) drop-shadow(0 0 38px rgba(255,190,42,.5)) drop-shadow(0 0 90px rgba(255,166,14,.35)); } }
.hero__tagline{ font-family:var(--sans); font-size:clamp(15px,1.8vw,20px); color:var(--ink-soft);
  margin:clamp(22px,3vw,34px) auto 0; max-width:520px; }
.hero__cta{ display:flex; gap:20px; justify-content:center; align-items:center; margin-top:clamp(28px,3.4vw,40px); flex-wrap:wrap; }

/* soft overhead GOLD spotlight cone (gentle breathe — no sweep) */
.hero__sheen{ position:absolute; top:-12%; left:50%; transform:translateX(-50%); width:98vw; height:122%; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(255,201,80,.28) 0%, rgba(255,193,64,.09) 32%, transparent 64%);
  clip-path:polygon(44% 0, 56% 0, 94% 100%, 6% 100%);
  filter:blur(14px); mix-blend-mode:screen; animation:spot 6.5s ease-in-out infinite; }
.hero__sheen::before{ content:""; position:absolute; top:-18px; left:50%; transform:translateX(-50%);
  width:180px; height:52px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(255,224,140,.9), transparent 72%); filter:blur(7px); }
@keyframes spot{ 0%,100%{ opacity:.7; } 50%{ opacity:1; } }

/* understated hero buttons */
.btn--line{ background:transparent; border-color:var(--line); color:var(--ink); }
.btn--line:hover{ border-color:var(--ink); background:rgba(255,255,255,.04); }
.btn--text{ background:transparent; color:var(--ink-soft); padding:15px 4px; }
.btn--text:hover{ color:var(--ink); transform:translateY(-2px); }
.hero__actions{ display:flex; gap:16px; flex-wrap:wrap; }
.hero__scroll{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-mute);
}
.hero__scroll i{ width:1px; height:44px; background:linear-gradient(var(--warm),transparent); animation:pulse 2.2s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{opacity:.3; transform:scaleY(.6)} 50%{opacity:1; transform:scaleY(1)} }
/* mobile portrait — keep the SCROLL cue clear of the tagline / CTA */
@media(max-width:600px){
  .hero__center{ padding-bottom:112px; }
  .hero__scroll{ bottom:16px; gap:7px; }
  .hero__scroll i{ height:30px; }
}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 26px; border-radius:7px;
  font-family:var(--sans); font-size:15px; letter-spacing:.01em; font-weight:600;
  cursor:pointer; border:1px solid transparent;
  transition:transform .3s var(--ease), background .3s, border-color .3s, color .3s, box-shadow .3s;
}
.btn:hover{ transform:translateY(-2px); }
.btn--primary{ background:var(--gold); color:#161200; font-weight:700; }
.btn--primary:hover{ background:var(--gold-2); box-shadow:0 12px 30px -12px var(--warm-glow); }
.btn--ghost{ border-color:var(--line); color:var(--ink); }
.btn--ghost:hover{ border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.06); }
.btn--wide{ width:100%; }
.btn__dot{ width:7px; height:7px; border-radius:50%; background:currentColor; }

/* ---------- MARQUEE ---------- */
.marquee{ position:relative; overflow:hidden; border-top:1px solid rgba(230,168,75,.16); border-bottom:1px solid rgba(230,168,75,.16); background:var(--bg-2); padding:20px 0; }
.marquee__label{ position:absolute; left:0; top:0; bottom:0; z-index:2; display:flex; align-items:center; padding:0 22px 0 clamp(18px,4vw,54px); font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-mute); background:linear-gradient(90deg, var(--bg-2) 72%, transparent); pointer-events:none; }
.marquee__track{ display:flex; gap:48px; white-space:nowrap; width:max-content; animation:scroll-x 40s linear infinite; }
.marquee__track span{ font-family:var(--deco); text-transform:uppercase; letter-spacing:.26em; font-size:clamp(13px,1.6vw,18px); color:var(--ink-soft); display:inline-flex; align-items:center; gap:48px; }
.marquee__track span::after{ content:"◆"; color:var(--fil-2); font-size:9px; }
@keyframes scroll-x{ to{ transform:translateX(-50%); } }

/* ---------- STATS BAND (FLW horizontal banding) ---------- */
.stats{ border-bottom:1px solid var(--line-2); background:
  linear-gradient(180deg, rgba(230,168,75,.03), transparent 60%), var(--bg); }
.stats__inner{ max-width:var(--wrap); margin:0 auto; padding:clamp(40px,6vw,72px) clamp(18px,4vw,54px);
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:34px 20px; }
.stat{ text-align:center; padding:0 16px; position:relative; }
.stat + .stat::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:1px; height:52px; background:linear-gradient(180deg,transparent,var(--line),transparent); }
.stat__v{ display:block; font-family:var(--serif); font-weight:700; font-size:clamp(32px,3.6vw,50px);
  line-height:1; letter-spacing:.01em; white-space:nowrap; overflow:visible;
  background:linear-gradient(179deg, var(--fil-1) 6%, var(--fil-2) 42%, var(--fil-3) 78%, var(--fil-4) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 0 14px var(--fil-glow)); }
.stat__v--static{ letter-spacing:.02em; }
.stat__l{ display:block; margin-top:14px; font-family:var(--deco); text-transform:uppercase;
  letter-spacing:.22em; font-size:clamp(10px,1.1vw,12px); color:var(--ink-mute); }
@media(max-width:720px){
  .stats__inner{ grid-template-columns:repeat(3,1fr); gap:30px 6px; }
  .stat{ padding:0 4px; }
  .stat__v{ font-size:clamp(26px,7vw,42px); }
  .stat__l{ font-size:10px; letter-spacing:.1em; }
  .stat::before{ display:none!important; }
}

/* ---------- POSTER FLYWHEEL (3D coverflow) ---------- */
.flywheel-sec{ position:relative; padding:clamp(56px,7vw,96px) 0; overflow:hidden; text-align:center; }
.fw__head{ margin-bottom:clamp(26px,3vw,40px); }
.fw__kicker{ font-family:var(--mono); font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-mute); }
.fw__title{ font-family:var(--sans); font-weight:700; font-size:clamp(26px,3.6vw,44px); margin-top:8px; letter-spacing:-.015em;
  background:linear-gradient(179deg, var(--fil-1) 4%, var(--fil-2) 40%, var(--fil-3) 74%, var(--fil-4) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 0 18px var(--fil-glow)); }
.flywheel{ position:relative; height:min(60vh,500px); perspective:1700px; }
/* faint gold brand glow behind the collectibles */
.flywheel::before{ content:""; position:absolute; left:50%; top:52%; transform:translate(-50%,-50%);
  width:min(560px,60vw); height:66%; z-index:0; pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(255,190,70,.20), rgba(255,168,30,.06) 46%, transparent 72%);
  filter:blur(48px); }
.fw__stage{ position:absolute; inset:0; transform-style:preserve-3d; touch-action:pan-y; z-index:1; }
.fw-card{ position:absolute; top:50%; left:50%; width:clamp(190px,23vw,290px); aspect-ratio:2/3;
  transform-style:preserve-3d; transition:transform .62s cubic-bezier(.2,.7,.2,1), opacity .62s;
  will-change:transform, opacity; text-decoration:none; }
/* encased "graded card" glass slab */
.fw-card__glass{ position:relative; width:100%; height:100%; border-radius:15px; overflow:hidden; padding:9px;
  background:linear-gradient(155deg, rgba(72,74,82,.55), rgba(14,14,17,.75) 60%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 34px 64px -22px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.4),
             inset 0 0 0 1px rgba(255,255,255,.05), inset 0 -24px 40px -26px rgba(0,0,0,.7); }
.fw-card img, .fw-card__ph{ width:100%; height:100%; border-radius:7px; box-shadow:0 3px 12px rgba(0,0,0,.55), 0 0 0 1px rgba(255,205,90,.45); }
.fw-card.is-active img{ box-shadow:0 3px 12px rgba(0,0,0,.55), 0 0 0 1px rgba(255,214,112,.7); }
.fw-card img{ object-fit:cover; display:block; filter:grayscale(.4) contrast(1.03); transition:filter .5s; }
.fw-card.is-active img{ filter:grayscale(0) contrast(1.05); }
.fw-card__ph{ display:grid; place-items:center; background:linear-gradient(160deg,#1a1b1e,#0b0b0d); }
.fw-card__ph span{ font-family:var(--serif); font-size:clamp(48px,6vw,70px); color:rgba(255,255,255,.14); }
/* glossy reflection sweeping the case */
.fw-card__sheen{ position:absolute; inset:0; z-index:3; pointer-events:none; border-radius:15px;
  background:linear-gradient(122deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.05) 18%, transparent 38%, transparent 68%, rgba(255,255,255,.10) 100%); }
.fw-card.is-active .fw-card__glass{ border-color:rgba(255,255,255,.42);
  box-shadow:0 48px 90px -22px rgba(0,0,0,.88), 0 0 84px 10px rgba(255,186,54,.26),
             inset 0 1px 0 rgba(255,255,255,.5), inset 0 -24px 40px -26px rgba(0,0,0,.7); }
.fw__nav{ position:absolute; top:50%; transform:translateY(-50%); z-index:200; width:52px; height:52px; border-radius:50%;
  border:1px solid var(--line); background:rgba(10,10,11,.55); color:var(--ink); font-size:26px; line-height:1; cursor:pointer;
  transition:.3s var(--ease); display:grid; place-items:center; }
.fw__prev{ left:clamp(8px,4vw,56px); } .fw__next{ right:clamp(8px,4vw,56px); }
.fw__nav:hover{ border-color:var(--fil); color:var(--fil-2); background:rgba(10,10,11,.8); transform:translateY(-50%) scale(1.08); }
.fw__caption{ margin-top:clamp(24px,3vw,34px); min-height:26px; }
.fw-cap__t{ font-family:var(--sans); font-weight:600; font-size:clamp(17px,2vw,21px); color:var(--ink); }
.fw-cap__y{ font-family:var(--mono); font-size:13px; color:var(--ink-mute); margin-left:12px; }
.fw__dots{ display:flex; gap:9px; justify-content:center; margin-top:18px; }
.fw-dot{ width:8px; height:8px; border-radius:50%; border:0; padding:0; background:var(--line); cursor:pointer; transition:.3s; }
.fw-dot.is-active{ background:var(--fil); transform:scale(1.35); }

/* headshot swapped into the Owain portrait */
.owain__portrait{ background-size:cover; background-position:center top; }
.owain__portrait.has-img::after{ display:none; }
@media(max-width:520px){ .fw__nav{ width:44px; height:44px; font-size:22px; } }

/* ---------- BOX OFFICE (elite showcase) ---------- */
.boxoffice{ border-top:1px solid var(--line-2); background:linear-gradient(180deg, rgba(255,190,60,.02), transparent 55%); }
.bo__inner{ max-width:var(--wrap); margin:0 auto; padding:clamp(64px,8vw,116px) clamp(20px,4vw,54px); text-align:center; }
.bo__head{ margin-bottom:clamp(40px,4.5vw,60px); }
.bo__subtitle{ font-family:var(--sans); font-weight:600; font-size:clamp(22px,3vw,38px); margin-top:12px; color:var(--ink); letter-spacing:-.015em; }
.bo__figures{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:clamp(36px,4vw,52px) 24px; margin-bottom:clamp(44px,5vw,64px); }
.bo__v{ display:block; font-family:var(--serif); font-weight:700; font-size:clamp(50px,7vw,104px); line-height:.88; letter-spacing:.01em; white-space:nowrap;
  background:linear-gradient(179deg, var(--fil-1) 4%, var(--fil-2) 42%, var(--fil-3) 78%, var(--fil-4) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 0 24px var(--fil-glow)); }
.bo__l{ display:block; margin-top:14px; font-family:var(--mono); font-size:clamp(11px,1.2vw,13px); letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); }
.bo__highlights{ list-style:none; display:flex; flex-direction:column; gap:15px; align-items:flex-start; width:fit-content; max-width:min(820px,88vw); margin:0 auto; text-align:left; }
.bo__highlights li{ font-family:var(--sans); font-size:clamp(14px,1.6vw,17px); color:var(--ink-soft); padding-left:26px; position:relative; }
.bo__highlights li::before{ content:"★"; position:absolute; left:0; color:var(--fil); font-size:12px; top:3px; }

/* ---------- PRESS / NEWS ---------- */
.press{ max-width:var(--wrap); margin:0 auto; padding:clamp(56px,7vw,96px) clamp(20px,4vw,54px); }
.press__head{ margin-bottom:32px; }
.press__title{ font-family:var(--sans); font-weight:700; font-size:clamp(26px,3.6vw,44px); letter-spacing:-.015em; margin-top:8px;
  background:linear-gradient(179deg, var(--fil-1) 4%, var(--fil-2) 40%, var(--fil-3) 74%, var(--fil-4) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; filter:drop-shadow(0 0 18px var(--fil-glow)); }
.press__list{ list-style:none; }
.press__row{ display:flex; align-items:baseline; gap:22px; padding:22px 8px; border-top:1px solid var(--line-2); transition:padding .35s var(--ease), background .35s; }
.press__item:last-child .press__row{ border-bottom:1px solid var(--line-2); }
.press__row:hover{ padding-left:18px; background:linear-gradient(90deg, var(--warm-wash), transparent 70%); }
.press__date{ flex:0 0 auto; width:96px; font-family:var(--mono); font-size:12px; letter-spacing:.06em; color:var(--ink-mute); }
.press__body{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:5px; }
.press__src{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--fil); }
.press__hl{ font-family:var(--sans); font-size:clamp(15px,1.7vw,19px); color:var(--ink); line-height:1.42; }
.press__arrow{ flex:0 0 auto; color:var(--ink-mute); font-size:16px; transition:transform .35s var(--ease), color .35s; }
.press__row:hover .press__arrow{ color:var(--fil); transform:translate(4px,-4px); }
@media(max-width:600px){ .press__date{ width:60px; } .press__row{ gap:14px; } }

/* ---------- AWARDS & RECOGNITION ---------- */
.awards{ border-top:1px solid var(--line-2); background:linear-gradient(180deg, rgba(255,190,60,.02), transparent 55%); }
.awards__inner{ max-width:var(--wrap); margin:0 auto; padding:clamp(60px,8vw,110px) clamp(20px,4vw,54px); text-align:center; }
.awards__head{ margin-bottom:clamp(40px,5vw,62px); }
.awards__title{ font-family:var(--sans); font-weight:700; font-size:clamp(26px,3.6vw,44px); letter-spacing:-.015em; margin-top:8px;
  background:linear-gradient(179deg, var(--fil-1) 4%, var(--fil-2) 40%, var(--fil-3) 74%, var(--fil-4) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; filter:drop-shadow(0 0 18px var(--fil-glow)); }
.awards__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:clamp(34px,4.5vw,52px) 24px; }
.award{ display:flex; align-items:center; justify-content:center; gap:10px; }
.award__laurel{ width:clamp(26px,2.8vw,36px); height:auto; color:var(--fil); flex:none; opacity:.9; filter:drop-shadow(0 0 8px var(--fil-glow)); }
.award > svg:last-of-type{ transform:scaleX(-1); }
.award__mid{ min-width:0; padding:0 4px; }
.award__title{ font-family:var(--sans); font-weight:700; font-size:clamp(16px,1.9vw,20px); line-height:1.22; letter-spacing:-.01em;
  background:linear-gradient(179deg, var(--fil-1) 6%, var(--fil-2) 46%, var(--fil-3) 88%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.award__work{ font-family:var(--sans); font-size:14px; color:var(--ink-soft); margin-top:6px; }
.award__note{ font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-mute); margin-top:5px; }

/* ---------- SECTION SHELL ---------- */
.section{ max-width:var(--wrap); margin:0 auto; padding:clamp(70px,10vw,140px) clamp(18px,4vw,54px); position:relative; z-index:2; }
.section__head{ margin-bottom:36px; }
.section__num{ font-family:var(--mono); font-size:12px; color:var(--gold); letter-spacing:.16em; text-transform:uppercase; display:inline-flex; align-items:center; gap:10px; margin-bottom:14px; }
.section__num::before{ content:""; width:30px; height:1px; background:linear-gradient(90deg, var(--gold), transparent); }
.section__title{ font-family:var(--sans); font-weight:700; font-size:clamp(26px,3.6vw,44px); line-height:1.05; letter-spacing:-.015em;
  background:linear-gradient(179deg, var(--fil-1) 4%, var(--fil-2) 40%, var(--fil-3) 74%, var(--fil-4) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 0 18px var(--fil-glow)); }
.section__sub{ margin-top:14px; color:var(--ink-soft); max-width:600px; font-size:clamp(15px,1.6vw,18px); }

/* ---------- REVEAL ---------- */
[data-reveal]{ opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
[data-reveal].in{ opacity:1; transform:none; }

/* filament-gold display treatment — top-lit gradient + soft bloom */
.filament{
  background:linear-gradient(179deg, var(--fil-1) 2%, var(--fil-2) 32%, var(--fil-3) 62%, var(--fil-4) 92%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 0 16px var(--fil-glow)); }

/* ---------- SHOWREEL ---------- */
.reel{ position:relative; aspect-ratio:16/9; border-radius:16px; overflow:hidden; padding:12px;
  border:1px solid rgba(255,206,92,.42);
  background:linear-gradient(155deg, rgba(60,62,70,.42), rgba(12,12,15,.9) 62%);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.85), 0 0 88px -14px rgba(255,186,54,.2),
             inset 0 1px 0 rgba(255,255,255,.3), inset 0 -20px 44px -28px rgba(0,0,0,.6); }
.reel iframe{ width:100%; height:100%; border:0; border-radius:9px; display:block; box-shadow:0 0 0 1px rgba(255,206,92,.4); }
/* thin gold rim + glass veneer over the casing */
.reel::after{ content:""; position:absolute; inset:0; z-index:3; pointer-events:none; border-radius:16px;
  box-shadow:inset 0 0 0 1px rgba(255,206,92,.5);
  background:linear-gradient(122deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.03) 18%, transparent 40%, transparent 74%, rgba(255,255,255,.06) 100%); }
.reel__ph{ position:absolute; inset:0; display:grid; place-items:center; cursor:pointer;
  background:
    radial-gradient(70% 110% at 50% -10%, rgba(240,244,248,.16), transparent 55%),
    repeating-linear-gradient(90deg, transparent 0 38px, rgba(255,255,255,.02) 38px 39px),
    linear-gradient(120deg,#101014,#141418);
}
.reel__ph::before{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%, transparent 60%, rgba(0,0,0,.5)); }
.reel__play{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:18px; color:var(--ink); }
.reel__ring{ width:96px; height:96px; border-radius:50%; border:1px solid var(--warm); display:grid; place-items:center; transition:.4s var(--ease); }
.reel__ph:hover .reel__ring{ background:var(--warm); transform:scale(1.06); }
.reel__ring svg{ width:26px; height:26px; fill:var(--warm); transition:.4s; margin-left:4px; }
.reel__ph:hover .reel__ring svg{ fill:#100c02; }
.reel__label{ text-transform:uppercase; letter-spacing:.3em; font-size:12px; color:var(--ink-soft); }

/* ---------- SLATE ---------- */
.slate__filters{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px; }
.filter{ padding:9px 18px; border:1px solid var(--line); border-radius:100px; font-size:13px; color:var(--ink-soft); cursor:pointer; background:none; transition:.3s; letter-spacing:.03em; }
.filter:hover{ color:var(--ink); border-color:var(--ink-mute); }
.filter.active{ background:var(--ink); color:#0a0a0c; border-color:var(--ink); }
.slate__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:22px; }
.card{
  position:relative; border:1px solid var(--line); border-radius:3px; overflow:hidden; background:var(--panel);
  min-height:400px; display:flex; flex-direction:column; justify-content:flex-end;
  transition:transform .5s var(--ease), border-color .5s, box-shadow .5s; transform-style:preserve-3d; cursor:default;
}
.card::after{ content:""; position:absolute; inset:10px; z-index:3; pointer-events:none;
  border:1px solid rgba(230,168,75,0); transition:border-color .5s; }
.card:hover{ border-color:rgba(230,168,75,.55); box-shadow:0 34px 70px -34px rgba(0,0,0,.85), 0 0 40px -20px var(--warm-glow); }
.card:hover::after{ border-color:rgba(230,168,75,.28); }
.card__poster{ position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; }
.card__poster--gen{
  background:
    radial-gradient(60% 55% at 50% 0%, rgba(240,244,248,.22), transparent 58%),
    radial-gradient(70% 60% at 80% 85%, rgba(160,168,176,.10), transparent 60%),
    linear-gradient(160deg,#141418,#0b0b0e);
}
.card__poster--gen::after{
  content:""; position:absolute; top:-4%; left:50%; transform:translateX(-50%);
  width:38%; height:80%; clip-path:polygon(42% 0,58% 0,82% 100%,18% 100%);
  background:linear-gradient(180deg, rgba(244,246,248,.14), transparent 70%); filter:blur(5px);
}
.card__scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(8,8,10,.1) 30%, rgba(8,8,10,.92) 100%); }
.card__body{ position:relative; z-index:2; padding:26px; }
.card__status{ display:inline-flex; align-items:center; gap:8px; font-family:var(--deco); font-size:11px; letter-spacing:.2em; text-transform:uppercase; margin-bottom:14px; padding:6px 12px; border-radius:2px; border:1px solid var(--line); background:rgba(0,0,0,.35); }
.card__status i{ width:6px; height:6px; transform:rotate(45deg); }
.st-development i{ background:var(--ink-soft); } .st-development{ color:var(--ink-soft); }
.st-production i{ background:var(--warm); box-shadow:0 0 8px var(--warm-glow); } .st-production{ color:var(--warm-2); }
.st-post i{ background:var(--ink); } .st-post{ color:var(--ink); }
.st-released i{ background:var(--warm-dim); } .st-released{ color:var(--ink-soft); }
.st-option i{ background:var(--warm-2); box-shadow:0 0 8px var(--warm-glow); } .st-option{ color:var(--warm-2); }
.st-shopping i{ background:var(--warm-2); box-shadow:0 0 6px var(--warm-glow); opacity:.85; } .st-shopping{ color:var(--warm-2); }
.card__type{ font-family:var(--deco); font-size:12px; color:var(--warm-2); letter-spacing:.24em; text-transform:uppercase; }
.card__title{ font-family:var(--serif); font-size:23px; line-height:1.1; margin:10px 0 12px; font-weight:600; text-transform:uppercase; letter-spacing:.02em; }
.card__logline{ font-size:14px; color:var(--ink-soft); line-height:1.5; max-height:0; overflow:hidden; opacity:0; transition:.5s var(--ease); }
.card:hover .card__logline{ max-height:130px; opacity:1; margin-bottom:14px; }
.card__meta{ display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; color:var(--ink-mute); border-top:1px solid var(--line-2); padding-top:14px; margin-top:4px; }
.card__meta a{ color:var(--warm-2); font-family:var(--deco); letter-spacing:.1em; }
.card__tags{ display:flex; gap:8px; flex-wrap:wrap; }
.card__tag{ font-size:11px; color:var(--ink-mute); }

/* ---------- STREAMER POSTER ROWS ---------- */
.slate__filters:empty{ display:none; }
.prow{ margin-bottom:46px; }
.prow:last-child{ margin-bottom:0; }
.prow__head{ display:flex; align-items:baseline; gap:14px; margin-bottom:16px; }
.prow__head h3{ font-family:var(--sans); font-weight:600; font-size:clamp(17px,2vw,23px); letter-spacing:-.01em; }
.prow__count{ font-family:var(--sans); font-size:12px; color:var(--ink-mute); letter-spacing:.04em; }
.prow__track{ display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x proximity; padding:8px 2px 20px;
  scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.prow__track::-webkit-scrollbar{ height:6px; }
.prow__track::-webkit-scrollbar-thumb{ background:var(--line); border-radius:3px; }
.prow__track::-webkit-scrollbar-thumb:hover{ background:var(--ink-mute); }
.pcard{ position:relative; flex:0 0 clamp(206px,22vw,258px); aspect-ratio:2/3; scroll-snap-align:start; cursor:pointer;
  perspective:1300px; transition:transform .4s var(--ease); }
.pcard:hover{ transform:translateY(-6px) scale(1.03); z-index:3; }
.pcard:focus-visible{ outline:none; }
.pcard__flip{ position:relative; width:100%; height:100%; transform-style:preserve-3d; transition:transform .72s cubic-bezier(.3,.8,.25,1); }
.pcard.is-flipped .pcard__flip{ transform:rotateY(180deg); }
.pcard__face{ position:absolute; inset:0; border-radius:10px; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:var(--panel);
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  box-shadow:0 26px 54px -26px rgba(0,0,0,.82), inset 0 1px 0 rgba(255,255,255,.16); }
.pcard:hover .pcard__face{ box-shadow:0 36px 70px -24px rgba(0,0,0,.86), 0 0 48px -12px var(--fil-glow), inset 0 1px 0 rgba(255,255,255,.2); }
/* thin gold hairline + glass sheen — mirrors the Starring Roles collectible slabs */
.pcard__front::after{ content:""; position:absolute; inset:0; z-index:3; pointer-events:none; border-radius:10px;
  box-shadow:inset 0 0 0 1px rgba(255,206,92,.45);
  background:linear-gradient(122deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.03) 18%, transparent 40%, transparent 72%, rgba(255,255,255,.07) 100%); }

/* ---- front ---- */
.pcard__poster{ position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(1) contrast(1.04); transition:filter .5s, transform .5s; }
.pcard:hover .pcard__poster{ filter:grayscale(.12) contrast(1.06); transform:scale(1.05); }
.pcard__poster--gen{ display:grid; place-items:center; background:radial-gradient(85% 55% at 50% 0%, rgba(255,255,255,.15), transparent 62%), linear-gradient(165deg,#1a1b1e,#0b0b0d); }
.prow__track .pcard:nth-child(3n+2) .pcard__poster--gen{ background:radial-gradient(78% 60% at 26% 8%, rgba(255,255,255,.13), transparent 60%), linear-gradient(150deg,#1d1e22,#0a0a0c); }
.prow__track .pcard:nth-child(3n+3) .pcard__poster--gen{ background:radial-gradient(72% 58% at 74% 4%, rgba(255,255,255,.1), transparent 60%), linear-gradient(205deg,#161719,#0b0b0d); }
.pcard__ghost{ font-family:var(--serif); font-size:clamp(44px,7vw,62px); color:rgba(255,255,255,.12); }
.pcard__grad{ position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg, rgba(8,8,9,.97) 3%, rgba(8,8,9,.5) 32%, transparent 60%); }
.pcard__badge{ position:absolute; top:12px; left:12px; z-index:2; display:inline-flex; align-items:center; gap:7px;
  font-family:var(--sans); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink);
  padding:5px 9px; border-radius:100px; background:rgba(10,10,11,.68); border:1px solid var(--line); }
.pcard__badge i{ width:6px; height:6px; border-radius:50%; background:var(--ink-soft); }
.pcard__badge.st-production i{ background:var(--fil); box-shadow:0 0 8px var(--fil-glow); }
.pcard__badge.st-option i{ background:var(--fil); box-shadow:0 0 8px var(--fil-glow); }
.pcard__badge.st-shopping i{ background:var(--fil); box-shadow:0 0 6px var(--fil-glow); opacity:.8; }
.pcard__badge.st-post i{ background:var(--ink); }
.pcard__badge.st-released i{ background:var(--ink-mute); }
.pcard__info{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:16px; }
.pcard__type{ font-family:var(--sans); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:6px; }
.pcard__title{ font-family:var(--sans); font-weight:600; font-size:17px; line-height:1.15; }
.pcard__hint{ display:inline-block; font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--fil); }
.pcard__front .pcard__hint{ margin-top:10px; }

/* ---- back ---- */
.pcard__back{ transform:rotateY(180deg); display:flex; flex-direction:column; padding:16px;
  background:linear-gradient(165deg,#17181c,#0b0b0d); border-color:rgba(255,206,92,.3); }
.pcard__backtop{ flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  scrollbar-width:thin; scrollbar-color:var(--line) transparent;
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 10px, #000 calc(100% - 14px), transparent 100%); }
.pcard__backtop::-webkit-scrollbar{ width:4px; }
.pcard__backtop::-webkit-scrollbar-thumb{ background:var(--line); border-radius:2px; }
.pcard__backfoot{ flex:none; }
.pcard__back .pcard__badge{ position:static; margin-bottom:11px; }
.pcard__back .pcard__title{ font-size:18px; margin:2px 0 9px; }
.pcard__logline{ font-family:var(--sans); font-size:12.5px; line-height:1.5; color:var(--ink-soft); margin-bottom:11px; }
.pcard__role{ font-family:var(--mono); font-size:10px; letter-spacing:.03em; line-height:1.5; color:var(--fil); margin-bottom:10px; }
.pcard__tags{ display:flex; flex-wrap:wrap; gap:6px; }
.pcard__tag{ font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-mute); border:1px solid var(--line); border-radius:100px; padding:3px 8px; }
.pcard__backfoot{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:11px; margin-top:8px; border-top:1px solid var(--line-2); }
.pcard__imdb{ font-family:var(--mono); font-size:10.5px; color:var(--fil); letter-spacing:.03em; }
.pcard__back .pcard__hint{ color:var(--ink-mute); }

/* ---------- OWAIN ---------- */
.owain__wrap{ display:grid; grid-template-columns:1fr 1.15fr; gap:44px; align-items:start; }
.owain__bio{ position:sticky; top:110px; }
/* framed 2026 headshot — brand glass + gold hairline */
.owain__frame{ position:relative; aspect-ratio:4/5; border-radius:14px; overflow:hidden; margin:0 0 26px;
  border:1px solid rgba(255,255,255,.16); background:linear-gradient(160deg,#16171a,#0b0b0d);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.85); }
.owain__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 18%; display:block; }
.owain__frame::before{ content:""; position:absolute; inset:0; z-index:3; border-radius:14px; pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,205,90,.32), 0 0 62px -12px rgba(255,186,54,.16); }
.owain__frame.no-img::after{ content:"ADD HEADSHOT · assets/img/people/owain-2026.jpg"; position:absolute; inset:auto 0 20px 0;
  text-align:center; font-family:var(--sans); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute); }
.owain__cap{ position:absolute; left:0; right:0; bottom:0; z-index:2; display:flex; justify-content:space-between; align-items:center;
  padding:15px 18px; font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);
  background:linear-gradient(0deg, rgba(8,8,9,.94), rgba(8,8,9,.4) 60%, transparent); }
.owain__cap span:first-child{ color:var(--ink); }
.owain__lead{ font-family:var(--sans); font-size:clamp(17px,1.9vw,21px); font-weight:500; color:var(--ink); line-height:1.4; margin-bottom:18px; }
.owain__portrait{
  aspect-ratio:4/5; border-radius:16px; border:1px solid var(--line); margin-bottom:26px;
  background:
    radial-gradient(50% 44% at 50% 8%, rgba(244,246,248,.26), transparent 60%),
    radial-gradient(80% 60% at 50% 100%, rgba(150,158,166,.12), transparent 60%),
    linear-gradient(160deg,#141418,#0b0b0e);
  position:relative; overflow:hidden;
}
.owain__portrait::after{ content:"ADD PORTRAIT — assets/img/owain.jpg"; position:absolute; inset:auto 0 18px 0; text-align:center; font-size:10px; letter-spacing:.2em; color:var(--ink-mute); text-transform:uppercase; }
.owain__text{ color:var(--ink-soft); font-size:16px; margin-bottom:22px; }
.owain__text em{ color:var(--ink); font-style:italic; }
.owain__links{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.pill{ border:1px solid var(--line); padding:10px 16px; border-radius:100px; font-size:13px; color:var(--ink); transition:.3s; }
.pill:hover{ border-color:var(--warm); background:rgba(216,178,90,.08); }
.owain__note{ font-size:12px; color:var(--ink-mute); font-style:italic; }
.film__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; padding-bottom:16px; border-bottom:1px solid var(--line); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); }
.film__toggle{ display:flex; gap:4px; }
.film__toggle button{ background:none; border:1px solid transparent; color:var(--ink-mute); padding:5px 12px; border-radius:100px; font-size:11px; letter-spacing:.1em; cursor:pointer; transition:.3s; }
.film__toggle button.active{ color:#0a0a0c; background:var(--warm); }
.film__list{ list-style:none; }
.film__item{ display:grid; grid-template-columns:1fr auto; gap:8px 20px; align-items:baseline; padding:20px 4px; border-bottom:1px solid var(--line-2); transition:.4s; position:relative; }
.film__item:hover{ padding-left:16px; background:linear-gradient(90deg, rgba(216,178,90,.05), transparent); }
.film__t{ font-family:var(--serif); font-size:22px; font-weight:400; }
.film__t a:hover{ color:var(--gold-2); }
.film__r{ color:var(--ink-soft); font-size:14px; }
.film__y{ color:var(--ink-mute); font-size:13px; letter-spacing:.06em; text-align:right; }
.film__m{ font-size:11px; text-transform:uppercase; letter-spacing:.14em; color:var(--gold-deep); }

/* ---------- PODCAST ---------- */
.podcast{ }
.podcast__grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; }
.podcast__blurb{ font-size:17px; color:var(--ink-soft); margin-bottom:30px; }
.podcast__stats{ display:flex; gap:34px; margin-bottom:30px; flex-wrap:wrap; }
.pstat__v{ font-family:var(--serif); font-size:clamp(38px,4vw,52px); line-height:1; letter-spacing:.02em;
  background:linear-gradient(179deg, var(--fil-1) 6%, var(--fil-2) 42%, var(--fil-3) 78%, var(--fil-4) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 0 16px var(--fil-glow)); }
.pstat__l{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); margin-top:8px; }
.podcast__links{ display:flex; gap:12px; flex-wrap:wrap; }
.podcast__player{ position:relative; border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:12px; overflow:hidden;
  background:linear-gradient(155deg, rgba(58,60,68,.42), rgba(12,12,15,.9) 62%);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.85), 0 0 84px -12px rgba(255,186,54,.20),
             inset 0 1px 0 rgba(255,255,255,.3), inset 0 -20px 40px -26px rgba(0,0,0,.6); }
.podcast__player iframe{ width:100%; border:0; border-radius:11px; display:block; box-shadow:0 3px 14px rgba(0,0,0,.5); }

/* ---------- COMMUNITY ---------- */
.community__threads{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; margin-bottom:60px; }
.thread{ border:1px solid var(--line); border-radius:14px; padding:26px; transition:.4s var(--ease); display:block; background:var(--panel); }
.thread:hover{ transform:translateY(-4px); border-color:rgba(216,178,90,.5); }
.thread__ic{ width:40px; height:40px; border-radius:10px; background:rgba(240,244,248,.08); border:1px solid var(--line); display:grid; place-items:center; color:var(--ink); margin-bottom:16px; font-weight:700; }
.thread__label{ font-family:var(--serif); font-size:20px; margin-bottom:6px; }
.thread__desc{ font-size:13px; color:var(--ink-mute); }
.community__ct{ font-family:var(--serif); font-weight:400; font-size:26px; margin-bottom:22px; }
.community__fallback{ border:1px dashed var(--line); border-radius:14px; padding:30px; color:var(--ink-mute); font-size:14px; }
.community__fallback code{ color:var(--gold-2); font-family:var(--sans); }

/* ---------- FORMS ---------- */
.fanform, .contactform{ display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:760px; }
.field{ display:flex; flex-direction:column; gap:8px; }
.field--full{ grid-column:1/-1; }
.field label{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); }
.field input, .field textarea, .field select{
  background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:14px 16px;
  color:var(--ink); font-family:var(--sans); font-size:15px; transition:.3s; width:100%;
}
.field input:focus, .field textarea:focus, .field select:focus{ outline:none; border-color:var(--warm); background:#141310; }
.field input[type=file]{ padding:12px; color:var(--ink-mute); cursor:pointer; }
.field textarea{ resize:vertical; }
.form__status{ grid-column:1/-1; font-size:14px; min-height:20px; }
.form__status.ok{ color:#9fca7a; } .form__status.err{ color:var(--red); }
.contact__grid{ display:grid; grid-template-columns:1.6fr 1fr; gap:44px; align-items:start; }
.contact__aside{ border-left:1px solid var(--line); padding-left:34px; }
.contact__label{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:8px; margin-top:26px; }
.contact__label:first-child{ margin-top:0; }
.contact__email{ font-family:var(--serif); font-size:22px; color:var(--gold-2); }
.contact__email:hover{ text-decoration:underline; }
.contact__loc{ color:var(--ink-soft); }
.contact__policy{ margin-top:30px; padding-top:20px; border-top:1px solid var(--line-2); font-family:var(--sans); font-size:12px; line-height:1.6; color:var(--ink-mute); }
.contact__policy strong{ color:var(--ink-soft); font-weight:600; }
.contact__social{ display:flex; gap:12px; flex-wrap:wrap; }
.contact__social a{ width:44px; height:44px; border:1px solid rgba(255,206,92,.28); border-radius:11px; display:grid; place-items:center; color:var(--fil); background:rgba(255,255,255,.02); transition:transform .3s var(--ease), border-color .3s, color .3s, box-shadow .3s, background .3s; }
.contact__social a svg{ width:20px; height:20px; display:block; }
.contact__social a:hover{ border-color:var(--fil); color:#ffe08a; background:var(--warm-wash); transform:translateY(-3px); box-shadow:0 10px 26px -10px var(--fil-glow); }

/* ---------- FOOTER ---------- */
.footer{ border-top:1px solid var(--line-2); padding:70px clamp(18px,4vw,54px) 40px; overflow:hidden; position:relative;
  background:radial-gradient(48% 70% at 50% 0%, rgba(255,178,86,.04), transparent 64%); }
/* the marquee powered down — a burned-out filament, barely warm from the bright hue */
.footer__big{ font-family:var(--serif); font-weight:600; font-size:clamp(60px,20vw,300px); line-height:.8; letter-spacing:.03em;
  color:transparent; -webkit-text-stroke:1px rgba(200,150,92,.12); text-align:center; margin-bottom:40px; user-select:none;
  filter:drop-shadow(0 0 10px rgba(255,170,60,.05)); }
.footer__big.lights-out{ animation:flickerOff 2.6s linear both; }
@keyframes flickerOff{
  0%   { opacity:1;  -webkit-text-stroke-color:rgba(255,216,120,.95); filter:drop-shadow(0 0 22px rgba(255,192,54,.72)); }
  8%   { opacity:.34; }
  11%  { opacity:1; }
  19%  { opacity:.22; }
  23%  { opacity:.94; -webkit-text-stroke-color:rgba(255,226,142,1); filter:drop-shadow(0 0 32px rgba(255,205,70,.88)); }
  27%  { opacity:.1; }
  35%  { opacity:.7; }
  42%  { opacity:.16; }
  50%  { opacity:.5; }
  62%  { opacity:.08; }
  74%  { opacity:.32; }
  100% { opacity:1;  -webkit-text-stroke-color:rgba(200,150,92,.12); filter:drop-shadow(0 0 10px rgba(255,170,60,.05)); }
}
.footer__row{ max-width:var(--wrap); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13px; color:var(--ink-mute); border-top:1px solid var(--line-2); padding-top:30px; }
.footer__top:hover{ color:var(--gold-2); }
.footer__legal{ display:flex; gap:9px; }
.footer__legal a{ color:var(--ink-mute); text-decoration:none; transition:color .3s; }
.footer__legal a:hover{ color:var(--fil); }

/* ---------- MOBILE NAV ---------- */
@media(max-width:860px){
  .nav__burger{ display:flex; }
  .nav__links{
    position:fixed; inset:0 0 0 auto; width:min(78vw,340px); flex-direction:column; align-items:flex-start;
    justify-content:center; gap:26px; padding:40px; background:rgba(10,10,12,.97); backdrop-filter:blur(20px);
    transform:translateX(100%); transition:transform .5s var(--ease); border-left:1px solid var(--line);
  }
  .nav__links.open{ transform:none; }
  .nav__links a{ font-size:20px; font-family:var(--serif); }
  .owain__wrap, .podcast__grid, .contact__grid{ grid-template-columns:1fr; }
  .owain__bio{ position:static; }
  .fanform, .contactform{ grid-template-columns:1fr; }
  .contact__aside{ border-left:0; border-top:1px solid var(--line); padding-left:0; padding-top:34px; }
}
@media(max-width:520px){
  .slate__grid{ grid-template-columns:1fr; }
  .card{ min-height:340px; }
  .card__logline{ max-height:none; opacity:1; margin-bottom:14px; }
}

/* reduced motion */
@media(prefers-reduced-motion:reduce){
  *{ animation:none!important; transition:none!important; }
  [data-reveal]{ opacity:1; transform:none; }
}
