:root{
  --bg:#06101d;
  --bg-soft:#0b1828;
  --panel:#0d1d30;
  --panel-2:#11253c;
  --text:#eef6ff;
  --muted:#a8b8ca;
  --line:rgba(255,255,255,.11);
  --blue:#2ea7ff;
  --blue-2:#1768ff;
  --gold:#d9b44a;
  --shadow:0 26px 80px rgba(0,0,0,.36);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;position:relative;overflow-x:hidden;background:
  radial-gradient(circle at 85% 4%,rgba(29,104,255,.16),transparent 28rem),
  radial-gradient(circle at 10% 48%,rgba(48,187,255,.08),transparent 32rem),
  linear-gradient(180deg,#07101f 0%,#08121f 48%,#050c17 100%),
  var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
button,input{font:inherit}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;color:#000;padding:.75rem 1rem;border-radius:8px}.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:50;background:rgba(6,16,29,.82);backdrop-filter:blur(7px);border-bottom:1px solid var(--line)}
.nav-wrap{width:min(1180px,calc(100% - 2rem));height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;letter-spacing:.03em}.brand img{width:48px;height:48px}.brand span{display:flex;flex-direction:column;line-height:1.05}.brand strong{font-family:Georgia,serif;font-size:1.1rem}.brand small{color:var(--blue);text-transform:uppercase;letter-spacing:.24em;margin-top:.35rem;font-size:.66rem}
nav{display:flex;gap:1.7rem;align-items:center}nav a{text-decoration:none;color:var(--muted);font-weight:700;font-size:.93rem}nav a:hover,nav a:focus{color:var(--text)}
.menu-toggle{display:none;background:none;border:0;padding:.5rem}.menu-toggle span{display:block;width:25px;height:2px;background:var(--text);margin:5px}
.hero{position:relative;isolation:isolate;width:min(1260px,calc(100% - 2rem));margin:0 auto;min-height:780px;padding:80px 0 56px;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:4rem}.hero-glow{position:absolute;z-index:-1;right:4%;top:16%;width:520px;height:520px;background:radial-gradient(circle,rgba(38,155,255,.3),rgba(23,104,255,.08) 48%,transparent 72%);filter:blur(10px)}
.eyebrow{margin:0 0 .7rem;color:var(--blue);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.28em}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin-top:0}h1{font-size:clamp(3.3rem,6vw,6.5rem);letter-spacing:-.045em;margin-bottom:1.5rem}h1 em{color:var(--blue);font-weight:normal}h2{font-size:clamp(2.4rem,4.5vw,4.3rem);letter-spacing:-.035em;margin-bottom:1rem}h3{font-size:1.55rem;margin-bottom:.7rem}.hero-lead{font-size:1.2rem;color:#c7d5e4;max-width:650px}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin:2rem 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.25rem;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:900;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue-2));box-shadow:0 13px 34px rgba(23,104,255,.28)}.btn.secondary{border-color:var(--line);background:rgba(255,255,255,.04)}.btn:hover{transform:translateY(-2px)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.58;background:#18283a;border-color:var(--line);color:#bdc9d5;box-shadow:none;transform:none}
.status{display:flex;align-items:center;gap:.55rem;color:var(--muted);font-weight:700;font-size:.9rem}.status span{width:9px;height:9px;background:#f1b947;border-radius:99px;box-shadow:0 0 15px #f1b947}
.hero-visual{perspective:1100px}.image-frame{overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:34px;box-shadow:var(--shadow);transform:rotateY(-4deg) rotateX(1deg);background:#142338}.image-frame img{aspect-ratio:4/3;object-fit:cover}
.section{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:105px 0}.intro-strip{padding:28px 40px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035);display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.intro-strip div{text-align:center;border-right:1px solid var(--line)}.intro-strip div:last-child{border-right:0}.intro-strip strong{display:block;font-family:Georgia,serif;font-size:2.1rem;color:var(--blue)}.intro-strip span{color:var(--muted);font-size:.85rem}
.section-heading{max-width:760px;margin-bottom:2.5rem}.section-heading>p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.feature-grid{display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:5rem;align-items:center}.cover-card{max-width:430px;margin:auto;padding:14px;border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.025));border:1px solid var(--line);box-shadow:var(--shadow)}.cover-card img{border-radius:15px;box-shadow:0 18px 52px rgba(0,0,0,.45)}.feature-copy>p{font-size:1.08rem;color:#c5d2df}.feature-copy blockquote{margin:1.7rem 0;padding:1.3rem 1.5rem;border-left:3px solid var(--blue);background:rgba(46,167,255,.08);font-family:Georgia,serif;font-size:1.45rem}.feature-list{padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.5rem;list-style:none}.feature-list li::before{content:"✦";color:var(--blue);margin-right:.55rem}.availability{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}.fine-print{font-size:.82rem!important;color:#8494a6!important}
.series{border-top:1px solid var(--line)}.series-spines{border:1px solid var(--line);background:#101b29;padding:12px;border-radius:25px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:3.5rem}.series-spines img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:15px}.book-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.book-card{border-radius:22px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border:1px solid var(--line);position:relative}.book-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}.book-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-body{padding:1.45rem}.card-body span{color:var(--accent);text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.2em}.card-body p{color:var(--muted);margin-bottom:1.1rem}.card-body b{display:inline-block;color:var(--accent);text-transform:uppercase;font-size:.72rem;letter-spacing:.17em}
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:5rem;align-items:center}.about-art img{border-radius:28px;box-shadow:var(--shadow);border:1px solid var(--line);aspect-ratio:4/3;object-fit:cover}.about-copy p{color:#c2d0de;font-size:1.05rem}.access-note{padding:1rem 1.1rem;background:rgba(46,167,255,.08);border:1px solid rgba(46,167,255,.22);border-radius:14px}
.updates{border-top:1px solid var(--line)}.update-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.update-card{padding:1.5rem;border-radius:18px;background:var(--panel);border:1px solid var(--line)}.update-card time{color:var(--blue);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em}.update-card h3{margin-top:.8rem;font-size:1.35rem}.update-card p{color:var(--muted);margin-bottom:0}
.shop{border-top:1px solid var(--line)}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.shop-card{padding:1.7rem;border-radius:20px;background:var(--panel);border:1px solid var(--line)}.shop-card.featured{background:linear-gradient(155deg,rgba(39,146,255,.19),var(--panel));border-color:rgba(46,167,255,.38)}.shop-card>span{color:var(--blue);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.18em}.shop-card p{color:var(--muted);min-height:76px}.shop-card button{width:100%;border:1px solid var(--line);border-radius:999px;background:#18283a;color:#8f9eac;padding:.8rem;cursor:not-allowed}
.contact{padding-bottom:70px}.contact-panel{padding:2.4rem;border:1px solid rgba(46,167,255,.25);background:linear-gradient(130deg,rgba(25,106,230,.2),rgba(255,255,255,.035));border-radius:28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}.contact-panel h2{font-size:clamp(2.2rem,4vw,3.7rem);margin-bottom:.6rem}.contact-panel p{color:#c3d0dc}.contact-panel label{font-weight:800;display:block;margin-bottom:.45rem}.form-row{display:flex;gap:.65rem}.form-row input{min-width:0;flex:1;color:var(--text);background:#081522;border:1px solid var(--line);border-radius:999px;padding:0 1.1rem;outline:none}.form-row input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(46,167,255,.13)}.form-message{min-height:1.5rem;margin:.7rem 0 0!important;color:#7ed0ff!important}.contact-panel small{color:#8fa0b1}.contact-direct{text-align:center;padding-top:2rem}.contact-direct p{color:var(--muted);margin-bottom:.25rem}.contact-direct a{color:var(--blue);font-weight:900}
footer{border-top:1px solid var(--line);padding:38px max(1rem,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1fr auto;align-items:center;gap:.8rem;color:var(--muted)}.footer-brand{display:flex;align-items:center;gap:.65rem;color:var(--text);font-family:Georgia,serif;font-weight:bold}.footer-brand img{width:38px}.footer-small{grid-column:1/-1;font-size:.78rem;margin:0}
.reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn:hover{transform:none}}
@media (max-width:900px){
  .menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:1rem 1.5rem 1.4rem;background:#081522;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:55px;gap:2rem}.hero-visual{order:-1}.image-frame{transform:none}.hero-copy{text-align:center}.hero-lead{margin-left:auto;margin-right:auto}.hero-actions,.status{justify-content:center}
  .feature-grid,.about,.contact-panel{grid-template-columns:1fr;gap:2.5rem}.about-art{order:2}.book-grid{grid-template-columns:1fr}.update-grid,.shop-grid{grid-template-columns:1fr}.shop-card p{min-height:auto}
}
@media (max-width:620px){
  .section{padding:75px 0}.intro-strip{grid-template-columns:repeat(2,1fr);padding:22px}.intro-strip div:nth-child(2){border-right:0}.intro-strip div:nth-child(-n+2){border-bottom:1px solid var(--line);padding-bottom:.8rem}.intro-strip div:nth-child(n+3){padding-top:.8rem}.hero{width:min(100% - 1.2rem,1260px)}h1{font-size:3.1rem}.feature-list{grid-template-columns:1fr}.form-row{flex-direction:column}.form-row input{height:50px}.contact-panel{padding:1.5rem}.section-heading{text-align:left}footer{grid-template-columns:1fr}.footer-small{grid-column:auto}
}


/* Corrected Book One feature image: natural 4:3 ratio, no stretching */
.book-one .feature-grid{grid-template-columns:minmax(430px,1.05fr) minmax(0,.95fr);gap:4rem}
.book-one .cover-card{max-width:none;width:100%;padding:12px}
.book-one .cover-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:15px}

/* Upcoming books: spine-only reveal with the approved series colours */
.upcoming-spines{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  align-items:stretch;
  gap:12px;
  max-width:980px;
  margin:2.5rem auto 0;
  padding:28px;
  border:1px solid var(--line);
  border-radius:26px;
  background:
    radial-gradient(circle at 50% 10%,rgba(255,255,255,.07),transparent 34%),
    linear-gradient(180deg,#101a27,#080f18);
  box-shadow:var(--shadow);
}
.upcoming-spine{
  --spine-accent:#6a35d4;
  position:relative;
  min-height:610px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  padding:34px 17px 28px;
  border-radius:10px 16px 16px 10px;
  border:1px solid rgba(255,255,255,.38);
  color:#11151b;
  background:
    linear-gradient(90deg,rgba(0,0,0,.16),transparent 9%,transparent 88%,rgba(0,0,0,.2)),
    repeating-linear-gradient(17deg,transparent 0 17px,color-mix(in srgb,var(--spine-accent) 17%,transparent) 18px 19px),
    #ebe8e1;
  box-shadow:inset 7px 0 10px rgba(0,0,0,.16),0 18px 42px rgba(0,0,0,.45);
}
.upcoming-spine::before,
.upcoming-spine::after{
  content:"";
  position:absolute;
  inset:12px auto 12px 12px;
  width:2px;
  background:var(--spine-accent);
  opacity:.72;
}
.upcoming-spine::after{left:auto;right:12px}
.book-two-spine{--spine-accent:#6a35d4}
.book-three-spine{--spine-accent:#c1122f}
.book-four-spine{--spine-accent:#e46f18}
.book-five-spine{
  --spine-accent:#d9b44a;
  color:#f6ead0;
  border-color:#7b6734;
  background:
    linear-gradient(90deg,rgba(0,0,0,.45),transparent 10%,transparent 88%,rgba(0,0,0,.5)),
    repeating-linear-gradient(17deg,transparent 0 17px,rgba(217,180,74,.16) 18px 19px),
    #071a3d;
}
.spine-series{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-family:Georgia,serif;
  font-weight:800;
  font-size:clamp(1.55rem,2.2vw,2.2rem);
  line-height:1;
  letter-spacing:.02em;
  min-height:265px;
}
.spine-number{
  color:var(--spine-accent);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.18em;
  margin:17px 0 10px;
}
.upcoming-spine strong{
  max-width:125px;
  font-family:Georgia,serif;
  font-size:1rem;
  line-height:1.22;
  letter-spacing:.08em;
}
.spine-author{font-size:.74rem;font-weight:950;letter-spacing:.11em;margin-top:20px}
.upcoming-spine b{
  margin-top:18px;
  padding:7px 10px;
  border-radius:6px;
  color:#fff;
  background:var(--spine-accent);
  font-size:.62rem;
  letter-spacing:.14em;
}
.spine-key{margin-top:auto;color:var(--spine-accent);font-size:3.5rem;line-height:1;transform:rotate(90deg)}
.spines-note{text-align:center;color:var(--muted);font-size:.86rem;margin-top:1rem}

@media (max-width:900px){
  .book-one .feature-grid{grid-template-columns:1fr;gap:2.5rem}
  .upcoming-spines{grid-template-columns:repeat(4,minmax(120px,1fr));padding:18px;overflow-x:auto}
  .upcoming-spine{min-height:530px;min-width:135px}
}
@media (max-width:620px){
  .upcoming-spines{justify-content:start;grid-template-columns:repeat(4,145px);padding:14px}
  .upcoming-spine{min-height:500px}
}

/* Smooth reveal-on-scroll animation */
.js .reveal-on-scroll{
  opacity:0;
  transition:
    opacity .62s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms),
    transform .62s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms);
}
.js .reveal-on-scroll.reveal-from-bottom{transform:translate3d(0,24px,0) scale(.99)}
.js .reveal-on-scroll.reveal-from-left{transform:translate3d(-28px,0,0) scale(.99)}
.js .reveal-on-scroll.reveal-from-right{transform:translate3d(28px,0,0) scale(.99)}
.js .reveal-on-scroll.is-visible{
  opacity:1;
  transform:none;
}

/* Keep the animation subtle on phones */
@media (max-width:620px){
  .js .reveal-on-scroll.reveal-from-left,
  .js .reveal-on-scroll.reveal-from-right{transform:translate3d(0,20px,0) scale(.995)}
  .js .reveal-on-scroll.reveal-from-bottom{transform:translate3d(0,20px,0) scale(.995)}
}

@media (prefers-reduced-motion:reduce){
  .js .reveal-on-scroll,
  .js .reveal-on-scroll.reveal-from-bottom,
  .js .reveal-on-scroll.reveal-from-left,
  .js .reveal-on-scroll.reveal-from-right{
    opacity:1;
    filter:none;
    transform:none;
    transition:none;
  }
}


/* Cinematic animated purple background scene */
.bg-scene{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.glow-orb,.beam,.flash-overlay,.stars-layer,.particles-layer{position:absolute;inset:auto}
.glow-orb{border-radius:50%;filter:blur(48px);opacity:.42;will-change:transform,opacity;contain:paint}
.orb-a{width:40rem;height:40rem;left:-8rem;top:2rem;background:radial-gradient(circle,rgba(153,91,255,.65) 0%,rgba(116,62,241,.34) 38%,rgba(80,24,180,.08) 67%,transparent 76%);animation:orbDriftA 18s ease-in-out infinite alternate}
.orb-b{width:30rem;height:30rem;right:-6rem;top:16rem;background:radial-gradient(circle,rgba(123,75,255,.58) 0%,rgba(86,35,212,.22) 45%,transparent 74%);animation:orbDriftB 23s ease-in-out infinite alternate}
.orb-c{width:32rem;height:32rem;left:34%;bottom:-9rem;background:radial-gradient(circle,rgba(184,78,255,.36) 0%,rgba(112,37,210,.18) 44%,transparent 73%);animation:orbDriftC 20s ease-in-out infinite alternate}
.beam{width:34rem;height:120vh;top:-8vh;opacity:.16;filter:blur(7px);transform:rotate(12deg);background:linear-gradient(90deg,transparent 0%,rgba(220,188,255,.02) 8%,rgba(167,101,255,.32) 44%,rgba(255,255,255,.62) 50%,rgba(164,100,255,.28) 57%,transparent 100%);will-change:transform,opacity;contain:paint}
.beam-a{left:8%;animation:beamSweepA 9s ease-in-out infinite alternate}
.beam-b{right:2%;transform:rotate(-14deg);animation:beamSweepB 11s ease-in-out infinite alternate}
.stars-layer,.particles-layer,.flash-overlay{inset:0}
.star{position:absolute;width:2px;height:2px;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:0 0 5px rgba(255,255,255,.65);opacity:.15;animation:twinkle 4.5s ease-in-out infinite}
.particle{position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,rgba(243,227,255,.96) 0%,rgba(189,134,255,.72) 40%,rgba(126,64,227,0) 76%);opacity:.22;animation:floatUp var(--dur,16s) linear infinite;will-change:transform,opacity}
.flash-overlay{opacity:0;background:
  radial-gradient(circle at var(--flash-x,50%) var(--flash-y,20%),rgba(255,255,255,.9) 0%,rgba(196,141,255,.34) 14%,rgba(108,49,219,.14) 30%,transparent 46%),
  linear-gradient(180deg,rgba(255,255,255,.08),transparent 36%);}
body.flash-active .flash-overlay{animation:flashPulse .52s cubic-bezier(.18,.74,.24,1)}

@keyframes orbDriftA{0%{transform:translate3d(0,0,0) scale(1);opacity:.34}45%{transform:translate3d(7vw,2vh,0) scale(1.08);opacity:.54}100%{transform:translate3d(12vw,-4vh,0) scale(1.16);opacity:.42}}
@keyframes orbDriftB{0%{transform:translate3d(0,0,0) scale(1)}35%{transform:translate3d(-4vw,-3vh,0) scale(1.06);opacity:.28}100%{transform:translate3d(-9vw,4vh,0) scale(1.14);opacity:.46}}
@keyframes orbDriftC{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-3vw,-5vh,0) scale(1.12);opacity:.24}100%{transform:translate3d(6vw,-10vh,0) scale(.94);opacity:.38}}
@keyframes beamSweepA{0%{transform:translate3d(-4vw,0,0) rotate(10deg) scaleX(.95);opacity:.08}50%{transform:translate3d(2vw,0,0) rotate(12deg) scaleX(1.04);opacity:.24}100%{transform:translate3d(8vw,0,0) rotate(13deg) scaleX(1.08);opacity:.1}}
@keyframes beamSweepB{0%{transform:translate3d(5vw,0,0) rotate(-14deg) scaleX(1.1);opacity:.06}40%{transform:translate3d(0,0,0) rotate(-11deg) scaleX(1);opacity:.18}100%{transform:translate3d(-7vw,0,0) rotate(-9deg) scaleX(.95);opacity:.08}}
@keyframes twinkle{0%,100%{opacity:.15;transform:scale(1)}45%{opacity:.55;transform:scale(1.8)}70%{opacity:.24;transform:scale(1.2)}}
@keyframes floatUp{0%{transform:translate3d(0,12vh,0) scale(.7);opacity:0}10%{opacity:.22}45%{opacity:.34}100%{transform:translate3d(var(--drift,0px),-115vh,0) scale(1.15);opacity:0}}
@keyframes flashPulse{0%{opacity:0}10%{opacity:.08}18%{opacity:.74}28%{opacity:.12}38%{opacity:.52}55%{opacity:.08}100%{opacity:0}}

.hero,.section,.site-header,footer{position:relative;z-index:1}
.image-frame,.cover-card,.series-spines,.book-card,.update-card,.shop-card,.contact-panel,.about-art img{transform:translateZ(0)}

@media (max-width:900px){
  .orb-a{width:28rem;height:28rem;left:-7rem;top:4rem}
  .orb-b{width:22rem;height:22rem;right:-5rem;top:24rem}
  .orb-c{width:22rem;height:22rem;left:26%;bottom:-6rem}
  .beam{width:24rem;opacity:.16}
}
@media (max-width:620px){
  .star{width:1.8px;height:1.8px}
  .particle{width:5px;height:5px}
  .beam{opacity:.12;filter:blur(14px)}
}
@media (prefers-reduced-motion:reduce){
  .glow-orb,.beam,.star,.particle,.flash-overlay{animation:none !important}
  .particles-layer,.stars-layer{display:none}
}


/* Smooth-scroll performance optimisations */
.section:not(.intro-strip){content-visibility:auto;contain-intrinsic-size:800px}
.hero,.intro-strip{contain:layout paint style}
.bg-scene{transform:translateZ(0);contain:strict}
.js .reveal-on-scroll:not(.is-visible){will-change:transform,opacity}
.js .reveal-on-scroll.is-visible{will-change:auto}
body.is-scrolling .glow-orb,
body.is-scrolling .beam,
body.is-scrolling .star,
body.is-scrolling .particle{animation-play-state:paused}
body.is-scrolling .flash-overlay{opacity:0!important}
@media (max-width:900px){
  .site-header{backdrop-filter:none;background:rgba(6,16,29,.97)}
  .beam-b,.orb-c{display:none}
  .glow-orb{filter:blur(34px)}
  .beam{filter:blur(4px)}
}
@media (max-width:620px){
  .beam-a{opacity:.08}
  .orb-a,.orb-b{opacity:.3}
  .section:not(.intro-strip){contain-intrinsic-size:650px}
}



.hero,.series,.about,.gallery-section{overflow:visible}
/* Masterpiece edition: interactive preview, progress, gallery and secret-key challenge */
.nav-wrap{gap:1rem}
.site-header nav{gap:1.15rem}
.motion-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:38px;padding:.45rem .75rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.045);color:var(--muted);font-weight:800;font-size:.76rem;white-space:nowrap;cursor:pointer}
.motion-toggle:hover,.motion-toggle:focus-visible{color:var(--text);border-color:rgba(176,112,255,.5)}
.motion-dot{width:8px;height:8px;border-radius:50%;background:#a767ff;box-shadow:0 0 12px #a767ff}
.motion-toggle[aria-pressed="true"] .motion-dot{background:#718096;box-shadow:none}

.secret-key{position:absolute;z-index:12;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(199,156,255,.16);border-radius:50%;background:rgba(65,28,112,.12);color:rgba(239,225,255,.44);font-size:1.45rem;line-height:1;cursor:pointer;box-shadow:0 0 0 1px rgba(155,92,255,.06),0 0 8px rgba(130,73,229,.08);filter:drop-shadow(0 0 2px rgba(160,100,255,.10));transform:rotate(90deg) scale(.96);transition:color .25s ease,filter .35s ease,transform .35s ease,background .35s ease,opacity .45s ease,border-color .35s ease,box-shadow .35s ease;opacity:0;pointer-events:none;animation:none;mix-blend-mode:screen;will-change:opacity,transform}
.key-zone-active .secret-key{opacity:.12;pointer-events:auto;animation:keyPulse 4s ease-in-out infinite}
.secret-key:hover,.secret-key:focus-visible{color:rgba(255,255,255,.92);background:rgba(110,54,186,.34);border-color:rgba(221,193,255,.38);box-shadow:0 0 0 2px rgba(165,95,255,.07),0 0 12px rgba(174,103,255,.16);filter:drop-shadow(0 0 7px rgba(214,180,255,.28));transform:rotate(90deg) scale(1.08);opacity:.56}
.secret-key.key-found{opacity:.96;pointer-events:none;color:#fff;background:rgba(40,135,107,.78);border-color:rgba(170,255,224,.9);box-shadow:0 0 0 4px rgba(52,187,145,.12),0 0 18px rgba(119,255,208,.28);filter:drop-shadow(0 0 12px rgba(119,255,208,.42));animation:keyFound .8s ease both;mix-blend-mode:normal}
.key-one{right:.75rem;bottom:1rem}
.key-two{right:.75rem;top:1.25rem}
.key-three{right:.75rem;top:1.25rem}
@keyframes keyPulse{0%,100%{opacity:.08;transform:rotate(90deg) scale(.95);box-shadow:0 0 0 1px rgba(155,92,255,.04),0 0 5px rgba(130,73,229,.05);filter:drop-shadow(0 0 1px rgba(160,100,255,.06))}50%{opacity:.24;transform:rotate(90deg) scale(1);box-shadow:0 0 0 1px rgba(155,92,255,.08),0 0 11px rgba(130,73,229,.11);filter:drop-shadow(0 0 4px rgba(160,100,255,.14))}}
@keyframes keyFound{0%{transform:rotate(90deg) scale(1)}35%{transform:rotate(90deg) scale(1.55)}100%{transform:rotate(90deg) scale(.8);opacity:.45}}

.preview-section{padding-top:70px}
.preview-shell{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(260px,.75fr) 1.25fr;gap:4rem;align-items:center;padding:clamp(1.5rem,4vw,4rem);border:1px solid rgba(173,104,255,.3);border-radius:32px;background:linear-gradient(135deg,rgba(117,54,205,.16),rgba(10,24,42,.86) 48%,rgba(255,255,255,.035));box-shadow:var(--shadow)}
.preview-shell::before{content:"";position:absolute;width:22rem;height:22rem;right:-8rem;top:-9rem;border-radius:50%;background:radial-gradient(circle,rgba(171,99,255,.28),transparent 68%);filter:blur(14px)}
.preview-art{position:relative;max-width:320px;margin:auto;display:flex;justify-content:center}.preview-art img{display:block;width:min(100%,300px);height:auto;aspect-ratio:2/3;object-fit:contain;border-radius:18px;box-shadow:0 28px 65px rgba(0,0,0,.55);transform:rotate(-2deg);margin-inline:auto}
.preview-signal{position:absolute;inset:50% auto auto 50%;width:120%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:-1}
.preview-signal span{position:absolute;inset:20%;border:1px solid rgba(185,127,255,.38);border-radius:50%;animation:signalRing 4.2s ease-out infinite}.preview-signal span:nth-child(2){animation-delay:1.4s}.preview-signal span:nth-child(3){animation-delay:2.8s}
@keyframes signalRing{0%{transform:scale(.5);opacity:.7}100%{transform:scale(1.3);opacity:0}}
.preview-copy{position:relative;z-index:1}.preview-copy .preview-lead{font-size:1.16rem;color:#d5deea}.preview-copy blockquote{margin:1.5rem 0;padding:.75rem 0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);color:#c89cff;border:0;background:none}

.series-timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-top:3.5rem;padding-top:2rem}.timeline-line{position:absolute;left:8%;right:8%;top:2.65rem;height:2px;background:linear-gradient(90deg,#b06aff 0 22%,rgba(255,255,255,.13) 22% 100%)}
.timeline-book{position:relative;text-align:center}.timeline-book>span{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;margin:0 auto 1rem;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#0b1928;color:var(--muted);font-weight:950}.timeline-book.active>span{background:linear-gradient(135deg,#b164ff,#6b3cff);color:white;box-shadow:0 0 24px rgba(174,97,255,.5)}.timeline-book strong{display:block;font-family:Georgia,serif;font-size:.98rem}.timeline-book small{display:block;color:var(--muted);margin-top:.35rem}.timeline-book.locked{opacity:.58}

.progress-section{border-top:1px solid var(--line)}
.progress-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:1.5rem;align-items:stretch}.progress-card,.progress-bars{padding:2rem;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(10,24,40,.82));box-shadow:0 18px 50px rgba(0,0,0,.22)}.progress-kicker{color:#bd86ff;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:950}.progress-card h3{font-size:2rem;margin-top:.65rem}.progress-card p{color:var(--muted)}.current-stage{display:flex;align-items:center;gap:.65rem;margin-top:1.5rem;padding:1rem;border-radius:14px;background:rgba(155,89,255,.1);border:1px solid rgba(173,104,255,.22)}.current-stage span{width:10px;height:10px;border-radius:50%;background:#b06aff;box-shadow:0 0 15px #b06aff}.progress-bars{display:grid;gap:1.35rem}.progress-row>div:first-child{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.55rem}.progress-row span{color:var(--muted);font-size:.85rem}.meter{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.meter i{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,#7547ff,#c67cff);box-shadow:0 0 18px rgba(183,107,255,.55);transform-origin:left;animation:meterIn 1.1s ease both}@keyframes meterIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.gallery-section{border-top:1px solid var(--line)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-card{position:relative;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:22px;background:#0b1726;cursor:pointer;box-shadow:0 18px 48px rgba(0,0,0,.22)}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s cubic-bezier(.2,.75,.25,1),filter .5s ease}.gallery-card span{position:absolute;left:1rem;bottom:1rem;padding:.45rem .75rem;border-radius:999px;background:rgba(4,10,18,.78);backdrop-filter:blur(9px);font-weight:900;font-size:.78rem}.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.045);filter:brightness(1.08)}

.sticky-preview{position:fixed;z-index:45;right:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.78rem 1rem;border:1px solid rgba(193,139,255,.42);border-radius:999px;background:rgba(20,11,39,.86);backdrop-filter:blur(12px);color:#f7efff;font-weight:900;box-shadow:0 14px 38px rgba(0,0,0,.35),0 0 26px rgba(138,70,231,.2);cursor:pointer}.sticky-preview span{color:#c78fff}.sticky-preview:hover{transform:translateY(-2px)}
.key-tracker{position:fixed;z-index:46;right:1rem;top:calc(78px + env(safe-area-inset-top,0px) + .85rem);left:auto;bottom:auto;display:flex;align-items:center;gap:.55rem;padding:.64rem .84rem;border:1px solid rgba(180,116,255,.28);border-radius:999px;background:rgba(8,15,28,.78);backdrop-filter:blur(12px);box-shadow:0 10px 24px rgba(0,0,0,.26);font-size:.78rem;max-width:min(78vw,210px);opacity:0;transform:translate3d(0,-8px,0);pointer-events:none;transition:opacity .35s ease,transform .35s ease}.key-tracker.is-visible{opacity:1;transform:none;pointer-events:auto}.key-tracker[hidden]{display:none}.key-tracker>span{color:#c694ff;font-size:1.2rem;transform:rotate(90deg)}

.site-dialog{width:min(760px,calc(100% - 1.25rem));max-height:min(88vh,900px);padding:0;border:1px solid rgba(183,117,255,.35);border-radius:28px;background:#091522;color:var(--text);box-shadow:0 35px 110px rgba(0,0,0,.72);overflow:hidden}.site-dialog::backdrop{background:rgba(2,6,12,.78);backdrop-filter:blur(8px)}.dialog-shell{position:relative;padding:clamp(1.35rem,4vw,3rem);max-height:88vh;overflow:auto}.dialog-close{position:sticky;float:right;top:0;z-index:2;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#111f31;color:white;font-size:1.7rem;line-height:1;cursor:pointer}.preview-reading{margin-top:1.5rem;color:#d1dbe6;font-family:Georgia,serif;font-size:1.08rem;line-height:1.85}.preview-reading p:first-child::first-letter{float:left;font-size:4.8rem;line-height:.78;padding:.15rem .55rem 0 0;color:#bd86ff}.preview-reading blockquote{margin:2rem 0;padding:1.2rem 1.4rem;border-left:3px solid #af68ff;background:rgba(171,99,255,.09);font-size:1.8rem}.dialog-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.reward-panel{margin-top:1rem;padding:1rem 1rem 1.05rem;border:1px solid rgba(171,118,255,.22);border-radius:18px;background:linear-gradient(180deg,rgba(44,22,79,.4),rgba(18,11,35,.58));box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 28px rgba(0,0,0,.18)}.reward-label{margin:0 0 .4rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}.reward-text{margin:0 0 .35rem;color:var(--text)}.reward-note{margin:0;color:var(--muted);font-size:.95rem}.lightbox-dialog{width:min(1050px,calc(100% - 1.25rem))}.lightbox-shell img{width:100%;max-height:72vh;object-fit:contain;border-radius:18px;background:#050b13}.lightbox-shell p{text-align:center;color:var(--muted);font-weight:800}.key-shell{text-align:center}.key-emblem{font-size:5.5rem;color:#c892ff;transform:rotate(90deg);filter:drop-shadow(0 0 24px rgba(185,111,255,.7));margin:.6rem auto}.secret-message{font-family:Georgia,serif;font-size:1.35rem;color:#d9c8eb}.secret-code{display:inline-block;margin-top:1rem;padding:.7rem 1rem;border:1px solid rgba(185,111,255,.25);border-radius:10px;color:#bd86ff;letter-spacing:.14em;font-size:.72rem;font-weight:950}

body.motion-off .glow-orb,body.motion-off .beam,body.motion-off .star,body.motion-off .particle,body.motion-off .flash-overlay,body.motion-off .preview-signal span{animation:none!important}.motion-off .stars-layer,.motion-off .particles-layer,.motion-off .beam,.motion-off .flash-overlay{display:none}.motion-off .glow-orb{opacity:.18}.motion-off .reveal-on-scroll{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}

@media (max-width:1050px){.motion-toggle{padding:.45rem}.motion-toggle #motion-label{display:none}.site-header nav{gap:.8rem}}
@media (max-width:900px){.motion-toggle{margin-left:auto}.site-header nav{gap:.9rem}.preview-shell,.progress-layout{grid-template-columns:1fr}.preview-art{max-width:280px}.preview-art img{width:min(100%,260px)}.series-timeline{grid-template-columns:1fr;gap:1rem;padding:0 0 0 2.2rem}.timeline-line{left:1.3rem;right:auto;top:1rem;bottom:1rem;width:2px;height:auto;background:linear-gradient(180deg,#b06aff 0 22%,rgba(255,255,255,.13) 22% 100%)}.timeline-book{text-align:left;display:grid;grid-template-columns:44px 1fr;column-gap:1rem;align-items:center}.timeline-book>span{grid-row:1/3;margin:0}.timeline-book strong,.timeline-book small{grid-column:2}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-card:last-child{grid-column:1/-1}.key-two{right:.7rem;top:1rem;left:auto}}
@media (max-width:620px){.sticky-preview{right:.6rem;bottom:.6rem;font-size:.78rem;padding:.7rem .85rem}.key-tracker{right:.6rem;top:calc(78px + env(safe-area-inset-top,0px) + .55rem);max-width:58vw;padding:.56rem .75rem;font-size:.72rem}.preview-shell{gap:2rem}.gallery-grid{grid-template-columns:1fr}.gallery-card:last-child{grid-column:auto}.secret-key{width:34px;height:34px;font-size:1.25rem}.key-one{right:.55rem;bottom:.55rem}.key-two{right:.55rem;top:.8rem;left:auto}.key-three{right:.55rem;top:.8rem;left:auto}.dialog-actions{flex-direction:column}.dialog-actions .btn{width:100%}.reward-panel{padding:.9rem}}
@media (prefers-reduced-motion:reduce){.preview-signal span,.meter i,.secret-key{animation:none!important}.gallery-card img{transition:none}.sticky-preview:hover{transform:none}}


/* Series library slide-down menu */
.site-header{overflow:visible}
.site-header nav .nav-series-trigger{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  padding:.45rem 0;
  border:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-weight:700;
  font-size:.93rem;
  cursor:pointer;
}
.site-header nav .nav-series-trigger:hover,
.site-header nav .nav-series-trigger:focus-visible,
.site-header nav .nav-series-trigger[aria-expanded="true"]{color:var(--text)}
.nav-caret{display:inline-block;color:#bd86ff;font-size:1rem;transition:transform .3s ease}
.nav-series-trigger[aria-expanded="true"] .nav-caret{transform:rotate(180deg)}
.series-menu-panel{
  position:absolute;
  z-index:60;
  top:100%;
  left:0;
  right:0;
  max-height:calc(100vh - 78px);
  overflow:auto;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(0,-18px,0);
  border-top:1px solid rgba(192,137,255,.16);
  border-bottom:1px solid rgba(192,137,255,.25);
  background:
    radial-gradient(circle at 16% 0%,rgba(142,74,243,.22),transparent 30rem),
    radial-gradient(circle at 84% 20%,rgba(44,122,255,.13),transparent 28rem),
    linear-gradient(180deg,rgba(8,17,31,.985),rgba(7,13,25,.99));
  box-shadow:0 30px 70px rgba(0,0,0,.48);
  transition:opacity .3s ease,transform .35s cubic-bezier(.2,.78,.25,1),visibility .3s ease;
}
.series-menu-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.series-menu-inner{width:min(1180px,calc(100% - 2rem));margin:auto;padding:2rem 0 2.25rem}
.series-menu-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:1.35rem}
.series-menu-heading h2{margin:0;font-size:clamp(2rem,3vw,3rem)}
.series-menu-heading p:not(.eyebrow){margin:.55rem 0 0;color:var(--muted)}
.series-menu-close{flex:0 0 auto;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.04);color:var(--text);font-size:1.7rem;line-height:1;cursor:pointer}
.series-menu-close:hover,.series-menu-close:focus-visible{border-color:rgba(189,134,255,.5);background:rgba(144,75,236,.15)}
.series-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.series-choice{
  --series-accent:#9e63ff;
  position:relative;
  min-height:228px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:1.1rem;
  padding:1.15rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.022));
  color:var(--text);
  text-decoration:none;
  box-shadow:0 16px 40px rgba(0,0,0,.2);
}
.series-choice::after{content:"";position:absolute;inset:auto -25% -48% 25%;height:150px;border-radius:50%;background:radial-gradient(circle,var(--series-accent),transparent 68%);opacity:.13;filter:blur(16px);pointer-events:none}
.series-choice-active{--series-accent:#a667ff;border-color:rgba(174,103,255,.34);cursor:pointer;transition:transform .3s ease,border-color .3s ease,background .3s ease,box-shadow .3s ease}
.series-choice-active:hover,.series-choice-active:focus-visible{transform:translateY(-5px);border-color:rgba(195,145,255,.66);background:linear-gradient(145deg,rgba(148,76,240,.16),rgba(255,255,255,.035));box-shadow:0 22px 50px rgba(0,0,0,.3),0 0 28px rgba(143,72,239,.12)}
.series-choice-coming{opacity:.7;cursor:default}
.series-choice-mark{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;border:1px solid color-mix(in srgb,var(--series-accent) 50%,transparent);background:color-mix(in srgb,var(--series-accent) 14%,rgba(9,18,31,.9));color:#f4eaff;font-weight:950;letter-spacing:.06em;box-shadow:0 0 22px color-mix(in srgb,var(--series-accent) 16%,transparent)}
.echoes-mark{--series-accent:#9f65ff}.television-mark{--series-accent:#e0a439}.truth-mark{--series-accent:#d54b63}.love-mark{--series-accent:#e170a2}
.series-choice-copy{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.series-choice-copy small{color:var(--series-accent);text-transform:uppercase;letter-spacing:.17em;font-size:.65rem;font-weight:950}
.series-choice-copy strong{margin-top:.5rem;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.12}
.series-choice-copy em{margin-top:.55rem;color:var(--muted);font-style:normal;font-size:.88rem}
.series-choice-copy b{margin-top:auto;padding-top:1rem;color:var(--series-accent);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}
.series-menu-note{margin:1.1rem 0 0;color:#8495a8;font-size:.82rem;text-align:center}
body.series-menu-open{overflow-x:hidden}

@media (max-width:1000px){
  .series-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .series-choice{min-height:205px}
}
@media (max-width:900px){
  .site-header nav .nav-series-trigger{width:100%;justify-content:space-between;padding:.2rem 0;text-align:left}
  .series-menu-panel{position:fixed;top:78px;max-height:calc(100dvh - 78px)}
  .series-menu-inner{padding-top:1.35rem}
}
@media (max-width:620px){
  .series-menu-inner{width:min(100% - 1.2rem,1180px);padding-bottom:1.4rem}
  .series-menu-heading{gap:1rem;margin-bottom:1rem}
  .series-menu-heading h2{font-size:2rem}
  .series-menu-heading p:not(.eyebrow){font-size:.9rem}
  .series-menu-grid{grid-template-columns:1fr;gap:.75rem}
  .series-choice{min-height:0;display:grid;grid-template-columns:50px 1fr;gap:.9rem;padding:.9rem;border-radius:18px}
  .series-choice-mark{width:50px;height:50px;border-radius:15px}
  .series-choice-copy strong{font-size:1.18rem}
  .series-choice-copy b{margin-top:.75rem;padding-top:0}
  .series-menu-note{text-align:left;padding:0 .25rem}
}
@media (prefers-reduced-motion:reduce){
  .series-menu-panel,.nav-caret,.series-choice-active{transition:none}
  .series-choice-active:hover,.series-choice-active:focus-visible{transform:none}
}


/* Series library overlay fix: always above the page on desktop and mobile */
.site-header{
  z-index:1200 !important;
  isolation:isolate;
}
.series-menu-panel{
  position:fixed !important;
  z-index:1100 !important;
  inset:78px 0 0 !important;
  width:100%;
  height:calc(100dvh - 78px);
  max-height:none !important;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:0;
  background:
    radial-gradient(circle at 14% 0%,rgba(142,74,243,.22),transparent 31rem),
    radial-gradient(circle at 86% 14%,rgba(44,122,255,.14),transparent 29rem),
    linear-gradient(180deg,rgba(7,15,28,.998),rgba(5,10,20,1));
  box-shadow:0 30px 90px rgba(0,0,0,.72);
}
.series-menu-panel::before{
  content:"";
  position:fixed;
  z-index:-1;
  inset:78px 0 0;
  background:rgba(2,7,14,.94);
  pointer-events:none;
}
.series-menu-inner{
  width:min(1180px,calc(100% - 2rem));
  min-height:100%;
  margin:0 auto;
  padding:clamp(1.35rem,3vw,2.4rem) 0 2.5rem;
}
.series-menu-heading{
  position:sticky;
  z-index:3;
  top:0;
  padding:.3rem 0 1rem;
  background:linear-gradient(180deg,rgba(7,15,28,.998) 0%,rgba(7,15,28,.97) 72%,transparent 100%);
}
.series-menu-grid{
  position:relative;
  z-index:1;
}
body.series-menu-open{
  overflow:hidden !important;
}

@media (min-width:1001px){
  .series-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .series-choice{min-height:230px;}
}

@media (max-width:900px){
  .series-menu-panel{
    inset:78px 0 0 !important;
    height:calc(100dvh - 78px);
  }
  .series-menu-inner{
    width:min(100% - 1.2rem,1180px);
    padding-top:1rem;
  }
}

@media (max-width:620px){
  .series-menu-heading{
    align-items:flex-start;
    padding:.25rem 0 .85rem;
  }
  .series-menu-heading h2{font-size:1.85rem;}
  .series-menu-heading p:not(.eyebrow){margin-top:.35rem;}
  .series-menu-close{
    width:40px;
    height:40px;
  }
  .series-menu-grid{
    grid-template-columns:1fr;
    gap:.72rem;
    padding-bottom:1rem;
  }
  .series-choice{
    min-height:0;
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:.85rem;
    padding:.9rem;
  }
  .series-choice-mark{width:48px;height:48px;}
  .series-choice-copy strong{font-size:1.16rem;}
  .series-menu-note{padding-bottom:1.5rem;}
}


/* ===== Multi-series pages update ===== */
:root{
  --header-offset:78px;
}
body.series-page{
  --series-accent:#2bb6ff;
  --series-accent-2:#8b5cff;
  --series-surface:rgba(10,20,38,.78);
}
body.series-tv{
  --series-accent:#57d8ff;
  --series-accent-2:#f3b24f;
  --series-surface:rgba(11,20,34,.78);
}
body.series-never{
  --series-accent:#ff5d76;
  --series-accent-2:#8f7cff;
  --series-surface:rgba(20,15,28,.78);
}
body.series-love{
  --series-accent:#ff78b5;
  --series-accent-2:#ffb36b;
  --series-surface:rgba(24,15,28,.78);
}
body.series-tv .glow-orb{filter:blur(85px);}
body.series-never .glow-orb{filter:blur(95px);}
body.series-love .glow-orb{filter:blur(88px);}
body.series-tv .orb-a{background:rgba(72,211,255,.22)}
body.series-tv .orb-b{background:rgba(246,177,67,.18)}
body.series-tv .orb-c{background:rgba(72,211,255,.14)}
body.series-never .orb-a{background:rgba(255,86,117,.19)}
body.series-never .orb-b{background:rgba(138,124,255,.17)}
body.series-never .orb-c{background:rgba(255,86,117,.12)}
body.series-love .orb-a{background:rgba(255,120,181,.18)}
body.series-love .orb-b{background:rgba(255,179,107,.16)}
body.series-love .orb-c{background:rgba(255,120,181,.12)}

#site-nav{display:flex;align-items:center;gap:1.1rem;}
.site-header nav .nav-series-trigger{display:inline-flex;align-items:center;gap:.45rem;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:.93rem;cursor:pointer;padding:0}
.site-header nav .nav-series-trigger:hover,
.site-header nav .nav-series-trigger:focus-visible,
.site-header nav .nav-series-trigger[aria-expanded="true"]{color:var(--text)}
.nav-caret{display:inline-block;color:var(--series-accent-2,#bd86ff);font-size:1rem;transition:transform .3s ease}
.nav-series-trigger[aria-expanded="true"] .nav-caret{transform:rotate(180deg)}

.series-menu-panel{
  position:fixed;
  z-index:1100;
  inset:var(--header-offset) 0 0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(0,-18px,0);
  border-top:1px solid rgba(192,137,255,.16);
  background:
    radial-gradient(circle at 14% 0%,rgba(142,74,243,.22),transparent 31rem),
    radial-gradient(circle at 86% 14%,rgba(44,122,255,.14),transparent 29rem),
    linear-gradient(180deg,rgba(7,15,28,.998),rgba(5,10,20,1));
  box-shadow:0 30px 90px rgba(0,0,0,.72);
  transition:opacity .3s ease,transform .35s cubic-bezier(.2,.78,.25,1),visibility .3s ease;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.series-menu-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.series-menu-panel::before{content:"";position:fixed;z-index:-1;inset:var(--header-offset) 0 0;background:rgba(2,7,14,.92);pointer-events:none}
.series-menu-inner{width:min(1180px,calc(100% - 2rem));min-height:100%;margin:0 auto;padding:1.4rem 0 2.3rem}
.series-menu-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:1.2rem;position:sticky;top:0;padding:.2rem 0 .9rem;background:linear-gradient(180deg,rgba(7,15,28,.99) 0%,rgba(7,15,28,.96) 75%,transparent 100%)}
.series-menu-heading h2{margin:0;font-size:clamp(2rem,3vw,3rem)}
.series-menu-heading p:not(.eyebrow){margin:.55rem 0 0;color:var(--muted);max-width:58ch}
.series-menu-close{flex:0 0 auto;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.04);color:var(--text);font-size:1.7rem;line-height:1;cursor:pointer}
.series-menu-close:hover,.series-menu-close:focus-visible{border-color:rgba(189,134,255,.5);background:rgba(144,75,236,.15)}
.series-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.series-choice{--series-accent-card:#9e63ff;position:relative;min-height:226px;overflow:hidden;display:flex;flex-direction:column;gap:1.1rem;padding:1.15rem;border:1px solid rgba(255,255,255,.11);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.022));color:var(--text);text-decoration:none;box-shadow:0 16px 40px rgba(0,0,0,.2)}
.series-choice::after{content:"";position:absolute;inset:auto -25% -48% 25%;height:150px;border-radius:50%;background:radial-gradient(circle,var(--series-accent-card),transparent 68%);opacity:.13;filter:blur(16px);pointer-events:none}
.series-choice-active{border-color:rgba(174,103,255,.34);cursor:pointer;transition:transform .3s ease,border-color .3s ease,background .3s ease,box-shadow .3s ease}
.series-choice-active:hover,.series-choice-active:focus-visible{transform:translateY(-5px);border-color:rgba(195,145,255,.66);background:linear-gradient(145deg,rgba(148,76,240,.16),rgba(255,255,255,.035));box-shadow:0 22px 50px rgba(0,0,0,.3),0 0 28px rgba(143,72,239,.12)}
.series-choice[aria-current="page"]{border-color:color-mix(in srgb,var(--series-accent-card) 75%, white);box-shadow:0 22px 52px rgba(0,0,0,.3),0 0 30px color-mix(in srgb,var(--series-accent-card) 22%, transparent)}
.series-choice-mark{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;border:1px solid color-mix(in srgb,var(--series-accent-card) 50%,transparent);background:color-mix(in srgb,var(--series-accent-card) 14%,rgba(9,18,31,.9));color:#f4eaff;font-weight:950;letter-spacing:.06em;box-shadow:0 0 22px color-mix(in srgb,var(--series-accent-card) 16%,transparent)}
.echoes-mark{--series-accent-card:#9f65ff}.television-mark{--series-accent-card:#e0a439}.truth-mark{--series-accent-card:#d54b63}.love-mark{--series-accent-card:#e170a2}
.series-choice-copy{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.series-choice-copy small{color:var(--series-accent-card);text-transform:uppercase;letter-spacing:.17em;font-size:.65rem;font-weight:950}
.series-choice-copy strong{margin-top:.5rem;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.12}
.series-choice-copy em{margin-top:.55rem;color:var(--muted);font-style:normal;font-size:.88rem}
.series-choice-copy b{margin-top:auto;padding-top:1rem;color:var(--series-accent-card);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}
.series-menu-note{margin:1.1rem 0 0;color:#8495a8;font-size:.82rem;text-align:center}
body.series-menu-open{overflow:hidden !important}

.keys-stream-layer,.stars-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.theme-glyph{position:absolute;display:block;line-height:1;user-select:none;will-change:transform,opacity;animation:themeDrift linear infinite}
.theme-glyph .glyph-core{display:block;transform-origin:center;animation:glyphPulse ease-in-out infinite;}
@keyframes themeDrift{from{transform:translate3d(0,0,0) rotate(0deg)}to{transform:translate3d(var(--drift-x,160px),var(--drift-y,-720px),0) rotate(var(--spin,45deg))}}
@keyframes glyphPulse{0%,100%{transform:scale(.94);opacity:.16}50%{transform:scale(1.06);opacity:.42}}
body.series-eot .theme-glyph{color:rgba(94,197,255,.34);text-shadow:0 0 15px rgba(56,168,255,.15)}
body.series-tv .theme-glyph{color:rgba(116,226,255,.24)}
body.series-never .theme-glyph{color:rgba(255,116,138,.22)}
body.series-love .theme-glyph{color:rgba(255,133,183,.22)}
body.series-tv .theme-glyph .glyph-core{letter-spacing:.02em}

.series-splash{padding-top:calc(var(--header-offset) + 1.8rem);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:1.8rem;align-items:center}
.series-splash-copy,.series-splash-visual,.series-world-card,.series-callout-box{background:linear-gradient(155deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px rgba(0,0,0,.25)}
.series-splash-copy{padding:1.8rem;border-radius:30px}
.series-splash-copy h1{margin:.25rem 0 .7rem;font-size:clamp(2.6rem,6vw,5rem);line-height:.98}
.series-lead{font-size:1.22rem;color:#e9eefc;max-width:52ch}
.series-actions{margin-top:1.2rem}
.series-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}
.series-badges span{padding:.6rem .85rem;border-radius:999px;background:color-mix(in srgb,var(--series-accent) 14%,rgba(255,255,255,.03));border:1px solid color-mix(in srgb,var(--series-accent) 30%,rgba(255,255,255,.06));font-size:.82rem;font-weight:700;color:#edf3ff}
.series-splash-visual{padding:1rem;border-radius:30px;min-height:360px;display:grid;place-items:center;background:linear-gradient(160deg,color-mix(in srgb,var(--series-accent) 12%,rgba(255,255,255,.03)),rgba(255,255,255,.02))}
.series-poster-card{width:min(100%,390px);min-height:420px;padding:1.3rem 1.3rem 1.6rem;border-radius:30px;border:1px solid color-mix(in srgb,var(--series-accent) 28%,rgba(255,255,255,.08));background:
radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--series-accent-2) 24%, transparent),transparent 30%),
radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--series-accent) 26%, transparent),transparent 32%),
linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 24px 60px rgba(0,0,0,.28);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.series-poster-card::before,.series-poster-card::after{content:"";position:absolute;pointer-events:none}
.series-poster-card::before{inset:1rem;border-radius:24px;border:1px solid rgba(255,255,255,.08)}
.series-poster-card::after{left:-10%;right:-10%;top:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);box-shadow:0 46px 0 rgba(255,255,255,.08),0 92px 0 rgba(255,255,255,.08),0 138px 0 rgba(255,255,255,.08)}
.series-poster-mark{position:absolute;top:1.2rem;left:1.2rem;padding:.48rem .7rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--series-accent) 42%,rgba(255,255,255,.08));background:color-mix(in srgb,var(--series-accent) 15%,rgba(6,14,24,.75));font-size:.72rem;font-weight:900;letter-spacing:.18em;color:#eef6ff}
.series-poster-card h2{position:relative;margin:0;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1}
.series-poster-card p{position:relative;margin:.7rem 0 0;color:#d7dfef;max-width:27ch}
.series-detail-layout{padding-top:.4rem}
.series-world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.series-world-card{padding:1.2rem;border-radius:24px}
.series-world-card small{display:block;color:var(--series-accent);text-transform:uppercase;letter-spacing:.17em;font-size:.64rem;font-weight:900}
.series-world-card strong{display:block;margin:.45rem 0 .7rem;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.1}
.series-callout-box{padding:1.5rem 1.6rem;border-radius:28px;text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--series-accent-2) 12%,rgba(255,255,255,.03)),rgba(255,255,255,.015))}

/* Theme-specific poster styling */
body.series-tv .series-poster-card::after{box-shadow:0 34px 0 rgba(87,216,255,.12),0 68px 0 rgba(243,178,79,.12),0 102px 0 rgba(87,216,255,.08),0 136px 0 rgba(243,178,79,.08)}
body.series-tv .series-poster-card{transform:perspective(1000px) rotateY(-7deg)}
body.series-never .series-poster-card{background:
radial-gradient(circle at 18% 16%,rgba(255,93,118,.16),transparent 34%),
radial-gradient(circle at 78% 24%,rgba(143,124,255,.18),transparent 36%),
linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));}
body.series-never .series-poster-card::after{transform:rotate(-8deg);left:-15%;right:-15%;top:18%}
body.series-love .series-poster-card{background:
radial-gradient(circle at 18% 14%,rgba(255,120,181,.18),transparent 32%),
radial-gradient(circle at 80% 22%,rgba(255,179,107,.14),transparent 35%),
linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));}
body.series-love .series-poster-card::before{box-shadow:inset 0 0 22px rgba(255,120,181,.06)}

@media (max-width:1000px){
  .series-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .series-choice{min-height:205px}
  .series-splash{grid-template-columns:1fr}
  .series-world-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .site-header nav .nav-series-trigger{width:100%;justify-content:space-between;padding:.2rem 0;text-align:left}
}
@media (max-width:680px){
  .series-menu-inner{width:min(100% - 1.2rem,1180px);padding-bottom:1.4rem}
  .series-menu-heading{gap:1rem;margin-bottom:1rem}
  .series-menu-heading h2{font-size:2rem}
  .series-menu-heading p:not(.eyebrow){font-size:.9rem}
  .series-menu-grid{grid-template-columns:1fr;gap:.75rem}
  .series-choice{min-height:0;display:grid;grid-template-columns:50px 1fr;gap:.9rem;padding:.9rem;border-radius:18px}
  .series-choice-mark{width:50px;height:50px;border-radius:15px}
  .series-choice-copy strong{font-size:1.18rem}
  .series-choice-copy b{margin-top:.75rem;padding-top:0}
  .series-menu-note{text-align:left;padding:0 .25rem}
  .series-world-grid{grid-template-columns:1fr}
  .series-splash-copy{padding:1.2rem;border-radius:24px}
  .series-splash-visual{min-height:280px;border-radius:24px}
  .series-poster-card{min-height:340px;border-radius:24px}
}


/* ===== Cinematic series upgrade ===== */
.brand img{transition:filter .35s ease, transform .35s ease}
.brand:hover img{transform:translateY(-2px) scale(1.03)}
body.series-eot .brand img{filter:drop-shadow(0 0 10px rgba(54,165,255,.32))}
body.series-tv .brand img{filter:hue-rotate(168deg) saturate(1.15) drop-shadow(0 0 10px rgba(87,216,255,.34))}
body.series-never .brand img{filter:hue-rotate(292deg) saturate(1.15) drop-shadow(0 0 10px rgba(255,93,118,.28))}
body.series-love .brand img{filter:hue-rotate(332deg) saturate(1.18) drop-shadow(0 0 10px rgba(255,120,181,.28))}
body.series-tv .brand strong{color:#eefaff} body.series-tv .brand small{color:#69dcff}
body.series-never .brand strong{color:#fff1f4} body.series-never .brand small{color:#ff6a83}
body.series-love .brand strong{color:#fff3fa} body.series-love .brand small{color:#ff95c1}

body.series-eot .bg-scene::after,
body.series-tv .bg-scene::after,
body.series-never .bg-scene::after,
body.series-love .bg-scene::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.45}
body.series-tv .bg-scene::after{background:repeating-linear-gradient(180deg,rgba(255,255,255,.028) 0 2px,transparent 2px 6px)}
body.series-never .bg-scene::after{background:linear-gradient(125deg,transparent 0 47%,rgba(255,255,255,.05) 47.1% 47.4%,transparent 47.5% 100%),linear-gradient(160deg,transparent 0 61%,rgba(255,255,255,.04) 61.1% 61.4%,transparent 61.5% 100%),linear-gradient(20deg,transparent 0 72%,rgba(255,255,255,.04) 72.1% 72.4%,transparent 72.5% 100%)}
body.series-love .bg-scene::after{background:radial-gradient(circle at 22% 20%,rgba(255,166,204,.08),transparent 18%),radial-gradient(circle at 80% 30%,rgba(255,192,136,.08),transparent 18%),radial-gradient(circle at 48% 78%,rgba(255,126,189,.06),transparent 20%)}

.series-splash-copy{backdrop-filter:blur(14px)}
.series-splash-visual{position:relative;overflow:hidden;isolation:isolate}
.series-splash-visual::before{content:"";position:absolute;inset:-20% -10%;pointer-events:none;opacity:.6;z-index:0}
body.series-tv .series-splash-visual::before{background:radial-gradient(circle at 65% 35%,rgba(87,216,255,.18),transparent 22%),radial-gradient(circle at 30% 76%,rgba(243,178,79,.12),transparent 26%)}
body.series-never .series-splash-visual::before{background:radial-gradient(circle at 68% 32%,rgba(255,93,118,.14),transparent 20%),radial-gradient(circle at 18% 80%,rgba(143,124,255,.14),transparent 24%)}
body.series-love .series-splash-visual::before{background:radial-gradient(circle at 74% 26%,rgba(255,120,181,.16),transparent 20%),radial-gradient(circle at 24% 72%,rgba(255,179,107,.14),transparent 24%)}
.series-poster-card{z-index:1}
.series-poster-card{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.78,.25,1), box-shadow .45s ease}
.series-poster-card:hover{transform:translateY(-8px) rotateX(4deg) rotateY(-4deg);box-shadow:0 34px 70px rgba(0,0,0,.34)}
.series-poster-ambient,.series-poster-grid{position:absolute;inset:0;pointer-events:none}
.series-poster-ambient::before,.series-poster-ambient::after,.series-poster-grid::before,.series-poster-grid::after{content:"";position:absolute}
body.series-tv .series-poster-ambient::before{inset:14% 10%;border-radius:50%;border:1px solid rgba(107,224,255,.18);box-shadow:0 0 0 18px rgba(107,224,255,.08),0 0 0 38px rgba(107,224,255,.05)}
body.series-tv .series-poster-ambient::after{left:10%;right:10%;top:24%;height:56%;background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 7px);opacity:.35;border-radius:22px}
body.series-never .series-poster-ambient::before{left:18%;top:12%;width:65%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:rotate(-18deg);box-shadow:0 82px 0 rgba(255,255,255,.12),-64px 154px 0 rgba(255,255,255,.08)}
body.series-never .series-poster-ambient::after{right:16%;top:18%;width:1px;height:58%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.16),transparent);transform:rotate(12deg)}
body.series-love .series-poster-ambient::before{left:14%;bottom:20%;width:70%;height:40%;background:radial-gradient(circle at 20% 50%,rgba(255,156,196,.18),transparent 30%),radial-gradient(circle at 72% 38%,rgba(255,201,143,.16),transparent 28%)}
body.series-love .series-poster-ambient::after{inset:18% 16% auto 16%;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 62%);filter:blur(8px)}
body.series-tv .series-poster-grid::before, body.series-tv .series-poster-grid::after{left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(87,216,255,.16),transparent)}
body.series-tv .series-poster-grid::before{top:34%} body.series-tv .series-poster-grid::after{top:58%}
body.series-never .series-poster-grid::before{inset:12% 10% auto 10%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,93,118,.14),transparent)}
body.series-never .series-poster-grid::after{inset:auto 18% 18% auto;width:120px;height:120px;border:1px solid rgba(143,124,255,.13);transform:rotate(22deg)}
body.series-love .series-poster-grid::before{inset:auto 12% 16% 12%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,168,204,.16),transparent)}
body.series-love .series-poster-grid::after{left:18%;top:18%;width:160px;height:160px;border-radius:50%;border:1px solid rgba(255,194,149,.12)}

.series-cinematic .section-heading{margin-bottom:1rem}
.cinematic-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.cinematic-card{position:relative;overflow:hidden;min-height:230px;padding:1.2rem;border-radius:26px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 20px 40px rgba(0,0,0,.24)}
.cinematic-card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.9}
.cinematic-card span{position:relative;display:block;margin-bottom:.6rem;color:var(--series-accent);font-size:.7rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.cinematic-card strong{position:relative;display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;line-height:1.03;margin-bottom:.7rem;max-width:11ch}
.cinematic-card p{position:relative;max-width:30ch;color:#d8dfef}
body.series-tv .cinematic-card::before{background:radial-gradient(circle at 76% 22%,rgba(87,216,255,.18),transparent 20%),linear-gradient(180deg,transparent 0 72%,rgba(255,255,255,.035) 72% 73%,transparent 73%),repeating-linear-gradient(180deg,rgba(255,255,255,.02) 0 2px,transparent 2px 8px)}
body.series-never .cinematic-card::before{background:radial-gradient(circle at 76% 22%,rgba(255,93,118,.16),transparent 20%),linear-gradient(130deg,transparent 0 46%,rgba(255,255,255,.06) 46.1% 46.4%,transparent 46.5% 100%),linear-gradient(165deg,transparent 0 70%,rgba(255,255,255,.05) 70.1% 70.3%,transparent 70.4% 100%)}
body.series-love .cinematic-card::before{background:radial-gradient(circle at 76% 22%,rgba(255,120,181,.18),transparent 20%),radial-gradient(circle at 22% 78%,rgba(255,179,107,.12),transparent 18%),linear-gradient(180deg,rgba(255,255,255,.02),transparent)}

@media (max-width:900px){
  .cinematic-strip{grid-template-columns:1fr}
}


/* ===== User-requested visual upgrade ===== */
body.series-eot .hero{
  grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr);
  gap: 2.6rem;
}
body.series-eot .hero-copy{max-width:760px}
body.series-eot .hero-visual{display:flex;justify-content:flex-end;align-items:center}
body.series-eot .image-frame{
  width:min(100%,430px);
  margin-left:auto;
  transform:rotateY(-2deg) rotateX(1deg);
}
body.series-eot .image-frame img{aspect-ratio: 0.86 / 1; object-fit: cover; object-position:center}
body.series-eot .hero-glow{right:10%;top:20%;width:440px;height:440px;background:radial-gradient(circle,rgba(38,155,255,.20),rgba(23,104,255,.08) 48%,transparent 72%)}

body.series-tv{
  --series-accent:#ffd34f;
  --series-accent-2:#ffb12a;
  --series-surface:rgba(35,24,6,.80);
  background:
    radial-gradient(circle at 84% 10%, rgba(255,214,92,.30), transparent 26rem),
    radial-gradient(circle at 12% 38%, rgba(255,186,34,.18), transparent 30rem),
    linear-gradient(180deg,#241602 0%, #151106 44%, #090b11 100%),
    #120b02;
}
body.series-tv .orb-a{background:rgba(255,220,96,.26)}
body.series-tv .orb-b{background:rgba(255,169,41,.22)}
body.series-tv .orb-c{background:rgba(255,220,96,.16)}
body.series-tv .brand small{color:#ffd34f}
body.series-tv .bg-scene::after{background:repeating-linear-gradient(180deg,rgba(255,248,214,.042) 0 2px,transparent 2px 7px)}
body.series-tv .series-splash-visual::before{background:radial-gradient(circle at 65% 35%,rgba(255,211,79,.22),transparent 22%),radial-gradient(circle at 30% 76%,rgba(255,145,35,.14),transparent 26%)}
body.series-tv .series-poster-ambient::before{border-color:rgba(255,225,137,.25);box-shadow:0 0 0 18px rgba(255,211,79,.10),0 0 0 38px rgba(255,177,42,.06)}
body.series-tv .cinematic-card::before{background:radial-gradient(circle at 76% 22%,rgba(255,214,92,.18),transparent 20%),linear-gradient(180deg,transparent 0 72%,rgba(255,255,255,.035) 72% 73%,transparent 73%),repeating-linear-gradient(180deg,rgba(255,248,214,.024) 0 2px,transparent 2px 8px)}

body.series-never{
  --series-accent:#ff5868;
  --series-accent-2:#ff2137;
  --series-surface:rgba(34,10,14,.82);
  background:
    radial-gradient(circle at 86% 8%, rgba(255,79,98,.26), transparent 24rem),
    radial-gradient(circle at 12% 42%, rgba(255,36,63,.18), transparent 32rem),
    linear-gradient(180deg,#23070d 0%, #140409 46%, #09060b 100%),
    #13070b;
}
body.series-never .orb-a{background:rgba(255,82,104,.26)}
body.series-never .orb-b{background:rgba(255,33,55,.16)}
body.series-never .orb-c{background:rgba(255,82,104,.18)}
body.series-never .brand small{color:#ff6173}
body.series-never .bg-scene::after{background:linear-gradient(125deg,transparent 0 47%,rgba(255,255,255,.07) 47.1% 47.35%,transparent 47.5% 100%),linear-gradient(160deg,transparent 0 61%,rgba(255,255,255,.05) 61.1% 61.3%,transparent 61.5% 100%),linear-gradient(20deg,transparent 0 72%,rgba(255,255,255,.06) 72.1% 72.3%,transparent 72.5% 100%)}

body.series-love{
  --series-accent:#ff69b4;
  --series-accent-2:#ff2f92;
  --series-surface:rgba(44,10,32,.82);
  background:
    radial-gradient(circle at 85% 10%, rgba(255,125,197,.28), transparent 24rem),
    radial-gradient(circle at 12% 42%, rgba(255,62,146,.18), transparent 32rem),
    linear-gradient(180deg,#300522 0%, #190413 44%, #0b0710 100%),
    #170711;
}
body.series-love .orb-a{background:rgba(255,112,181,.28)}
body.series-love .orb-b{background:rgba(255,68,157,.20)}
body.series-love .orb-c{background:rgba(255,168,212,.16)}
body.series-love .brand small{color:#ff8bc4}
body.series-love .bg-scene::after{background:radial-gradient(circle at 22% 20%,rgba(255,166,204,.12),transparent 18%),radial-gradient(circle at 80% 30%,rgba(255,122,194,.10),transparent 18%),radial-gradient(circle at 48% 78%,rgba(255,126,189,.08),transparent 20%)}

body.series-tv .theme-glyph,
body.series-never .theme-glyph,
body.series-love .theme-glyph,
body.series-eot .theme-glyph{filter:drop-shadow(0 0 8px currentColor)}
body.series-eot .theme-glyph{color:rgba(116,208,255,.38);text-shadow:0 0 14px rgba(46,167,255,.22)}
body.series-tv .theme-glyph{color:rgba(255,224,126,.42)}
body.series-never .theme-glyph{color:rgba(255,123,140,.38)}
body.series-love .theme-glyph{color:rgba(255,145,203,.40)}

@media (max-width:900px){
  body.series-eot .hero{grid-template-columns:1fr;gap:1.5rem}
  body.series-eot .hero-visual{order:2;justify-content:center}
  body.series-eot .image-frame{width:min(100%,320px);margin:0 auto}
}


/* ===== Series page transition animation ===== */
.page-transition-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity .52s ease, visibility .52s ease;
  visibility: hidden;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--transition-accent, var(--series-accent)) 22%, transparent) 0%, transparent 34%),
    linear-gradient(180deg, rgba(5,10,22,.08), rgba(5,10,22,.70) 28%, rgba(3,8,18,.96) 100%);
}
.page-transition-overlay::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 24%, color-mix(in srgb, var(--transition-accent, var(--series-accent)) 26%, transparent), transparent 34%),
    radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--transition-accent, var(--series-accent)) 20%, transparent), transparent 28%),
    radial-gradient(circle at 50% 80%, color-mix(in srgb, var(--transition-accent, var(--series-accent)) 12%, transparent), transparent 32%);
  opacity: .95;
}
.page-transition-inner {
  position: relative;
  z-index: 1;
  min-width: min(88vw, 460px);
  max-width: 90vw;
  padding: 1.4rem 1.4rem 1.25rem;
  border-radius: 28px;
  border: 1px solid color-mix(in srgb, var(--transition-accent, var(--series-accent)) 34%, rgba(255,255,255,.16));
  background: linear-gradient(180deg, rgba(14,20,36,.78), rgba(8,12,24,.90));
  box-shadow: 0 22px 80px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.05) inset;
  text-align: center;
  transform: translateY(16px) scale(.985);
  transition: transform .52s cubic-bezier(.22,1,.36,1), opacity .52s ease;
  opacity: 0;
  backdrop-filter: blur(14px);
}
.page-transition-kicker {
  display: block;
  margin-bottom: .55rem;
  font-size: .72rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--transition-accent, var(--series-accent)) 72%, white);
}
.page-transition-title {
  margin: 0;
  font-size: clamp(1.55rem, 3vw, 2.45rem);
  line-height: 1.02;
}
.page-transition-copy {
  margin: .65rem 0 0;
  color: var(--text-muted);
  font-size: .98rem;
}
.page-transition-sigil {
  width: 74px;
  height: 74px;
  margin: 0 auto .95rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 1.9rem;
  color: white;
  background: radial-gradient(circle, color-mix(in srgb, var(--transition-accent, var(--series-accent)) 42%, rgba(255,255,255,.18)) 0%, color-mix(in srgb, var(--transition-accent, var(--series-accent)) 12%, transparent) 68%, transparent 70%);
  box-shadow: 0 0 24px color-mix(in srgb, var(--transition-accent, var(--series-accent)) 36%, transparent);
  animation: transitionSigilFloat 2.8s ease-in-out infinite;
}
.page-transition-loader {
  width: min(78%, 320px);
  height: 6px;
  margin: 1rem auto 0;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
}
.page-transition-loader span {
  display: block;
  height: 100%;
  width: 100%;
  transform-origin: left center;
  transform: scaleX(0);
  background: linear-gradient(90deg, color-mix(in srgb, var(--transition-accent, var(--series-accent)) 56%, white), var(--transition-accent, var(--series-accent)) 76%, transparent 120%);
}
body.transitioning .page-transition-overlay,
body.page-intro .page-transition-overlay {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
body.transitioning .page-transition-inner,
body.page-intro .page-transition-inner {
  transform: translateY(0) scale(1);
  opacity: 1;
}
body.transitioning .page-transition-loader span,
body.page-intro .page-transition-loader span {
  animation: transitionLoad .55s cubic-bezier(.2,.7,.2,1) forwards;
}
body.page-intro .page-transition-overlay {
  animation: pageIntroFade 1s ease forwards;
}
body.page-intro .page-transition-inner {
  animation: pageIntroInner 1s cubic-bezier(.22,1,.36,1) forwards;
}
body.transitioning .site-header,
body.transitioning main,
body.transitioning .bg-scene {
  filter: blur(8px);
  opacity: .35;
  transform: translateY(-10px) scale(.992);
  transition: filter .48s ease, opacity .48s ease, transform .48s ease;
}
body.transitioning {
  overflow: hidden;
}
@keyframes transitionLoad {
  from { transform: scaleX(0); opacity: .7; }
  to { transform: scaleX(1); opacity: 1; }
}
@keyframes transitionSigilFloat {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-6px) scale(1.04); }
}
@keyframes pageIntroFade {
  0%, 55% { opacity: 1; visibility: visible; }
  100% { opacity: 0; visibility: hidden; }
}
@keyframes pageIntroInner {
  0%, 45% { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 0; transform: translateY(-10px) scale(.985); }
}
@media (prefers-reduced-motion: reduce) {
  .page-transition-overlay,
  .page-transition-inner,
  body.transitioning .site-header,
  body.transitioning main,
  body.transitioning .bg-scene {
    transition: opacity .2s ease !important;
    animation: none !important;
  }
}


/* ===== Emergency layout repair: clear desktop and mobile series pages ===== */
html,body{max-width:100%;overflow-x:hidden}
main, .series-main{display:block!important;min-width:0;width:100%}
.series-main > section{display:block;min-width:0;max-width:none}
.series-splash{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)!important;gap:2rem!important;align-items:center!important;width:min(1180px,calc(100% - 2rem))!important;margin:0 auto!important;padding:clamp(3rem,7vw,6rem) 0!important}
.series-splash-copy,.series-splash-visual{min-width:0;width:100%}
.series-splash-copy{padding:clamp(1.2rem,3vw,2rem)!important}
.series-splash-copy h1{font-size:clamp(2.6rem,6vw,5.4rem)!important;overflow-wrap:anywhere}
.series-splash-visual{min-height:420px!important}
.series-poster-card{width:min(100%,390px)!important;min-height:420px!important}
.series-detail-layout,.series-cinematic,.series-callout{width:min(1180px,calc(100% - 2rem))!important;margin:0 auto!important;padding:clamp(3.5rem,7vw,6rem) 0!important}
.series-world-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;width:100%!important}
.cinematic-strip{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;width:100%!important}
.series-world-card,.cinematic-card,.series-callout-box{min-width:0;overflow:hidden}
.series-world-card strong,.cinematic-card strong{overflow-wrap:anywhere}

/* Keep page transitions quick and never hide loaded content. */
.page-transition-overlay{background:rgba(4,8,18,.92)!important}
body.transitioning .site-header,body.transitioning main,body.transitioning .bg-scene{filter:none!important;transform:none!important;opacity:.25!important}
body.page-intro .page-transition-overlay,body.page-intro .page-transition-inner{animation:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}

@media (max-width:900px){
  .nav-wrap{height:78px}
  #site-nav{display:none!important;position:fixed!important;z-index:1050!important;top:78px!important;left:0!important;right:0!important;max-height:calc(100dvh - 78px)!important;overflow:auto!important;padding:1rem!important;background:rgba(6,17,30,.99)!important;border-bottom:1px solid var(--line)!important;flex-direction:column!important;align-items:stretch!important;gap:.35rem!important}
  #site-nav.open{display:flex!important}
  #site-nav a,#site-nav .nav-series-trigger{display:flex!important;width:100%!important;min-height:48px!important;align-items:center!important;justify-content:space-between!important;padding:.7rem .85rem!important;border-radius:12px!important;text-align:left!important}
  #site-nav a:hover,#site-nav .nav-series-trigger:hover{background:rgba(255,255,255,.05)!important}
  .series-splash{grid-template-columns:1fr!important;padding:2rem 0 3.5rem!important;gap:1.25rem!important}
  .series-splash-copy{order:1!important}
  .series-splash-visual{order:2!important;min-height:320px!important}
  .series-poster-card{min-height:320px!important;width:min(100%,340px)!important}
  .series-world-grid,.cinematic-strip{grid-template-columns:1fr!important}
  .series-detail-layout,.series-cinematic,.series-callout{padding:3.2rem 0!important}
}
@media (max-width:620px){
  .section,.series-splash,.series-detail-layout,.series-cinematic,.series-callout{width:min(100% - 1.2rem,1180px)!important}
  .series-splash-copy{padding:1rem!important;border-radius:22px!important}
  .series-splash-copy h1{font-size:clamp(2.4rem,14vw,4rem)!important}
  .series-lead{font-size:1.05rem!important}
  .series-actions{display:grid!important;grid-template-columns:1fr!important}
  .series-actions .btn{width:100%!important}
  .series-badges{gap:.45rem!important}
  .series-badges span{font-size:.75rem!important;padding:.48rem .65rem!important}
  .series-poster-card{min-height:290px!important}
  .series-world-card,.cinematic-card,.series-callout-box{padding:1rem!important;border-radius:20px!important}
  .series-menu-panel{inset:78px 0 0!important}
  .series-menu-grid{grid-template-columns:1fr!important}
}


/* ===== About page + 4:5 hero image update (v9) ===== */
body.series-eot .image-frame{
  width:min(100%,430px);
  aspect-ratio:4 / 5;
}
body.series-eot .image-frame img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
}

body.series-about{
  --series-accent:#65c8ff;
  --series-accent-2:#9d78ff;
  background:
    radial-gradient(circle at 84% 8%,rgba(101,200,255,.18),transparent 26rem),
    radial-gradient(circle at 12% 42%,rgba(157,120,255,.13),transparent 32rem),
    linear-gradient(180deg,#071321 0%,#08111f 48%,#050b14 100%),
    #06101d;
}
body.series-about .orb-a{background:rgba(101,200,255,.20)}
body.series-about .orb-b{background:rgba(157,120,255,.16)}
body.series-about .orb-c{background:rgba(101,200,255,.10)}
body.series-about .brand small{color:#71d0ff}
body.series-about .theme-glyph{color:rgba(133,211,255,.26);filter:drop-shadow(0 0 8px currentColor)}

.author-page-hero{
  padding-top:calc(78px + 3rem);
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
  gap:3.5rem;
  align-items:center;
}
.author-page-copy{
  padding:clamp(1.4rem,3vw,2.4rem);
  border:1px solid rgba(255,255,255,.09);
  border-radius:30px;
  background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:0 24px 58px rgba(0,0,0,.25);
  backdrop-filter:blur(12px);
}
.author-page-copy h1{margin-bottom:1rem}
.author-page-lead{font-size:1.2rem;color:#dce9f5}
.author-page-copy>p:not(.eyebrow){color:#c3d2e1}
.author-page-image{
  max-width:500px;
  margin-inline:auto;
  padding:12px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.018));
  box-shadow:var(--shadow);
}
.author-page-image img{
  width:100%;
  aspect-ratio:4 / 5;
  object-fit:cover;
  object-position:center;
  border-radius:22px;
}
.author-values{border-top:1px solid var(--line)}
.author-values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.author-value-card{
  padding:1.5rem;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:0 18px 44px rgba(0,0,0,.20);
}
.author-value-card>span{color:#71d0ff;font-weight:950;letter-spacing:.18em;font-size:.72rem}
.author-value-card h3{margin:.7rem 0 .55rem}
.author-value-card p{margin:0;color:var(--muted)}
.author-statement{padding-top:20px}
.author-statement-box{
  padding:clamp(1.5rem,4vw,3rem);
  border-radius:30px;
  text-align:center;
  border:1px solid rgba(101,200,255,.22);
  background:linear-gradient(135deg,rgba(101,200,255,.10),rgba(157,120,255,.07),rgba(255,255,255,.02));
  box-shadow:0 24px 60px rgba(0,0,0,.24);
}
.author-statement-box p:last-child{max-width:760px;margin-inline:auto;color:#c8d8e7}
.site-header nav a[aria-current="page"]{color:var(--text)}

@media (max-width:900px){
  .author-page-hero{grid-template-columns:1fr;gap:1.5rem;padding-top:2.2rem}
  .author-page-image{order:-1;width:min(100%,360px)}
  .author-values-grid{grid-template-columns:1fr}
  body.series-eot .image-frame{width:min(100%,320px);aspect-ratio:4 / 5}
}


/* ===== Cinematic banner concept v10 ===== */
:root{
  --concept-gold:#d9ad4b;
  --concept-gold-2:#f2cc72;
  --concept-ink:#050b14;
}
body{
  background:
    radial-gradient(circle at 50% -10%,rgba(34,71,136,.18),transparent 34rem),
    linear-gradient(180deg,#050a12 0%,#07101d 48%,#040911 100%);
}
.announcement-bar{
  position:relative;
  z-index:60;
  border-bottom:1px solid rgba(217,173,75,.24);
  background:linear-gradient(90deg,rgba(4,9,16,.98),rgba(9,16,28,.98),rgba(4,9,16,.98));
}
.announcement-inner{
  width:min(1240px,calc(100% - 2rem));
  min-height:48px;
  margin:auto;
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  align-items:center;
  gap:1.1rem;
  font-size:.78rem;
}
.announcement-label{
  padding-right:1rem;
  border-right:1px solid rgba(255,255,255,.12);
  color:#a8b4c4;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:800;
}
.announcement-inner strong{
  color:var(--concept-gold-2);
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.82rem;
}
.announcement-status{color:#b7c0cd}
.announcement-inner a{
  padding:.45rem .8rem;
  border:1px solid rgba(217,173,75,.46);
  border-radius:6px;
  color:var(--concept-gold-2);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.68rem;
  font-weight:900;
}
.site-header{
  background:rgba(4,10,18,.86);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(16px);
}
.nav-wrap{width:min(1240px,calc(100% - 2rem));height:76px}
.brand strong{letter-spacing:.12em;text-transform:uppercase;font-size:1rem}
.brand small{color:var(--concept-gold-2);letter-spacing:.32em}
.site-header nav a,.site-header nav .nav-series-trigger{letter-spacing:.08em;text-transform:uppercase;font-size:.74rem}

.concept-hero{
  position:relative;
  width:min(1240px,calc(100% - 2rem));
  min-height:650px;
  margin:1rem auto 0;
  overflow:hidden;
  border:1px solid rgba(217,173,75,.34);
  border-radius:18px;
  background:
    radial-gradient(circle at 72% 38%,rgba(52,84,180,.42),transparent 26%),
    radial-gradient(circle at 48% 58%,rgba(38,112,207,.25),transparent 34%),
    linear-gradient(110deg,rgba(3,9,18,.96) 0%,rgba(4,16,35,.93) 46%,rgba(5,12,28,.90) 100%);
  box-shadow:0 28px 90px rgba(0,0,0,.52),inset 0 0 0 1px rgba(255,255,255,.03);
  isolation:isolate;
}
.concept-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    repeating-linear-gradient(112deg,transparent 0 90px,rgba(255,255,255,.014) 90px 91px),
    radial-gradient(circle at 18% 18%,rgba(217,173,75,.12),transparent 22%),
    radial-gradient(circle at 78% 92%,rgba(33,94,194,.18),transparent 28%);
}
.concept-hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:35%;
  background:linear-gradient(180deg,transparent,rgba(2,7,14,.76));
  pointer-events:none;
}
.concept-hero-grid{
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
  align-items:center;
  gap:2.2rem;
  padding:clamp(2rem,5vw,4.3rem);
}
.concept-hero-copy{position:relative;z-index:3;max-width:660px}
.concept-kicker,.concept-subtitle{
  margin:0 0 1rem;
  color:var(--concept-gold-2);
  text-transform:uppercase;
  letter-spacing:.26em;
  font-size:.74rem;
  font-weight:900;
}
.concept-hero h1{
  margin:0 0 1rem;
  font-family:"Arial Narrow",Impact,Haettenschweiler,sans-serif;
  font-size:clamp(4rem,8vw,7.4rem);
  font-weight:500;
  line-height:.84;
  letter-spacing:.012em;
  text-transform:uppercase;
  text-shadow:0 12px 36px rgba(0,0,0,.38);
}
.concept-subtitle{font-size:.92rem}
.concept-tagline{max-width:520px;color:#d5dce8;font-size:1.14rem;line-height:1.55}
.concept-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin:1.6rem 0 1.2rem}
.concept-primary{background:linear-gradient(135deg,var(--concept-gold-2),#b67b20);color:#07101a;box-shadow:0 14px 34px rgba(217,173,75,.24)}
.concept-secondary{background:rgba(6,14,26,.56);border-color:rgba(217,173,75,.38);color:#f5f7fb}
.concept-proof{display:flex;align-items:center;gap:.55rem;color:#aeb8c8;font-size:.82rem;font-weight:700}
.concept-proof span{width:8px;height:8px;border-radius:50%;background:var(--concept-gold-2);box-shadow:0 0 14px rgba(242,204,114,.8)}
.concept-book-stage{position:relative;z-index:2;min-height:540px;display:grid;place-items:center;perspective:1200px}
.concept-light-beam{position:absolute;inset:4% 16%;background:linear-gradient(180deg,rgba(57,119,255,.04),rgba(61,134,255,.26) 56%,rgba(9,34,82,.04));filter:blur(24px);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%)}
.concept-book{position:relative;width:min(78%,360px);aspect-ratio:4/5;transform:rotateY(-12deg) rotateX(2deg);filter:drop-shadow(0 34px 38px rgba(0,0,0,.52));animation:conceptBookFloat 5s ease-in-out infinite}
.concept-book::before{content:"";position:absolute;inset:3% -8% 3% auto;width:10%;background:linear-gradient(90deg,#c8c8c5,#f5f4ec 45%,#989994);transform:translateZ(-8px);border-radius:0 8px 8px 0}
.concept-book img{width:100%;height:100%;object-fit:cover;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}
.concept-key{position:absolute;font-size:clamp(2rem,4vw,4.6rem);filter:drop-shadow(0 0 16px rgba(217,173,75,.44));animation:conceptKeyFloat 5.5s ease-in-out infinite;z-index:1}
.key-a{left:2%;top:20%;animation-delay:-1s}.key-b{right:2%;top:18%;animation-delay:-2.4s}.key-c{left:10%;bottom:12%;animation-delay:-3.7s}.key-d{right:7%;bottom:16%;animation-delay:-.4s}

.series-banner-showcase{width:min(1240px,calc(100% - 2rem));margin:1.1rem auto 0;padding:0 0 1rem}
.series-banner-heading{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1rem 0}
.series-banner-heading span{height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(217,173,75,.34))}
.series-banner-heading span:last-child{background:linear-gradient(90deg,rgba(217,173,75,.34),transparent)}
.series-banner-heading h2{margin:0;font-family:inherit;font-size:.78rem;text-transform:uppercase;letter-spacing:.26em;color:#b9c2cf;white-space:nowrap}
.series-banner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.series-banner-card{position:relative;min-height:245px;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.13);padding:1.2rem;text-decoration:none;display:flex;align-items:flex-end;isolation:isolate;box-shadow:0 18px 42px rgba(0,0,0,.26);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.series-banner-card:hover,.series-banner-card:focus-visible{transform:translateY(-7px);border-color:rgba(255,255,255,.34);box-shadow:0 24px 52px rgba(0,0,0,.36)}
.series-banner-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.74))}
.series-banner-card small{display:block;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.2em;font-size:.62rem;font-weight:900;color:#f6d983}
.series-banner-card strong{display:block;font-family:"Arial Narrow",Impact,sans-serif;font-size:clamp(2rem,3vw,3.1rem);line-height:.88;text-transform:uppercase;letter-spacing:.01em}
.series-banner-card p{margin:.65rem 0 0;color:#e0e5ed;font-size:.82rem;max-width:22ch}
.banner-icon-stack{position:absolute;inset:0;pointer-events:none}
.banner-icon-stack span{position:absolute;font-size:3.1rem;filter:drop-shadow(0 0 16px rgba(255,255,255,.18));opacity:.72}
.banner-icon-stack span:nth-child(1){right:10%;top:14%;transform:rotate(-8deg)}
.banner-icon-stack span:nth-child(2){right:28%;top:34%;font-size:2.2rem;opacity:.5}
.banner-icon-stack span:nth-child(3){right:8%;top:52%;font-size:2.4rem;opacity:.42}
.banner-tv{background:radial-gradient(circle at 70% 28%,rgba(255,199,41,.34),transparent 30%),linear-gradient(145deg,#2c1a00,#100d08 68%)}
.banner-never{background:radial-gradient(circle at 72% 22%,rgba(255,55,73,.38),transparent 28%),linear-gradient(145deg,#37070e,#10080b 68%)}
.banner-love{background:radial-gradient(circle at 72% 22%,rgba(255,59,154,.42),transparent 30%),linear-gradient(145deg,#43072d,#140810 68%)}
.banner-about{background:radial-gradient(circle at 72% 22%,rgba(198,162,106,.24),transparent 30%),linear-gradient(145deg,#2b2118,#0f0d0b 68%)}

/* Bring the existing content into the same premium system */
.intro-strip,.preview-shell,.progress-card,.progress-bars,.contact-panel,.shop-card,.update-card,.cover-card,.series-spines,.series-timeline,.gallery-card{
  border-color:rgba(217,173,75,.14);
}
.section-heading .eyebrow,.eyebrow{color:var(--concept-gold-2)}
.feature-copy blockquote,.preview-copy blockquote{border-color:var(--concept-gold-2);background:rgba(217,173,75,.08)}

/* Series and author pages use the same top framing */
.series-main,.author-page-hero{position:relative}
.series-splash,.author-page-hero{width:min(1240px,calc(100% - 2rem));margin:1rem auto 0;border:1px solid rgba(217,173,75,.22);border-radius:18px;background:linear-gradient(145deg,rgba(6,15,29,.88),rgba(10,19,34,.72));box-shadow:0 24px 70px rgba(0,0,0,.34)}
.series-splash-copy,.series-splash-visual,.author-page-copy,.author-page-image{background:transparent!important;border:0!important;box-shadow:none!important}
.author-page-image img{aspect-ratio:4/5;object-fit:cover}

@keyframes conceptBookFloat{0%,100%{transform:rotateY(-12deg) rotateX(2deg) translateY(0)}50%{transform:rotateY(-10deg) rotateX(1deg) translateY(-12px)}}
@keyframes conceptKeyFloat{0%,100%{transform:translateY(0) rotate(-8deg);opacity:.55}50%{transform:translateY(-16px) rotate(8deg);opacity:1}}

@media(max-width:1000px){
  .announcement-inner{grid-template-columns:auto 1fr auto}.announcement-status{display:none}
  .concept-hero-grid{grid-template-columns:1fr 360px;padding:2.2rem}
  .series-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .announcement-inner{grid-template-columns:1fr auto;gap:.6rem;padding:.5rem 0}.announcement-label,.announcement-status{display:none}.announcement-inner strong{font-size:.68rem;letter-spacing:.1em}.announcement-inner a{font-size:.6rem;padding:.4rem .55rem}
  .concept-hero{margin-top:.7rem;border-radius:14px}
  .concept-hero-grid{grid-template-columns:1fr;gap:.5rem;padding:1.4rem 1.2rem 1.7rem;min-height:auto}
  .concept-hero-copy{text-align:left}
  .concept-hero h1{font-size:clamp(3.3rem,18vw,5.2rem)}
  .concept-book-stage{min-height:360px;order:-1}
  .concept-book{width:min(72%,250px)}
  .concept-key{font-size:2.1rem}
  .concept-actions{display:grid;grid-template-columns:1fr}.concept-actions .btn{width:100%}
  .series-banner-grid{grid-template-columns:1fr}
  .series-banner-card{min-height:210px}
  .series-banner-heading h2{font-size:.66rem;letter-spacing:.18em}
  .series-banner-heading span{display:none}
}
@media(prefers-reduced-motion:reduce){.concept-book,.concept-key{animation:none!important}}


/* ===== Front-cover-only floating hero fix (v11) ===== */
.concept-book-stage{
  min-height:600px;
  overflow:visible;
  padding:2.4rem 1rem 3.2rem;
}
.concept-book{
  width:min(76%,390px);
  aspect-ratio:4/5;
  transform:rotateY(-4deg) rotateX(1deg);
  filter:drop-shadow(0 34px 42px rgba(0,0,0,.56)) drop-shadow(0 0 20px rgba(39,151,255,.22));
  overflow:visible;
}
.concept-book::before{
  display:none !important;
  content:none !important;
}
.concept-book img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:5px;
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 26px rgba(47,151,255,.22);
  background:transparent;
}
@keyframes conceptBookFloat{
  0%,100%{transform:translateY(0) rotateY(-4deg) rotateX(1deg)}
  50%{transform:translateY(-14px) rotateY(-2deg) rotateX(0deg)}
}
@media(max-width:900px){
  .concept-book-stage{min-height:460px;padding:1.2rem .5rem 2rem}
  .concept-book{width:min(76%,310px)}
}
@media(max-width:560px){
  .concept-book-stage{min-height:390px;padding:.8rem .25rem 1.6rem}
  .concept-book{width:min(78%,270px)}
}


/* ===== Exact full hero scene image update (v12) ===== */
.concept-book-stage{
  min-height:650px;
  padding:1.25rem .25rem 1.5rem;
  overflow:visible;
  display:grid;
  place-items:center;
}
.concept-light-beam,
.concept-key{
  display:none !important;
}
.concept-book{
  width:min(96%,500px);
  aspect-ratio:auto;
  transform:none;
  filter:drop-shadow(0 34px 52px rgba(0,0,0,.56)) drop-shadow(0 0 28px rgba(44,140,255,.18));
  animation:conceptHeroSceneFloat 6s ease-in-out infinite;
  overflow:visible;
}
.concept-book::before,
.concept-book::after{
  display:none !important;
  content:none !important;
}
.concept-book img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  aspect-ratio:1122/1402;
  object-fit:contain;
  object-position:center;
  border-radius:18px;
  background:transparent;
  box-shadow:0 0 0 1px rgba(255,255,255,.12),0 28px 68px rgba(0,0,0,.32),0 0 32px rgba(54,146,255,.18);
}
@keyframes conceptHeroSceneFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-10px) scale(1.008)}
}
@media(max-width:1000px){
  .concept-hero-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.82fr)}
  .concept-book{width:min(96%,430px)}
}
@media(max-width:760px){
  .concept-book-stage{min-height:auto;padding:.5rem 0 1rem;order:-1}
  .concept-book{width:min(100%,360px)}
  .concept-book img{border-radius:14px}
}
@media(max-width:430px){
  .concept-book{width:min(100%,330px)}
}
@media(prefers-reduced-motion:reduce){
  .concept-book{animation:none !important}
}


/* ===== Hovering book hero refinement (v13) ===== */
.concept-book-stage{
  min-height:660px;
  padding:1.1rem .2rem 1.7rem;
  overflow:visible;
}
.concept-hover-scene{
  position:relative;
  width:min(100%,540px);
  min-height:620px;
  display:grid;
  place-items:center;
  isolation:isolate;
}
.concept-hover-scene::before{
  content:"";
  position:absolute;
  inset:4% 7% 22%;
  border-radius:28px;
  background:radial-gradient(circle at 50% 45%,rgba(55,126,255,.12),transparent 42%), radial-gradient(circle at 48% 20%,rgba(176,81,255,.16),transparent 34%);
  filter:blur(8px);
  z-index:0;
}
.concept-book{
  position:relative;
  z-index:3;
  width:min(70%,350px);
  aspect-ratio:3/4;
  transform:none;
  animation:conceptBookHoverOnly 4.6s ease-in-out infinite;
  filter:drop-shadow(0 24px 40px rgba(0,0,0,.48)) drop-shadow(0 0 22px rgba(39,145,255,.22));
}
.concept-book img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:6px;
  background:transparent;
  box-shadow:0 0 0 1px rgba(255,255,255,.10),0 0 34px rgba(54,146,255,.22);
}
.concept-platform-glow,
.concept-platform-ring{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  pointer-events:none;
}
.concept-platform-glow{
  z-index:1;
  bottom:9%;
  width:min(76%,390px);
  height:82px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(43,165,255,.55) 0%,rgba(34,109,255,.28) 34%,rgba(50,87,255,.12) 52%,rgba(0,0,0,0) 72%);
  filter:blur(12px);
  opacity:.98;
}
.concept-platform-ring{
  z-index:2;
  bottom:10.8%;
  width:min(73%,360px);
  height:56px;
  border-radius:50%;
  border:2px solid rgba(68,188,255,.88);
  box-shadow:0 0 0 4px rgba(16,121,255,.16), inset 0 0 26px rgba(53,175,255,.28), 0 0 38px rgba(28,125,255,.42);
  background:radial-gradient(ellipse at center,rgba(44,116,255,.22),rgba(18,36,92,.05) 56%,transparent 72%);
}
.concept-platform-ring::before,
.concept-platform-ring::after{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  border:1px solid rgba(115,221,255,.45);
}
.concept-platform-ring::after{
  inset:15px 28px;
  border-color:rgba(122,196,255,.35);
}
.concept-key{
  display:block !important;
  position:absolute;
  z-index:4;
  font-size:clamp(2.3rem,4vw,3.5rem);
  line-height:1;
  filter:drop-shadow(0 0 12px rgba(255,194,79,.45)) drop-shadow(0 0 22px rgba(255,174,44,.18));
  transform-origin:center;
  opacity:.95;
  will-change:transform;
}
.concept-key-a{left:4%; top:18%; animation:floatKeyA 5.8s ease-in-out infinite;}
.concept-key-b{right:6%; top:28%; animation:floatKeyB 5.2s ease-in-out infinite;}
.concept-key-c{left:8%; bottom:24%; animation:floatKeyC 6.1s ease-in-out infinite;}
.concept-key-d{right:4%; bottom:21%; animation:floatKeyD 5.5s ease-in-out infinite;}
@keyframes conceptBookHoverOnly{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-16px) scale(1.006)}
}
@keyframes floatKeyA{
  0%,100%{transform:translate3d(0,0,0) rotate(-10deg)}
  50%{transform:translate3d(6px,-18px,0) rotate(5deg)}
}
@keyframes floatKeyB{
  0%,100%{transform:translate3d(0,0,0) rotate(12deg)}
  50%{transform:translate3d(-10px,-16px,0) rotate(-4deg)}
}
@keyframes floatKeyC{
  0%,100%{transform:translate3d(0,0,0) rotate(-18deg)}
  50%{transform:translate3d(8px,-20px,0) rotate(-6deg)}
}
@keyframes floatKeyD{
  0%,100%{transform:translate3d(0,0,0) rotate(16deg)}
  50%{transform:translate3d(-8px,-17px,0) rotate(8deg)}
}
@media (max-width:1000px){
  .concept-book-stage{min-height:600px}
  .concept-hover-scene{width:min(100%,470px);min-height:570px}
  .concept-book{width:min(72%,320px)}
}
@media (max-width:760px){
  .concept-book-stage{min-height:auto;padding:.25rem 0 1rem;order:-1}
  .concept-hover-scene{width:min(100%,390px);min-height:440px}
  .concept-book{width:min(76%,260px)}
  .concept-platform-glow{bottom:8.5%;width:min(86%,310px);height:64px}
  .concept-platform-ring{bottom:10%;width:min(80%,280px);height:44px}
  .concept-key{font-size:2.2rem}
  .concept-key-a{left:1%;top:14%}
  .concept-key-b{right:2%;top:22%}
  .concept-key-c{left:4%;bottom:22%}
  .concept-key-d{right:1%;bottom:20%}
}
@media (max-width:430px){
  .concept-hover-scene{min-height:410px}
  .concept-book{width:min(78%,240px)}
  .concept-key{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){
  .concept-book,.concept-key{animation:none !important}
}


/* ===== V14 cleanup: remove hero frame and restore darker mobile EOT ===== */
.concept-book::before{display:none !important;content:none !important;}
.concept-book img{
  box-shadow:none !important;
  border-radius:2px !important;
  background:transparent !important;
}
.concept-hover-scene::before{
  inset:8% 10% 24%;
  border-radius:32px;
  background:radial-gradient(circle at 52% 44%,rgba(55,126,255,.10),transparent 42%), radial-gradient(circle at 48% 18%,rgba(176,81,255,.11),transparent 34%);
  filter:blur(14px);
}

/* Make sure the EOT page stays dark and readable on phones */
body.series-eot .intro-strip,
body.series-eot .preview-shell,
body.series-eot .cover-card,
body.series-eot .series-spines,
body.series-eot .progress-card,
body.series-eot .progress-bars,
body.series-eot .gallery-card,
body.series-eot .contact-panel,
body.series-eot .shop-card,
body.series-eot .update-card{
  background:linear-gradient(145deg,rgba(7,17,31,.88),rgba(9,20,36,.80)) !important;
}
body.series-eot .intro-strip span,
body.series-eot .section-heading > p:not(.eyebrow),
body.series-eot .feature-copy p,
body.series-eot .preview-copy p,
body.series-eot .preview-lead,
body.series-eot .spines-note,
body.series-eot .fine-print,
body.series-eot .card-body p,
body.series-eot .contact-panel p,
body.series-eot .update-card p,
body.series-eot .shop-card p{
  color:#bfd0df !important;
}
body.series-eot .section-heading h2,
body.series-eot .feature-copy blockquote,
body.series-eot .preview-copy blockquote,
body.series-eot .intro-strip strong{
  color:#eef6ff !important;
}

@media (max-width:760px){
  body.series-eot{
    background:
      radial-gradient(circle at 80% 6%,rgba(29,104,255,.10),transparent 18rem),
      radial-gradient(circle at 12% 44%,rgba(48,187,255,.06),transparent 22rem),
      linear-gradient(180deg,#06101d 0%,#08111e 54%,#050b14 100%),
      #06101d !important;
  }
  body.series-eot .beam{opacity:.055 !important;filter:blur(10px) !important;}
  body.series-eot .glow-orb{opacity:.34 !important;}
  body.series-eot .stars-layer,
  body.series-eot .particles-layer,
  body.series-eot .keys-stream-layer{opacity:.42 !important;}
  body.series-eot .concept-hero{
    background:
      radial-gradient(circle at 72% 38%,rgba(52,84,180,.26),transparent 26%),
      radial-gradient(circle at 48% 58%,rgba(38,112,207,.16),transparent 34%),
      linear-gradient(110deg,rgba(3,9,18,.98) 0%,rgba(4,16,35,.95) 46%,rgba(5,12,28,.94) 100%) !important;
  }
  body.series-eot .section,
  body.series-eot .series-banner-showcase{
    position:relative;
    z-index:2;
  }
  body.series-eot .intro-strip,
  body.series-eot .preview-shell,
  body.series-eot .cover-card,
  body.series-eot .series-spines,
  body.series-eot .progress-card,
  body.series-eot .progress-bars,
  body.series-eot .gallery-card,
  body.series-eot .contact-panel,
  body.series-eot .shop-card,
  body.series-eot .update-card{
    border-color:rgba(217,173,75,.12) !important;
    box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
    backdrop-filter:none !important;
  }
}


/* ===== V15 mobile hero fix: stop floating book appearing in wrong place on phones ===== */
@media (max-width:760px){
  body.series-eot .concept-hero-grid{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:1rem !important;
    padding:1.3rem 1rem 1.5rem !important;
  }
  body.series-eot .concept-hero-copy{
    order:1 !important;
    max-width:none !important;
    position:relative !important;
    z-index:3 !important;
  }
  body.series-eot .concept-book-stage{
    order:2 !important;
    width:100% !important;
    min-height:320px !important;
    padding:.25rem 0 .5rem !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    overflow:visible !important;
  }
  body.series-eot .concept-hover-scene{
    width:min(100%,300px) !important;
    min-height:300px !important;
    margin:0 auto !important;
  }
  body.series-eot .concept-book{
    width:min(82%,210px) !important;
    margin:0 auto !important;
  }
  body.series-eot .concept-platform-glow{
    width:min(82%,220px) !important;
    height:50px !important;
    bottom:11% !important;
  }
  body.series-eot .concept-platform-ring{
    width:min(76%,195px) !important;
    height:34px !important;
    bottom:13% !important;
  }
  body.series-eot .concept-key{font-size:1.65rem !important; opacity:.92 !important;}
  body.series-eot .concept-key-a{left:-2% !important; top:18% !important;}
  body.series-eot .concept-key-b{right:-1% !important; top:24% !important;}
  body.series-eot .concept-key-c{left:1% !important; bottom:23% !important;}
  body.series-eot .concept-key-d{right:0% !important; bottom:22% !important;}
  body.series-eot .concept-hero h1{font-size:clamp(3rem,18vw,4.7rem) !important;line-height:.92 !important;}
}
@media (max-width:430px){
  body.series-eot .concept-book-stage{min-height:290px !important;}
  body.series-eot .concept-hover-scene{width:min(100%,270px) !important;min-height:270px !important;}
  body.series-eot .concept-book{width:min(84%,185px) !important;}
  body.series-eot .concept-platform-glow{width:min(82%,190px) !important;height:42px !important;bottom:12% !important;}
  body.series-eot .concept-platform-ring{width:min(74%,168px) !important;height:28px !important;bottom:14% !important;}
}


/* ===== Premium polish system (v16) ===== */
:root{
  --premium-gold:#f3c75f;
  --premium-blue:#3aa8ff;
  --premium-purple:#9a5cff;
}
.site-scroll-progress{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:3px;
  z-index:2500;
  background:rgba(255,255,255,.04);
  pointer-events:none;
}
.site-scroll-progress span{
  display:block;
  width:0%;
  height:100%;
  background:linear-gradient(90deg,var(--premium-gold),var(--premium-blue),var(--premium-purple));
  box-shadow:0 0 18px rgba(58,168,255,.5);
  transition:width .08s linear;
}
.announcement-bar{box-shadow:0 8px 34px rgba(0,0,0,.20)}
.site-header{box-shadow:0 10px 40px rgba(0,0,0,.22)}
.brand img{filter:drop-shadow(0 0 12px rgba(58,168,255,.18))}
.concept-hero{
  box-shadow:0 28px 90px rgba(0,0,0,.58),0 0 0 1px rgba(243,199,95,.15),inset 0 0 0 1px rgba(255,255,255,.04);
}
.concept-kicker,.concept-subtitle{text-shadow:0 0 16px rgba(243,199,95,.14)}
.concept-hero h1{
  background:linear-gradient(180deg,#fff 0%,#e8f4ff 52%,#a9d8ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 14px 30px rgba(0,0,0,.42));
}
.concept-primary{position:relative;overflow:hidden}
.concept-primary::after{
  content:"";
  position:absolute;
  top:-80%;
  bottom:-80%;
  width:42px;
  left:-58px;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  animation:premiumButtonShine 4.8s ease-in-out infinite;
}
.concept-secondary{box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.premium-story-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:1rem;
}
.premium-story-chips span{
  padding:.55rem .75rem;
  border-radius:999px;
  border:1px solid rgba(243,199,95,.20);
  background:rgba(255,255,255,.035);
  color:#d8e8f8;
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.02em;
}
.premium-hero-orbit{overflow:visible}
.premium-book-aura{
  position:absolute;
  z-index:1;
  width:66%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(58,168,255,.20),transparent 55%),conic-gradient(from 90deg,transparent,rgba(243,199,95,.22),transparent,rgba(58,168,255,.18),transparent);
  filter:blur(8px);
  opacity:.82;
  animation:premiumAuraSpin 14s linear infinite;
}
.premium-holo-lines{
  position:absolute;
  z-index:2;
  inset:12% 10% 18%;
  border-radius:28px;
  background:repeating-linear-gradient(180deg,transparent 0 18px,rgba(91,182,255,.035) 18px 19px),linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);
  mask-image:radial-gradient(ellipse at center,#000 0 56%,transparent 76%);
  opacity:.58;
  pointer-events:none;
  animation:premiumScan 6s ease-in-out infinite;
}
.concept-book img{filter:contrast(1.03) saturate(1.04)}
.concept-platform-ring{animation:premiumRingPulse 3.8s ease-in-out infinite}
.concept-platform-glow{animation:premiumGlowPulse 3.8s ease-in-out infinite}
.series-banner-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  border-radius:inherit;
  background:radial-gradient(circle at 18% 0%,rgba(255,255,255,.20),transparent 28%),linear-gradient(135deg,rgba(243,199,95,.18),transparent 36%,rgba(58,168,255,.14));
  opacity:.28;
  transition:opacity .35s ease;
}
.series-banner-card:hover::before,.series-banner-card:focus-visible::before{opacity:.55}
.intro-strip{position:relative;overflow:hidden}
.intro-strip::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 0 34%,rgba(255,255,255,.06) 46%,transparent 58%);
  transform:translateX(-120%);
  animation:premiumPanelSweep 8s ease-in-out infinite;
}
.section-heading h2{text-shadow:0 16px 36px rgba(0,0,0,.24)}
.preview-shell,.cover-card,.progress-card,.progress-bars,.gallery-card,.shop-card,.contact-panel{
  box-shadow:0 22px 60px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.025);
}
.gallery-card,.shop-card,.update-card{transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease}
.gallery-card:hover,.shop-card:hover,.update-card:hover{
  transform:translateY(-4px);
  border-color:rgba(243,199,95,.28);
  box-shadow:0 26px 68px rgba(0,0,0,.34);
}
.key-tracker,.sticky-preview{box-shadow:0 18px 44px rgba(0,0,0,.34),0 0 24px rgba(154,92,255,.16)}
.site-dialog::backdrop{backdrop-filter:blur(8px)}
@keyframes premiumButtonShine{
  0%,65%{left:-70px;opacity:0}
  72%{opacity:.85}
  88%,100%{left:120%;opacity:0}
}
@keyframes premiumAuraSpin{to{transform:rotate(360deg)}}
@keyframes premiumScan{
  0%,100%{transform:translateY(-6px);opacity:.45}
  50%{transform:translateY(8px);opacity:.72}
}
@keyframes premiumRingPulse{
  0%,100%{box-shadow:0 0 0 4px rgba(16,121,255,.16), inset 0 0 26px rgba(53,175,255,.28), 0 0 38px rgba(28,125,255,.42)}
  50%{box-shadow:0 0 0 8px rgba(16,121,255,.10), inset 0 0 34px rgba(53,175,255,.38), 0 0 58px rgba(28,125,255,.58)}
}
@keyframes premiumGlowPulse{
  0%,100%{opacity:.78;transform:translateX(-50%) scale(.96)}
  50%{opacity:1;transform:translateX(-50%) scale(1.04)}
}
@keyframes premiumPanelSweep{
  0%,70%{transform:translateX(-120%)}
  100%{transform:translateX(120%)}
}
@media (max-width:760px){
  .premium-story-chips{display:grid;grid-template-columns:1fr}
  .premium-story-chips span{text-align:center}
  .premium-book-aura{width:82%;opacity:.58}
  .premium-holo-lines{inset:10% 2% 18%;opacity:.36}
}
@media (prefers-reduced-motion:reduce){
  .concept-primary::after,.premium-book-aura,.premium-holo-lines,.concept-platform-ring,.concept-platform-glow,.intro-strip::before{animation:none !important}
}


/* ===== V17 clickable story chips and stronger preview button ===== */
.premium-story-chips{
  align-items:center;
}
.premium-story-chip{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  padding:.62rem .88rem;
  border-radius:999px;
  border:1px solid rgba(243,199,95,.24);
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(58,168,255,.045));
  color:#d8e8f8;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 10px 24px rgba(0,0,0,.12);
  transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease,color .24s ease;
}
.premium-story-chip:hover,
.premium-story-chip:focus-visible{
  transform:translateY(-2px);
  color:#ffffff;
  border-color:rgba(243,199,95,.55);
  background:linear-gradient(135deg,rgba(243,199,95,.18),rgba(58,168,255,.13));
  box-shadow:0 14px 32px rgba(0,0,0,.24),0 0 22px rgba(58,168,255,.12);
  outline:none;
}
.premium-story-chip::after{
  content:"  ↗";
  color:#f3c75f;
  font-weight:900;
}
.premium-info-dialog{
  width:min(92vw,560px);
  border:0;
  padding:0;
  border-radius:28px;
  background:transparent;
  color:var(--text);
}
.premium-info-dialog::backdrop{
  background:rgba(2,7,14,.74);
  backdrop-filter:blur(10px);
}
.premium-info-card{
  position:relative;
  overflow:hidden;
  padding:clamp(1.35rem,4vw,2rem);
  border-radius:28px;
  border:1px solid rgba(243,199,95,.25);
  background:
    radial-gradient(circle at 85% 5%,rgba(58,168,255,.18),transparent 30%),
    radial-gradient(circle at 15% 100%,rgba(154,92,255,.18),transparent 30%),
    linear-gradient(145deg,rgba(5,14,28,.98),rgba(7,17,32,.94));
  box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 44px rgba(58,168,255,.10);
}
.premium-info-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(180deg,transparent 0 18px,rgba(255,255,255,.025) 18px 19px);
  opacity:.42;
}
.premium-info-card h2{
  position:relative;
  margin:.2rem 2rem .75rem 0;
  font-size:clamp(2rem,5vw,3rem);
  color:#eef6ff;
}
.premium-info-card p{
  position:relative;
  color:#c9d8e8;
  font-size:1.05rem;
}
.premium-info-close{
  position:absolute;
  z-index:3;
  top:.9rem;
  right:.9rem;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:1.6rem;
  line-height:1;
  cursor:pointer;
}
.premium-info-close:hover,
.premium-info-close:focus-visible{
  border-color:rgba(243,199,95,.55);
  background:rgba(243,199,95,.13);
  outline:none;
}

/* Stronger chapter preview button, especially on phone */
.preview-copy .btn.primary,
.preview-section .btn.primary[data-open-preview]{
  color:#ffffff !important;
  font-weight:950 !important;
  letter-spacing:.01em;
  background:
    linear-gradient(135deg,#ffffff 0%,#8fdcff 18%,#2db4ff 48%,#1768ff 100%) !important;
  text-shadow:0 1px 8px rgba(0,25,70,.75);
  box-shadow:0 16px 38px rgba(23,104,255,.38),0 0 0 1px rgba(255,255,255,.18) inset !important;
}
.preview-copy .btn.primary:hover,
.preview-section .btn.primary[data-open-preview]:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 20px 44px rgba(23,104,255,.48),0 0 0 1px rgba(255,255,255,.24) inset !important;
}
@media(max-width:760px){
  .premium-story-chips{
    display:grid;
    grid-template-columns:1fr;
  }
  .premium-story-chip{
    width:100%;
    min-height:48px;
    text-align:center;
  }
  .preview-copy .btn.primary,
  .preview-section .btn.primary[data-open-preview]{
    width:100%;
    min-height:58px;
    font-size:1rem;
  }
}


/* ===== V18 signal unlocked fade + preview next flow ===== */
.key-tracker.is-unlocked{
  border-color:rgba(165,118,255,.75);
  background:linear-gradient(135deg,rgba(20,12,43,.94),rgba(8,18,32,.90));
  box-shadow:0 18px 44px rgba(0,0,0,.34),0 0 30px rgba(154,92,255,.32);
}
.key-tracker.is-unlocked > span{
  color:#d8b4ff;
  filter:drop-shadow(0 0 10px rgba(185,111,255,.65));
}
.key-tracker.is-fading{
  opacity:0 !important;
  transform:translate3d(0,-12px,0) scale(.96) !important;
  pointer-events:none !important;
}
.key-shell .reward-note{
  color:#d9e9ff;
}
#read-preview-after-unlock{
  background:linear-gradient(135deg,#ffffff 0%,#8fdcff 18%,#2db4ff 48%,#1768ff 100%) !important;
  color:#fff !important;
  text-shadow:0 1px 8px rgba(0,25,70,.75);
  box-shadow:0 16px 38px rgba(23,104,255,.34),0 0 0 1px rgba(255,255,255,.20) inset !important;
}
@media(max-width:620px){
  .key-tracker.is-unlocked{
    top:calc(78px + env(safe-area-inset-top,0px) + .55rem);
    right:.55rem;
    max-width:62vw;
  }
}


/* ===== V19 premium circular floating actions ===== */
.floating-fab{
  position:fixed;
  z-index:48;
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-radius:999px;
  border:1px solid rgba(198,140,255,.44);
  background:radial-gradient(circle at 30% 25%, rgba(112,60,204,.96), rgba(43,18,83,.96) 52%, rgba(14,10,35,.96) 100%);
  backdrop-filter:blur(16px);
  color:#ffffff;
  box-shadow:0 18px 44px rgba(0,0,0,.36), 0 0 28px rgba(164,97,255,.28), inset 0 1px 0 rgba(255,255,255,.2);
  cursor:pointer;
  transition:transform .3s ease, box-shadow .3s ease, opacity .35s ease, filter .35s ease, background .35s ease;
}
.floating-fab .fab-icon{
  font-size:1.35rem;
  line-height:1;
  color:#f8f4ff;
  filter:drop-shadow(0 0 10px rgba(213,181,255,.45));
}
.floating-fab .fab-tooltip{
  position:absolute;
  right:calc(100% + .78rem);
  top:50%;
  transform:translate3d(10px,-50%,0);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  padding:.82rem 1rem;
  border-radius:999px;
  border:1px solid rgba(191,136,255,.34);
  background:linear-gradient(135deg, rgba(17,11,35,.96), rgba(15,24,45,.94));
  color:#fff;
  font-weight:900;
  font-size:.95rem;
  letter-spacing:.01em;
  box-shadow:0 16px 38px rgba(0,0,0,.32), 0 0 24px rgba(149,84,255,.2);
  transition:opacity .25s ease, transform .25s ease;
}
.floating-fab:hover,
.floating-fab:focus-visible,
.floating-fab.is-pulsing{
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 22px 52px rgba(0,0,0,.4), 0 0 34px rgba(172,112,255,.34), inset 0 1px 0 rgba(255,255,255,.26);
}
.floating-fab:hover .fab-tooltip,
.floating-fab:focus-visible .fab-tooltip,
.floating-fab.show-tooltip .fab-tooltip{
  opacity:1;
  transform:translate3d(0,-50%,0);
}
.floating-fab-preview{
  right:calc(env(safe-area-inset-right,0px) + 1rem);
  bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);
}
.floating-fab-unlock{
  right:calc(env(safe-area-inset-right,0px) + 1rem);
  bottom:calc(env(safe-area-inset-bottom,0px) + 5.8rem);
  left:auto;
  top:auto;
  opacity:0;
  transform:translate3d(0,10px,0);
  pointer-events:none;
}
.floating-fab-unlock .fab-icon{
  transform:rotate(90deg);
  color:#eed8ff;
}
.key-tracker{padding:0;max-width:none;font-size:inherit;background:none;}
.key-tracker.is-visible{opacity:1;transform:none;pointer-events:auto;}
.key-tracker[hidden]{display:none;}
.key-tracker.is-unlocked{
  border-color:rgba(189,140,255,.82);
  background:radial-gradient(circle at 30% 25%, rgba(126,72,224,.98), rgba(48,20,91,.97) 52%, rgba(12,12,33,.97) 100%);
  box-shadow:0 20px 48px rgba(0,0,0,.38), 0 0 34px rgba(175,103,255,.4), inset 0 1px 0 rgba(255,255,255,.22);
}
.key-tracker.is-unlocked .fab-icon{
  filter:drop-shadow(0 0 12px rgba(210,177,255,.75));
}
.key-tracker.is-fading{
  opacity:0 !important;
  transform:translate3d(0,-14px,0) scale(.94) !important;
  pointer-events:none !important;
}

.floating-fab-unlock.is-unlocked{
  animation:unlockBreath 3.2s ease-in-out infinite;
}
@keyframes unlockBreath{
  0%,100%{box-shadow:0 20px 48px rgba(0,0,0,.38), 0 0 34px rgba(175,103,255,.4), inset 0 1px 0 rgba(255,255,255,.22);}
  50%{box-shadow:0 22px 54px rgba(0,0,0,.42), 0 0 40px rgba(179,122,255,.55), inset 0 1px 0 rgba(255,255,255,.26);}
}
.floating-fab-preview .fab-icon{font-size:1.15rem;}
.floating-fab-preview.is-highlighted{
  animation:previewFabGlow 1.5s ease-in-out infinite;
}
@keyframes previewFabGlow{
  0%,100%{transform:translateY(0) scale(1); box-shadow:0 18px 44px rgba(0,0,0,.36), 0 0 28px rgba(164,97,255,.28), inset 0 1px 0 rgba(255,255,255,.2);}
  50%{transform:translateY(-2px) scale(1.06); box-shadow:0 24px 56px rgba(0,0,0,.4), 0 0 42px rgba(114,193,255,.48), inset 0 1px 0 rgba(255,255,255,.26);}
}
@media (max-width:760px){
  .floating-fab{
    width:58px;
    height:58px;
  }
  .floating-fab .fab-tooltip{
    right:calc(100% + .55rem);
    padding:.74rem .9rem;
    font-size:.82rem;
  }
  .floating-fab-preview{
    right:calc(env(safe-area-inset-right,0px) + .7rem);
    bottom:calc(env(safe-area-inset-bottom,0px) + .8rem);
  }
  .floating-fab-unlock{
    right:calc(env(safe-area-inset-right,0px) + .7rem);
    bottom:calc(env(safe-area-inset-bottom,0px) + 5.1rem);
    top:auto;
  }
}
@media (hover:none){
  .floating-fab .fab-tooltip{display:none;}
}


/* ===== V21 hidden key reset fix ===== */
/* The first key lives inside the new concept hero, so keep it discoverable after reset. */
.concept-hero.key-zone-active .key-one{
  opacity:.20;
  pointer-events:auto;
  animation:keyPulse 4s ease-in-out infinite;
}
.concept-hero .key-one{
  right:1.1rem;
  bottom:1.2rem;
}
.concept-hero .key-one:hover,
.concept-hero .key-one:focus-visible{
  opacity:.70;
}
@media(max-width:760px){
  .concept-hero .key-one{
    right:.7rem;
    bottom:.75rem;
  }
}


/* ===== V22 phone fix: keep Signal Unlocked circle beside Read Preview circle ===== */
/* Old phone rule had stronger specificity and pushed Signal Unlocked back to the top.
   This locks it to the bottom on phones, side-by-side with the preview circle. */
@media (max-width:760px){
  .key-tracker.floating-fab-unlock,
  .key-tracker.floating-fab-unlock.is-unlocked,
  .key-tracker.floating-fab-unlock.is-visible{
    top:auto !important;
    right:calc(env(safe-area-inset-right,0px) + 5.05rem) !important;
    bottom:calc(env(safe-area-inset-bottom,0px) + .8rem) !important;
    left:auto !important;
    max-width:none !important;
  }
  .floating-fab-preview{
    right:calc(env(safe-area-inset-right,0px) + .7rem) !important;
    bottom:calc(env(safe-area-inset-bottom,0px) + .8rem) !important;
  }
}

@media (max-width:420px){
  .key-tracker.floating-fab-unlock,
  .key-tracker.floating-fab-unlock.is-unlocked,
  .key-tracker.floating-fab-unlock.is-visible{
    right:calc(env(safe-area-inset-right,0px) + 4.72rem) !important;
  }
}


/* ===== V23 final phone fix: fixed dock keeps circles side-by-side ===== */
.fab-dock{
  position:fixed !important;
  z-index:90 !important;
  right:calc(env(safe-area-inset-right,0px) + 1rem) !important;
  bottom:calc(env(safe-area-inset-bottom,0px) + 1rem) !important;
  top:auto !important;
  left:auto !important;
  display:flex !important;
  flex-direction:row-reverse !important;
  align-items:center !important;
  gap:.85rem !important;
  pointer-events:none !important;
}
.fab-dock .floating-fab,
.fab-dock .sticky-preview,
.fab-dock .key-tracker,
.fab-dock .floating-fab-preview,
.fab-dock .floating-fab-unlock{
  position:relative !important;
  right:auto !important;
  bottom:auto !important;
  top:auto !important;
  left:auto !important;
  flex:0 0 auto !important;
  pointer-events:auto !important;
}
.fab-dock .key-tracker[hidden]{
  display:none !important;
}
.fab-dock .floating-fab-unlock.is-visible,
.fab-dock .floating-fab-unlock.is-unlocked{
  opacity:1 !important;
  transform:none !important;
}
.fab-dock .floating-fab .fab-tooltip{
  right:0 !important;
  top:auto !important;
  bottom:calc(100% + .7rem) !important;
  transform:translate3d(0,10px,0) !important;
}
.fab-dock .floating-fab:hover .fab-tooltip,
.fab-dock .floating-fab:focus-visible .fab-tooltip,
.fab-dock .floating-fab.show-tooltip .fab-tooltip{
  transform:translate3d(0,0,0) !important;
}
@media(max-width:760px){
  .fab-dock{
    right:calc(env(safe-area-inset-right,0px) + .7rem) !important;
    bottom:calc(env(safe-area-inset-bottom,0px) + .8rem) !important;
    gap:.62rem !important;
  }
  .fab-dock .floating-fab{
    width:58px !important;
    height:58px !important;
  }
}
@media(max-width:390px){
  .fab-dock{
    gap:.52rem !important;
  }
  .fab-dock .floating-fab{
    width:54px !important;
    height:54px !important;
  }
}


/* ===== V24 Transmission Log + Glitch Signals ===== */
.glitch-transmission{
  position:fixed;
  z-index:80;
  left:50%;
  top:18%;
  transform:translate3d(-50%,-12px,0) scale(.98);
  pointer-events:none;
  opacity:0;
  padding:.72rem 1rem;
  border-radius:999px;
  border:1px solid rgba(113,200,255,.28);
  background:linear-gradient(135deg,rgba(5,15,30,.86),rgba(24,12,52,.78));
  backdrop-filter:blur(14px);
  color:#dff4ff;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-shadow:0 0 18px rgba(96,202,255,.45);
  box-shadow:0 18px 50px rgba(0,0,0,.34),0 0 26px rgba(77,179,255,.15);
  max-width:calc(100vw - 2rem);
  white-space:nowrap;
}
.glitch-transmission.is-active{
  animation:glitchSignalV24 2.15s ease both;
}
@keyframes glitchSignalV24{
  0%{opacity:0;transform:translate3d(-50%,-18px,0) scale(.96);filter:blur(4px)}
  10%{opacity:.92;filter:blur(0)}
  16%{transform:translate3d(calc(-50% - 4px),-12px,0) scale(1)}
  20%{transform:translate3d(calc(-50% + 3px),-12px,0) scale(1)}
  24%{transform:translate3d(-50%,-12px,0) scale(1)}
  78%{opacity:.92;filter:blur(0)}
  100%{opacity:0;transform:translate3d(-50%,-24px,0) scale(.98);filter:blur(5px)}
}
.updates{
  position:relative;
}
.updates::before{
  content:"";
  position:absolute;
  inset:2rem auto auto 50%;
  width:min(760px,80vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(97,202,255,.36),rgba(190,126,255,.32),transparent);
  opacity:.7;
}
.update-card{
  position:relative;
  overflow:hidden;
}
.update-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(180deg,transparent 0 18px,rgba(120,205,255,.025) 18px 19px),
    linear-gradient(120deg,transparent 0 35%,rgba(255,255,255,.045) 48%,transparent 60%);
  opacity:.38;
  pointer-events:none;
}
.update-card time{
  color:#79dcff !important;
  letter-spacing:.20em;
  font-weight:950;
  text-shadow:0 0 14px rgba(81,196,255,.28);
}
.update-card h3{
  color:#f4fbff;
}
.update-card p{
  color:#cbdceb;
}
@media(max-width:760px){
  .glitch-transmission{
    top:14%;
    font-size:.64rem;
    letter-spacing:.14em;
    padding:.62rem .82rem;
    white-space:normal;
    text-align:center;
    width:max-content;
    max-width:calc(100vw - 2.2rem);
  }
}
@media(prefers-reduced-motion:reduce){
  .glitch-transmission.is-active{
    animation:none;
    opacity:0;
  }
}


/* ===== V25 mobile dock tweak: tuck hidden-key circle tighter into the lower-right corner ===== */
@media (max-width: 760px){
  .fab-dock{
    right: calc(env(safe-area-inset-right,0px) + .38rem) !important;
    bottom: calc(env(safe-area-inset-bottom,0px) + .55rem) !important;
    gap: .44rem !important;
  }
  .fab-dock .floating-fab,
  .fab-dock .sticky-preview,
  .fab-dock .key-tracker,
  .fab-dock .floating-fab-preview,
  .fab-dock .floating-fab-unlock{
    width: 52px !important;
    height: 52px !important;
  }
  .fab-dock .floating-fab .fab-icon,
  .fab-dock .key-tracker .fab-icon{
    font-size: 1.08rem !important;
  }
  .fab-dock .floating-fab-preview .fab-icon{
    font-size: 1rem !important;
  }
}

@media (max-width: 430px){
  .fab-dock{
    right: calc(env(safe-area-inset-right,0px) + .22rem) !important;
    bottom: calc(env(safe-area-inset-bottom,0px) + .45rem) !important;
    gap: .38rem !important;
    transform: translate3d(0,0,0) scale(.94) !important;
    transform-origin: bottom right !important;
  }
}

@media (max-width: 360px){
  .fab-dock{
    gap: .32rem !important;
    transform: translate3d(0,0,0) scale(.90) !important;
  }
}


/* ===== V26 FINAL FIX: force Signal Unlocked key circle to stay inside the same dock as Read Free Preview ===== */
/* This overrides every older phone rule with stronger ID-specific selectors. */
.fab-dock{
  position:fixed !important;
  z-index:9999 !important;
  right:calc(env(safe-area-inset-right,0px) + .65rem) !important;
  bottom:calc(env(safe-area-inset-bottom,0px) + .65rem) !important;
  top:auto !important;
  left:auto !important;
  display:flex !important;
  flex-direction:row-reverse !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:.55rem !important;
  pointer-events:none !important;
  width:auto !important;
  height:auto !important;
  max-width:calc(100vw - 1rem) !important;
}

.fab-dock #preview-fab.floating-fab,
.fab-dock #key-tracker.key-tracker.floating-fab-unlock,
.fab-dock #key-tracker.key-tracker.floating-fab-unlock.is-visible,
.fab-dock #key-tracker.key-tracker.floating-fab-unlock.is-unlocked{
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  transform:none !important;
  flex:0 0 auto !important;
  pointer-events:auto !important;
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  max-width:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  margin:0 !important;
}

.fab-dock #key-tracker.key-tracker.floating-fab-unlock[hidden]{
  display:none !important;
}

.fab-dock #key-tracker.key-tracker.floating-fab-unlock.is-visible,
.fab-dock #key-tracker.key-tracker.floating-fab-unlock.is-unlocked{
  display:grid !important;
  opacity:1 !important;
}

.fab-dock #key-tracker.key-tracker.floating-fab-unlock.is-fading{
  opacity:1 !important;
  transform:none !important;
}

@media(max-width:760px){
  .fab-dock{
    right:calc(env(safe-area-inset-right,0px) + .45rem) !important;
    bottom:calc(env(safe-area-inset-bottom,0px) + .48rem) !important;
    gap:.42rem !important;
  }

  .fab-dock #preview-fab.floating-fab,
  .fab-dock #key-tracker.key-tracker.floating-fab-unlock,
  .fab-dock #key-tracker.key-tracker.floating-fab-unlock.is-visible,
  .fab-dock #key-tracker.key-tracker.floating-fab-unlock.is-unlocked{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    max-width:50px !important;
    min-height:50px !important;
    max-height:50px !important;
  }

  .fab-dock .fab-icon{
    font-size:1rem !important;
  }
}

@media(max-width:390px){
  .fab-dock{
    right:calc(env(safe-area-inset-right,0px) + .25rem) !important;
    bottom:calc(env(safe-area-inset-bottom,0px) + .38rem) !important;
    gap:.34rem !important;
  }

  .fab-dock #preview-fab.floating-fab,
  .fab-dock #key-tracker.key-tracker.floating-fab-unlock,
  .fab-dock #key-tracker.key-tracker.floating-fab-unlock.is-visible,
  .fab-dock #key-tracker.key-tracker.floating-fab-unlock.is-unlocked{
    width:47px !important;
    height:47px !important;
    min-width:47px !important;
    max-width:47px !important;
    min-height:47px !important;
    max-height:47px !important;
  }
}


/* ===== V27 Signal Eyes Reveal ===== */
.signal-eye-reveal{
  position:fixed;
  inset:0;
  z-index:12000;
  display:grid;
  place-items:center;
  padding:1.2rem;
  background:
    radial-gradient(circle at 50% 42%, rgba(37,142,255,.18), transparent 32%),
    radial-gradient(circle at 50% 52%, rgba(124,74,255,.15), transparent 42%),
    rgba(0,4,12,.82);
  backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.signal-eye-reveal.is-active{
  visibility:visible;
  animation:signalEyeWholeReveal 4s ease both;
}
.signal-eye-panel{
  position:relative;
  width:min(92vw,620px);
  min-height:310px;
  display:grid;
  place-items:center;
  gap:1rem;
  padding:2rem;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(91,196,255,.28);
  background:
    radial-gradient(circle at 50% 36%, rgba(23,111,255,.20), transparent 38%),
    linear-gradient(145deg, rgba(2,10,22,.96), rgba(8,14,33,.92));
  box-shadow:
    0 40px 120px rgba(0,0,0,.70),
    0 0 60px rgba(59,170,255,.18),
    inset 0 0 0 1px rgba(255,255,255,.04);
}
.signal-eye-panel::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:
    conic-gradient(from 180deg, transparent, rgba(61,177,255,.12), transparent, rgba(130,86,255,.12), transparent);
  animation:signalEyeRotate 4s linear infinite;
  opacity:.7;
}
.signal-eye-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.04) 0 1px, transparent 1px 9px),
    linear-gradient(90deg, transparent, rgba(255,255,255,.05), transparent);
  mix-blend-mode:screen;
  opacity:.42;
  pointer-events:none;
}
.signal-eye-status{
  position:relative;
  z-index:2;
  color:#84dbff;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.28em;
  text-transform:uppercase;
  text-shadow:0 0 18px rgba(90,205,255,.45);
}
.signal-eye-face{
  position:relative;
  z-index:2;
  width:min(76vw,420px);
  height:150px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:clamp(2.4rem,10vw,5.4rem);
  filter:drop-shadow(0 0 28px rgba(42,169,255,.65));
}
.signal-eye{
  width:clamp(78px,20vw,126px);
  height:clamp(34px,8vw,52px);
  border-radius:80% 80% 55% 55%;
  background:
    radial-gradient(circle at 52% 50%, #ffffff 0 8%, #bff0ff 9% 17%, #34b7ff 18% 42%, rgba(24,107,255,.72) 43% 68%, transparent 70%),
    linear-gradient(90deg, transparent, rgba(79,197,255,.85), transparent);
  box-shadow:
    0 0 18px rgba(255,255,255,.72),
    0 0 34px rgba(55,184,255,.92),
    0 0 70px rgba(34,103,255,.70);
  transform:skewX(-8deg) scaleY(.92);
  animation:signalEyeBlink 4s ease both;
}
.signal-eye-right{
  transform:skewX(8deg) scaleY(.92);
}
.signal-eye-scan{
  position:absolute;
  z-index:3;
  left:8%;
  right:8%;
  top:34%;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(130,229,255,.96), transparent);
  box-shadow:0 0 18px rgba(109,222,255,.82);
  animation:signalEyeScan 4s ease both;
}
.signal-eye-panel p{
  position:relative;
  z-index:2;
  margin:0;
  color:#dff5ff;
  font-size:clamp(1rem,3vw,1.25rem);
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  opacity:.88;
  text-shadow:0 0 20px rgba(91,196,255,.34);
}

@keyframes signalEyeWholeReveal{
  0%{opacity:0;visibility:visible;filter:blur(6px)}
  8%{opacity:1;filter:blur(0)}
  72%{opacity:1;filter:blur(0)}
  100%{opacity:0;visibility:hidden;filter:blur(10px)}
}
@keyframes signalEyeRotate{
  to{transform:rotate(360deg)}
}
@keyframes signalEyeBlink{
  0%{opacity:0;transform:skewX(-8deg) scaleY(.08) scaleX(.9)}
  14%{opacity:1;transform:skewX(-8deg) scaleY(.95) scaleX(1)}
  28%{transform:skewX(-8deg) scaleY(.18) scaleX(1.02)}
  34%{transform:skewX(-8deg) scaleY(.95) scaleX(1)}
  70%{opacity:1;filter:brightness(1.18)}
  100%{opacity:0;transform:skewX(-8deg) scaleY(.10) scaleX(.95);filter:brightness(.6)}
}
.signal-eye-right{
  animation-name:signalEyeBlinkRight;
}
@keyframes signalEyeBlinkRight{
  0%{opacity:0;transform:skewX(8deg) scaleY(.08) scaleX(.9)}
  14%{opacity:1;transform:skewX(8deg) scaleY(.95) scaleX(1)}
  28%{transform:skewX(8deg) scaleY(.18) scaleX(1.02)}
  34%{transform:skewX(8deg) scaleY(.95) scaleX(1)}
  70%{opacity:1;filter:brightness(1.18)}
  100%{opacity:0;transform:skewX(8deg) scaleY(.10) scaleX(.95);filter:brightness(.6)}
}
@keyframes signalEyeScan{
  0%{opacity:0;transform:translateY(-72px)}
  18%{opacity:1}
  55%{opacity:.9;transform:translateY(78px)}
  100%{opacity:0;transform:translateY(108px)}
}

@media(max-width:760px){
  .signal-eye-panel{
    min-height:270px;
    border-radius:28px;
    padding:1.45rem;
  }
  .signal-eye-face{
    height:125px;
    gap:2.2rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .signal-eye-reveal.is-active{
    animation:signalEyeWholeReveal 1.2s ease both;
  }
  .signal-eye-panel::before,
  .signal-eye,
  .signal-eye-scan{
    animation:none !important;
  }
}


/* ===== V28 Signal Eyes visibility fix ===== */
/* Bigger PC panel + stronger blue eyes that stay visible during the 4 second reveal. */
.signal-eye-reveal{
  z-index:20000 !important;
}

.signal-eye-reveal.is-active{
  visibility:visible !important;
  pointer-events:auto !important;
  animation:signalEyeWholeRevealV28 4s ease both !important;
}

.signal-eye-panel{
  width:min(94vw,860px) !important;
  min-height:500px !important;
  border-radius:42px !important;
  padding:3rem 2.4rem !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(0,170,255,.26), transparent 30%),
    radial-gradient(circle at 50% 55%, rgba(91,72,255,.20), transparent 45%),
    linear-gradient(145deg, rgba(0,5,14,.98), rgba(3,11,28,.96) 55%, rgba(8,7,25,.98)) !important;
}

.signal-eye-face{
  width:min(82vw,640px) !important;
  height:230px !important;
  gap:clamp(3.5rem,10vw,7.8rem) !important;
  z-index:5 !important;
  filter:
    drop-shadow(0 0 22px rgba(86,205,255,.95))
    drop-shadow(0 0 58px rgba(0,117,255,.65)) !important;
}

.signal-eye{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  width:clamp(112px,18vw,190px) !important;
  height:clamp(54px,7vw,82px) !important;
  border-radius:999px 999px 720px 720px / 760px 760px 440px 440px !important;
  background:
    radial-gradient(circle at 50% 50%, #ffffff 0 8%, #d8fbff 9% 17%, #73dcff 18% 31%, #08a9ff 32% 52%, #096cff 53% 72%, rgba(7,55,152,.85) 73% 100%) !important;
  box-shadow:
    0 0 12px rgba(255,255,255,.95),
    0 0 28px rgba(117,224,255,.98),
    0 0 62px rgba(0,145,255,.95),
    0 0 112px rgba(25,73,255,.78),
    inset 0 0 18px rgba(255,255,255,.55) !important;
  transform:skewX(-8deg) scaleY(.96) !important;
  animation:signalEyeGlowV28 4s ease both !important;
}

.signal-eye-right{
  transform:skewX(8deg) scaleY(.96) !important;
  animation:signalEyeGlowRightV28 4s ease both !important;
}

.signal-eye::before{
  content:"" !important;
  position:absolute !important;
  inset:18% 28% !important;
  border-radius:999px !important;
  background:#ffffff !important;
  box-shadow:0 0 18px rgba(255,255,255,.98), 0 0 38px rgba(161,237,255,.9) !important;
}

.signal-eye::after{
  content:"" !important;
  position:absolute !important;
  inset:-22% -26% !important;
  border-radius:inherit !important;
  border:2px solid rgba(119,221,255,.45) !important;
  filter:blur(1px) !important;
}

.signal-eye-panel p{
  font-size:clamp(1.15rem,2.5vw,1.55rem) !important;
}

@keyframes signalEyeWholeRevealV28{
  0%{opacity:0;visibility:visible;filter:blur(5px)}
  7%{opacity:1;filter:blur(0)}
  82%{opacity:1;filter:blur(0)}
  100%{opacity:0;visibility:hidden;filter:blur(8px)}
}

@keyframes signalEyeGlowV28{
  0%{opacity:0;transform:skewX(-8deg) scaleY(.12) scaleX(.86);filter:brightness(.8)}
  12%{opacity:1;transform:skewX(-8deg) scaleY(.96) scaleX(1);filter:brightness(1.1)}
  26%{opacity:1;transform:skewX(-8deg) scaleY(.28) scaleX(1.04);filter:brightness(1.4)}
  34%{opacity:1;transform:skewX(-8deg) scaleY(.96) scaleX(1);filter:brightness(1.18)}
  76%{opacity:1;transform:skewX(-8deg) scaleY(.96) scaleX(1.03);filter:brightness(1.45)}
  100%{opacity:0;transform:skewX(-8deg) scaleY(.16) scaleX(.92);filter:brightness(.65)}
}

@keyframes signalEyeGlowRightV28{
  0%{opacity:0;transform:skewX(8deg) scaleY(.12) scaleX(.86);filter:brightness(.8)}
  12%{opacity:1;transform:skewX(8deg) scaleY(.96) scaleX(1);filter:brightness(1.1)}
  26%{opacity:1;transform:skewX(8deg) scaleY(.28) scaleX(1.04);filter:brightness(1.4)}
  34%{opacity:1;transform:skewX(8deg) scaleY(.96) scaleX(1);filter:brightness(1.18)}
  76%{opacity:1;transform:skewX(8deg) scaleY(.96) scaleX(1.03);filter:brightness(1.45)}
  100%{opacity:0;transform:skewX(8deg) scaleY(.16) scaleX(.92);filter:brightness(.65)}
}

@media(max-width:760px){
  .signal-eye-panel{
    width:min(93vw,430px) !important;
    min-height:285px !important;
    border-radius:28px !important;
    padding:1.45rem !important;
  }

  .signal-eye-face{
    width:min(82vw,330px) !important;
    height:130px !important;
    gap:2.2rem !important;
  }

  .signal-eye{
    width:92px !important;
    height:42px !important;
  }

  .signal-eye-panel p{
    font-size:.95rem !important;
  }
}

@media(max-width:390px){
  .signal-eye-face{
    gap:1.7rem !important;
  }

  .signal-eye{
    width:82px !important;
    height:38px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .signal-eye-reveal.is-active{
    animation:signalEyeWholeRevealV28 4s ease both !important;
  }

  .signal-eye{
    animation:none !important;
    opacity:1 !important;
  }
}


/* ===== V29 Signal Eyes reveal redesign ===== */
.signal-eye-panel{
  width:min(94vw, 920px) !important;
  min-height:530px !important;
  border-radius:40px !important;
  padding:3rem 2.6rem !important;
  background:
    radial-gradient(circle at 50% 44%, rgba(0,157,255,.18), transparent 34%),
    radial-gradient(circle at 50% 54%, rgba(75,47,255,.18), transparent 48%),
    linear-gradient(145deg, rgba(1,8,22,.97), rgba(3,12,28,.98) 58%, rgba(8,7,24,.98)) !important;
}

.signal-eye-status{
  letter-spacing:.26em !important;
}

.signal-eye-face{
  width:min(82vw, 700px) !important;
  height:auto !important;
  min-height:220px !important;
  margin:1rem auto 1.3rem !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  filter:drop-shadow(0 0 22px rgba(77,202,255,.45)) drop-shadow(0 0 60px rgba(0,132,255,.32)) !important;
}

.signal-eye,
.signal-eye::before,
.signal-eye::after,
.signal-eye-right{
  display:none !important;
}

.signal-eye-single-wrap{
  width:min(78vw, 620px);
  aspect-ratio: 896 / 1280;
  max-height:390px;
  border-radius:30px;
  overflow:hidden;
  position:relative;
  transform-origin:center center;
  opacity:0;
  animation:signalSingleEyeRevealV29 4s ease-in-out both;
  box-shadow:
    0 0 0 1px rgba(115,205,255,.14),
    0 0 42px rgba(62,151,255,.26),
    inset 0 0 28px rgba(255,255,255,.03);
}

.signal-eye-single-wrap::before,
.signal-eye-single-wrap::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:50%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(0,0,0,.92), rgba(0,0,0,.12));
  opacity:.16;
}

.signal-eye-single-wrap::before{ top:0; }
.signal-eye-single-wrap::after{
  bottom:0;
  transform:scaleY(-1);
}

.signal-eye-single{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.01);
  filter:saturate(1.02) contrast(1.06) brightness(1.02);
}

.signal-eye-scan{
  width:min(80%, 580px) !important;
  margin:0 auto !important;
  opacity:.85 !important;
}

.signal-eye-panel p{
  text-align:center !important;
  font-size:clamp(1.05rem, 2.2vw, 1.4rem) !important;
  color:rgba(228,242,255,.96) !important;
}

@keyframes signalSingleEyeRevealV29{
  0%   {opacity:0; transform:scaleY(.02) scaleX(.94); filter:brightness(.72) blur(1px)}
  10%  {opacity:1; transform:scaleY(.06) scaleX(.96); filter:brightness(.82) blur(.2px)}
  28%  {opacity:1; transform:scaleY(1) scaleX(1); filter:brightness(1) blur(0)}
  58%  {opacity:1; transform:scaleY(1) scaleX(1); filter:brightness(1.06)}
  66%  {opacity:1; transform:scaleY(.14) scaleX(1.02); filter:brightness(1.12)}
  78%  {opacity:1; transform:scaleY(1) scaleX(1); filter:brightness(1.08)}
  88%  {opacity:1; transform:scaleY(.86) scaleX(1.01); filter:brightness(1.04)}
  100% {opacity:0; transform:scaleY(.86) scaleX(1.01); filter:brightness(.92) blur(1.2px)}
}

@media (max-width: 760px){
  .signal-eye-panel{
    width:min(93vw, 440px) !important;
    min-height:300px !important;
    border-radius:28px !important;
    padding:1.45rem 1.1rem !important;
  }

  .signal-eye-face{
    width:min(86vw, 340px) !important;
    min-height:130px !important;
    margin:.5rem auto 1rem !important;
  }

  .signal-eye-single-wrap{
    width:min(80vw, 300px);
    max-height:190px;
    border-radius:20px;
  }

  .signal-eye-panel p{
    font-size:.98rem !important;
  }
}


/* ===== V30 smoother realistic single eye reveal ===== */
/* Keeps the same one-eye design, but adds eyelids, stronger blue glow and a smoother creepy reveal. */
.signal-eye-reveal.is-active{
  animation:signalEyeWholeRevealV30 4.35s ease both !important;
}

.signal-eye-panel{
  width:min(95vw, 980px) !important;
  min-height:560px !important;
  box-shadow:
    0 50px 150px rgba(0,0,0,.78),
    0 0 80px rgba(41,173,255,.24),
    0 0 150px rgba(62,87,255,.12),
    inset 0 0 0 1px rgba(255,255,255,.05) !important;
}

.signal-eye-face{
  width:min(84vw, 760px) !important;
  min-height:260px !important;
  filter:
    drop-shadow(0 0 28px rgba(90,215,255,.58))
    drop-shadow(0 0 90px rgba(0,118,255,.34)) !important;
}

.signal-eye-single-wrap{
  width:min(80vw, 690px) !important;
  max-height:430px !important;
  border-radius:34px !important;
  opacity:0;
  overflow:hidden;
  position:relative;
  animation:signalEyeFrameV30 4.35s ease-in-out both !important;
  background:#020714 !important;
  box-shadow:
    0 0 0 1px rgba(130,216,255,.24),
    0 0 40px rgba(81,203,255,.34),
    0 0 90px rgba(0,116,255,.24),
    inset 0 0 40px rgba(0,0,0,.55) !important;
}

.signal-eye-single{
  filter:saturate(1.18) contrast(1.12) brightness(1.08)
    drop-shadow(0 0 16px rgba(72,213,255,.55)) !important;
  animation:signalEyeImageV30 4.35s ease-in-out both !important;
}

/* top and bottom eyelids */
.signal-eye-single-wrap::before,
.signal-eye-single-wrap::after{
  content:"" !important;
  position:absolute !important;
  left:-3% !important;
  right:-3% !important;
  height:54% !important;
  z-index:5 !important;
  pointer-events:none !important;
  background:
    radial-gradient(ellipse at center, rgba(2,7,17,.98), rgba(0,0,0,.98) 72%),
    linear-gradient(180deg, rgba(5,14,32,.98), rgba(0,0,0,.98)) !important;
  opacity:1 !important;
  filter:blur(.2px) !important;
}

.signal-eye-single-wrap::before{
  top:-2% !important;
  transform-origin:top center !important;
  animation:upperLidV30 4.35s ease-in-out both !important;
  border-bottom:1px solid rgba(110,220,255,.20);
}

.signal-eye-single-wrap::after{
  bottom:-2% !important;
  transform-origin:bottom center !important;
  animation:lowerLidV30 4.35s ease-in-out both !important;
  border-top:1px solid rgba(110,220,255,.18);
}

/* extra blue glow across the iris */
.signal-eye-face::after{
  content:"";
  position:absolute;
  width:min(68vw, 520px);
  height:min(18vw, 130px);
  border-radius:999px;
  background:radial-gradient(ellipse at center, rgba(99,226,255,.26), rgba(0,120,255,.11) 45%, transparent 72%);
  filter:blur(12px);
  opacity:0;
  animation:irisGlowV30 4.35s ease-in-out both;
  pointer-events:none;
}

.signal-eye-scan{
  height:2px !important;
  background:linear-gradient(90deg, transparent, rgba(130,240,255,.95), rgba(255,255,255,.9), rgba(130,240,255,.95), transparent) !important;
  animation:signalEyeScanV30 4.35s ease both !important;
}

.signal-eye-panel p{
  animation:eyeMessageV30 4.35s ease both !important;
}

@keyframes signalEyeWholeRevealV30{
  0%{opacity:0;visibility:visible;filter:blur(7px)}
  8%{opacity:1;filter:blur(0)}
  84%{opacity:1;filter:blur(0)}
  100%{opacity:0;visibility:hidden;filter:blur(10px)}
}

@keyframes signalEyeFrameV30{
  0%{opacity:0;transform:scale(.96);filter:brightness(.7)}
  10%{opacity:1;transform:scale(.98);filter:brightness(.85)}
  26%{opacity:1;transform:scale(1);filter:brightness(1.05)}
  78%{opacity:1;transform:scale(1.015);filter:brightness(1.16)}
  100%{opacity:0;transform:scale(1.03);filter:brightness(.76) blur(1.2px)}
}

@keyframes signalEyeImageV30{
  0%{transform:scale(1.08);filter:saturate(1.05) contrast(1.02) brightness(.72)}
  28%{transform:scale(1.02);filter:saturate(1.22) contrast(1.12) brightness(1.05)}
  52%{transform:scale(1.00);filter:saturate(1.28) contrast(1.16) brightness(1.14)}
  64%{transform:scale(1.01);filter:saturate(1.34) contrast(1.18) brightness(1.30)}
  72%{transform:scale(1.00);filter:saturate(1.28) contrast(1.14) brightness(1.14)}
  100%{transform:scale(1.03);filter:saturate(1.1) contrast(1.08) brightness(.82)}
}

/* closed -> slow open -> blink around 1.5 seconds -> open -> fade */
@keyframes upperLidV30{
  0%{transform:translateY(0)}
  12%{transform:translateY(0)}
  34%{transform:translateY(-98%)}
  54%{transform:translateY(-98%)}
  62%{transform:translateY(-8%)}
  70%{transform:translateY(-98%)}
  88%{transform:translateY(-98%)}
  100%{transform:translateY(-28%)}
}

@keyframes lowerLidV30{
  0%{transform:translateY(0)}
  12%{transform:translateY(0)}
  34%{transform:translateY(98%)}
  54%{transform:translateY(98%)}
  62%{transform:translateY(8%)}
  70%{transform:translateY(98%)}
  88%{transform:translateY(98%)}
  100%{transform:translateY(28%)}
}

@keyframes irisGlowV30{
  0%,16%{opacity:0;transform:scale(.75)}
  34%{opacity:.62;transform:scale(1)}
  60%{opacity:.86;transform:scale(1.05)}
  70%{opacity:.35;transform:scale(.96)}
  80%{opacity:.78;transform:scale(1.04)}
  100%{opacity:0;transform:scale(1.15)}
}

@keyframes signalEyeScanV30{
  0%,22%{opacity:0;transform:translateY(-95px)}
  36%{opacity:.92;transform:translateY(-28px)}
  58%{opacity:.72;transform:translateY(74px)}
  76%,100%{opacity:0;transform:translateY(118px)}
}

@keyframes eyeMessageV30{
  0%,22%{opacity:0;transform:translateY(8px)}
  36%,82%{opacity:.94;transform:translateY(0)}
  100%{opacity:0;transform:translateY(-4px)}
}

@media(max-width:760px){
  .signal-eye-panel{
    width:min(93vw, 440px) !important;
    min-height:310px !important;
    padding:1.45rem 1.05rem !important;
    border-radius:28px !important;
  }

  .signal-eye-face{
    width:min(86vw, 350px) !important;
    min-height:145px !important;
  }

  .signal-eye-single-wrap{
    width:min(81vw, 315px) !important;
    max-height:205px !important;
    border-radius:22px !important;
  }
}

@media(max-width:390px){
  .signal-eye-single-wrap{
    width:min(82vw, 285px) !important;
    max-height:185px !important;
  }
}


/* ===== V31 Exact signal eye reveal: slow 3s opening using the exact eye image ===== */
.signal-eye-reveal{
  z-index:1200 !important;
}
.signal-eye-reveal.is-active{
  animation:signalEyeWholeRevealV31 6.2s ease both !important;
}
.signal-eye-panel{
  width:min(92vw, 760px) !important;
  min-height:auto !important;
  padding:24px 24px 26px !important;
  border-radius:30px !important;
  border:1px solid rgba(108,151,255,.38) !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(50,158,255,.12), transparent 30%),
    radial-gradient(circle at 50% 82%, rgba(111,79,255,.12), transparent 34%),
    linear-gradient(180deg, rgba(5,11,21,.97), rgba(4,9,18,.98)) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.66), 0 0 0 1px rgba(120,86,255,.18) inset !important;
}
.signal-eye-status{
  margin-bottom:14px !important;
  letter-spacing:.28em !important;
}
.signal-eye-face{
  position:relative !important;
  width:min(100%, 620px) !important;
  aspect-ratio:600/442 !important;
  min-height:auto !important;
  padding:0 !important;
  margin:0 auto 16px !important;
  border-radius:26px !important;
  overflow:hidden !important;
  background:#01050d !important;
  border:1px solid rgba(122,164,255,.28) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.42), 0 0 28px rgba(34,132,255,.12) !important;
}
.signal-eye-single-wrap{
  position:relative !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  border-radius:24px !important;
  isolation:isolate !important;
  animation:none !important;
  background:#01050d !important;
}
.signal-eye-single{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  opacity:0;
  transform:scale(1.02);
  filter:saturate(1.06) contrast(1.02) brightness(.94);
  animation:signalEyeImageV31 6.2s ease both !important;
}
.signal-eye-single-wrap::before,
.signal-eye-single-wrap::after{
  content:"";
  position:absolute;
  left:-2%;
  width:104%;
  height:52%;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.98), rgba(0,0,0,.95) 72%, rgba(2,6,13,.82));
  box-shadow:0 0 26px rgba(0,0,0,.45);
}
.signal-eye-single-wrap::before{
  top:0;
  border-bottom-left-radius:52% 100%;
  border-bottom-right-radius:52% 100%;
  animation:signalEyeLidTopV31 6.2s cubic-bezier(.25,.72,.22,1) both !important;
}
.signal-eye-single-wrap::after{
  bottom:0;
  border-top-left-radius:52% 100%;
  border-top-right-radius:52% 100%;
  animation:signalEyeLidBottomV31 6.2s cubic-bezier(.25,.72,.22,1) both !important;
}
.signal-eye-scan{display:none !important;}
.signal-eye-panel p{
  margin:0 !important;
  font-size:1.02rem !important;
  letter-spacing:.08em !important;
  color:#d9e4f4 !important;
  text-align:center !important;
}

@keyframes signalEyeWholeRevealV31{
  0%{opacity:0;transform:translateY(10px) scale(.96)}
  8%{opacity:1;transform:translateY(0) scale(1)}
  86%{opacity:1;transform:translateY(0) scale(1)}
  100%{opacity:0;transform:translateY(-8px) scale(.985)}
}
@keyframes signalEyeImageV31{
  0%{opacity:0;transform:scale(1.03)}
  10%{opacity:.85;transform:scale(1.025)}
  50%{opacity:1;transform:scale(1.015)}
  92%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:scale(1)}
}
@keyframes signalEyeLidTopV31{
  0%{transform:translateY(0)}
  50%{transform:translateY(-101%)}
  68%{transform:translateY(-101%)}
  78%{transform:translateY(0)}
  92%{transform:translateY(-101%)}
  100%{transform:translateY(-101%)}
}
@keyframes signalEyeLidBottomV31{
  0%{transform:translateY(0)}
  50%{transform:translateY(101%)}
  68%{transform:translateY(101%)}
  78%{transform:translateY(0)}
  92%{transform:translateY(101%)}
  100%{transform:translateY(101%)}
}

@media (max-width:900px){
  .signal-eye-panel{
    width:min(92vw, 600px) !important;
    padding:18px 18px 20px !important;
  }
  .signal-eye-face{
    width:100% !important;
  }
}
@media (max-width:620px){
  .signal-eye-reveal.is-active{
    animation:signalEyeWholeRevealV31 6.2s ease both !important;
  }
  .signal-eye-panel{
    width:min(94vw, 420px) !important;
    padding:16px 16px 18px !important;
    border-radius:24px !important;
  }
  .signal-eye-status{
    font-size:.68rem !important;
    letter-spacing:.22em !important;
  }
  .signal-eye-face{
    border-radius:20px !important;
  }
  .signal-eye-panel p{
    font-size:.95rem !important;
  }
}


/* ===== V32 FIX: eye image definitely visible, then slow eyelid open ===== */
.signal-eye-reveal{
  position:fixed !important;
  inset:0 !important;
  z-index:30000 !important;
  display:grid !important;
  place-items:center !important;
  padding:1rem !important;
  background:rgba(0,4,12,.86) !important;
  backdrop-filter:blur(10px) !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.signal-eye-reveal.is-active{
  visibility:visible !important;
  pointer-events:auto !important;
  animation:signalEyeWholeRevealV32 6.2s ease both !important;
}
.signal-eye-panel{
  width:min(94vw,820px) !important;
  min-height:auto !important;
  padding:24px !important;
  border-radius:30px !important;
  overflow:hidden !important;
  border:1px solid rgba(91,197,255,.34) !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(58,178,255,.16), transparent 32%),
    linear-gradient(180deg, rgba(4,10,22,.98), rgba(2,6,15,.98)) !important;
  box-shadow:0 36px 110px rgba(0,0,0,.74), 0 0 80px rgba(39,160,255,.16) !important;
}
.signal-eye-status{
  position:relative !important;
  z-index:4 !important;
  margin:0 0 14px !important;
  color:#8ee7ff !important;
  text-align:center !important;
  font-size:.76rem !important;
  font-weight:950 !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
}
.signal-eye-face{
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  width:min(100%,680px) !important;
  aspect-ratio:600/442 !important;
  min-height:auto !important;
  margin:0 auto 16px !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:#020711 !important;
  border:1px solid rgba(116,181,255,.28) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset, 0 0 42px rgba(45,164,255,.16) !important;
  filter:none !important;
}
.signal-eye-face::before,
.signal-eye-face::after,
.signal-eye-single-wrap,
.signal-eye-single-wrap::before,
.signal-eye-single-wrap::after,
.signal-eye,
.signal-eye-left,
.signal-eye-right,
.signal-eye-scan{
  display:none !important;
}
.signal-eye-single{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:scale(1.01) !important;
  filter:saturate(1.1) contrast(1.04) brightness(.96) !important;
  animation:signalEyeImageV32 6.2s ease both !important;
}
.signal-eye-lid{
  position:absolute !important;
  left:-4% !important;
  right:-4% !important;
  height:54% !important;
  z-index:5 !important;
  display:block !important;
  background:linear-gradient(180deg, #02050d, #000000) !important;
  box-shadow:0 0 24px rgba(0,0,0,.72) !important;
  pointer-events:none !important;
}
.signal-eye-lid-top{
  top:-1% !important;
  border-bottom-left-radius:55% 100% !important;
  border-bottom-right-radius:55% 100% !important;
  animation:signalEyeLidTopV32 6.2s cubic-bezier(.22,.75,.18,1) both !important;
}
.signal-eye-lid-bottom{
  bottom:-1% !important;
  border-top-left-radius:55% 100% !important;
  border-top-right-radius:55% 100% !important;
  animation:signalEyeLidBottomV32 6.2s cubic-bezier(.22,.75,.18,1) both !important;
}
.signal-eye-glow{
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  display:block !important;
  pointer-events:none !important;
  background:radial-gradient(ellipse at 50% 50%, rgba(96,216,255,.18), transparent 42%) !important;
  opacity:0 !important;
  animation:signalEyeGlowV32 6.2s ease both !important;
  mix-blend-mode:screen !important;
}
.signal-eye-panel p{
  position:relative !important;
  z-index:4 !important;
  margin:0 !important;
  text-align:center !important;
  color:#dceeff !important;
  font-weight:900 !important;
  font-size:1rem !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
@keyframes signalEyeWholeRevealV32{
  0%{opacity:0;visibility:visible;transform:scale(.98)}
  8%{opacity:1;visibility:visible;transform:scale(1)}
  86%{opacity:1;visibility:visible;transform:scale(1)}
  100%{opacity:0;visibility:hidden;transform:scale(.99)}
}
@keyframes signalEyeLidTopV32{
  0%{transform:translateY(0)}
  48%{transform:translateY(-101%)}
  66%{transform:translateY(-101%)}
  76%{transform:translateY(0)}
  90%{transform:translateY(-101%)}
  100%{transform:translateY(-101%)}
}
@keyframes signalEyeLidBottomV32{
  0%{transform:translateY(0)}
  48%{transform:translateY(101%)}
  66%{transform:translateY(101%)}
  76%{transform:translateY(0)}
  90%{transform:translateY(101%)}
  100%{transform:translateY(101%)}
}
@keyframes signalEyeImageV32{
  0%{opacity:1;transform:scale(1.04);filter:saturate(1.0) contrast(1.0) brightness(.74)}
  48%{opacity:1;transform:scale(1.015);filter:saturate(1.1) contrast(1.04) brightness(1)}
  84%{opacity:1;transform:scale(1.005);filter:saturate(1.14) contrast(1.05) brightness(1.08)}
  100%{opacity:0;transform:scale(1.01);filter:saturate(1.0) contrast(1.0) brightness(.82)}
}
@keyframes signalEyeGlowV32{
  0%,20%{opacity:0}
  48%{opacity:.55}
  66%{opacity:.75}
  76%{opacity:.22}
  90%{opacity:.62}
  100%{opacity:0}
}
@media(max-width:760px){
  .signal-eye-panel{
    width:min(94vw,430px) !important;
    padding:16px !important;
    border-radius:24px !important;
  }
  .signal-eye-face{
    width:100% !important;
    border-radius:18px !important;
  }
  .signal-eye-status{
    font-size:.66rem !important;
    letter-spacing:.20em !important;
  }
  .signal-eye-panel p{
    font-size:.9rem !important;
  }
}


/* ===== V33 FIX: restart eyelid animation only when reveal opens ===== */
.signal-eye-reveal:not(.is-active) .signal-eye-single{
  animation:none !important;
  opacity:1 !important;
  transform:scale(1.04) !important;
  filter:saturate(1.0) contrast(1.0) brightness(.74) !important;
}
.signal-eye-reveal:not(.is-active) .signal-eye-lid-top{
  animation:none !important;
  transform:translateY(0) !important;
}
.signal-eye-reveal:not(.is-active) .signal-eye-lid-bottom{
  animation:none !important;
  transform:translateY(0) !important;
}
.signal-eye-reveal:not(.is-active) .signal-eye-glow{
  animation:none !important;
  opacity:0 !important;
}
.signal-eye-reveal.is-active .signal-eye-single{
  animation:signalEyeImageV33 6.4s ease both !important;
}
.signal-eye-reveal.is-active .signal-eye-lid-top{
  animation:signalEyeLidTopV33 6.4s cubic-bezier(.18,.72,.16,1) both !important;
}
.signal-eye-reveal.is-active .signal-eye-lid-bottom{
  animation:signalEyeLidBottomV33 6.4s cubic-bezier(.18,.72,.16,1) both !important;
}
.signal-eye-reveal.is-active .signal-eye-glow{
  animation:signalEyeGlowV33 6.4s ease both !important;
}
.signal-eye-reveal.is-active{
  animation:signalEyeWholeRevealV33 6.4s ease both !important;
}

@keyframes signalEyeWholeRevealV33{
  0%{opacity:0;visibility:visible;transform:scale(.98)}
  7%{opacity:1;visibility:visible;transform:scale(1)}
  88%{opacity:1;visibility:visible;transform:scale(1)}
  100%{opacity:0;visibility:hidden;transform:scale(.99)}
}
@keyframes signalEyeLidTopV33{
  0%{transform:translateY(0)}
  10%{transform:translateY(0)}
  47%{transform:translateY(-101%)}
  68%{transform:translateY(-101%)}
  78%{transform:translateY(0)}
  90%{transform:translateY(-101%)}
  100%{transform:translateY(-101%)}
}
@keyframes signalEyeLidBottomV33{
  0%{transform:translateY(0)}
  10%{transform:translateY(0)}
  47%{transform:translateY(101%)}
  68%{transform:translateY(101%)}
  78%{transform:translateY(0)}
  90%{transform:translateY(101%)}
  100%{transform:translateY(101%)}
}
@keyframes signalEyeImageV33{
  0%{opacity:1;transform:scale(1.045);filter:saturate(1.0) contrast(1.0) brightness(.66)}
  47%{opacity:1;transform:scale(1.018);filter:saturate(1.12) contrast(1.05) brightness(1.02)}
  68%{opacity:1;transform:scale(1.01);filter:saturate(1.18) contrast(1.07) brightness(1.14)}
  78%{opacity:1;transform:scale(1.018);filter:saturate(1.1) contrast(1.02) brightness(.72)}
  90%{opacity:1;transform:scale(1.008);filter:saturate(1.16) contrast(1.07) brightness(1.10)}
  100%{opacity:0;transform:scale(1.012);filter:saturate(1.0) contrast(1.0) brightness(.80)}
}
@keyframes signalEyeGlowV33{
  0%,18%{opacity:0}
  47%{opacity:.58}
  68%{opacity:.82}
  78%{opacity:.05}
  90%{opacity:.72}
  100%{opacity:0}
}


/* ===== V34 Signal Eyes Reveal uses your CapCut MP4 animation ===== */
.signal-eye-video-reveal{
  z-index:30000 !important;
}
.signal-eye-video-reveal.is-active{
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  animation:signalVideoRevealShellV34 .45s ease both !important;
}
.signal-eye-video-reveal:not(.is-active){
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.signal-eye-video-reveal .signal-eye-panel{
  width:min(94vw,860px) !important;
  min-height:auto !important;
  padding:24px !important;
  border-radius:30px !important;
  background:
    radial-gradient(circle at 50% 20%, rgba(70,190,255,.16), transparent 34%),
    linear-gradient(180deg, rgba(4,10,22,.98), rgba(2,6,15,.98)) !important;
  box-shadow:0 36px 110px rgba(0,0,0,.74), 0 0 80px rgba(39,160,255,.18) !important;
}
.signal-eye-video-frame{
  display:block !important;
  width:min(100%,720px) !important;
  aspect-ratio:640 / 464 !important;
  margin:0 auto 16px !important;
  padding:0 !important;
  position:relative !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:#020711 !important;
  border:1px solid rgba(116,181,255,.30) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset, 0 0 42px rgba(45,164,255,.18) !important;
}
.signal-eye-video{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:1 !important;
  visibility:visible !important;
}
.signal-eye-video-frame::before,
.signal-eye-video-frame::after,
.signal-eye-video-frame .signal-eye-lid,
.signal-eye-video-frame .signal-eye-single,
.signal-eye-video-frame .signal-eye-scan{
  display:none !important;
}
.signal-eye-video-frame .signal-eye-glow{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  pointer-events:none !important;
  background:radial-gradient(ellipse at 50% 50%, rgba(96,216,255,.18), transparent 44%) !important;
  mix-blend-mode:screen !important;
  opacity:.55 !important;
  animation:signalVideoGlowV34 2.2s ease-in-out infinite !important;
}
@keyframes signalVideoRevealShellV34{
  from{opacity:0;transform:scale(.985)}
  to{opacity:1;transform:scale(1)}
}
@keyframes signalVideoGlowV34{
  0%,100%{opacity:.35}
  50%{opacity:.72}
}
@media(max-width:760px){
  .signal-eye-video-reveal .signal-eye-panel{
    width:min(94vw,430px) !important;
    padding:16px !important;
    border-radius:24px !important;
  }
  .signal-eye-video-frame{
    width:100% !important;
    border-radius:18px !important;
  }
}


/* V35 mobile/video fix for Signal Eyes Reveal */
.signal-eye-video-reveal {
  position: fixed !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(0,4,12,.86) !important;
  backdrop-filter: blur(10px) !important;
  z-index: 30000 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  padding: 1rem !important;
}
.signal-eye-video-reveal.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.signal-eye-video-reveal .signal-eye-panel {
  width: min(94vw, 860px) !important;
  padding: 24px !important;
  border-radius: 30px !important;
}
.signal-eye-video-frame {
  position: relative !important;
  display: block !important;
  width: min(100%, 720px) !important;
  aspect-ratio: 640 / 464 !important;
  margin: 0 auto 16px !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: #000 !important;
}
.signal-eye-video {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #000 !important;
}
@media (max-width: 760px) {
  .signal-eye-video-reveal .signal-eye-panel {
    width: min(94vw, 430px) !important;
    padding: 16px !important;
    border-radius: 24px !important;
  }
  .signal-eye-video-frame {
    width: 100% !important;
    border-radius: 18px !important;
  }
}


/* ===== V36 polish: stop hero title clipping behind book and refine reveal copy layout ===== */
@media (min-width: 900px){
  body.series-eot .concept-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(380px,.82fr) !important;
    gap:2.8rem !important;
  }
  body.series-eot .concept-hero-copy{
    max-width:560px !important;
    padding-right:.5rem !important;
  }
  body.series-eot .concept-hero h1{
    font-size:clamp(3.8rem,6.6vw,6.55rem) !important;
    line-height:.88 !important;
    letter-spacing:.008em !important;
    max-width:8.6ch !important;
  }
  body.series-eot .concept-book-stage{
    justify-self:end !important;
  }
  body.series-eot .concept-hover-scene{
    transform:translateX(10px) !important;
  }
}

.signal-eye-panel p{
  margin:.5rem 0 0 !important;
  text-align:center !important;
  color:#d8e9ff !important;
  font-size:1rem !important;
  letter-spacing:.02em !important;
}


/* ===== V37 tiny polish: cinematic eye reveal, calmer keys, cleaner hero spacing ===== */
body.series-eot .concept-hero-copy{
  position:relative;
  z-index:2;
}
body.series-eot .concept-book-stage{
  z-index:1;
}
body.series-eot .concept-hover-scene{
  position:relative;
}
body.series-eot .concept-book{
  z-index:2 !important;
}
body.series-eot .concept-key{
  opacity:.72 !important;
  filter:drop-shadow(0 0 12px rgba(217,173,75,.28)) !important;
  transform-origin:center center;
}
body.series-eot .concept-key-a,
body.series-eot .concept-key-b,
body.series-eot .concept-key-c,
body.series-eot .concept-key-d{
  font-size:clamp(1.55rem,3.1vw,3.05rem) !important;
}
@media (min-width: 900px){
  body.series-eot .concept-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(400px,.86fr) !important;
    gap:3rem !important;
  }
  body.series-eot .concept-hero-copy{
    max-width:540px !important;
  }
  body.series-eot .concept-hero h1{
    font-size:clamp(3.5rem,6.1vw,6rem) !important;
    line-height:.9 !important;
    max-width:8.2ch !important;
  }
  body.series-eot .concept-book-stage{
    justify-self:end !important;
  }
  body.series-eot .concept-hover-scene{
    transform:translateX(22px) !important;
  }
}
@media (max-width: 899px){
  body.series-eot .concept-hero h1{
    font-size:clamp(3rem,15vw,4.9rem) !important;
    line-height:.9 !important;
  }
  body.series-eot .concept-hero-copy{
    padding-right:0 !important;
  }
  body.series-eot .concept-book-stage{
    margin-top:.25rem !important;
  }
  body.series-eot .concept-hover-scene{
    transform:translateX(0) !important;
  }
  body.series-eot .concept-key{
    opacity:.66 !important;
  }
}

.signal-eye-video-reveal{
  background:radial-gradient(circle at center, rgba(9,19,38,.28) 0%, rgba(4,9,18,.82) 58%, rgba(2,5,12,.92) 100%) !important;
}
.signal-eye-video-reveal.is-active{
  animation:signalRevealBackdropV37 5.8s ease both !important;
}
.signal-eye-video-reveal .signal-eye-panel{
  animation:signalPanelRevealV37 5.6s cubic-bezier(.22,.8,.22,1) both !important;
  box-shadow:0 28px 80px rgba(0,0,0,.44), 0 0 0 1px rgba(92,174,255,.14), 0 0 38px rgba(70,150,255,.18) !important;
}
.signal-eye-video-frame{
  overflow:hidden !important;
}
.signal-eye-video-frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at center, rgba(111,201,255,.10), rgba(5,10,20,0) 60%);
  opacity:.85;
}
.signal-eye-warning,
.signal-eye-panel p{
  margin:.72rem 0 0 !important;
  text-align:center !important;
  color:#e4f0ff !important;
  font-size:1rem !important;
  letter-spacing:.035em !important;
  text-shadow:0 0 12px rgba(96,170,255,.26), 0 0 24px rgba(96,170,255,.14) !important;
}
.signal-eye-status{
  letter-spacing:.35em !important;
}
.key-tracker.soft-arrive{
  animation:signalUnlockedDockV37 1.45s cubic-bezier(.2,.9,.2,1) both;
}
.floating-fab-unlock.is-unlocked .fab-tooltip{
  transition:opacity .35s ease, transform .35s ease, box-shadow .35s ease !important;
}
@keyframes signalRevealBackdropV37{
  0%{opacity:0;}
  10%{opacity:1;}
  82%{opacity:1;}
  100%{opacity:0;}
}
@keyframes signalPanelRevealV37{
  0%{opacity:0; transform:translateY(18px) scale(.965); filter:blur(6px);}
  12%{opacity:1; transform:translateY(0) scale(1); filter:blur(0);}
  84%{opacity:1; transform:translateY(0) scale(1); filter:blur(0);}
  100%{opacity:0; transform:translateY(-8px) scale(.988); filter:blur(3px);}
}
@keyframes signalUnlockedDockV37{
  0%{transform:translateY(14px) scale(.88); opacity:0; box-shadow:0 0 0 rgba(0,0,0,0);}
  44%{transform:translateY(-2px) scale(1.04); opacity:1; box-shadow:0 0 22px rgba(161,97,255,.28);}
  100%{transform:translateY(0) scale(1); opacity:1; box-shadow:0 18px 44px rgba(0,0,0,.34),0 0 24px rgba(154,92,255,.16);}
}
@media (max-width: 760px){
  .signal-eye-video-reveal .signal-eye-panel{
    width:min(92vw, 420px) !important;
    padding:18px !important;
  }
  .signal-eye-warning,
  .signal-eye-panel p{
    font-size:.96rem !important;
  }
}
