/* =========================================================
   CRDigitalNetwork — Homepage theme  ·  Cinematic Dark-Blue
   Full-screen "acts" + interactive 3D disc + animated slogan
   Loaded ONLY on the homepage (body.page-home), so no other
   page is affected. All PHP / JS / functions stay intact.
   ========================================================= */

/* Tokens + recolor shared base components (header/footer/search
   overlay/accordion inherited from style.css) to the blue theme. */
body.page-home{
  --void:#0E1A2F;            /* soft dark blue */
  --ink:#14243F;
  --ink-2:#1B2E4F;
  --line:rgba(255,255,255,0.09);
  --line-soft:rgba(255,255,255,0.055);
  --paper:#EAF1FC;
  --haze:#93A4C6;
  --haze-dim:#66789C;
  --gold:#6FB4FF;            /* sky-blue highlight */
  --ember:#4D8DFF;           /* mid blue */
  --magenta:#38D6E8;         /* cyan */
  --plum:#3A5C9A;
  --flame:linear-gradient(120deg,#5AA9FF 0%,#38D6E8 50%,#6C8BFF 100%);
  --flame-soft:linear-gradient(120deg,rgba(90,169,255,.16),rgba(56,214,232,.16));
  --glow-gold:rgba(111,180,255,.5);
  --glow-ember:rgba(77,141,255,.45);
  --glow-mag:rgba(56,214,232,.4);

  /* override style.css base variables so the search overlay,
     result items and any shared bits adopt the blue palette */
  --bg:var(--void);
  --bg-2:var(--ink);
  --panel:rgba(20,36,63,0.78);
  --panel-2:rgba(27,46,79,0.9);
  --primary:#5AA9FF;
  --secondary:#38D6E8;
  --accent:#6FB4FF;
  --text:var(--paper);
  --muted:var(--haze);

  background:var(--void);
  color:var(--paper);
  line-height:1.6;
  overflow-x:hidden !important;
  width:100% !important;
  max-width:100vw !important;
  position:relative;
}
html{overflow-x:hidden !important;width:100%;max-width:100vw;}
body.page-home h1,body.page-home h2,body.page-home h3,body.page-home h4{
  font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-0.03em;line-height:1.04;
}

a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.mono{font-family:'JetBrains Mono',monospace;}
.wrap{max-width:1320px;margin:0 auto;padding:0 32px;width:100%;box-sizing:border-box;}
*,*::before,*::after{box-sizing:border-box;}
.flame-text{
  background:linear-gradient(110deg,#5AA9FF 0%,#38E0D0 28%,#8B7BFF 58%,#FF7BD5 86%,#5AA9FF 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:slogan-flow 7s ease-in-out infinite;
}
.hero-copy h1 .w-free{color:#5AA9FF;}
.hero-copy h1 .w-music{color:#5EE0C0;}
.hero-copy h1 .w-songs{color:#E8B86D;}
.hero-copy h1 .w-money{color:#4FD4B0;}
.hero-copy h1 .l-dist{
  line-height:0.86;
  margin-bottom:-0.18em;
}
.hero-copy h1 .l-dist>span{
  font-size:1.48em;
  font-weight:800;
  letter-spacing:-0.045em;
  line-height:0.86;
  background:linear-gradient(90deg,#5B4DFF 0%,#B44DFF 45%,#FF4DA6 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
/* Your Songs. Your Money. — one line, smaller; tight gap under Distribution */
.hero-copy h1 .l-tagline{
  line-height:1.05;
  margin-top:-0.06em;
}
.hero-copy h1 .l-tagline>span{
  font-size:0.62em;
  font-weight:700;
  letter-spacing:-0.02em;
  white-space:nowrap;
  line-height:1.05;
}
@media (max-width:520px){
  .hero-copy h1 .l-tagline>span{font-size:0.55em;white-space:nowrap;}
  .hero-copy h1 .l-dist>span{font-size:1.38em;}
  .hero-copy h1 .l-dist{margin-bottom:-0.14em;}
}
@keyframes slogan-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* ambient cinematic light */
.stage{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:var(--void);}
.stage span{position:absolute;border-radius:50%;filter:blur(100px);mix-blend-mode:screen;}
.stage .g1{width:720px;height:720px;top:-220px;left:-120px;background:radial-gradient(circle,var(--glow-ember),transparent 66%);opacity:.55;animation:float1 26s ease-in-out infinite;}
.stage .g2{width:640px;height:640px;top:20%;right:-180px;background:radial-gradient(circle,var(--glow-mag),transparent 66%);opacity:.45;animation:float2 30s ease-in-out infinite;}
.stage .g3{width:760px;height:760px;bottom:-280px;left:38%;background:radial-gradient(circle,var(--glow-gold),transparent 68%);opacity:.4;animation:float3 34s ease-in-out infinite;}
@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(80px,60px)}}
@keyframes float2{0%,100%{transform:translate(0,0)}50%{transform:translate(-70px,50px)}}
@keyframes float3{0%,100%{transform:translate(0,0)}50%{transform:translate(50px,-60px)}}
.filmgrain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.4;
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 140px),repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 140px);
  -webkit-mask-image:radial-gradient(130% 90% at 50% 0%,#000,transparent 88%);mask-image:radial-gradient(130% 90% at 50% 0%,#000,transparent 88%);}

/* top scroll progress + chapter rail */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;background:var(--flame);box-shadow:0 0 16px var(--glow-ember);}
.chapter-rail{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:16px;align-items:flex-end;}
.chapter-rail a{display:flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:0.64rem;color:var(--haze-dim);letter-spacing:.1em;transition:color .25s;}
.chapter-rail a .tick{width:22px;height:2px;background:var(--haze-dim);border-radius:2px;transition:all .25s;}
.chapter-rail a:hover,.chapter-rail a.on{color:var(--gold);}
.chapter-rail a:hover .tick,.chapter-rail a.on .tick{width:38px;background:var(--flame);}
@media(max-width:1100px){.chapter-rail{display:none;}}

/* ============ HEADER ============ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:120;padding:22px 0;transition:padding .3s,background .3s,border-color .3s;border-bottom:1px solid transparent;}
.site-header.solid{padding:12px 0;background:rgba(10,7,8,0.72);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-bottom-color:var(--line-soft);}
.nav{display:flex;align-items:center;gap:20px;}
.logo{display:flex;align-items:center;gap:11px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.14rem;letter-spacing:-0.02em;}
.logo-mark{width:28px;height:28px;object-fit:contain;display:block;flex-shrink:0;}
.nav-links{display:flex;gap:28px;align-items:center;margin-left:20px;}
.nav-links a{font-size:0.88rem;font-weight:500;color:var(--haze);position:relative;transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--paper);}
.nav-links a.active::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--flame);border-radius:2px;}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:11px;}
.nav-cta{background:var(--flame);color:#0A1526;padding:10px 20px;border-radius:12px;font-weight:700;font-size:0.82rem;white-space:nowrap;transition:transform .18s,box-shadow .25s;box-shadow:0 8px 24px -8px var(--glow-ember),0 0 0 1px rgba(255,255,255,.16) inset;}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 34px -8px var(--glow-ember),0 0 0 1px rgba(255,255,255,.24) inset;}
.icon-btn,.menu-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,0.03);color:var(--paper);cursor:pointer;transition:all .2s;flex-shrink:0;font-size:1.15rem;}
.icon-btn:hover{border-color:rgba(245,197,120,0.5);background:rgba(245,197,120,0.08);color:var(--gold);}
.menu-toggle{display:none;}
.mobile-drawer{display:none;position:fixed;inset:0;z-index:9999;}
.mobile-drawer.open{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  background:rgba(6,10,20,0.72) !important;
}
.mobile-drawer.open .mobile-drawer-inner{
  transform:translate3d(0,0,0) !important;
  position:absolute !important;
  top:0 !important; left:0 !important; bottom:0 !important;
  width:min(300px, 85vw) !important;
  max-width:300px !important;
  background:#0F1A2E !important;
  padding:18px 16px 24px !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
  display:flex !important;
  flex-direction:column !important;
  box-shadow:8px 0 40px rgba(0,0,0,0.55) !important;
  border-right:1px solid rgba(255,255,255,0.1) !important;
}
.desktop-nav{display:flex;}

/* Mobile drawer content styles (always available when drawer is open) */
.mobile-drawer-brand{text-align:center;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,0.08);}
.mobile-drawer-brand .logo{justify-content:center;margin-bottom:8px;font-size:1.1rem;}
.mobile-drawer-brand p{font-size:0.8rem;color:#93A4C6;line-height:1.45;margin:0 auto;max-width:24ch;}
.mobile-drawer-section{margin-bottom:16px;}
.mobile-drawer-label{font-family:'JetBrains Mono',monospace;font-size:0.65rem;letter-spacing:0.12em;color:#66789C;margin-bottom:8px;text-transform:uppercase;}
.mobile-drawer-section a{display:block;padding:8px 0;font-size:0.92rem;color:#EAF1FC;text-decoration:none;}
.mobile-drawer-section a:hover,.mobile-drawer-section a:active{color:#6FB4FF;}
.mobile-drawer-social{display:flex;gap:10px;margin-top:12px;}
.mobile-drawer-social .social-link{width:42px;height:42px;min-width:42px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#EAF1FC;padding:0;}
.mobile-drawer-social .social-link svg{width:18px;height:18px;fill:#EAF1FC;display:block;}
.mobile-drawer-footer{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,0.08);font-size:0.7rem;color:#66789C;text-align:center;line-height:1.55;}

/* ============ Buttons ============ */
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 30px;border-radius:14px;font-weight:700;font-size:0.95rem;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s;}
.btn-primary{color:#0A1526;background:var(--flame);box-shadow:0 10px 34px -10px var(--glow-ember),0 0 0 1px rgba(255,255,255,.16) inset;}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 50px -12px var(--glow-ember),0 0 0 1px rgba(255,255,255,.22) inset;}
.btn-ghost{color:var(--paper);background:rgba(255,255,255,0.03);border-color:var(--line);}
.btn-ghost:hover{transform:translateY(-3px);border-color:rgba(245,197,120,0.5);box-shadow:0 12px 32px -16px var(--glow-gold);}

/* Hero "See How It Works" — purple brand button with 3D glossy reflect */
#hero .hero-actions .btn-ghost{
  position:relative;
  overflow:hidden;
  color:#fff !important;
  background:linear-gradient(135deg,#6C3BFF 0%,#A855F7 100%) !important;
  border:1px solid rgba(255,255,255,0.20) !important;
  box-shadow:
    0 10px 30px -10px rgba(108,59,255,0.65),
    0 2px 5px rgba(0,0,0,0.25),
    inset 0 1px 0 rgba(255,255,255,0.42),
    inset 0 -3px 9px rgba(59,20,120,0.50) !important;
}
#hero .hero-actions .btn-ghost::before{
  content:'';
  position:absolute; left:0; right:0; top:0; height:52%;
  background:linear-gradient(180deg,rgba(255,255,255,0.34),rgba(255,255,255,0.0));
  border-radius:14px 14px 50% 50%;
  pointer-events:none;
}
#hero .hero-actions .btn-ghost::after{
  content:'';
  position:absolute; top:0; left:-130%; width:55%; height:100%;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,0.50) 50%,transparent 100%);
  transform:skewX(-18deg);
  pointer-events:none;
  animation:heroGhostShine 3.8s ease-in-out infinite;
}
@keyframes heroGhostShine{
  0%{ left:-130%; }
  55%{ left:130%; }
  100%{ left:130%; }
}
#hero .hero-actions .btn-ghost:hover{
  transform:translateY(-3px);
  filter:brightness(1.06);
  border-color:rgba(255,255,255,0.30) !important;
  box-shadow:
    0 16px 40px -12px rgba(108,59,255,0.80),
    0 3px 7px rgba(0,0,0,0.30),
    inset 0 1px 0 rgba(255,255,255,0.55),
    inset 0 -3px 9px rgba(59,20,120,0.50) !important;
}
@media (prefers-reduced-motion: reduce){
  #hero .hero-actions .btn-ghost::after{ animation:none; }
}

/* eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:'JetBrains Mono',monospace;font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(245,197,120,0.28);background:rgba(245,197,120,0.05);border-radius:999px;padding:7px 16px;}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);}

/* ============ ACT scaffolding ============ */
/* Sections are block-level so children with width:100% (like .wrap, .hero-inner)
   can actually take the full viewport width. Using display:flex with
   align-items:center caused children to shrink to their content width,
   which is why the mobile hero looked "left-aligned with empty right side". */
/* Tightened padding so sections sit closer together (no large empty gaps when zoomed out or on mobile). */
.act{position:relative;min-height:auto;display:block;padding:64px 0;}
.act-tall{padding:80px 0;}
#hero{min-height:100vh;padding:100px 0 80px;}
/* Short viewports (mobile desktop mode, landscape phones) — reduce
   hero padding, top-align the disc next to the text (so there's no
   large empty gap between text on the left and disc on the right),
   and size the disc-stage to its content instead of a fixed 520px.
   All rules use !important to override the default rules below. */
@media (max-height:700px) and (min-width:760px){
  #hero{min-height:auto !important;padding:60px 0 40px !important;}
  /* TOP-ALIGN grid items so the disc sits next to the text, not
     vertically centered (which creates a big empty gap above the disc). */
  .hero-inner{align-items:start !important;}
  /* Disc-stage sizes to its content (the disc) instead of a fixed height. */
  #hero .disc-stage,
  .disc-stage{height:auto !important;min-height:0 !important;padding:10px 0 !important;}
  /* Compact text so the hero section doesn't grow too tall. */
  .hero-copy h1{font-size:clamp(1.4rem,3.5vw,2.8rem) !important;margin:10px 0 10px !important;line-height:1.05 !important;}
  .hero-copy .lead{font-size:0.88rem !important;margin-bottom:14px !important;line-height:1.4 !important;}
  .hero-copy .eyebrow{margin-bottom:8px !important;padding:4px 12px !important;font-size:0.65rem !important;}
  .hero-actions{margin-top:10px !important;gap:10px !important;}
  .hero-actions .btn{padding:10px 20px !important;font-size:0.82rem !important;}
  .hero-hint{display:none !important;}
}
/* Even shorter viewports — shrink the disc itself so everything fits. */
@media (max-height:500px) and (min-width:760px){
  .disc-world{width:min(160px,28vh) !important;height:min(160px,28vh) !important;}
  #hero .disc-stage,
  .disc-stage{height:auto !important;padding:5px 0 !important;}
  .disc-stage::before{width:min(220px,36vh) !important;height:min(220px,36vh) !important;}
  .hero-copy h1{font-size:clamp(1.2rem,3vw,2.2rem) !important;margin:6px 0 6px !important;}
  .hero-copy .lead{font-size:0.78rem !important;margin-bottom:8px !important;}
}
.act-index{position:absolute;top:48px;left:32px;font-family:'JetBrains Mono',monospace;font-size:0.72rem;letter-spacing:0.3em;color:var(--haze-dim);text-transform:uppercase;}
.act-index b{color:var(--gold);}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;}.reveal.d2{transition-delay:.16s;}.reveal.d3{transition-delay:.24s;}.reveal.d4{transition-delay:.32s;}

/* ============ ACT 1 — HERO ============ */
#hero{overflow:hidden;}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;width:100%;}
/* Hero headline scales down on small viewports. clamp() min was 3.2rem (51px)
   which overflowed 375px screens; new floor is 2rem (32px) which fits safely. */
.hero-copy h1{font-size:clamp(2rem,5.5vw,5rem);letter-spacing:-0.04em;line-height:1.02;margin:22px 0 22px;}
.hero-copy h1 .l{display:block;overflow:hidden;}
.hero-copy h1 .l>span{display:inline-block;transform:translateY(115%);animation:rise 1s cubic-bezier(.16,.84,.24,1) forwards;}
.hero-copy h1 .l:nth-child(1)>span{animation-delay:.15s;}
.hero-copy h1 .l:nth-child(2)>span{animation-delay:.28s;}
.hero-copy h1 .l:nth-child(3)>span{animation-delay:.41s;}
@keyframes rise{to{transform:none;}}
.hero-copy .lead{font-size:1.15rem;color:var(--haze);max-width:440px;line-height:1.7;margin-bottom:34px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-hint{margin-top:26px;font-family:'JetBrains Mono',monospace;font-size:0.72rem;color:var(--haze-dim);display:flex;align-items:center;gap:8px;}
.hero-hint .grab{display:inline-flex;width:22px;height:22px;border:1px solid var(--line);border-radius:6px;align-items:center;justify-content:center;}

/* --- interactive 3D disc --- */
.disc-stage{height:min(520px,60vh);perspective:1300px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;position:relative;}
.disc-stage.grabbing{cursor:grabbing;}
.disc-stage::before{content:'';position:absolute;width:min(440px,52vh);height:min(440px,52vh);border-radius:50%;background:radial-gradient(circle,var(--glow-ember),transparent 62%);filter:blur(20px);opacity:.7;}
.disc-world{position:relative;width:min(300px,36vh);height:min(300px,36vh);transform-style:preserve-3d;will-change:transform;transition:transform .12s ease-out;}
/* the record */
.record{position:absolute;inset:0;transform-style:preserve-3d;}
/* @property lets us animate the conic-gradient's starting angle so the
   rainbow colors SHIFT IN PLACE — independent of the disc's rotation.
   This is what makes a real CD's hologram "come alive" as it spins:
   the colors shift and shimmer even though the disc itself is moving. */
@property --holo-angle{
  syntax:'<angle>';
  initial-value:0deg;
  inherits:false;
}
/* CD HOLOGRAM SURFACE — iridescent rainbow conic gradient.
   --holo-angle is animated, so the colors rotate IN PLACE within the
   disc surface (not with the disc). Combined with the disc's own
   rotation, this creates the multi-layered "shifting rainbow" effect
   you see on a real CD. */
.record .face{position:absolute;inset:0;border-radius:50%;
  background:
    repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,0.06) 0 1px,transparent 1px 4px),
    conic-gradient(from var(--holo-angle,0deg) at 50% 50%,
      #5AA9FF 0deg,
      #38D6E8 45deg,
      #6CFFB4 90deg,
      #FFE15C 135deg,
      #FF7BD5 180deg,
      #8B7BFF 225deg,
      #5AA9FF 270deg,
      #38D6E8 315deg,
      #5AA9FF 360deg);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 0 80px rgba(90,169,255,.40),
    0 0 120px rgba(255,123,213,.20);
  backface-visibility:visible;
  animation:holo-rotate 6s linear infinite;
  opacity:0.95;
  filter:saturate(1.3) contrast(1.05);
}
/* The conic-gradient's starting angle rotates 360° in 6 seconds — the
   rainbow colors sweep around the disc surface independently. */
@keyframes holo-rotate{
  to{--holo-angle:360deg;}
}
/* Bright moving specular sheen on the CD surface. This rotates FASTER
   than the disc so the highlight appears to glide across the surface. */
.record .face::before{
  content:'';
  position:absolute;inset:0;
  border-radius:50%;
  background:
    radial-gradient(ellipse 55% 30% at 28% 22%,rgba(255,255,255,.45) 0%,rgba(255,255,255,.15) 30%,transparent 65%),
    radial-gradient(ellipse 45% 25% at 72% 78%,rgba(255,255,255,.25) 0%,transparent 60%);
  mix-blend-mode:screen;
  pointer-events:none;
  animation:sheen-move 5s ease-in-out infinite;
}
@keyframes sheen-move{
  0%,100%{transform:rotate(0deg) scale(1.02);opacity:0.9;}
  50%{transform:rotate(180deg) scale(1.08);opacity:1;}
}
/* Sweeping glint — a bright light streak that sweeps across the CD
   every 3 seconds, like light catching a real CD's surface. */
.record .face::after{
  content:'';
  position:absolute;inset:0;
  border-radius:50%;
  background:linear-gradient(110deg,
    transparent 35%,
    rgba(255,255,255,0.40) 48%,
    rgba(255,255,255,0.55) 50%,
    rgba(255,255,255,0.40) 52%,
    transparent 65%);
  mix-blend-mode:screen;
  pointer-events:none;
  animation:glint-sweep 3s ease-in-out infinite;
}
@keyframes glint-sweep{
  0%{transform:translateX(-80%) rotate(0deg);opacity:0;}
  15%{opacity:1;}
  85%{opacity:1;}
  100%{transform:translateX(80%) rotate(0deg);opacity:0;}
}
/* Front face — slightly forward in Z. backface-visibility:hidden so
   it doesn't show (mirrored) from behind — the .face-back takes over
   when the record is flipped. */
.record .face-front{transform:translateZ(1px);backface-visibility:hidden;}
/* Back face — pushed back AND rotated 180° around Y so its outward side
   shows the same vinyl pattern when viewed from behind (not black). */
.record .face-back{transform:translateZ(-1px) rotateY(180deg);backface-visibility:visible;}
.record .label{position:absolute;inset:38%;border-radius:50%;
  background:linear-gradient(135deg,#0E1A2F 0%,#14243F 50%,#0E1A2F 100%);
  border:1px solid rgba(255,255,255,.10);
  display:flex;align-items:center;justify-content:center;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.04),
    0 0 30px rgba(90,169,255,.40),
    inset 0 0 0 1px rgba(255,255,255,.10);
  backface-visibility:visible;}
/* Front label — pushed forward; hidden from behind so the .label-back
   takes over when the record is flipped. */
.record .label-front{transform:translateZ(2px);backface-visibility:hidden;}
/* Back label — pushed back AND rotated 180° so the CRDigitalNetwork text reads
   correctly when viewed from behind (mirrored to match a real record). */
.record .label-back{transform:translateZ(-2px) rotateY(180deg);backface-visibility:visible;}
.record .label::after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#060914;box-shadow:0 0 0 2px rgba(255,255,255,.18);}
.record .label span{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;
  font-size:.55rem;
  letter-spacing:.12em;
  background:linear-gradient(110deg,#5AA9FF,#38D6E8,#8B7BFF,#FF7BD5);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  position:absolute;bottom:18%;
  white-space:nowrap;}
/* Edge — set backface-visibility:hidden so it doesn't show from behind
   (otherwise it covers the back face and makes the back look black). */
.record .edge{position:absolute;inset:0;border-radius:50%;background:#08060a;transform:translateZ(-8px);box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;backface-visibility:hidden;}
/* CD-STYLE SPIN — slow rotation (24s per turn) like a real CD player */
.record.spin{animation:vinyl 10s linear infinite;}
@keyframes vinyl{to{transform:rotateZ(360deg);}}
/* orbiting platform badges (true 3D ring) — BIG ICONS with reflection */
.ring{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none;}
.ring b{
  position:absolute;top:50%;left:50%;
  width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:26px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(150deg,rgba(28,42,72,0.96),rgba(14,26,47,0.96));
  border:1px solid var(--line);
  box-shadow:0 18px 38px -14px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.06) inset;
  backface-visibility:hidden;
  pointer-events:auto;
  isolation:isolate;
  overflow:hidden;
  transition:background .35s,border-color .35s,box-shadow .35s,filter .35s;
}
/* inner icon span — handles scale on hover without losing the JS translate */
.ring b .ic{
  display:flex;
  align-items:center;
  justify-content:center;
  width:62%;
  height:62%;
  line-height:1;
  transform:scale(1);
  transition:transform .35s cubic-bezier(.2,.8,.2,1.4);
  position:relative;z-index:2;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.6));
  /* ICON FLOATING ANIMATION — subtle up/down + glow pulse with staggered
     delays so each platform logo bobs independently. The hover state
     below overrides the animation while the user is hovering. */
  animation:icon-float 5s ease-in-out infinite, icon-glow 5s ease-in-out infinite;
}
.ring b:nth-of-type(1) .ic{animation-delay:0s,0s;}
.ring b:nth-of-type(2) .ic{animation-delay:1.25s,1.25s;}
.ring b:nth-of-type(3) .ic{animation-delay:2.5s,2.5s;}
.ring b:nth-of-type(4) .ic{animation-delay:3.75s,3.75s;}
@keyframes icon-float{
  0%,100%{transform:scale(1) translateY(0);}
  50%{transform:scale(1.05) translateY(-6px);}
}
@keyframes icon-glow{
  0%,100%{filter:drop-shadow(0 4px 10px rgba(0,0,0,.6)) drop-shadow(0 0 0 transparent);}
  50%{filter:drop-shadow(0 8px 14px rgba(0,0,0,.7)) drop-shadow(0 0 12px currentColor);}
}
.ring b .ic svg{
  width:100%;
  height:100%;
  display:block;
}
.ring b:hover .ic{
  transform:scale(1.22) translateY(-2px);
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.7)) drop-shadow(0 0 18px currentColor);
  animation-play-state:paused;
}
/* glassy diagonal sheen (always-on subtle highlight) */
.ring b::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:
    linear-gradient(135deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 38%,rgba(255,255,255,0) 62%,rgba(255,255,255,.10) 100%),
    radial-gradient(120% 80% at 30% 0%,rgba(255,255,255,.18),transparent 55%);
  opacity:.85;transition:opacity .35s;
}
/* moving shine sweep — the "reflection" that fires on hover */
.ring b::after{
  content:'';position:absolute;top:-60%;left:-120%;
  width:55%;height:220%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);
  transform:skewX(-22deg);
  pointer-events:none;opacity:0;
}
.ring b:hover{
  background:linear-gradient(150deg,rgba(44,64,108,0.98),rgba(22,42,80,0.98));
  border-color:rgba(111,180,255,0.7);
  box-shadow:0 28px 54px -14px rgba(0,0,0,1),
             0 0 0 1px rgba(255,255,255,.20) inset,
             0 0 36px rgba(111,180,255,.55),
             0 0 72px rgba(56,214,232,.30);
  filter:brightness(1.15) saturate(1.15);
  z-index:5;
}
.ring b:hover::before{opacity:1;}
.ring b:hover::after{opacity:1;animation:iconShine .95s ease;}
@keyframes iconShine{
  0%{left:-120%;}
  100%{left:220%;}
}

/* store marquee at hero bottom — confined to the .wrap container so it never overflows the page edge on tablet/mobile */
.hero-stores{position:relative;bottom:auto;left:auto;right:auto;margin-top:40px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.hero-stores .track{display:flex;gap:18px;width:max-content;animation:marq 34s linear infinite;padding-left:18px;}
.hero-stores .track:hover{animation-play-state:paused;}
@keyframes marq{to{transform:translateX(-50%);}}
.hero-stores .s{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;gap:11px;
  font-family:'Space Grotesk',sans-serif;font-size:1.24rem;font-weight:600;letter-spacing:.01em;
  color:var(--haze);white-space:nowrap;
  padding:15px 26px;border-radius:16px;
  background:rgba(255,255,255,0.03);border:1px solid var(--line-soft);
  box-shadow:0 1px 0 rgba(255,255,255,.05) inset;
  transition:color .25s,border-color .25s,background .25s,transform .25s,box-shadow .25s;
}
.hero-stores .s::before{
  content:'';position:absolute;top:0;left:-140%;width:65%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);
  transform:skewX(-18deg);pointer-events:none;
}
.hero-stores .s:hover{
  color:var(--paper);border-color:rgba(90,169,255,.55);
  background:rgba(90,169,255,.08);transform:translateY(-4px);
  box-shadow:0 16px 38px -16px var(--glow-ember),0 0 0 1px rgba(90,169,255,.25) inset;
}
.hero-stores .s:hover::before{animation:shine .85s ease;}
@keyframes shine{to{left:150%;}}
/* Style B: larger readable labels + colored icon badges */
.hero-stores .s{
  font-family:'JetBrains Mono',monospace;
  font-size:0.88rem;
  color:var(--paper);
  letter-spacing:.03em;
  white-space:nowrap;
  padding:10px 18px 10px 10px;
  gap:12px;
}
.hero-stores .s .ico{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.hero-stores .s .ico svg{
  width:18px;
  height:18px;
  color:#fff;
  fill:#fff;
  display:block;
}

/* ============ ACT 2 — THE DEAL (giant numbers) ============ */
#deal{background:linear-gradient(180deg,transparent,rgba(122,46,107,0.08),transparent);}
.deal-head{max-width:640px;margin-bottom:70px;}
.deal-head h2{font-size:clamp(2.2rem,4.6vw,3.4rem);margin:18px 0 0;}
.deal-head p{color:var(--haze);margin-top:16px;font-size:1.08rem;}
.deal-rows{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line-soft);}
.deal-row{display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center;padding:38px 0;border-bottom:1px solid var(--line-soft);transition:padding-left .3s;}
.deal-row:hover{padding-left:14px;}
.deal-row .big{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(3rem,7vw,5.4rem);line-height:0.9;letter-spacing:-0.05em;background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent;min-width:min(42vw,320px);}
.deal-row .txt h3{font-size:1.4rem;margin-bottom:8px;}
.deal-row .txt p{color:var(--haze);font-size:0.98rem;max-width:52ch;}
.deal-row .tag{font-family:'JetBrains Mono',monospace;font-size:0.7rem;color:var(--gold);border:1px solid rgba(245,197,120,0.3);border-radius:999px;padding:6px 14px;white-space:nowrap;}

/* ============ ACT 3 — LYRICS VIDEO ============ */
#create .create-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:60px;align-items:center;width:100%;}
.badge-new{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--ember);border:1px solid rgba(255,107,74,0.32);border-radius:999px;padding:6px 14px;margin-bottom:22px;}
.badge-new .dot{width:6px;height:6px;border-radius:50%;background:var(--ember);box-shadow:0 0 10px var(--ember);animation:blink 1.4s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
#create h2{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:18px;}
#create .lead{color:var(--haze);font-size:1.02rem;line-height:1.75;margin-bottom:26px;max-width:46ch;}
.pills{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:32px;}
.pill{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;font-size:0.78rem;color:var(--haze);background:rgba(255,255,255,0.028);border:1px solid var(--line-soft);}
.pill .d{width:5px;height:5px;border-radius:50%;background:var(--ember);}
.play-ico{width:24px;height:24px;border-radius:50%;background:rgba(10,21,38,0.22);display:flex;align-items:center;justify-content:center;}
/* dramatic preview window */
.win-wrap{perspective:1400px;}
.win{transform-style:preserve-3d;transition:transform .2s ease-out;will-change:transform;border-radius:22px;overflow:hidden;
  background:linear-gradient(160deg,rgba(28,17,25,0.9),rgba(12,8,11,0.94));border:1px solid var(--line);
  box-shadow:0 50px 100px -40px rgba(0,0,0,.85),0 0 70px -30px var(--glow-mag),0 0 0 1px rgba(255,255,255,.05) inset;}
.win-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(0,0,0,0.25);}
.dots{display:flex;gap:6px;}.dots i{width:9px;height:9px;border-radius:50%;}
.dots i:nth-child(1){background:#ff6b6b}.dots i:nth-child(2){background:#ffcf5c}.dots i:nth-child(3){background:#37d67a}
.cc-tag{font-family:'JetBrains Mono',monospace;font-size:0.66rem;color:var(--haze);}
.cc-live{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:0.62rem;color:var(--ember);border:1px solid rgba(255,107,74,0.35);border-radius:999px;padding:3px 9px;}
.cc-live .p{width:6px;height:6px;border-radius:50%;background:var(--ember);box-shadow:0 0 8px var(--ember);animation:blink 1.4s infinite;}
.win-screen{height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(120% 120% at 50% 0%,rgba(240,70,138,0.16),transparent 60%),linear-gradient(180deg,#160d14,#0a0708);}
.stars{position:absolute;inset:0;pointer-events:none;}
.win-eq{display:flex;align-items:flex-end;gap:4px;height:52px;margin-bottom:16px;position:relative;z-index:1;}
.win-eq i{width:6px;border-radius:3px 3px 0 0;background:var(--flame);animation:eq .75s ease-in-out infinite alternate;}
@keyframes eq{from{transform:scaleY(.2)}to{transform:scaleY(1)}}
.win-sub{font-size:11px;color:rgba(245,238,231,.32);font-family:'Space Grotesk',sans-serif;position:relative;z-index:1;}
.win-main{font-size:22px;font-weight:700;color:#fff;font-family:'Space Grotesk',sans-serif;position:relative;z-index:1;margin:5px 0;}
.win-main .hl{background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent;}
.win-prog{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.08);}
.win-prog i{display:block;height:100%;width:42%;background:var(--flame);}
.win-steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);}
.win-steps .st{padding:13px 6px;text-align:center;border-right:1px solid var(--line);}
.win-steps .st:last-child{border-right:0;}
.st-ico{width:22px;height:22px;border-radius:7px;font-size:10px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--haze);}
.st.done .st-ico{color:var(--gold);border-color:rgba(245,197,120,.4);background:rgba(245,197,120,.08);}
.st.active .st-ico{color:#0A1526;background:var(--flame);border:0;font-weight:700;}
.st .lbl{font-size:9px;color:var(--haze);font-family:'JetBrains Mono',monospace;}
.st.done .lbl,.st.active .lbl{color:var(--paper);}
.win-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:rgba(0,0,0,0.18);}
.win-stats .ws{padding:15px;text-align:center;border-right:1px solid var(--line);}
.win-stats .ws:last-child{border-right:0;}
.win-stats .ws .v{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.14rem;background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent;}
.win-stats .ws .k{font-size:9px;color:var(--haze);font-family:'JetBrains Mono',monospace;margin-top:3px;letter-spacing:.05em;}

/* ============ ACT 4 — TRUST (features as big alternating rows) ============ */
#trust .t-head{text-align:center;max-width:640px;margin:0 auto 76px;}
#trust .t-head h2{font-size:clamp(2rem,4vw,3rem);margin:16px 0 0;}
#trust .t-head p{color:var(--haze);margin-top:14px;font-size:1.05rem;}
.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:40px 0;border-top:1px solid var(--line-soft);}
.feat-row:nth-child(even) .feat-visual{order:-1;}
.feat-copy .fnum{font-family:'JetBrains Mono',monospace;font-size:0.74rem;color:var(--gold);letter-spacing:.2em;margin-bottom:14px;}
.feat-copy h3{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:14px;}
.feat-copy p{color:var(--haze);font-size:1rem;line-height:1.75;max-width:46ch;}
.free-badge{display:inline-flex;align-items:center;gap:6px;margin-top:18px;padding:7px 15px;border-radius:999px;font-size:0.72rem;font-weight:700;color:var(--gold);background:rgba(245,197,120,0.08);border:1px solid rgba(245,197,120,0.28);font-family:'JetBrains Mono',monospace;}
.vevo-badge{display:inline-flex;align-items:center;gap:6px;margin-top:18px;padding:7px 15px;border-radius:999px;font-size:0.72rem;font-weight:700;color:#38D6E8;background:rgba(56,214,232,0.08);border:1px solid rgba(56,214,232,0.28);font-family:'JetBrains Mono',monospace;}
.feat-visual{height:260px;border-radius:24px;position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(160deg,rgba(28,17,25,0.6),rgba(10,7,8,0.7));display:flex;align-items:center;justify-content:center;transition:transform .3s,box-shadow .3s;will-change:transform;transform-style:preserve-3d;}
.feat-visual:hover{box-shadow:0 30px 70px -34px var(--glow-ember);}
.feat-visual .glyph{font-size:5rem;background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px var(--glow-ember));}
.feat-visual::before{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--glow-mag),transparent 60%);filter:blur(30px);opacity:.5;pointer-events:none;z-index:0;}
.feat-visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-radius:22px;position:relative;z-index:1;transition:transform .4s ease;}
.feat-visual:hover img{transform:scale(1.04);}

/* ============ ACT 5 — PARTNERS ============ */
#partners .p-head{text-align:center;max-width:620px;margin:0 auto 50px;}
#partners .p-head h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin:16px 0 0;}
#partners .p-head p{color:var(--haze);margin-top:14px;}
.sp-band{--sp-gap:28px;position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:42px 0;display:flex;flex-direction:column;gap:0;overflow:hidden;isolation:isolate;
  background:radial-gradient(120% 140% at 12% 0%,rgba(90,169,255,.1),transparent 60%),radial-gradient(120% 140% at 88% 100%,rgba(56,214,232,.1),transparent 62%),linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.2));border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.sp-band::after{content:'';position:absolute;top:0;bottom:0;left:0;width:12%;z-index:3;pointer-events:none;background:linear-gradient(90deg,var(--void),transparent);}
.sp-band::before{content:'';position:absolute;top:0;bottom:0;right:0;width:12%;z-index:3;pointer-events:none;background:linear-gradient(270deg,var(--void),transparent);}
.sp-row{position:relative;overflow:hidden;}
.sp-track{display:flex;width:max-content;gap:0;}
.sp-track.l{animation:scrollL 48s linear infinite;will-change:transform;}
.sp-track.l:hover{animation-play-state:paused;}
@keyframes scrollL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.sp-group{display:flex;gap:var(--sp-gap);padding-right:var(--sp-gap);}
/* Partners — Option B: logo-only, taller cards, uniform logo size */
.sp-item{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:0;padding:16px 20px;border-radius:18px;white-space:nowrap;
  width:140px;height:100px;box-sizing:border-box;
  background:rgba(255,255,255,0.04);border:1px solid var(--line-soft);box-shadow:0 1px 0 rgba(255,255,255,.05) inset;
  transition:border-color .25s,background .25s,transform .25s,box-shadow .25s;}
.sp-item::before{content:'';position:absolute;top:0;left:-140%;width:65%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg);pointer-events:none;}
.sp-item:hover{border-color:rgba(90,169,255,.45);transform:translateY(-5px);background:rgba(255,255,255,0.07);box-shadow:0 20px 40px -18px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06) inset;}
.sp-item:hover::before{animation:shine .85s ease;}
.sp-mark{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:0;background:transparent;box-shadow:none;padding:0;}
.sp-mark img{display:block;max-width:110px;max-height:60px;width:auto;height:auto;object-fit:contain;}
.sp-mark svg{width:100%;height:100%;display:block;}
.sp-item:hover .sp-mark{transform:scale(1.06);box-shadow:none;}
.sp-name{display:none;}

/* ============ ACT 6 — FAQ ============ */
#faq .f-head{text-align:center;max-width:620px;margin:0 auto 52px;}
#faq .f-head h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin:16px 0 0;}
#faq .f-head p{color:var(--haze);margin-top:14px;}
.accordion{display:flex;flex-direction:column;gap:12px;max-width:820px;margin:0 auto;}
.acc{border-radius:16px;overflow:hidden;background:rgba(20,13,19,0.6);backdrop-filter:blur(12px);border:1px solid var(--line);transition:border-color .25s;}
.acc[open]{border-color:rgba(245,197,120,0.4);}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 26px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.05rem;color:var(--paper);}
.acc summary::-webkit-details-marker{display:none;}
.acc summary::after{content:'+';font-size:1.5rem;color:var(--gold);transition:transform .25s;line-height:1;flex-shrink:0;}
.acc[open] summary::after{transform:rotate(45deg);}
.acc .body{padding:0 26px 24px;color:var(--haze);font-size:0.95rem;border-top:1px solid var(--line);padding-top:18px;}

/* ============ ACT 7 — CTA finale ============ */
#start{text-align:center;}
#start .cta-in{max-width:760px;margin:0 auto;position:relative;}
#start .kicker{font-family:'JetBrains Mono',monospace;font-size:0.74rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;}
#start h2{font-size:clamp(2.6rem,6.5vw,5rem);letter-spacing:-0.04em;line-height:1;margin-bottom:22px;}
#start p{color:var(--haze);font-size:1.15rem;max-width:52ch;margin:0 auto 36px;}
#start .hero-actions{justify-content:center;}
#start::before{content:'';position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);width:640px;height:440px;background:radial-gradient(circle,var(--glow-ember),transparent 64%);filter:blur(40px);opacity:.4;pointer-events:none;z-index:-1;}

/* ============ FOOTER ============ */
.site-footer{border-top:1px solid var(--line-soft);padding:64px 0 34px;background:rgba(8,5,6,0.6);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:38px;margin-bottom:38px;}
.footer-grid h4{font-size:0.74rem;color:var(--haze-dim);margin-bottom:16px;font-family:'JetBrains Mono',monospace;letter-spacing:0.1em;text-transform:uppercase;}
.footer-grid ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
.footer-grid ul a{color:var(--haze);font-size:0.9rem;transition:color .2s;}
.footer-grid ul a:hover{color:var(--gold);}
.foot-tag{color:var(--haze);font-size:0.9rem;margin-top:16px;max-width:32ch;}
.social-links{display:flex;gap:12px;margin-top:16px;}
/* Force visible social icons in footer (override any conflicting rules from style.css) */
body.page-home .social-link,
.site-footer .social-link{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  border-radius:12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,0.22) !important;
  background:rgba(255,255,255,0.10) !important;
  color:#EAF1FC !important;
  padding:0 !important;
  gap:0 !important;
  font-size:0 !important;
  transition:all .2s;
}
body.page-home .social-link svg,
.site-footer .social-link svg{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  fill:#EAF1FC !important;
  color:#EAF1FC !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
}
body.page-home .social-link:hover,
.site-footer .social-link:hover{
  color:#6FB4FF !important;
  border-color:rgba(111,180,255,0.55) !important;
  background:rgba(111,180,255,0.15) !important;
  transform:translateY(-2px);
}
body.page-home .social-link:hover svg,
.site-footer .social-link:hover svg{
  fill:#6FB4FF !important;
}
.footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--line-soft);color:var(--haze-dim);font-size:0.82rem;}


/* ============ RESPONSIVE ============ */
@media(max-width:1180px){
  /* Slightly larger hero font on smaller desktop screens */
  .hero-copy h1{font-size:clamp(1.9rem,5vw,4rem);}
}
@media(max-width:960px){
  /* CRITICAL: switch hero from 2-col grid to single-column flex layout
     on tablet/mobile so content gets the full width instead of being
     squeezed into half the screen by the old 1fr 1fr grid. */
  .hero-inner{display:block !important;width:100%;max-width:none;}
  .hero-copy{display:block;width:100%;max-width:none;}
  .disc-stage{display:flex;width:100%;max-width:none;height:380px;}
  .disc-stage::before{width:360px;height:360px;}
  .disc-world{width:260px;height:260px;}
  #create .create-grid{grid-template-columns:1fr !important;gap:36px;}
  #create .win-wrap{order:-1;}
  .feat-row{grid-template-columns:1fr !important;gap:36px;}
  .feat-row:nth-child(even) .feat-visual{order:0;}
  .deal-row{grid-template-columns:1fr !important;gap:12px;}
  .deal-row .tag{justify-self:start;}
  .footer-grid{grid-template-columns:repeat(2,1fr);}
  .act{padding:48px 0;}
  .act-tall{padding:64px 0;}
  #hero{min-height:auto;padding:88px 0 48px;}
  /* hero store strip → normal flow so it never overlaps content */
  #hero .hero-stores{position:static;bottom:auto;left:auto;right:auto;margin-top:36px;}
  .hero-stores .s{font-size:1.0rem;padding:11px 18px;}
  /* orbit icons — moderate scale on tablet */
  .ring b{width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:22px;}
  .ring b .ic{font-size:2.2rem;}
  /* partners — keep BIG on tablet, single row scrolling */
  .sp-band{padding:34px 0;}
  .sp-item{padding:22px 36px;gap:18px;border-radius:22px;}
  .sp-mark{width:64px;height:64px;font-size:1.95rem;border-radius:14px;}
  .sp-name{font-size:1.5rem;}
  .sp-band{--sp-gap:22px;}
}
@media(max-width:760px){
  /* === Mobile Drawer — clean side panel === */
  .desktop-nav{display:none !important;}
  .menu-toggle{display:flex !important;z-index:210;position:relative;}
  .nav-cta{display:none !important;}

  /* ===== Neon Elevated (design C) ===== */
  .mobile-drawer{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:200 !important;
    background:radial-gradient(90% 50% at 10% 0%,rgba(0,120,255,.18),transparent 60%),rgba(4,7,14,.72) !important;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .25s ease, visibility .25s ease !important;
  }
  .mobile-drawer.open{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .mobile-drawer-inner{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    width:min(300px, 85vw) !important;
    max-width:300px !important;
    background:#080d18 !important;
    border-right:1px solid rgba(60,130,255,.25) !important;
    padding:18px 15px 24px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    transform:translate3d(-110%,0,0) !important;
    transition:transform .3s cubic-bezier(.2,.8,.2,1) !important;
    display:flex !important;
    flex-direction:column !important;
    perspective:800px;
    box-shadow:8px 0 40px rgba(0,0,0,0.5),0 0 40px rgba(0,80,200,.2) !important;
  }
  .mobile-drawer.open .mobile-drawer-inner{
    transform:translate3d(0,0,0) !important;
  }

  .mobile-drawer-cta{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    padding:12px 14px !important;
    margin:0 0 18px 0 !important;
    border-radius:12px !important;
    background:linear-gradient(120deg,#5AA9FF,#38D6E8) !important;
    color:#0A1526 !important;
    font-weight:700 !important;
    font-size:0.88rem !important;
    text-align:center !important;
    box-sizing:border-box !important;
    flex-shrink:0 !important;
  }

  .mobile-drawer-brand{
    text-align:center !important;
    margin-bottom:18px !important;
    padding-bottom:16px !important;
    border-bottom:1px solid rgba(255,255,255,0.08) !important;
    flex-shrink:0 !important;
  }
  .mobile-drawer-brand .logo{
    justify-content:center !important;
    margin-bottom:8px !important;
    font-size:1.1rem !important;
  }
  .mobile-drawer-brand p{
    font-size:0.8rem !important;
    color:#93A4C6 !important;
    line-height:1.45 !important;
    margin:0 auto !important;
    max-width:24ch !important;
  }

  .mobile-drawer-section{
    margin-bottom:16px !important;
    flex-shrink:0 !important;
  }
  .mobile-drawer-label{
    font-family:'JetBrains Mono',monospace !important;
    font-size:0.65rem !important;
    letter-spacing:0.14em !important;
    color:#4aa8ff !important;
    margin:6px 2px 10px !important;
    text-transform:uppercase !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
  }
  .mobile-drawer-label::before{
    content:"" !important;
    width:5px !important;height:5px !important;border-radius:50% !important;
    background:#31d0ff !important;box-shadow:0 0 9px #31d0ff !important;
    display:inline-block !important;
  }
  /* Neon elevated cards (nav + company) */
  .mobile-drawer-section a.mi{
    display:flex !important;
    align-items:center !important;
    gap:11px !important;
    padding:11px 12px !important;
    margin:9px 0 !important;
    border-radius:14px !important;
    font-size:0.88rem !important;
    color:#d5e6ff !important;
    text-decoration:none !important;
    position:relative !important;
    background:linear-gradient(150deg,#0f1a30,#0a1120) !important;
    box-shadow:0 8px 18px -10px rgba(0,0,0,.8) !important;
    transform:rotateY(6deg) !important;
    transform-origin:left center !important;
    transition:transform .2s ease, box-shadow .2s ease, color .2s ease !important;
  }
  .mobile-drawer-section a.mi::before{
    content:"" !important;
    position:absolute !important;inset:0 !important;
    border-radius:14px !important;padding:1px !important;
    background:linear-gradient(150deg,rgba(80,160,255,.5),rgba(40,220,240,.15)) !important;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
    -webkit-mask-composite:xor !important;mask-composite:exclude !important;
    pointer-events:none !important;
  }
  .mobile-drawer-section a.mi::after{
    content:"\203A" !important;
    margin-left:auto !important;
    font-size:1.1rem !important;line-height:1 !important;
    color:#5aa9ff !important;opacity:.45 !important;
  }
  .mobile-drawer-section a.mi .mi-ic{
    width:32px !important;height:32px !important;flex-shrink:0 !important;
    border-radius:9px !important;
    display:flex !important;align-items:center !important;justify-content:center !important;
    background:linear-gradient(150deg,rgba(50,140,255,.25),rgba(30,210,230,.12)) !important;
    color:#5cc8ff !important;
    box-shadow:inset 0 0 0 1px rgba(90,180,255,.3) !important;
  }
  .mobile-drawer-section a.mi .mi-ic svg{width:18px !important;height:18px !important;display:block !important;}
  .mobile-drawer-section a.mi .mi-t{flex:1 !important;font-weight:500 !important;}
  .mobile-drawer-section a.mi:active{transform:rotateY(2deg) scale(.99) !important;}
  .mobile-drawer-section a.mi.active{
    transform:rotateY(0deg) translateX(2px) scale(1.02) !important;
    color:#fff !important;
    box-shadow:0 14px 30px -10px rgba(40,140,255,.8),0 0 22px rgba(40,200,255,.35) !important;
  }
  .mobile-drawer-section a.mi.active::before{
    background:linear-gradient(150deg,#5aa9ff,#31e0ff) !important;
  }
  .mobile-drawer-section a.mi.active::after{opacity:.9 !important;}
  .mobile-drawer-section a.mi.active .mi-ic{
    background:linear-gradient(150deg,#3b82f6,#22d3ee) !important;
    color:#fff !important;
    box-shadow:0 0 14px rgba(50,180,255,.7) !important;
  }
  /* plain email link (not a card) */
  .mobile-drawer-section a.dw-mail{
    display:block !important;padding:6px 2px !important;
    font-size:0.82rem !important;color:#5cc8ff !important;text-decoration:none !important;
  }
  .mobile-drawer-section a.dw-mail:active{color:#8fd6ff !important;}

  .mobile-drawer-social{
    display:flex !important;
    gap:10px !important;
    margin-top:12px !important;
  }
  .mobile-drawer-social .social-link{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:12px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:linear-gradient(150deg,#0f1a30,#0a1120) !important;
    border:none !important;
    color:#dcecff !important;
    padding:0 !important;
    box-shadow:inset 0 0 0 1px rgba(90,180,255,.3),0 6px 14px -8px rgba(0,0,0,.7) !important;
    transition:transform .18s ease, box-shadow .18s ease !important;
  }
  .mobile-drawer-social .social-link:active{
    transform:translateY(-2px) !important;
    box-shadow:inset 0 0 0 1px rgba(120,200,255,.55),0 10px 20px -8px rgba(40,140,255,.6) !important;
  }
  .mobile-drawer-social .social-link svg{
    width:18px !important;
    height:18px !important;
    fill:#cfe6ff !important;
    display:block !important;
  }

  .mobile-drawer-footer{
    margin-top:auto !important;
    padding-top:16px !important;
    border-top:1px solid rgba(60,130,255,0.2) !important;
    font-size:0.7rem !important;
    color:#6f86ac !important;
    text-align:center !important;
    line-height:1.55 !important;
    flex-shrink:0 !important;
  }

  .act-index{left:20px;top:56px;}
  .footer-grid{grid-template-columns:1fr;justify-items:center;text-align:center;}
  .footer-grid > div{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;}
  .footer-grid ul{align-items:center;}
  .footer-grid .logo{justify-content:center;}
  .footer-grid .foot-tag{margin:16px auto 0;max-width:32ch;}
  .social-links{justify-content:center;margin:16px auto 0;}
  .footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:8px;}
  .footer-bottom > *{text-align:center;}
  .act{padding:40px 0;}
  .act-tall{padding:52px 0;}

  /* === MOBILE HERO — FULLY CENTERED (no left bias / empty right gap) === */
  .wrap{padding-left:20px !important;padding-right:20px !important;}
  #hero{text-align:center !important;padding:72px 0 36px !important;}
  #hero .wrap,
  #hero .hero-inner,
  #hero .hero-copy{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    float:none !important;
  }
  #hero .hero-copy .eyebrow{
    display:inline-flex !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-bottom:10px !important;
    justify-content:center !important;
    text-align:center !important;
  }
  #hero .hero-copy h1{
    font-size:clamp(1.85rem,8.2vw,2.5rem) !important;
    margin:12px auto 14px !important;
    line-height:1.05 !important;
    text-align:center !important;
    width:100% !important;
  }
  #hero .hero-copy h1 .l{display:block !important;width:100% !important;text-align:center !important;}
  #hero .hero-copy h1 .l>span{display:inline-block !important;}
  #hero .hero-copy .lead{
    font-size:0.96rem !important;
    margin:0 auto 20px !important;
    max-width:34ch !important;
    text-align:center !important;
    display:block !important;
    width:100% !important;
    line-height:1.55 !important;
  }
  #hero .hero-actions{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    flex-wrap:wrap !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #hero .hero-actions .btn{
    flex:0 1 auto !important;
    justify-content:center !important;
    min-width:0 !important;
    padding:13px 20px !important;
    margin:0 auto !important;
  }
  #hero .hero-hint{
    justify-content:center !important;
    text-align:center !important;
    margin:16px auto 0 !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    font-size:0.68rem !important;
  }
  /* Disc - fully contained, no side overflow, centered */
  #hero .disc-stage,
  .disc-stage{
    height:300px !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .disc-stage::before{width:240px !important;height:240px !important;}
  .disc-world{width:200px !important;height:200px !important;max-width:70vw !important;}

  /* Orbit icons - smaller on phones, kept inside disc container */
  .ring b{width:52px !important;height:52px !important;margin:-26px 0 0 -26px !important;border-radius:16px !important;}
  .ring b .ic{font-size:1.6rem !important;}

  /* Hero stores - centered, no overflow */
  #hero .hero-stores{
    position:static !important;
    left:auto !important;right:auto !important;
    margin:24px auto 0 !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    justify-content:center !important;
  }
  .hero-stores .s{font-size:0.88rem;padding:9px 12px;}
  .hero-stores .track{padding-left:0 !important;}

  /* === Centered section heads and feature copy ===
     Previously left-aligned with empty right side. */
  .deal-head{max-width:none;text-align:center;margin:0 auto 48px;}
  .deal-head h2{margin:18px auto 0;}
  .deal-head p{margin:14px auto 0;max-width:40ch;}
  .deal-row{grid-template-columns:1fr !important;gap:14px;padding:28px 0;text-align:center;justify-items:center;align-items:center;}
  .deal-row .big{font-size:clamp(2.6rem,12vw,3.4rem);min-width:0;text-align:center;}
  .deal-row .txt{text-align:center;}
  .deal-row .txt p{margin:0 auto;max-width:42ch;}
  .deal-row .tag{justify-self:center;}

  /* Create section: centered text */
  #create .create-grid > div:first-child{text-align:center;}
  #create h2{margin:18px auto;max-width:18ch;}
  #create .lead{margin:0 auto 26px;max-width:40ch;text-align:center;}
  #create .pills{justify-content:center;}
  #create .hero-actions{justify-content:center;}

  /* Trust features - centered */
  #trust .t-head{text-align:center;}
  .feat-row{text-align:center;justify-items:center;}
  .feat-copy{display:flex;flex-direction:column;align-items:center;}
  .feat-copy p{margin:0 auto;max-width:42ch;}
  .feat-visual{margin:0 auto;max-width:280px;}

  /* Partners - centered */
  #partners .p-head{text-align:center;}
  /* Partner marquee: on mobile, force it to span the FULL screen width
     (not just the .wrap container) so there's no empty right gutter,
     and ensure the marquee track starts from a centered position so
     when paused at rest the user sees balanced content. */
  #partners .sp-band{width:100vw;margin-left:calc(50% - 50vw);padding:32px 0;overflow:hidden;}
  #partners .sp-row{display:flex;justify-content:flex-start;width:100%;overflow:hidden;}
  #partners .sp-track{justify-content:center;}
  /* FAQ - centered */
  #faq .f-head{text-align:center;}

  /* Start CTA - already centered */

  /* Footer - centered (rules already set above) */
}
@media(max-width:600px){
  .hero-stores .track{gap:10px;padding-left:10px;}
  .hero-stores .s{font-size:0.88rem;padding:9px 13px;gap:7px;border-radius:12px;}
  /* orbit icons — compact on small phones */
  .ring b{width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:16px;}
  .ring b .ic{font-size:1.55rem;}
  /* partners — still single row, slightly tighter spacing */
  .sp-band{padding:24px 0;}
  .sp-band{--sp-gap:14px;}
  .sp-item{padding:14px 22px;gap:12px;border-radius:16px;}
  .sp-mark{width:48px;height:48px;font-size:1.4rem;border-radius:12px;}
  .sp-name{font-size:1.1rem;}
  /* smaller disc-stage so big icons never bleed past hero */
  .disc-stage{height:300px;}
  .disc-stage::before{width:240px;height:240px;}
  .disc-world{width:200px;height:200px;}
  /* slightly tighter hero on small phones */
  #hero{padding:88px 0 56px;}
  .hero-copy h1{font-size:clamp(1.8rem,9vw,2.4rem);}
}
@media(max-width:480px){
  /* orbit icons — smallest phone fit */
  .ring b{width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:14px;}
  .ring b .ic{font-size:1.4rem;}
  .disc-stage{height:280px;}
  .disc-stage::before{width:220px;height:220px;}
  .disc-world{width:180px;height:180px;}
  .sp-band{padding:20px 0;}
  .sp-item{padding:12px 18px;gap:10px;border-radius:14px;}
  .sp-mark{width:42px;height:42px;font-size:1.3rem;border-radius:10px;}
  .sp-name{font-size:1rem;}
  .sp-band{--sp-gap:12px;}
  .hero-copy h1{font-size:clamp(1.7rem,9vw,2.2rem);}
  .hero-actions{flex-direction:column;}
  .hero-actions .btn{flex:0 0 auto;width:100%;justify-content:center;}
}
@media(max-width:360px){
  /* tiny phones (iPhone SE 1st gen, etc.) */
  .ring b{width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:12px;}
  .ring b .ic{font-size:1.25rem;}
  .disc-stage{height:260px;}
  .disc-stage::before{width:200px;height:200px;}
  .disc-world{width:170px;height:170px;}
  .hero-copy h1{font-size:clamp(1.55rem,8vw,1.9rem);}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .hero-copy h1 .l>span{transform:none;}
  .reveal{opacity:1;transform:none;}
  /* Keep only the gentle partners logo marquee running even when the OS has
     "reduce motion" enabled — this is the setting that was stopping the scroll
     on desktop. It's a slow, steady, non-flashing horizontal loop. */
  .sp-track.l{animation:scrollL 48s linear infinite!important;}
}

/* Homepage film-distribution poster stage */
.fd-home-stage{
  position:relative;height:420px;perspective:1100px;
}
.fd-home-p{
  position:absolute;width:176px;height:264px;object-fit:cover;border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 50px rgba(0,0,0,.45);
}
.fd-home-p1{left:18px;top:56px;transform:rotateY(18deg) rotateZ(-7deg);opacity:.92;}
.fd-home-p2{left:118px;top:28px;transform:rotateY(-2deg);z-index:2;width:196px;height:294px;}
.fd-home-p3{left:248px;top:52px;transform:rotateY(-16deg) rotateZ(6deg);}
@media(max-width:900px){
  .fd-home-stage{height:300px;margin:10px auto 0;max-width:360px;}
  .fd-home-p{width:128px;height:192px;}
  .fd-home-p2{width:148px;height:222px;}
  .fd-home-p3{left:190px;}
}

/* ===== Section BG — Option K Cinematic haze (2026-09-18) ===== */
#create,
#cms,
#film-distribution{
  position:relative;
  isolation:isolate;
}
#create::after,
#cms::after,
#film-distribution::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), inset 0 -1px 0 rgba(0,0,0,.22);
}
#create > *,
#cms > *,
#film-distribution > *{
  position:relative;
  z-index:1;
}
#create{
  background:
    radial-gradient(ellipse 80% 60% at 20% 20%, rgba(90,170,255,.14), transparent 55%),
    radial-gradient(ellipse 70% 50% at 80% 80%, rgba(40,200,180,.08), transparent 50%),
    #0B1520;
}
#cms{
  background:
    radial-gradient(ellipse 80% 60% at 80% 15%, rgba(160,120,255,.14), transparent 55%),
    radial-gradient(ellipse 70% 50% at 20% 85%, rgba(100,80,200,.08), transparent 50%),
    #120E22;
}
#film-distribution{
  background:
    radial-gradient(ellipse 80% 60% at 25% 75%, rgba(255,100,160,.12), transparent 55%),
    radial-gradient(ellipse 70% 50% at 85% 20%, rgba(255,180,100,.08), transparent 50%),
    #160E16;
}
/* end section bg K */
