
/* Layout: full-bleed cinematic bands, each with a centered 1180px inner column. Single dark look on purpose. */
:root{
  --void:#08070b;
  --deck:#121017;
  --line:#26222e;
  --cream:#efe6d8;
  --dust:#9a90a3;
  --ochre:#d39a63;
  --storm:#d5583c;
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{background:var(--void);color:var(--cream);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--void)}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
:focus-visible{outline:2px solid var(--ochre);outline-offset:3px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ochre)}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:.95}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 15px var(--body);padding:13px 22px;border-radius:2px;border:1px solid var(--cream);background:var(--cream);color:var(--void);cursor:pointer;text-decoration:none}
.btn.ghost{background:transparent;color:var(--cream);border-color:var(--line)}
.btn:hover{background:var(--ochre);border-color:var(--ochre);color:var(--void)}
.demo-flag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--storm);color:var(--void);text-align:center;padding-block:6px}

/* NAV */
header.nav{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--wp-admin--admin-bar--height,0px));z-index:9;background:color-mix(in srgb,var(--void) 82%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:24px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo svg{flex:none}
.logo b{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:.08em;text-transform:uppercase}
.nav nav{display:flex;gap:22px;margin-left:auto;font-size:14px;color:var(--dust)}
.nav nav a{text-decoration:none}
.nav nav a:hover{color:var(--cream)}
.nav .btn{padding:9px 16px;font-size:14px}
@media (max-width:760px){.nav nav{display:none}.nav .btn{margin-left:auto}}

/* HERO */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
#stars{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-media{position:absolute;inset:0;overflow:hidden}
#planet{position:absolute;inset:-4%;width:108%;height:108%;max-width:none;object-fit:cover;object-position:68% 50%;transform:translate3d(var(--px,0px),var(--py,0px),0) scale(var(--ps,1));transition:transform .5s ease-out;pointer-events:none}
.hero-media::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 40% 30% at 74% 62%,rgba(255,190,90,.22),transparent 70%);mix-blend-mode:screen;animation:glow 6s ease-in-out infinite alternate}
@keyframes glow{from{opacity:.4}to{opacity:1}}
#stars{z-index:1;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(90deg,#000 35%,transparent 60%);mask-image:linear-gradient(90deg,#000 35%,transparent 60%)}
.hero .wrap{position:relative;padding-block:96px 88px;display:grid;gap:26px;max-width:1180px}
.hero h1{font-size:clamp(64px,13vw,172px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;max-width:9ch}
.hero h1 span{display:block;font-size:.32em;font-weight:500;letter-spacing:.32em;color:var(--dust);margin-bottom:.5em}
.hero p.log{max-width:46ch;font-size:18px;color:#d8cfc2;margin:0}
.coords{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--mono);font-size:12.5px;color:var(--dust)}
.coords em{font-style:normal;color:var(--cream)}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,7,11,.94) 0%,rgba(8,7,11,.7) 34%,transparent 62%),linear-gradient(0deg,var(--void) 0%,transparent 30%);pointer-events:none}
.hero .wrap{z-index:2}
@media (max-width:760px){
  .hero-media{bottom:auto;height:62vw;min-height:240px}
  #planet{object-position:62% 50%}
  .hero .wrap{padding-top:calc(max(240px,62vw) - 40px)}
  .hero::after{background:linear-gradient(180deg,transparent 0,transparent max(150px,38vw),var(--void) max(240px,62vw))}
}

/* SECTIONS */
section.band{padding-block:80px;border-bottom:1px solid var(--line)}
.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin-bottom:34px}
.sec-head h2{font-size:clamp(40px,6vw,68px);font-weight:700;text-transform:uppercase}

/* EPISODES */
.eps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.eps.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.eps,.eps.two{grid-template-columns:1fr}}
img.art{width:100%;height:100%;object-fit:cover;display:block;max-width:100%}
.hero-media{animation:kb 28s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.07)}}
.logo img{width:40px;height:auto;flex:none;filter:drop-shadow(0 0 8px rgba(230,180,90,.35))}
.foot-logo{width:150px;height:auto;max-width:100%;border:1px solid var(--line)}
.ringband{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:#000}
.ringband .wrap{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:48px;align-items:center;padding-block:64px}
.ringband img{width:100%;height:auto;max-width:320px;animation:float 6s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.ringband p{color:var(--dust);max-width:52ch;margin:14px 0 0}
.ringband h2{font-size:clamp(36px,5vw,56px);text-transform:uppercase}
@media (max-width:760px){.ringband .wrap{grid-template-columns:1fr;gap:28px}.ringband img{max-width:220px}}
.ep{display:grid;gap:14px;background:none;border:0;padding:0;color:inherit;text-align:left;cursor:pointer;font:inherit}
.ep[disabled]{cursor:default}
.thumb{position:relative;aspect-ratio:16/9;max-width:100%;border:1px solid var(--line);overflow:hidden}
.thumb .art{position:absolute;inset:0}
.thumb .badge{position:absolute;left:10px;top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;background:var(--void);border:1px solid var(--line)}
.thumb .badge.live{background:var(--ochre);color:var(--void);border-color:var(--ochre)}
.thumb .badge.lock{color:var(--ochre)}
.thumb .play{position:absolute;right:12px;bottom:12px;width:46px;height:46px;border-radius:50%;background:var(--cream);display:grid;place-items:center;opacity:0;transform:scale(.9);transition:.2s}
.ep:not([disabled]):hover .play,.ep:focus-visible .play{opacity:1;transform:none}
.ep .meta{display:flex;gap:14px;font-family:var(--mono);font-size:12px;color:var(--dust)}
.ep h3{font-size:30px;font-weight:700;text-transform:uppercase}
.ep p{margin:0;color:var(--dust);font-size:15px;max-width:52ch}
.art.a1{background:radial-gradient(circle at 70% 120%,#e0b07c 0 18%,transparent 19%),linear-gradient(180deg,#1b1a26 0%,#3a2a28 60%,#7a5034 100%)}
.art.a1::after{content:"";position:absolute;left:24%;top:30%;width:32%;height:8%;border-radius:50%;background:#cfd2d8;box-shadow:0 0 30px 8px rgba(255,240,210,.35)}
.art.a2{background:repeating-linear-gradient(176deg,#2b1f1c 0 14px,#5b3b2a 14px 26px,#a87650 26px 34px,#3b2a24 34px 52px)}
.art.a2::after{content:"";position:absolute;right:20%;top:42%;width:18%;height:22%;border-radius:50%;background:radial-gradient(#e2734f,#a2402b);filter:blur(1px)}
.art.a3{background:radial-gradient(ellipse at 50% 80%,#2a2236 0,#0c0b10 70%)}
.art.a3::after{content:"";position:absolute;left:46%;top:30%;width:8%;height:46%;background:linear-gradient(#efe6d8,transparent);border-radius:40% 40% 0 0;opacity:.8}

/* WORLD STRIP */
.world{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
@media (max-width:900px){.world{grid-template-columns:1fr}}
.world p{color:#d8cfc2;max-width:60ch;margin:0 0 16px}
.timeline{display:grid;gap:0;border-left:1px solid var(--line)}
.tl{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:14px 0 14px 20px;position:relative}
.tl::before{content:"";position:absolute;left:-5px;top:21px;width:9px;height:9px;border-radius:50%;background:var(--void);border:1px solid var(--ochre)}
.tl.now::before{background:var(--storm);border-color:var(--storm)}
.tl b{font-family:var(--mono);font-weight:500;color:var(--ochre);font-variant-numeric:tabular-nums}
.tl span{color:var(--dust);font-size:15px}
.tl span strong{color:var(--cream);font-weight:600}

/* PLANS */
.toggle{display:inline-flex;border:1px solid var(--line);font-family:var(--mono);font-size:12.5px}
.toggle button{background:none;border:0;color:var(--dust);padding:9px 14px;cursor:pointer;font:inherit}
.toggle button[aria-pressed="true"]{background:var(--cream);color:var(--void)}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line)}
@media (max-width:900px){.plans{grid-template-columns:1fr}}
.plan{padding:30px 26px;display:grid;gap:16px;align-content:start;border-right:1px solid var(--line)}
.plan:last-child{border-right:0}
@media (max-width:900px){.plan{border-right:0;border-bottom:1px solid var(--line)}.plan:last-child{border-bottom:0}}
.plan.pick{background:var(--deck);box-shadow:inset 0 3px 0 var(--ochre)}
.plan h3{font-size:30px;font-weight:700;text-transform:uppercase}
.price{font-family:var(--display);font-size:56px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.price small{font-family:var(--body);font-size:14px;font-weight:400;color:var(--dust)}
.inr{font-family:var(--mono);font-size:12.5px;color:var(--dust);margin-top:-8px}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:15px;color:#d8cfc2}
.plan li{display:grid;grid-template-columns:16px 1fr;gap:10px}
.plan li::before{content:"";width:7px;height:7px;margin-top:8px;background:var(--ochre)}
.plan .btn{justify-content:center}
.note{margin-top:16px;font-size:13px;color:var(--dust)}

/* FAQ */
.faq{display:grid;gap:0;border-top:1px solid var(--line);max-width:860px}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-size:18px;font-weight:500;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--mono);font-size:22px;color:var(--ochre)}
details[open] summary::after{content:"−"}
details p{margin:0 0 20px;color:var(--dust);max-width:64ch}

/* SIGNUP */
.signup{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media (max-width:900px){.signup{grid-template-columns:1fr}}
.signup h2{font-size:clamp(40px,6vw,64px);font-weight:700;text-transform:uppercase}
form.sub{display:flex;flex-wrap:wrap;gap:10px}
form.sub input{flex:1 1 220px;min-width:0;background:var(--deck);border:1px solid var(--line);color:var(--cream);font:16px var(--body);padding:13px 14px;border-radius:2px}
form.sub input::placeholder{color:var(--dust)}
.ok{font-family:var(--mono);font-size:13px;color:var(--ochre);margin-top:12px;min-height:1.4em}

/* FOOTER */
footer{padding-block:48px 56px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px}
.credit{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.credit small{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--dust);text-transform:none;font-weight:400;margin-top:6px}
.flinks{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;color:var(--dust)}
.flinks a{text-decoration:none}

/* PLAYER MODAL */
.modal{position:fixed;inset:0;z-index:20;background:rgba(4,3,6,.92);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.player{width:min(960px,100%);display:grid;gap:14px}
.screen{position:relative;aspect-ratio:16/9;max-width:100%;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;text-align:center}
.screen .art{position:absolute;inset:0;opacity:.55}
.screen div.msg{position:relative;display:grid;gap:8px;padding:16px}
.screen .msg b{font-family:var(--display);font-size:clamp(28px,5vw,44px);text-transform:uppercase}
.screen .msg span{font-family:var(--mono);font-size:12.5px;color:var(--dust)}
.bar{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12.5px;color:var(--dust)}
.track{flex:1;height:3px;background:var(--line);position:relative}
.track i{position:absolute;inset:0 auto 0 0;width:0;background:var(--ochre)}
.close{margin-left:auto}
/* MOTION */
@keyframes rise{from{opacity:0;transform:translateY(28px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes letter{from{opacity:0;transform:translateY(.4em) rotateX(70deg)}to{opacity:1;transform:none}}
@keyframes flicker{0%,100%{opacity:1}48%{opacity:1}50%{opacity:.4}52%{opacity:1}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(213,88,60,.7)}100%{box-shadow:0 0 0 14px rgba(213,88,60,0)}}
@keyframes shine{from{transform:translateX(-120%) skewX(-20deg)}to{transform:translateX(320%) skewX(-20deg)}}
@keyframes scan{from{transform:translateY(-100%)}to{transform:translateY(100%)}}
.hero .eyebrow{animation:rise .9s .1s both}
.hero h1{perspective:600px}
.hero h1 .ch{display:inline-block;animation:letter .8s cubic-bezier(.2,.7,.2,1) both}
.hero h1 span{animation:rise .8s .2s both}
.hero p.log{animation:rise .9s 1.1s both}
.coords{animation:rise .9s 1.3s both}
.coords em{animation:flicker 4s 2.5s infinite}
.hero .actions{animation:rise .9s 1.5s both}
.btn{position:relative;overflow:hidden;transition:background .2s,border-color .2s,color .2s,transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn:not(.ghost)::after{content:"";position:absolute;top:0;left:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shine 3.2s 2s infinite}
.ticker{overflow:hidden;border-bottom:1px solid var(--line);background:var(--deck);padding-block:12px}
.ticker div{display:flex;gap:48px;width:max-content;animation:marquee 38s linear infinite;font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dust)}
.ticker b{color:var(--ochre);font-weight:500}
.reveal{transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.pre{opacity:.25;transform:translateY(36px)}
.thumb .art{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.ep:not([disabled]):hover .thumb .art{transform:scale(1.08)}
.ep .thumb{transition:transform .35s ease,box-shadow .35s ease;transform-style:preserve-3d}
.ep:hover .thumb{box-shadow:0 22px 50px -20px rgba(211,154,99,.45)}
.thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(239,230,216,.07) 50%,transparent 60%);animation:scan 5s linear infinite;pointer-events:none}
.tl.now::before{animation:pulse 1.6s infinite}
.plan{transition:background .3s,transform .3s}
.plan:hover{background:var(--deck)}
.price .amt{display:inline-block;transition:opacity .25s,transform .25s}
.price .amt.swap{opacity:0;transform:translateY(-10px)}
.modal{animation:rise .35s both}
/* INTRO: ring appears, then camera flies through its hole into the hero */
#intro-bg{position:fixed;inset:0;z-index:50;background:#000;transition:opacity .9s ease;animation:failsafe .4s 7s forwards}
@keyframes failsafe{to{opacity:0;visibility:hidden}}
#intro{position:fixed;inset:0;z-index:51;display:grid;place-items:center;pointer-events:none;mix-blend-mode:screen}
#intro-ring{position:absolute;left:50%;top:44%;width:min(620px,86vw);height:auto;max-width:none;transform:translate(-50%,-50%) scale(.55) rotate(-8deg);transform-origin:47% 45%;opacity:0;filter:brightness(.6)}
#intro-word{position:absolute;left:0;right:0;top:calc(44% + min(230px,32vw));text-align:center;display:grid;gap:8px}
#intro-word span{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(34px,7vw,68px);letter-spacing:.9em;text-transform:uppercase;color:#e7c27a;opacity:0;padding-left:.9em}
#intro-word small{font-family:var(--mono);font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:#bfa77a;opacity:0}
#intro-skip{position:fixed;z-index:52;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));background:none;border:1px solid #3a3326;color:#bfa77a;font:12px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;cursor:pointer}
body.intro #intro-ring{animation:ringIn 1.3s cubic-bezier(.2,.8,.2,1) 1.1s forwards}
body.intro #intro-word span{animation:wordIn 1.2s cubic-bezier(.2,.8,.2,1) 1.7s forwards}
body.intro #intro-word small{animation:fadeIn .8s 2.2s forwards}
body.intro.go #intro-ring{animation:ringThrough 1.5s cubic-bezier(.7,0,.84,0) forwards}
body.intro.go #intro-word{transition:opacity .35s,transform .6s;opacity:0;transform:scale(1.4)}
body.intro.go #intro-bg{opacity:0;transition-delay:.55s}
@keyframes ringIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.55) rotate(-8deg);filter:brightness(.4) blur(6px)}60%{filter:brightness(1.3) blur(0)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0);filter:brightness(1)}}
@keyframes wordIn{from{opacity:0;letter-spacing:.9em}to{opacity:1;letter-spacing:.22em}}
@keyframes fadeIn{to{opacity:1}}
@keyframes ringThrough{0%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:brightness(1)}55%{filter:brightness(1.6)}100%{opacity:0;transform:translate(-50%,-50%) scale(26);filter:brightness(2) blur(4px)}}
body.hold .hero *,body.hold .hero{animation-play-state:paused!important}
body.hold .hero-media{animation:none!important;transform:scale(1.45);filter:blur(10px) brightness(.5)}
.hero-media{transition:filter 1.6s ease}
body.reveal-hero .hero-media{animation:heroIn 2s cubic-bezier(.16,1,.3,1) both,kb 28s 2s ease-in-out infinite alternate}
@keyframes heroIn{from{transform:scale(1.45)}to{transform:scale(1)}}

/* FLY-THROUGH: scroll zooms into the ring city */
.fly{position:relative;height:260vh;background:#000;border-bottom:1px solid var(--line)}
.fly-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
#fly-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:70% 60%;transform-origin:78% 76%;transform:scale(var(--fz,1));filter:brightness(var(--fb,.75))}
.fly-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 78% 76%,transparent 20%,rgba(0,0,0,.75) 80%)}
.fly-text{position:absolute;left:0;right:0;bottom:12%;display:grid;gap:6px}
.fl{margin:0;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(26px,4.4vw,52px);line-height:1;color:var(--cream);opacity:.12;transform:translateY(12px);transition:opacity .6s,transform .6s;text-shadow:0 2px 24px rgba(0,0,0,.6);max-width:18ch}
.fl.big{color:var(--ochre)}
.fl.on{opacity:1;transform:none}
.fly-meter{position:absolute;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:5%;height:2px;background:rgba(239,230,216,.15)}
.fly-meter i{position:absolute;inset:0 auto 0 0;width:0;background:var(--ochre)}


/* SPACE: fixed deep-space parallax field behind the whole page */
#space{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
body > main,body > footer,body > .rf-page{position:relative;z-index:1}
/* HUD over Jupiter */
.hud{position:absolute;z-index:2;right:6%;top:50%;width:min(440px,38vw);height:auto;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity 1.2s .9s}
body.reveal-hero .hud,body:not(.hold) .hud{opacity:.9}
body.hold .hud{opacity:0}
.hud .hl{fill:none;stroke:var(--ochre);stroke-width:1;opacity:.7}
.hud .thick{stroke-width:3;opacity:.9}
.hud .fine{opacity:.4}
.hud .dash{stroke-dasharray:2 10}
.hud .dash2{stroke-dasharray:30 8 4 8}
.hud .tri,.hud .dot{fill:var(--ochre)}
.hud .br{fill:none;stroke:var(--cream);stroke-width:1.5}
.hud .wedge{fill:url(#none);fill:rgba(211,154,99,.16)}
.hud .ht{font:11px var(--mono);letter-spacing:.12em;fill:var(--cream)}
.hud .dim{fill:var(--dust)}
.hud-spin{animation:spin 40s linear infinite;transform-origin:0 0}
.hud-spin.rev{animation-duration:26s;animation-direction:reverse}
.sweep{animation:spin 4s linear infinite;transform-origin:0 0}
.hud .br{animation:lock 3s ease-in-out infinite;transform-origin:0 0}
.hud .dot{animation:blink 1s steps(2) infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes lock{0%,100%{transform:scale(1)}50%{transform:scale(.8)}}
@keyframes blink{50%{opacity:.2}}
@media (max-width:760px){.hud{right:50%;top:max(120px,31vw);width:min(300px,62vw);transform:translate(50%,-50%)}}
/* Warp */
#warp{position:absolute;inset:0;width:100%;height:100%}
/* Cursor reticle + trail (mouse only) */
#reticle,#trail{display:none}
.rf-cursor #trail{display:block;position:fixed;inset:0;width:100%;height:100%;z-index:40;pointer-events:none}
.rf-cursor #reticle{display:block;position:fixed;left:0;top:0;z-index:41;width:34px;height:34px;margin:-17px 0 0 -17px;pointer-events:none;border:1px solid rgba(211,154,99,.8);border-radius:50%;transition:width .25s,height .25s,margin .25s,border-color .25s}
.rf-cursor #reticle::before,.rf-cursor #reticle::after{content:"";position:absolute;background:var(--ochre)}
.rf-cursor #reticle::before{left:50%;top:-6px;bottom:-6px;width:1px;transform:translateX(-50%);-webkit-mask:linear-gradient(#000 6px,transparent 6px,transparent calc(100% - 6px),#000 calc(100% - 6px));mask:linear-gradient(#000 6px,transparent 6px,transparent calc(100% - 6px),#000 calc(100% - 6px))}
.rf-cursor #reticle::after{top:50%;left:-6px;right:-6px;height:1px;transform:translateY(-50%);-webkit-mask:linear-gradient(90deg,#000 6px,transparent 6px,transparent calc(100% - 6px),#000 calc(100% - 6px));mask:linear-gradient(90deg,#000 6px,transparent 6px,transparent calc(100% - 6px),#000 calc(100% - 6px))}
.rf-cursor #reticle i{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:var(--cream)}
.rf-cursor #reticle.hot{width:58px;height:58px;margin:-29px 0 0 -29px;border-color:var(--cream);border-style:dashed}
/* Glitch on thumbnail hover */
.ep:hover .thumb img.art,.ep:hover .thumb .art{animation:glitch .5s steps(2) 1}
@keyframes glitch{0%{filter:drop-shadow(4px 0 #ff3b6b) drop-shadow(-4px 0 #29d3e8);clip-path:inset(10% 0 55% 0);transform:translateX(-6px) scale(1.03)}
 25%{clip-path:inset(60% 0 8% 0);transform:translateX(6px) scale(1.03)}
 50%{clip-path:inset(30% 0 35% 0);transform:translateX(-3px) scale(1.04)}
 75%{filter:drop-shadow(2px 0 #ff3b6b) drop-shadow(-2px 0 #29d3e8);clip-path:inset(0);transform:scale(1.06)}
 100%{filter:none;clip-path:inset(0);transform:scale(1.08)}}
/* Signal panel */
.signal{margin-top:26px;border:1px solid var(--line);background:rgba(18,16,23,.7);padding:14px 16px;display:grid;gap:10px}
.sig-head,.sig-foot{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dust);font-variant-numeric:tabular-nums}
.sig-head em{font-style:normal;color:var(--ochre)}
.rec{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--storm);margin-right:8px;animation:blink 1.2s steps(2) infinite}
#wave{width:100%;height:120px;display:block}
/* Studio mark */
.studio-mark{display:grid;justify-items:center;gap:2px;animation:float 6s ease-in-out infinite}
.studio-mark img{width:100%;max-width:300px;height:auto;mix-blend-mode:screen;animation:none!important}
.studio-mark b{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(30px,4vw,44px);letter-spacing:.24em;text-transform:uppercase;background:linear-gradient(180deg,#f6dfa2,#b98a3e 60%,#f0cf86);-webkit-background-clip:text;background-clip:text;color:transparent;padding-left:.24em}
.studio-mark small{font-family:var(--mono);font-size:12px;letter-spacing:.5em;text-transform:uppercase;color:#bfa77a;padding-left:.5em}
.scr{color:var(--ochre)}

/* FILES */
.files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:980px){.files{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.files{grid-template-columns:1fr}}
.file{position:relative;border:1px solid var(--line);background:rgba(14,12,18,.82);display:grid;grid-template-rows:auto 1fr;overflow:hidden;transition:border-color .3s,transform .3s}
.file::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(211,154,99,.08) 50%,transparent 55%);background-size:100% 220%;animation:fscan 6s linear infinite;pointer-events:none;z-index:2}
@keyframes fscan{from{background-position:0 -100%}to{background-position:0 200%}}
.file:hover{border-color:var(--ochre);transform:translateY(-4px)}
.fimg{position:relative;aspect-ratio:16/10;max-width:100%;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#1b1724,#08070b 75%);border-bottom:1px solid var(--line)}
.fimg img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block;transition:transform 1s cubic-bezier(.2,.7,.2,1);max-width:100%}
.file:hover .fimg img{transform:scale(1.07)}
.fimg svg{position:absolute;inset:8% 10%;width:80%;height:84%}
.fimg .g{fill:none;stroke:var(--ochre);stroke-width:1.6}
.fimg .gb{fill:none;stroke:var(--cream);stroke-width:1.6}
.fimg .gf{fill:var(--cream)}
.file:hover .fimg svg{animation:glitch .5s steps(2) 1}
.fno{position:absolute;left:10px;top:10px;font:11px var(--mono);letter-spacing:.12em;padding:3px 7px;background:var(--void);border:1px solid var(--line);color:var(--ochre);z-index:3}
.fimg::after{content:"";position:absolute;inset:0;border:10px solid transparent;border-image:linear-gradient(var(--ochre),var(--ochre)) 1;-webkit-mask:linear-gradient(#000 0 0) top left/14px 14px no-repeat,linear-gradient(#000 0 0) top right/14px 14px no-repeat,linear-gradient(#000 0 0) bottom left/14px 14px no-repeat,linear-gradient(#000 0 0) bottom right/14px 14px no-repeat;mask:linear-gradient(#000 0 0) top left/14px 14px no-repeat,linear-gradient(#000 0 0) top right/14px 14px no-repeat,linear-gradient(#000 0 0) bottom left/14px 14px no-repeat,linear-gradient(#000 0 0) bottom right/14px 14px no-repeat;opacity:.6;pointer-events:none}
.fbody{padding:18px 18px 20px;display:grid;gap:10px;align-content:start;min-width:0}
.fbody h3{font-size:28px;font-weight:700;text-transform:uppercase}
.frole{font:12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ochre)}
.fbody dl{margin:0;display:grid;gap:6px}
.fbody dl div{display:grid;grid-template-columns:78px 1fr;gap:10px;font-size:14px;border-top:1px dashed var(--line);padding-top:6px}
.fbody dt{font:11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dust);padding-top:2px}
.fbody dd{margin:0;color:#d8cfc2;min-width:0}
.fq{margin:4px 0 0;font-style:italic;color:var(--cream);font-size:15px}
.files .file{animation:fileIn .6s both}
@keyframes fileIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#reticle,#trail{display:none!important}*,*::before,*::after{transition:none!important;animation:none!important}.reveal.pre{opacity:1;transform:none}.fl{opacity:1;transform:none}.fly{height:auto}.fly-stage{position:relative;height:70vh}}

/* ---------- WordPress additions ---------- */
.hero h1 .split{font-weight:inherit;display:inline}
.hero h1 .ch{font-style:normal}
body.nowarp.intro #intro-ring{animation-delay:.15s}
body.nowarp.intro #intro-word span{animation-delay:.7s}
body.nowarp.intro #intro-word small{animation-delay:1.2s}
.rf-no-intro #intro-bg,.rf-no-intro #intro,.rf-no-intro #intro-skip{display:none!important}
.rf-lite .sweep,.rf-lite .thumb::after,.rf-lite .file::before{display:none}
.rf-lite .hero-media{animation:none}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:16px;top:16px;z-index:100;background:var(--cream);color:var(--void);padding:10px 14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}
.nav .menu{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.nav .menu a{text-decoration:none}
.nav .menu .current-menu-item > a{color:var(--cream)}
.socials{display:flex;gap:14px}
.socials a{text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dust)}
.socials a:hover{color:var(--ochre)}
.studio-mark .ring-fallback{width:100%;max-width:300px}

/* Inner pages */
.rf-page{padding-block:72px 96px}
.rf-page .wrap{display:grid;gap:28px}
.page-head{display:grid;gap:14px;max-width:900px}
.page-head h1{font-size:clamp(44px,8vw,96px);font-weight:900;text-transform:uppercase}
.entry-content{max-width:68ch;font-size:17px;color:#d8cfc2}
.entry-content > * + *{margin-top:1.1em}
.entry-content h2,.entry-content h3{font-family:var(--display);text-transform:uppercase;color:var(--cream);margin-top:1.6em}
.entry-content h2{font-size:40px}.entry-content h3{font-size:28px}
.entry-content a{color:var(--ochre)}
.entry-content img{height:auto}
.entry-content blockquote{border-left:2px solid var(--ochre);margin-left:0;padding-left:18px;color:var(--cream);font-style:italic}
.ep-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.ep-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.45) blur(2px);transform:scale(1.05)}
.ep-hero .wrap{position:relative;padding-block:90px 60px;display:grid;gap:16px}
.ep-hero h1{font-size:clamp(48px,9vw,112px);font-weight:900;text-transform:uppercase}
.player-wrap{position:relative;aspect-ratio:16/9;max-width:1000px;width:100%;border:1px solid var(--line);background:#000;overflow:hidden}
.player-wrap iframe,.player-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0}
.soon-box{display:grid;gap:16px;max-width:1000px;border:1px solid var(--line);background:rgba(18,16,23,.8);padding:28px;position:relative;overflow:hidden}
.soon-box .art{position:absolute;inset:0;opacity:.25;background-size:cover;background-position:center}
.soon-box > *:not(.art){position:relative}
.soon-box h2{font-size:clamp(32px,5vw,52px);text-transform:uppercase}
.pagination{display:flex;gap:10px;font-family:var(--mono)}
.pagination a,.pagination span{padding:8px 12px;border:1px solid var(--line);text-decoration:none}
.pagination .current{background:var(--cream);color:var(--void)}
.notice-box{border:1px solid var(--storm);padding:22px;max-width:760px;display:grid;gap:10px}
.post-list{display:grid;gap:26px;max-width:860px}
.post-list article{border-bottom:1px solid var(--line);padding-bottom:22px;display:grid;gap:8px}
.post-list h2{font-size:34px;text-transform:uppercase}
.post-list h2 a{text-decoration:none}
.post-list .meta-line{font-family:var(--mono);font-size:12px;color:var(--dust);letter-spacing:.08em}
#modal .m-actions{display:flex;gap:10px;flex-wrap:wrap}
.flinks .menu{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;margin:0;padding:0}
.flinks .menu a{text-decoration:none}
.flinks{align-items:center}
[hidden]{display:none!important}
.hero h1 .split{white-space:nowrap}
#intro-ring{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%)}
.studio-mark img{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%)}
.hero h1{font-size:clamp(48px,calc((100vw - 32px) / 7),172px)}
/* Creator */
.creator .wrap{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:56px;align-items:center}
@media (max-width:860px){.creator .wrap{grid-template-columns:1fr;gap:32px}}
.cr-frame{position:relative;aspect-ratio:4/5;max-width:100%;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 35%,#231c14,#08070b 75%);overflow:hidden}
.cr-frame img{width:100%;height:100%;object-fit:cover;display:block;max-width:100%;filter:saturate(.9) contrast(1.05)}
.cr-frame::after{content:"";position:absolute;inset:12px;border:1px solid transparent;border-image:linear-gradient(var(--ochre),var(--ochre)) 1;-webkit-mask:linear-gradient(#000 0 0) top left/22px 22px no-repeat,linear-gradient(#000 0 0) top right/22px 22px no-repeat,linear-gradient(#000 0 0) bottom left/22px 22px no-repeat,linear-gradient(#000 0 0) bottom right/22px 22px no-repeat;mask:linear-gradient(#000 0 0) top left/22px 22px no-repeat,linear-gradient(#000 0 0) top right/22px 22px no-repeat,linear-gradient(#000 0 0) bottom left/22px 22px no-repeat,linear-gradient(#000 0 0) bottom right/22px 22px no-repeat;pointer-events:none}
.cr-frame .fno{left:20px;top:20px}
.cr-scan{position:absolute;left:0;right:0;height:30%;background:linear-gradient(180deg,transparent,rgba(211,154,99,.14),transparent);animation:crscan 4.5s linear infinite;pointer-events:none}
@keyframes crscan{from{top:-30%}to{top:100%}}
.cr-mono{position:absolute;inset:0;display:grid;place-items:center}
.cr-mono span{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(90px,14vw,150px);letter-spacing:.06em;background:linear-gradient(180deg,#f6dfa2,#b98a3e 60%,#f0cf86);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px rgba(230,180,90,.25))}
.cr-mono::before{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(211,154,99,.35);box-shadow:0 0 0 18px rgba(211,154,99,.05),0 0 0 40px rgba(211,154,99,.03);animation:spin 30s linear infinite;border-style:dashed}
.cr-body{display:grid;gap:14px;min-width:0}
.cr-body h2{font-size:clamp(44px,7vw,84px);font-weight:900;text-transform:uppercase}
.cr-alias{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(26px,3.4vw,38px);letter-spacing:.3em;text-transform:uppercase;background:linear-gradient(180deg,#f6dfa2,#b98a3e 60%,#f0cf86);-webkit-background-clip:text;background-clip:text;color:transparent;margin-top:-6px}
.cr-body p{margin:0;color:#d8cfc2;max-width:60ch}
.cr-links{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.cr-links a{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);background:rgba(18,16,23,.75);text-decoration:none;color:var(--cream);transition:border-color .25s,transform .25s,background .25s}
.cr-links a:hover{border-color:var(--ochre);transform:translateY(-2px);background:rgba(211,154,99,.08)}
.cr-links svg{color:var(--ochre);flex:none}
.cr-links span{display:grid;min-width:0}
.cr-links b{font-weight:600;font-size:15px}
.cr-links small{font-family:var(--mono);font-size:12px;color:var(--dust);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rf-lite .cr-scan,.rf-lite .cr-mono::before{animation:none}
.cr-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:440px;margin-top:8px}
.cr-gal figure{margin:0;aspect-ratio:4/5;max-width:100%;overflow:hidden;border:1px solid var(--line);position:relative}
.cr-gal img{width:100%;height:100%;object-fit:cover;display:block;max-width:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s;filter:saturate(.85) brightness(.9)}
.cr-gal figure:hover img{transform:scale(1.07);filter:none}
.cr-gal figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(211,154,99,0);transition:box-shadow .3s}
.cr-gal figure:hover::after{box-shadow:inset 0 0 0 1px var(--ochre)}
.cr-frame img{object-position:50% 30%}
