:root{
  --black:#07070d;--black-2:#0d0d18;--black-3:#14142a;
  --purple:#6c2bd9;--purple-2:#8b47f0;--purple-3:#a76ff7;
  --blue:#1a6bff;--blue-2:#3d8bff;--blue-l:#a8c8ff;
  --gold:#d4a017;--gold-2:#f0c040;--gold-3:#ffe083;
  --white:#f0eeff;--muted:#6b6b9a;
  --border:rgba(108,43,217,.18);--border-2:rgba(108,43,217,.32);
  --g-purple:linear-gradient(135deg,var(--purple),var(--blue));
  --g-gold:linear-gradient(135deg,var(--gold),var(--gold-3));
  --g-full:linear-gradient(135deg,var(--purple),var(--blue),var(--gold));
  --glow-p:rgba(108,43,217,.4);--glow-b:rgba(26,107,255,.3);--glow-g:rgba(212,160,23,.35);
  --fd:'Bebas Neue',sans-serif;--fb:'Cormorant Garamond',serif;
  --fs:'Space Grotesk',sans-serif;--fm:'DM Mono',monospace;
  --nav-h:70px;--ease:cubic-bezier(.22,1,.36,1);--ease-in:cubic-bezier(.55,0,1,.45);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:auto;font-size:16px;}
body{background:var(--black);color:var(--white);font-family:var(--fs);overflow-x:hidden;cursor:none;}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--black);}
::-webkit-scrollbar-thumb{background:var(--purple);border-radius:2px;}

/* PRELOADER */
#preloader{position:fixed;inset:0;z-index:9999;background:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transition:opacity .8s var(--ease),transform .8s var(--ease);}
#preloader.done{opacity:0;transform:scale(1.04);pointer-events:none;}
.pre-logo{font-family:var(--fd);font-size:clamp(3rem,8vw,6rem);letter-spacing:.15em;background:var(--g-full);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:preGlow 1.8s ease infinite alternate;}
@keyframes preGlow{from{filter:brightness(1);}to{filter:brightness(1.4) drop-shadow(0 0 32px rgba(108,43,217,.9));}}
.pre-bar-wrap{width:min(320px,70vw);height:2px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;}
.pre-bar{height:100%;width:0%;border-radius:2px;background:var(--g-full);box-shadow:0 0 14px var(--glow-p);}
.pre-txt{font-family:var(--fm);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
#pre-canvas{position:absolute;inset:0;pointer-events:none;opacity:.14;}

/* 5-COL CURTAIN */
#veil{position:fixed;inset:0;z-index:7000;pointer-events:none;display:grid;grid-template-columns:repeat(5,1fr);}
.vcol{background:var(--black-3);transform:scaleY(0);transform-origin:bottom;}
#veil.exit .vcol{animation:vDown .65s var(--ease-in) forwards;}
#veil.enter .vcol{transform:scaleY(1);transform-origin:top;animation:vUp .65s var(--ease) forwards;}
#veil.exit .vcol:nth-child(1),#veil.exit .vcol:nth-child(5){animation-delay:0s;}
#veil.exit .vcol:nth-child(2),#veil.exit .vcol:nth-child(4){animation-delay:.06s;}
#veil.exit .vcol:nth-child(3){animation-delay:.12s;}
#veil.enter .vcol:nth-child(1),#veil.enter .vcol:nth-child(5){animation-delay:.1s;}
#veil.enter .vcol:nth-child(2),#veil.enter .vcol:nth-child(4){animation-delay:.05s;}
#veil.enter .vcol:nth-child(3){animation-delay:0s;}
@keyframes vDown{to{transform:scaleY(1);transform-origin:top;}}
@keyframes vUp{to{transform:scaleY(0);}}

/* CURSOR */
#c-dot{position:fixed;width:7px;height:7px;border-radius:50%;background:var(--gold-2);z-index:8888;pointer-events:none;transform:translate(-50%,-50%);}
#c-ring{position:fixed;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--purple-2);z-index:8887;pointer-events:none;transform:translate(-50%,-50%);opacity:.65;transition:width .3s,height .3s,border-color .3s,opacity .3s;}
body.c-hover #c-ring{width:56px;height:56px;border-color:var(--gold);opacity:.4;}
body.c-hover #c-dot{background:var(--gold-3);}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 4%;transition:background .4s;}
nav.scrolled{background:rgba(7,7,13,.88);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
.nav-logo{font-family:var(--fd);font-size:1.6rem;letter-spacing:.12em;background:var(--g-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{font-family:var(--fs);font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(240,238,255,.5);text-decoration:none;transition:color .2s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold-2);transition:width .3s var(--ease);}
.nav-links a:hover{color:var(--white);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-links a.active{color:var(--white);}
.nav-cta{padding:.5rem 1.4rem;background:transparent;border:1px solid var(--border-2);border-radius:3px;font-family:var(--fs);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--purple-3);text-decoration:none;transition:background .25s,color .25s,box-shadow .25s;}
.nav-cta:hover{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 0 24px var(--glow-p);}
.ham{display:none;flex-direction:column;gap:5px;cursor:none;background:none;border:none;padding:4px;}
.ham span{display:block;width:22px;height:1.5px;background:var(--white);border-radius:1px;transition:.3s;}
.ham.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.ham.open span:nth-child(2){opacity:0;}
.ham.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mob-nav{position:fixed;inset:0;top:var(--nav-h);z-index:900;background:rgba(7,7,13,.97);backdrop-filter:blur(30px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;opacity:0;pointer-events:none;transition:opacity .35s var(--ease);}
.mob-nav.open{opacity:1;pointer-events:all;}
.mob-nav a{font-family:var(--fd);font-size:2.8rem;letter-spacing:.12em;color:rgba(240,238,255,.6);text-decoration:none;transition:color .2s;}
.mob-nav a:hover{color:var(--gold-2);}
#particle-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;}

/* HERO */
.hero{min-height:100vh;padding-top:var(--nav-h);position:relative;overflow:hidden;display:flex;align-items:center;}
.mesh-orb{position:absolute;border-radius:50%;filter:blur(90px);animation:orbDrift ease-in-out infinite alternate;}
.orb-1{width:700px;height:700px;background:rgba(108,43,217,.22);top:-20%;right:-10%;animation-duration:14s;}
.orb-2{width:500px;height:500px;background:rgba(26,107,255,.18);bottom:-10%;left:-5%;animation-duration:18s;}
.orb-3{width:350px;height:350px;background:rgba(212,160,23,.12);top:40%;right:30%;animation-duration:11s;}
@keyframes orbDrift{from{transform:translate(0,0) scale(1);}to{transform:translate(40px,30px) scale(1.1);}}
#hero-wave{position:absolute;bottom:0;left:0;right:0;height:180px;z-index:1;pointer-events:none;}
.hero-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(108,43,217,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(108,43,217,.05) 1px,transparent 1px);background-size:70px 70px;}
.hero-stripe{position:absolute;right:0;top:0;bottom:0;width:38%;z-index:0;background:linear-gradient(160deg,rgba(13,13,24,0) 0%,rgba(13,13,24,.6) 100%);border-left:1px solid rgba(108,43,217,.12);clip-path:polygon(12% 0,100% 0,100% 100%,0% 100%);}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1260px;margin:0 auto;padding:5rem 4%;display:grid;grid-template-columns:1fr 400px;gap:4rem;align-items:center;}
.hero-kicker{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--fm);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin-bottom:1.8rem;animation:fadeUp .9s var(--ease) both;}
.kicker-dot{width:7px;height:7px;border-radius:50%;background:var(--gold-2);animation:pulse 2s ease-in-out infinite;}
.kicker-line{width:28px;height:1px;background:var(--gold-2);}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(212,160,23,.6);}50%{box-shadow:0 0 0 8px rgba(212,160,23,0);}}
.hl-line{overflow:hidden;line-height:1;}
.hl-line span{display:block;font-family:var(--fd);font-size:clamp(4rem,8vw,7.5rem);letter-spacing:.04em;line-height:.95;animation:slideUp .9s var(--ease) both;}
.hl-line:nth-child(1) span{animation-delay:.1s;}
.hl-line:nth-child(2) span{animation-delay:.2s;}
.hl-line:nth-child(3) span{animation-delay:.3s;font-family:var(--fb);font-style:italic;background:var(--g-full);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:clamp(3.5rem,7vw,6.5rem);}
@keyframes slideUp{from{transform:translateY(110%);opacity:0;}to{transform:translateY(0);opacity:1;}}
@keyframes fadeUp{from{transform:translateY(20px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.hero-sub{margin-top:1.8rem;font-size:1rem;font-weight:300;color:rgba(240,238,255,.55);line-height:1.75;animation:fadeUp .9s .45s var(--ease) both;}
.hero-sub strong{color:rgba(240,238,255,.9);font-weight:500;}
.hero-ctas{margin-top:2.5rem;display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp .9s .55s var(--ease) both;}
.btn-prime{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:var(--g-purple);border:none;border-radius:3px;font-family:var(--fs);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;cursor:none;transition:transform .25s var(--ease),box-shadow .25s;}
.btn-prime:hover{transform:translateY(-3px);box-shadow:0 10px 40px var(--glow-p);}
.btn-border{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:transparent;border:1px solid var(--border-2);border-radius:3px;font-family:var(--fs);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--white);text-decoration:none;cursor:none;transition:border-color .25s,color .25s,background .25s,transform .25s;}
.btn-border:hover{border-color:var(--gold);color:var(--gold-2);background:rgba(212,160,23,.07);transform:translateY(-3px);}
.hero-stats{margin-top:3rem;display:flex;gap:2rem;animation:fadeUp .9s .65s var(--ease) both;}
.stat{border-left:2px solid var(--border-2);padding-left:1rem;}
.stat-n{font-family:var(--fd);font-size:2.2rem;letter-spacing:.04em;background:var(--g-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.stat-l{font-family:var(--fm);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.2rem;}
.float-badge{position:absolute;z-index:3;background:rgba(13,13,24,.85);border:1px solid var(--border-2);border-radius:6px;padding:.55rem 1rem;font-family:var(--fm);font-size:.68rem;letter-spacing:.06em;box-shadow:0 8px 32px rgba(0,0,0,.4);white-space:nowrap;backdrop-filter:blur(12px);animation:floatY ease-in-out infinite;}
.float-badge::before{content:'';position:absolute;inset:-1px;border-radius:7px;background:var(--g-full);z-index:-1;opacity:.3;}
.fb-1{top:18%;right:3%;animation-duration:4s;}
.fb-2{top:42%;right:6%;animation-duration:5.5s;animation-delay:1.5s;}
.fb-3{bottom:22%;right:2%;animation-duration:4.8s;animation-delay:.8s;}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
.hero-card{background:rgba(13,13,24,.7);border:1px solid var(--border);border-radius:8px;padding:2.4rem;position:relative;overflow:hidden;backdrop-filter:blur(16px);animation:fadeUp .9s .3s var(--ease) both;box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04);}
.hero-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--g-full);}
.hero-card::after{content:'';position:absolute;inset:0;border-radius:8px;background:radial-gradient(circle at 70% 20%,rgba(108,43,217,.12),transparent 70%);pointer-events:none;}
.hc-avatar{width:90px;height:90px;border-radius:50%;margin:0 auto 1.4rem;background:var(--g-full);padding:2px;}
.hc-avatar-inner{width:100%;height:100%;border-radius:50%;background:var(--black-2);display:flex;align-items:center;justify-content:center;font-size:2.5rem;}
.hc-name{font-family:var(--fd);font-size:1.35rem;letter-spacing:.08em;text-align:center;margin-bottom:.25rem;}
.hc-role{text-align:center;font-family:var(--fm);font-size:.72rem;color:var(--blue-2);margin-bottom:1.4rem;letter-spacing:.06em;}
.hc-badges{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:1.4rem;}
.hbadge{padding:.25rem .65rem;border-radius:3px;font-family:var(--fm);font-size:.65rem;letter-spacing:.04em;}
.hb-p{background:rgba(108,43,217,.18);color:var(--purple-3);border:1px solid rgba(108,43,217,.3);}
.hb-b{background:rgba(26,107,255,.15);color:var(--blue-2);border:1px solid rgba(26,107,255,.25);}
.hb-g{background:rgba(212,160,23,.14);color:var(--gold-2);border:1px solid rgba(212,160,23,.25);}
.hc-div{height:1px;background:var(--border);margin-bottom:1.2rem;}
.hc-rows{display:flex;flex-direction:column;gap:.55rem;}
.hc-row{display:flex;align-items:center;gap:.65rem;font-size:.83rem;}
.hc-icon{width:18px;text-align:center;font-size:.9rem;flex-shrink:0;}
.hc-txt{color:rgba(240,238,255,.5);}
.hc-txt strong{color:var(--white);font-weight:500;}
.scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;font-family:var(--fm);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);z-index:2;animation:fadeUp .9s 1.4s var(--ease) both;}
.scroll-mouse{width:20px;height:32px;border:1.5px solid rgba(108,43,217,.4);border-radius:10px;position:relative;}
.scroll-mouse::after{content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);width:3px;height:7px;border-radius:2px;background:var(--purple-2);animation:scrollBob 1.6s ease-in-out infinite;}
@keyframes scrollBob{0%,100%{top:5px;opacity:1;}50%{top:15px;opacity:.25;}}

/* MARQUEE */
.marquee-strip{position:relative;z-index:2;background:var(--black-3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.1rem 0;overflow:hidden;}
.marquee-track{display:flex;gap:2.5rem;animation:marquee 28s linear infinite;white-space:nowrap;width:max-content;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.mq-item{display:inline-flex;align-items:center;font-family:var(--fd);font-size:.85rem;letter-spacing:.1em;color:rgba(240,238,255,.28);flex-shrink:0;}
.mq-sep{color:var(--gold);font-size:.7rem;margin:0 .4rem;}

/* SCENE COMMONS */
.scene-track{position:relative;}
.scene{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;}
#scene1-track{height:280vh;}
#scene2-track{height:420vh;}
#scene3-track{height:320vh;}

/* SCENE 1 */
#scene1{background:var(--black-2);}
.s1-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(108,43,217,.18) 0%,transparent 70%);}
.s1-lines{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(108,43,217,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(108,43,217,.06) 1px,transparent 1px);background-size:60px 60px;}
#s1-wave{position:absolute;bottom:0;left:0;right:0;height:160px;pointer-events:none;}
.s1-content{position:relative;z-index:2;text-align:center;padding:0 4%;will-change:opacity,transform;}
.s1-label{font-family:var(--fm);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);margin-bottom:1.4rem;}
.s1-big{font-family:var(--fd);font-size:clamp(5rem,13vw,13rem);letter-spacing:.06em;line-height:.9;background:var(--g-full);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.s1-sub{font-family:var(--fb);font-style:italic;font-size:clamp(1rem,2.5vw,1.6rem);color:rgba(240,238,255,.55);margin-top:1rem;}

/* SCENE 2 */
#scene2{background:var(--black);}
.s2-left,.s2-right{position:absolute;top:0;bottom:0;width:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;will-change:transform,opacity;}
.s2-left{left:0;background:var(--black-2);border-right:1px solid var(--border);opacity:0;transform:translateX(-120px);}
.s2-right{right:0;background:var(--black-3);opacity:0;transform:translateX(120px);}
.s2-left-content{padding:5% 8%;position:relative;z-index:1;}
.s2-eyebrow{font-family:var(--fm);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--purple-3);margin-bottom:1rem;}
.s2-heading{font-family:var(--fd);font-size:clamp(2.5rem,5vw,5rem);letter-spacing:.05em;line-height:.95;margin-bottom:1.2rem;}
.s2-body{font-family:var(--fs);font-size:.95rem;font-weight:300;color:rgba(240,238,255,.65);line-height:1.8;max-width:360px;}
.s2-right-content{padding:5% 8%;width:100%;}
.s2-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.s2-stat-card{background:rgba(108,43,217,.1);border:1px solid var(--border-2);border-radius:6px;padding:1.4rem;}
.s2-sn{font-family:var(--fd);font-size:2.6rem;letter-spacing:.04em;background:var(--g-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.s2-sl{font-family:var(--fm);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;}
.s2-div{position:absolute;left:50%;top:10%;bottom:10%;width:1px;background:linear-gradient(180deg,transparent,var(--purple),var(--gold),transparent);transform:scaleY(0);transform-origin:top;z-index:10;}

/* SCENE 3 */
#scene3{background:var(--black);}
.s3-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.s3-far{will-change:transform,opacity;}
.s3-mid{will-change:transform,opacity;}
.s3-near{will-change:transform,opacity;z-index:5;}
.s3-bg-word{font-family:var(--fd);font-size:clamp(8rem,22vw,22rem);letter-spacing:.1em;background:linear-gradient(135deg,rgba(108,43,217,.25),rgba(26,107,255,.18));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;user-select:none;}
.s3-ring{width:500px;height:500px;border-radius:50%;border:1px solid rgba(108,43,217,.3);position:absolute;}
.s3-ring-2{width:340px;height:340px;border-color:rgba(26,107,255,.18);}
.s3-ring-3{width:200px;height:200px;border-color:rgba(212,160,23,.15);}
.s3-cards{display:flex;gap:1.4rem;flex-wrap:wrap;justify-content:center;max-width:960px;padding:0 4%;}
.s3-card{background:rgba(20,20,42,.95);border:1px solid rgba(108,43,217,.38);border-radius:10px;padding:1.8rem;flex:1;min-width:220px;max-width:280px;backdrop-filter:blur(16px);box-shadow:0 8px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);}
.s3-card-icon{font-size:2rem;margin-bottom:.9rem;}
.s3-card-title{font-family:var(--fd);font-size:1.2rem;letter-spacing:.06em;margin-bottom:.5rem;color:var(--white);}
.s3-card-desc{font-family:var(--fs);font-size:.85rem;font-weight:400;color:rgba(240,238,255,.78);line-height:1.65;}

/* BOOKS */
.pub-section{position:relative;z-index:2;padding:8rem 4%;}
.pub-inner{max-width:1260px;margin:0 auto;}
.pub-heading-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem;flex-wrap:wrap;gap:1rem;}
.sec-label{font-family:var(--fm);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--purple-3);margin-bottom:.8rem;display:flex;align-items:center;gap:.6rem;}
.sec-label::before{content:'';width:18px;height:1px;background:var(--purple-3);}
.sec-heading{font-family:var(--fd);font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:.04em;line-height:1.0;}
.sec-heading em{font-family:var(--fb);font-style:italic;background:var(--g-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.view-all{font-family:var(--fm);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--purple-3);text-decoration:none;border:1px solid var(--border-2);padding:.45rem 1rem;border-radius:3px;transition:background .2s,color .2s;}
.view-all:hover{background:var(--purple);color:#fff;}
.books-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}

/* BOOK — the key is perspective on wrap, no overflow:hidden anywhere */
.book-wrap{perspective:1200px;height:360px;cursor:none;position:relative;}
.book{width:100%;height:100%;position:relative;}

/* COVER — hinge at left edge, z-index above inside */
.book-cover{
  position:absolute;inset:0;
  border-radius:4px 10px 10px 4px;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:1.6rem;
  transform-origin:left center;
  transform:rotateY(0deg);
  transition:transform .85s cubic-bezier(.23,1,.32,1),box-shadow .85s;
  overflow:hidden;
  z-index:2;
  will-change:transform;
}
/* Spine shadows */
.book-cover::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5%;background:rgba(0,0,0,.35);border-radius:4px 0 0 4px;z-index:1;}
.book-cover::after{content:'';position:absolute;left:5%;top:0;bottom:0;width:3%;background:rgba(255,255,255,.04);z-index:1;}

/* INSIDE — sits underneath, always visible, revealed when cover swings away */
.book-inside{
  position:absolute;inset:0;
  background:linear-gradient(160deg,#0d0d1a 0%,#14142a 100%);
  border:1px solid rgba(108,43,217,.35);
  border-radius:4px 10px 10px 4px;
  padding:1.6rem 1.6rem 1.6rem 2rem;
  overflow:hidden;
  z-index:1;
}
.book-inside::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--purple),var(--blue),var(--gold));}

/* Hover: cover swings open like a real book */
.book-wrap:hover .book-cover{
  transform:rotateY(-172deg);
  box-shadow:-24px 0 60px rgba(0,0,0,.9),-6px 0 18px rgba(0,0,0,.6),0 0 50px var(--glow-p);
}

.book-page-shadow{position:absolute;left:0;top:0;bottom:0;width:30%;background:linear-gradient(90deg,rgba(0,0,0,.4),transparent);opacity:0;transition:opacity .5s .2s;border-radius:4px 0 0 4px;pointer-events:none;z-index:10;}
.book-wrap:hover .book-page-shadow{opacity:1;}

/* Cover gradient variants */
.bc-1{background:linear-gradient(160deg,#1a0a2e 0%,#3a1060 40%,#6c2bd9 100%);}
.bc-2{background:linear-gradient(160deg,#0a0f2a 0%,#0e2060 40%,#1a6bff 100%);}
.bc-3{background:linear-gradient(160deg,#1a1200 0%,#3d2a00 40%,#d4a017 100%);}
.bc-4{background:linear-gradient(160deg,#120a2e 0%,#2a0f60 40%,#8b47f0 100%);}
.bc-5{background:linear-gradient(160deg,#0a1520 0%,#0e3050 40%,#3d8bff 100%);}
.bc-6{background:linear-gradient(160deg,#1a0f00 0%,#3d2800 40%,#f0c040 100%);}
.book-cover-glow{position:absolute;width:200px;height:200px;border-radius:50%;filter:blur(60px);top:-20%;right:-10%;opacity:.4;pointer-events:none;}
.bg-p{background:var(--purple-2);}
.bg-b{background:var(--blue-2);}
.bg-g{background:var(--gold-2);}
.cover-spine-deco{position:absolute;top:20%;bottom:20%;left:5%;width:3px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.25),transparent);border-radius:2px;z-index:2;}
.cover-year{position:absolute;top:1.2rem;right:1.2rem;font-family:var(--fm);font-size:.65rem;letter-spacing:.12em;color:rgba(255,255,255,.4);z-index:2;}
.cover-type{position:absolute;top:1.2rem;left:1.8rem;font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .5rem;border-radius:3px;z-index:2;}
.ct-j{background:rgba(108,43,217,.4);color:var(--purple-3);}
.ct-c{background:rgba(26,107,255,.35);color:var(--blue-2);}
.ct-r{background:rgba(212,160,23,.3);color:var(--gold-2);}
.cover-bottom{position:relative;z-index:3;}
.cover-journal{font-family:var(--fm);font-size:.62rem;letter-spacing:.08em;color:rgba(255,255,255,.4);margin-bottom:.5rem;}
.cover-title{font-family:var(--fd);font-size:1rem;letter-spacing:.05em;line-height:1.25;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6);}
/* Cover image & watermark */
.cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:4px 10px 10px 4px;opacity:.42;mix-blend-mode:luminosity;z-index:0;pointer-events:none;display:block;}
.cover-logo{position:absolute;top:50%;left:52%;transform:translate(-50%,-70%);font-family:var(--fd);font-size:clamp(2.2rem,4vw,3.8rem);letter-spacing:.1em;color:rgba(255,255,255,.14);pointer-events:none;white-space:nowrap;z-index:1;text-align:center;line-height:1;user-select:none;}

/* Book inside content */
.inside-type{font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .5rem;border-radius:3px;margin-bottom:.9rem;display:inline-block;}
.inside-title{font-family:var(--fd);font-size:.95rem;letter-spacing:.04em;line-height:1.3;margin-bottom:.7rem;color:var(--white);}
.inside-authors{font-family:var(--fs);font-size:.78rem;font-weight:300;color:rgba(240,238,255,.45);margin-bottom:.4rem;}
.inside-journal{font-family:var(--fm);font-size:.72rem;color:var(--blue-2);margin-bottom:.9rem;}
.inside-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:1rem;}
.itag{padding:.18rem .55rem;border-radius:3px;font-family:var(--fm);font-size:.62rem;letter-spacing:.03em;}
.it-p{background:rgba(108,43,217,.18);color:var(--purple-3);border:1px solid rgba(108,43,217,.25);}
.it-b{background:rgba(26,107,255,.15);color:var(--blue-2);border:1px solid rgba(26,107,255,.22);}
.it-g{background:rgba(212,160,23,.14);color:var(--gold-2);border:1px solid rgba(212,160,23,.2);}
.inside-link{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--fm);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-2);border:1px solid rgba(212,160,23,.3);padding:.35rem .9rem;border-radius:3px;text-decoration:none;transition:background .2s,box-shadow .2s;cursor:none;}
.inside-link:hover{background:rgba(212,160,23,.1);box-shadow:0 0 16px var(--glow-g);}
.inside-year{position:absolute;bottom:1.2rem;right:1.4rem;font-family:var(--fm);font-size:.65rem;color:rgba(240,238,255,.2);}

/* EXPLORE / PREVIEW CARDS */
.explore-section{position:relative;z-index:2;padding:6rem 4%;}
.explore-inner{max-width:1260px;margin:0 auto;}
.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem;}
.p-card{background:var(--black-2);border:1px solid var(--border);border-radius:6px;padding:2rem;position:relative;overflow:hidden;text-decoration:none;color:inherit;transition:transform .4s var(--ease),box-shadow .4s,border-color .3s;display:block;}
.p-card::before{content:'';position:absolute;inset:0;border-radius:6px;opacity:0;transition:opacity .4s;pointer-events:none;}
.pc-1::before{background:radial-gradient(circle at 60% 30%,rgba(108,43,217,.12),transparent 65%);}
.pc-2::before{background:radial-gradient(circle at 60% 30%,rgba(26,107,255,.1),transparent 65%);}
.pc-3::before{background:radial-gradient(circle at 60% 30%,rgba(212,160,23,.1),transparent 65%);}
.p-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(0,0,0,.5);border-color:var(--border-2);}
.p-card:hover::before{opacity:1;}
.p-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.3rem;}
.pi-p{background:rgba(108,43,217,.15);border:1px solid rgba(108,43,217,.25);}
.pi-b{background:rgba(26,107,255,.12);border:1px solid rgba(26,107,255,.22);}
.pi-g{background:rgba(212,160,23,.12);border:1px solid rgba(212,160,23,.22);}
.p-title{font-family:var(--fd);font-size:1.25rem;letter-spacing:.06em;margin-bottom:.6rem;}
.p-desc{font-family:var(--fs);font-size:.85rem;font-weight:300;color:rgba(240,238,255,.5);line-height:1.7;margin-bottom:1.2rem;}
.p-link{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--fm);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--purple-3);transition:gap .2s,color .2s;}
.p-card:hover .p-link{gap:.65rem;color:var(--gold-2);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.visible{opacity:1;transform:translateY(0);}

/* FOOTER */
footer{background:var(--black-3);border-top:1px solid var(--border);padding:3.5rem 4% 2rem;position:relative;z-index:2;}
.footer-inner{max-width:1260px;margin:0 auto;}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:2.5rem;border-bottom:1px solid var(--border);gap:2rem;flex-wrap:wrap;}
.footer-logo{font-family:var(--fd);font-size:1.5rem;letter-spacing:.12em;background:var(--g-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.footer-tagline{font-family:var(--fm);font-size:.7rem;letter-spacing:.08em;color:var(--muted);margin-top:.4rem;}
.footer-nav{display:flex;gap:1.5rem;flex-wrap:wrap;}
.footer-nav a{font-family:var(--fs);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(240,238,255,.35);text-decoration:none;transition:color .2s;}
.footer-nav a:hover{color:var(--purple-3);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;flex-wrap:wrap;gap:1rem;}
.footer-copy{font-family:var(--fm);font-size:.7rem;color:rgba(240,238,255,.2);}
.footer-social{display:flex;gap:.7rem;}
.footer-social a{width:34px;height:34px;border-radius:4px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:rgba(240,238,255,.4);transition:border-color .2s,color .2s,background .2s;cursor:none;}
.footer-social a:hover{border-color:var(--purple-2);color:var(--purple-3);background:rgba(108,43,217,.12);}

/* RESPONSIVE */
@media(max-width:1100px){.books-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:1000px){.hero-inner{grid-template-columns:1fr;}.hero-card{max-width:440px;margin:0 auto;}.fb-1,.fb-2,.fb-3{display:none;}.s2-left,.s2-right{width:100%;position:relative;height:auto;border:none;}.s2-div{display:none;}#scene2{flex-direction:column;}.preview-grid{grid-template-columns:1fr;}}
@media(max-width:768px){.nav-links,.nav-cta{display:none;}.ham{display:flex;}.hero-stats{gap:1.5rem;}.hero-ctas{flex-direction:column;align-items:flex-start;}.s3-cards{flex-direction:column;align-items:center;}.books-grid{grid-template-columns:1fr;}}