/* ==========================================================
   MOO//PHASE — holographic abduction theme
   palette sampled from the source picture
   ========================================================== */
:root{
  --void:#050307;
  --ink:#0c0816;
  --ink2:#150f24;
  --line:#2a1a45;         /* cartoon outline purple */
  --lilac:#b18cff;
  --lav:#987db4;
  --pink:#ff8fe4;
  --rose:#dd7ed4;
  --mint:#93f0a8;
  --cyan:#6fe3f0;
  --sky:#6bc2d2;
  --cream:#f3ecff;
  --mute:#b6b5ce;
  --holo:linear-gradient(100deg,#ff9be9 0%,#b18cff 22%,#6fe3f0 44%,#93f0a8 62%,#ffd2f4 80%,#ff9be9 100%);
  --holo-v:linear-gradient(180deg,#ff9be9,#b18cff,#6fe3f0,#93f0a8,#ff9be9);
  --f-disp:"Unbounded","Arial Black",system-ui,sans-serif;
  --f-pix:"Silkscreen","Courier New",monospace;
  --f-body:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:28px;
  --mx:.5; --my:.5;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.no-lenis{scroll-behavior:smooth}
body{margin:0;background:var(--void);color:var(--cream);font-family:var(--f-body);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.is-loading{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
svg{width:1em;height:1em;flex:none}
::selection{background:var(--pink);color:var(--void)}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:10px}

.holo-text{background:var(--holo);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:holoShift 8s linear infinite}
@keyframes holoShift{to{background-position:300% 0}}

/* grain overlay */
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(1%,3%)}}

/* ================ PRELOADER ================ */
#loader{position:fixed;inset:0;z-index:1000;background:#000;display:grid;place-items:center;overflow:hidden}
#loaderCanvas{position:absolute;inset:0;width:100%;height:100%}
.loader-scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 2px,transparent 2px 4px);mix-blend-mode:multiply}
.loader-ui{position:absolute;left:50%;bottom:clamp(28px,8vh,80px);transform:translateX(-50%);width:min(560px,86vw);text-align:center}
.loader-title{font-family:var(--f-disp);font-weight:900;font-size:clamp(34px,8vw,84px);letter-spacing:-.02em;line-height:1;color:#fff;
  text-shadow:3px 0 var(--pink),-3px 0 var(--cyan),0 0 40px rgba(177,140,255,.8);position:relative;animation:jit .18s steps(2) infinite}
.loader-bar{margin:22px auto 10px;height:14px;border:3px solid #fff;border-radius:99px;padding:2px;background:rgba(0,0,0,.6);box-shadow:0 0 30px rgba(177,140,255,.6)}
.loader-bar i{display:block;height:100%;width:0;border-radius:99px;background:var(--holo);background-size:200% 100%;animation:holoShift 1.4s linear infinite}
.loader-meta{display:flex;justify-content:space-between;font-family:var(--f-pix);font-size:14px;color:#fff;text-shadow:0 0 10px #000,0 0 3px #000}
.loader-skip{position:absolute;top:18px;right:18px;font-family:var(--f-pix);font-size:12px;color:#fff;opacity:.75;padding:8px 12px;border:2px solid rgba(255,255,255,.4);border-radius:99px;background:rgba(0,0,0,.4)}
#loader.out{pointer-events:none}
#loader.gone{display:none}
@keyframes jit{0%{transform:translate(0,0)}50%{transform:translate(1px,-1px)}}

/* ================ CURSOR / FX ================ */
.ufo-cursor{position:fixed;left:0;top:0;z-index:999;pointer-events:none;width:46px;height:46px;transform:translate3d(-100px,-100px,0);display:none}
.ufo-cursor img{width:46px;filter:drop-shadow(0 0 8px rgba(255,143,228,.8));animation:bob 1.6s ease-in-out infinite}
.ufo-cursor i{position:absolute;left:50%;top:26px;width:30px;height:46px;transform:translateX(-50%);clip-path:polygon(35% 0,65% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(111,227,240,.65),rgba(255,143,228,0));opacity:0;transition:opacity .2s}
.ufo-cursor.hot i{opacity:1}
.ufo-cursor.hot img{transform:scale(1.15)}
@media (hover:hover) and (pointer:fine){
  .ufo-cursor{display:block}
  body.cursor-on, body.cursor-on a, body.cursor-on button{cursor:none}
}
@keyframes bob{50%{transform:translateY(-4px) rotate(-4deg)}}
#fx{position:fixed;inset:0;pointer-events:none;z-index:998;overflow:hidden}
.fx-heart{position:absolute;width:30px;height:30px;will-change:transform,opacity}
.fx-moo{position:absolute;font-family:var(--f-pix);font-weight:700;font-size:20px;color:#fff;text-shadow:2px 2px 0 var(--line),0 0 12px var(--pink);will-change:transform,opacity;white-space:nowrap}

/* ================ HEADER ================ */
.hdr{position:fixed;top:12px;left:12px;right:12px;margin:0 auto;z-index:100;max-width:1240px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px 10px 14px;border-radius:99px;
  background:rgba(12,8,22,.72);border:2px solid rgba(177,140,255,.28);box-shadow:0 10px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08);
  transition:top .5s cubic-bezier(.2,.8,.2,1),background .3s}
.hdr.hide{top:-110px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--f-disp);font-weight:900;font-size:18px;letter-spacing:-.01em}
.logo img{width:40px;height:40px;object-fit:contain;animation:bob 2.4s ease-in-out infinite}
.logo b{background:var(--holo);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{display:flex;align-items:center;gap:4px}
.nav>a{font-family:var(--f-pix);font-size:13px;padding:10px 14px;border-radius:99px;transition:background .2s,color .2s}
.nav>a:hover{background:rgba(177,140,255,.18);color:var(--mint)}
.nav-soc{display:flex;gap:8px;margin-left:8px}
.soc{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 16px;border-radius:99px;font-family:var(--f-pix);font-size:13px;font-weight:700;color:var(--ink);
  background:var(--holo);background-size:250% 100%;border:3px solid var(--line);box-shadow:0 4px 0 var(--line),inset 0 2px 0 rgba(255,255,255,.7);transition:transform .15s,box-shadow .15s,background-position .6s}
.soc svg{width:18px;height:18px}
.soc:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 6px 0 var(--line),0 0 26px rgba(255,143,228,.6),inset 0 2px 0 rgba(255,255,255,.7)}
.soc:active{transform:translateY(3px);box-shadow:0 1px 0 var(--line)}
.burger{display:none;width:48px;height:48px;border-radius:50%;background:var(--holo);border:3px solid var(--line);position:relative;z-index:3}
.burger i{position:absolute;left:12px;right:12px;height:3px;border-radius:3px;background:var(--line);transition:transform .3s,opacity .3s}
.burger i:nth-child(1){top:14px}.burger i:nth-child(2){top:20.5px}.burger i:nth-child(3){top:27px}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ================ BUTTONS ================ */
.jelly{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:62px;padding:0 30px;border-radius:99px;
  font-family:var(--f-disp);font-weight:900;font-size:clamp(14px,1.4vw,17px);letter-spacing:.02em;color:var(--ink);
  background:var(--holo);background-size:260% 100%;border:3px solid var(--line);
  box-shadow:0 6px 0 var(--line),0 0 0 0 rgba(255,143,228,.5),inset 0 3px 0 rgba(255,255,255,.75),inset 0 -6px 12px rgba(42,26,69,.25);
  transition:transform .2s cubic-bezier(.3,1.6,.5,1),box-shadow .2s,background-position .8s;isolation:isolate;overflow:hidden;white-space:nowrap}
.jelly svg{width:22px;height:22px}
.jelly::before{content:"";position:absolute;left:14%;right:40%;top:7px;height:9px;border-radius:99px;background:rgba(255,255,255,.7);filter:blur(1px);z-index:-1}
.jelly::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.7) 45%,transparent 60%);transform:translateX(-120%);transition:transform .7s}
.jelly:hover{background-position:100% 0;transform:translateY(-3px) scale(1.03);box-shadow:0 9px 0 var(--line),0 0 40px 6px rgba(255,143,228,.45),inset 0 3px 0 rgba(255,255,255,.75),inset 0 -6px 12px rgba(42,26,69,.25);animation:wobble .6s}
.jelly:hover::after{transform:translateX(120%)}
.jelly:active{transform:translateY(5px) scale(.98);box-shadow:0 1px 0 var(--line),inset 0 3px 0 rgba(255,255,255,.75)}
.jelly--main{min-height:72px;padding:0 38px;font-size:clamp(15px,1.6vw,19px);animation:pulseGlow 2.6s ease-in-out infinite}
.jelly--dex{background:linear-gradient(100deg,#93f0a8,#6fe3f0,#b18cff,#93f0a8);background-size:260% 100%}
.jelly--soc{background:linear-gradient(100deg,#f3ecff,#ffd2f4,#b18cff,#f3ecff);background-size:260% 100%}
@keyframes wobble{0%{scale:1 1}30%{scale:1.08 .92}50%{scale:.95 1.05}70%{scale:1.03 .97}100%{scale:1 1}}
@keyframes pulseGlow{50%{box-shadow:0 6px 0 var(--line),0 0 46px 10px rgba(177,140,255,.45),inset 0 3px 0 rgba(255,255,255,.75),inset 0 -6px 12px rgba(42,26,69,.25)}}

/* CA pod */
.ca-pod{display:inline-flex;align-items:center;gap:0;max-width:100%;border-radius:99px;padding:6px;background:rgba(7,4,12,.78);border:2px solid rgba(177,140,255,.45);
  box-shadow:0 0 0 4px rgba(177,140,255,.08),0 10px 30px rgba(0,0,0,.4);transition:border-color .2s,transform .2s;text-align:left}
.ca-pod:hover{border-color:var(--mint);transform:translateY(-2px)}
.ca-tag{font-family:var(--f-pix);font-weight:700;font-size:13px;color:var(--ink);background:var(--mint);border-radius:99px;padding:8px 12px;flex:none}
.ca-val{font-family:var(--f-pix);font-size:clamp(11px,1.15vw,14px);padding:0 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cream)}
.ca-btn{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--holo);border:2px solid var(--line);color:var(--ink);flex:none}
.ca-btn svg{width:18px;height:18px;grid-area:1/1}
.ca-btn .ic-ok{display:none}
.ca-pod.copied .ca-btn .ic-copy{display:none}
.ca-pod.copied .ca-btn .ic-ok{display:block}
.ca-pod.copied{border-color:var(--mint);box-shadow:0 0 30px rgba(147,240,168,.5)}

.chip{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-pix);font-size:12px;letter-spacing:.06em;padding:8px 14px;border-radius:99px;background:rgba(0,0,0,.55);border:2px solid rgba(147,240,168,.45);color:var(--mint)}
.chip .dot{width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:.2}}

/* ================ HERO ================ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:110px 0 70px;isolation:isolate}
.holo-gl{position:absolute;inset:0;width:100%;height:100%;z-index:-3;display:block}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(ellipse 70% 60% at 70% 45%,rgba(5,3,7,.15),rgba(5,3,7,.78) 70%),
  linear-gradient(180deg,rgba(5,3,7,.55),rgba(5,3,7,.2) 40%,rgba(5,3,7,.95) 100%)}
.hero-sky{position:absolute;inset:0;z-index:-2;background:url(../img/pixel-sky.webp) center/cover;mix-blend-mode:screen;opacity:.55;animation:skyDrift 40s linear infinite}
@keyframes skyDrift{to{background-position:-1920px center}}
.hero-floor{position:absolute;left:0;right:0;bottom:0;height:46%;z-index:-1;perspective:520px;perspective-origin:50% 0;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 35%);mask-image:linear-gradient(180deg,transparent,#000 35%)}
.floor-grid{position:absolute;left:-150%;right:-150%;top:0;height:260%;transform:rotateX(74deg);transform-origin:50% 0;
  background:
   repeating-conic-gradient(rgba(5,3,7,.94) 0 25%,transparent 0 50%) 0 0/70px 70px,
   linear-gradient(90deg,#ff9be9,#b18cff,#6fe3f0,#93f0a8,#ff9be9) 0 0/560px 100%;
  animation:floorRun 1.6s linear infinite;opacity:.85}
.hero-floor .floor-grid{opacity:.55}
@keyframes floorRun{to{background-position:0 140px,0 0}}
.hero-bubbles{position:absolute;inset:0;z-index:0;pointer-events:none}
.hb{position:absolute;bottom:-160px;pointer-events:auto;cursor:pointer;will-change:transform;animation:rise linear infinite}
.hb img{width:100%;animation:wob 3s ease-in-out infinite}
.hb.pop{animation:none;pointer-events:none}
.hb.pop img{animation:popB .35s ease-out forwards}
@keyframes rise{to{transform:translateY(calc(-100vh - 320px)) translateX(var(--dx,40px))}}
@keyframes wob{50%{transform:scale(1.06,.94) translateX(8px)}}
@keyframes popB{60%{transform:scale(1.5);opacity:.8;filter:brightness(2)}100%{transform:scale(1.9);opacity:0}}

.hero-inner{position:relative;z-index:2;width:min(1240px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,70px);align-items:center}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.hero-title{margin:0;font-family:var(--f-disp);font-weight:900;line-height:.86;letter-spacing:-.045em;font-size:clamp(64px,10.5vw,170px);text-transform:uppercase}
.ht-line{display:block;position:relative;color:var(--cream);text-shadow:0 0 50px rgba(177,140,255,.45)}
.ht-2{background:var(--holo);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:holoShift 6s linear infinite;
  filter:drop-shadow(0 6px 0 var(--line)) drop-shadow(0 0 30px rgba(255,143,228,.4));font-size:.62em;letter-spacing:-.03em;margin-top:.08em}
.ht-line:not(.ht-2)::before,.ht-line:not(.ht-2)::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none}
.ht-line:not(.ht-2)::before{color:var(--pink);mix-blend-mode:screen;animation:glA 3.2s infinite steps(1)}
.ht-line:not(.ht-2)::after{color:var(--cyan);mix-blend-mode:screen;animation:glB 3.2s infinite steps(1)}
@keyframes glA{0%,86%,100%{transform:none;clip-path:inset(0 0 100% 0)}87%{transform:translate(-8px,2px);clip-path:inset(10% 0 55% 0)}89%{transform:translate(6px,-2px);clip-path:inset(60% 0 8% 0)}91%{transform:translate(-4px,0);clip-path:inset(30% 0 40% 0)}93%{clip-path:inset(0 0 100% 0)}}
@keyframes glB{0%,86%,100%{transform:none;clip-path:inset(0 0 100% 0)}88%{transform:translate(8px,-2px);clip-path:inset(40% 0 30% 0)}90%{transform:translate(-6px,3px);clip-path:inset(5% 0 70% 0)}92%{transform:translate(3px,0);clip-path:inset(70% 0 2% 0)}94%{clip-path:inset(0 0 100% 0)}}
.hero-sub{margin:0;font-family:var(--f-pix);font-size:clamp(14px,1.5vw,18px);color:var(--mute)}
.hero-sub em{font-style:normal;color:var(--mint)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}

/* holo card 3D */
.hero-visual{perspective:1100px;display:grid;place-items:center;width:100%}
.holo-card{--rx:0deg;--ry:0deg;position:relative;width:min(500px,100%);aspect-ratio:1;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .15s ease-out;animation:cardFloat 6s ease-in-out infinite}
@keyframes cardFloat{50%{translate:0 -14px}}
.hc-rim{position:absolute;inset:-10px;border-radius:calc(var(--r) + 10px);background:var(--holo);background-size:300% 300%;animation:holoShift 5s linear infinite;
  box-shadow:0 0 70px rgba(177,140,255,.55),0 30px 80px rgba(0,0,0,.6);transform:translateZ(-1px);border:3px solid var(--line)}
.hc-inner{position:absolute;inset:0;border-radius:var(--r);overflow:hidden;border:3px solid var(--line);background:#000;transform:translateZ(0)}
.hc-img{width:100%;height:100%;object-fit:cover}
.hc-foil{position:absolute;inset:0;mix-blend-mode:color-dodge;opacity:.42;pointer-events:none;
  background:linear-gradient(calc(110deg + var(--mx) * 60deg),transparent 20%,rgba(255,155,233,.7) 35%,rgba(111,227,240,.7) 48%,rgba(147,240,168,.6) 58%,transparent 72%);
  background-size:200% 200%;background-position:calc(var(--mx)*100%) calc(var(--my)*100%)}
.hc-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);pointer-events:none}
.hc-scan::after{content:"";position:absolute;left:0;right:0;height:18%;background:linear-gradient(180deg,transparent,rgba(177,140,255,.25),transparent);animation:scanY 4s linear infinite}
@keyframes scanY{from{top:-20%}to{top:110%}}
.hc-pop{position:absolute;pointer-events:none;will-change:transform}
.hc-ufo{width:46%;left:27%;top:-17%;transform:translateZ(110px);filter:drop-shadow(0 18px 20px rgba(0,0,0,.55));animation:ufoHover 3.4s ease-in-out infinite}
@keyframes ufoHover{50%{translate:0 -12px;rotate:-3deg}}
.hc-h1{width:17%;left:-9%;top:38%;transform:translateZ(80px) rotate(-14deg);animation:floatA 4s ease-in-out infinite}
.hc-h2{width:13%;right:-6%;top:12%;transform:translateZ(140px) rotate(16deg);animation:floatA 5s ease-in-out infinite reverse}
.hc-b1{width:22%;right:-10%;bottom:-6%;transform:translateZ(90px);animation:floatA 6s ease-in-out infinite;opacity:.95}
@keyframes floatA{50%{translate:0 -16px}}
.hc-label{position:absolute;left:18px;bottom:-26px;transform:translateZ(70px) rotate(-6deg);font-family:var(--f-disp);font-weight:900;font-size:clamp(24px,3vw,38px);color:var(--ink);
  background:var(--mint);padding:6px 18px;border-radius:14px;border:3px solid var(--line);box-shadow:0 6px 0 var(--line)}
.scroll-cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--f-pix);font-size:11px;color:var(--mute)}
.scroll-cue i{width:26px;height:42px;border:2px solid var(--mute);border-radius:99px;position:relative}
.scroll-cue i::after{content:"";position:absolute;left:50%;top:8px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--mint);animation:cue 1.6s infinite}
@keyframes cue{to{transform:translateY(16px);opacity:0}}

/* ================ TAPES ================ */
.tapes{position:relative;height:clamp(150px,18vw,230px);overflow:hidden;background:var(--void);z-index:3}
.tape{position:absolute;left:-10%;right:-10%;top:50%;padding:14px 0;border-block:3px solid var(--line);white-space:nowrap;overflow:hidden}
.tape--a{background:var(--holo);background-size:200% 100%;transform:translateY(-50%) rotate(-4deg) skewX(var(--skew,0deg));color:var(--ink);animation:holoShift 10s linear infinite;z-index:2;box-shadow:0 10px 0 rgba(0,0,0,.4)}
.tape--b{background:#0c0816;transform:translateY(-50%) rotate(3.5deg) skewX(calc(var(--skew,0deg)*-1));color:var(--mint)}
.tape-track{display:inline-block;font-family:var(--f-disp);font-weight:900;font-size:clamp(22px,3vw,40px);letter-spacing:-.01em;will-change:transform}

/* ================ SECTIONS ================ */
.sec{position:relative;padding:clamp(80px,12vw,150px) 0;width:min(1240px,calc(100% - 40px));margin:0 auto}
.sec-head{margin-bottom:clamp(36px,5vw,60px)}
.sec-head.center{text-align:center}
.kicker{display:inline-block;font-family:var(--f-pix);font-size:13px;color:var(--mint);margin-bottom:12px;letter-spacing:.08em}
.h2{margin:0;font-family:var(--f-disp);font-weight:900;font-size:clamp(46px,8vw,118px);line-height:.88;letter-spacing:-.045em;filter:drop-shadow(0 6px 0 var(--line))}
body::before{content:"";position:fixed;inset:0;z-index:-5;background:url(../img/bg-marble-dark.webp) center/cover}
body::after{content:"";position:fixed;inset:0;z-index:-4;background:radial-gradient(ellipse at 50% 0,rgba(5,3,7,.2),rgba(5,3,7,.85) 70%)}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(46px) scale(.97);filter:blur(10px) hue-rotate(90deg);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1),filter .9s}
[data-reveal].in{opacity:1;transform:none;filter:none}
[data-reveal].in.glitch-in{animation:glitchIn .55s steps(5)}
@keyframes glitchIn{0%{clip-path:inset(0 0 80% 0);translate:-14px 0}20%{clip-path:inset(40% 0 20% 0);translate:12px 0}40%{clip-path:inset(10% 0 60% 0);translate:-6px 0}60%{clip-path:inset(70% 0 0 0);translate:6px 0}80%{clip-path:inset(0 0 30% 0);translate:-2px 0}100%{clip-path:inset(0);translate:0}}

/* tilt */
.tilt{--rx:0deg;--ry:0deg;transform-style:preserve-3d;transition:transform .2s ease-out}
.tilt.in{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry))}

/* ================ LORE ================ */
.lore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,30px)}
.lore-card{position:relative;border-radius:var(--r);padding:10px;background:linear-gradient(160deg,rgba(177,140,255,.22),rgba(12,8,22,.9) 40%);border:3px solid var(--line);box-shadow:0 10px 0 var(--line),0 30px 60px rgba(0,0,0,.4)}
.lore-card:nth-child(2){margin-top:60px}
.lore-card:nth-child(3){margin-top:120px}
.lore-card::before{content:"";position:absolute;inset:-3px;border-radius:inherit;padding:3px;background:var(--holo);background-size:300% 300%;animation:holoShift 6s linear infinite;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.8;pointer-events:none}
.lc-img{border-radius:calc(var(--r) - 8px);overflow:hidden;aspect-ratio:1;transform:translateZ(30px)}
.lc-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .4s}
.lore-card:hover .lc-img img{transform:scale(1.08);filter:saturate(1.3) hue-rotate(-15deg)}
.lc-txt{display:flex;align-items:center;gap:14px;padding:18px 10px 10px;transform:translateZ(20px)}
.lc-txt b{font-family:var(--f-disp);font-weight:900;font-size:34px;line-height:1;background:var(--holo);-webkit-background-clip:text;background-clip:text;color:transparent}
.lc-txt p{margin:0;font-weight:600;font-size:clamp(15px,1.3vw,18px)}
.lc-txt em{font-style:normal;color:var(--pink)}

/* ================ ABDUCTION ================ */
.abduct{position:relative;height:420vh}
.ab-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#020103;--p:0}
.ab-sky{position:absolute;inset:0;background:url(../img/pixel-sky.webp) center/cover;opacity:.85;animation:skyDrift 60s linear infinite}
.ab-floor{position:absolute;left:0;right:0;bottom:0;height:42%;perspective:520px;perspective-origin:50% 0;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%);mask-image:linear-gradient(180deg,transparent,#000 40%)}
.ab-floor .floor-grid{opacity:.95}
.ab-beam{position:absolute;left:50%;top:calc(16vh + 70px);width:min(620px,90vw);height:calc(80vh);transform:translateX(-50%) scaleY(var(--beam,0));transform-origin:50% 0;
  clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);
  background:repeating-linear-gradient(90deg,rgba(255,155,233,.75) 0 7%,rgba(177,140,255,.75) 7% 14%,rgba(111,227,240,.75) 14% 21%,rgba(147,240,168,.75) 21% 28%);
  -webkit-mask-image:linear-gradient(180deg,#000 50%,transparent);mask-image:linear-gradient(180deg,#000 50%,transparent);
  animation:beamShift 2.2s linear infinite;mix-blend-mode:screen;filter:blur(.5px) saturate(1.3)}
@keyframes beamShift{to{background-position:200px 0}}
.ab-beam i{position:absolute;bottom:-40px;width:34px;height:34px;border-radius:50%;background:url(../img/bubble.png) center/cover;animation:beamRise 3s linear infinite}
.ab-beam i:nth-child(1){left:40%;animation-delay:0s}.ab-beam i:nth-child(2){left:55%;animation-delay:.7s;width:22px;height:22px}
.ab-beam i:nth-child(3){left:47%;animation-delay:1.4s;background-image:url(../img/heart1.png);border-radius:0}
.ab-beam i:nth-child(4){left:60%;animation-delay:2.1s;background-image:url(../img/heart2.png);border-radius:0;width:26px;height:26px}
.ab-beam i:nth-child(5){left:33%;animation-delay:1s;width:18px;height:18px}
@keyframes beamRise{to{transform:translateY(-82vh) rotate(30deg);opacity:0}}
.ab-ufo{position:absolute;left:50%;top:6vh;width:min(440px,70vw);transform:translate(-50%,var(--ufoY,-60vh)) rotate(var(--ufoR,0deg));filter:drop-shadow(0 20px 40px rgba(177,140,255,.6));z-index:3}
.ab-cow{position:absolute;left:50%;bottom:9vh;width:min(420px,62vw);transform-origin:50% 50%;
  transform:translate(-50%,var(--cowY,0px)) scale(var(--cowS,1)) rotate(var(--cowR,0deg));z-index:2;filter:drop-shadow(0 0 var(--cowG,0px) rgba(111,227,240,.9)) hue-rotate(var(--cowH,0deg));opacity:var(--cowO,1)}
.ab-flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,#fff,rgba(255,155,233,.8) 30%,transparent 70%);opacity:var(--flash,0);pointer-events:none;z-index:5;mix-blend-mode:screen}
.ab-steps{position:absolute;left:clamp(16px,5vw,70px);top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;gap:10px}
.ab-step{font-family:var(--f-disp);font-weight:900;font-size:clamp(30px,6vw,86px);line-height:.9;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px rgba(243,236,255,.3);transition:color .3s,-webkit-text-stroke .3s,transform .4s;display:flex;align-items:flex-start;gap:10px}
.ab-step span{font-family:var(--f-pix);font-size:13px;-webkit-text-stroke:0;color:var(--mute);margin-top:.5em}
.ab-step.on{color:var(--cream);-webkit-text-stroke:2px var(--line);transform:translateX(14px);text-shadow:4px 4px 0 var(--line),0 0 40px rgba(255,143,228,.7)}
.ab-step.on span{color:var(--mint)}
.ab-hud{position:absolute;right:clamp(16px,4vw,50px);bottom:clamp(16px,5vh,44px);z-index:6;display:flex;align-items:center;gap:12px;font-family:var(--f-pix);font-size:13px;
  background:rgba(0,0,0,.65);border:2px solid rgba(147,240,168,.5);padding:10px 14px;border-radius:14px}
.ab-meter{width:clamp(90px,14vw,180px);height:14px;border:2px solid var(--mint);padding:2px;display:flex}
.ab-meter i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,var(--mint) 0 8px,transparent 8px 10px)}
.ab-hud b{color:var(--mint);min-width:44px;text-align:right}

/* ================ DIMENSIONS RING ================ */
.dims{position:relative;height:300vh}
.dims-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:80px}
.dims .sec-head{margin-bottom:10px;position:relative;z-index:2}
.ring-wrap{position:relative;flex:1;max-height:62vh;perspective:1400px;cursor:grab;touch-action:pan-y}
.ring-wrap:active{cursor:grabbing}
.ring{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;transform:rotateX(-6deg) rotateY(var(--ringY,0deg))}
.ring-card{--w:clamp(170px,22vw,300px);position:absolute;left:calc(var(--w) / -2);top:calc(var(--w) / -2);width:var(--w);height:var(--w);margin:0;border-radius:24px;overflow:hidden;
  border:3px solid var(--line);background:#000;box-shadow:0 0 0 4px rgba(177,140,255,.35),0 0 40px rgba(177,140,255,.35);backface-visibility:hidden}
.ring-card img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none}
.ring-card::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(255,255,255,.35),transparent 30%,transparent 70%,rgba(255,155,233,.25));mix-blend-mode:overlay}
.drag-hint{text-align:center;font-family:var(--f-pix);font-size:12px;color:var(--mute);padding-bottom:28px}

/* ================ BUY ================ */
.buy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,26px)}
.orb{position:relative;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18%;
  background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.35),transparent 18%),radial-gradient(circle at 50% 50%,rgba(12,8,22,.5),rgba(12,8,22,.85) 62%,rgba(177,140,255,.35) 80%,rgba(111,227,240,.5) 92%,rgba(255,155,233,.55));
  box-shadow:inset 0 0 40px rgba(177,140,255,.4),0 0 40px rgba(177,140,255,.25)}
.orb::before{content:"";position:absolute;inset:-4px;border-radius:50%;padding:4px;background:conic-gradient(from var(--a,0deg),#ff9be9,#b18cff,#6fe3f0,#93f0a8,#ff9be9);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinRing 6s linear infinite;pointer-events:none}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes spinRing{to{--a:360deg}}
.orb:nth-child(odd){animation:orbFloat 5s ease-in-out infinite}
.orb:nth-child(even){animation:orbFloat 6s ease-in-out infinite reverse}
@keyframes orbFloat{50%{translate:0 -14px}}
.orb-n{font-style:normal;font-family:var(--f-disp);font-weight:900;font-size:clamp(34px,4vw,56px);line-height:1;background:var(--holo);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 var(--line))}
.orb h3{margin:6px 0 4px;font-family:var(--f-disp);font-size:clamp(16px,1.6vw,22px)}
.orb p{margin:0;font-size:clamp(12px,1.05vw,15px);color:var(--mute)}
.buy-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin-top:clamp(36px,5vw,60px)}

/* ================ CHART ================ */
.viewport{position:relative;padding-top:clamp(60px,9vw,120px)}
.vp-ufo{position:absolute;left:50%;top:0;width:clamp(200px,28vw,380px);transform:translateX(-50%);z-index:2;filter:drop-shadow(0 18px 30px rgba(0,0,0,.6));animation:ufoHover 4s ease-in-out infinite}
.vp-screen{position:relative;height:clamp(440px,62vh,640px);border-radius:40px;overflow:hidden;background:#07040c;border:3px solid var(--line);
  box-shadow:0 0 0 8px rgba(177,140,255,.18),0 0 0 11px var(--line),0 0 90px rgba(177,140,255,.4)}
.vp-screen::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;border-radius:inherit;box-shadow:inset 0 0 60px rgba(111,227,240,.25)}
.vp-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:none}
.vp-screen.live iframe{display:block}
.vp-screen.live .vp-wait{display:none}
.vp-wait{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:20px;
  background:linear-gradient(180deg,rgba(7,4,12,.3),rgba(7,4,12,.9)),url(../img/pixel-sky.webp) center/cover}
.vp-wait img{width:clamp(160px,22vw,260px);animation:floatA 3s ease-in-out infinite,hueSpin 6s linear infinite}
@keyframes hueSpin{to{filter:hue-rotate(360deg)}}
.vp-wait b{font-family:var(--f-pix);font-size:clamp(13px,1.5vw,18px);color:var(--mint);letter-spacing:.06em}

/* ================ PHASES ================ */
.track{position:relative;display:flex;flex-direction:column;gap:clamp(40px,6vw,80px);padding-left:0}
.track-beam{position:absolute;left:50%;top:0;bottom:0;width:10px;margin-left:-5px;border-radius:10px;background:rgba(177,140,255,.15);overflow:hidden}
.track-beam i{display:block;width:100%;height:0;background:var(--holo-v);box-shadow:0 0 20px var(--pink)}
.ph{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.ph:nth-child(odd) .ph-scene{order:2}
.ph:nth-child(odd) .ph-txt{text-align:right}
.ph::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px;border-radius:50%;background:var(--void);border:4px solid var(--lilac);box-shadow:0 0 0 4px var(--void)}
.ph.in::after{background:var(--mint);border-color:var(--line);box-shadow:0 0 0 4px var(--void),0 0 24px var(--mint)}
.ph-txt span{font-family:var(--f-pix);font-size:13px;color:var(--mint)}
.ph-txt h3{margin:6px 0 8px;font-family:var(--f-disp);font-weight:900;font-size:clamp(32px,4.4vw,62px);line-height:.95;letter-spacing:-.04em}
.ph-txt p{margin:0;color:var(--mute);font-size:clamp(14px,1.2vw,17px)}
.ph-scene{position:relative;aspect-ratio:16/11;border-radius:var(--r);overflow:hidden;border:3px solid var(--line);background:url(../img/pixel-sky.webp) center/cover;box-shadow:0 10px 0 var(--line),0 0 50px rgba(177,140,255,.25)}
.ps-floor{position:absolute;left:-20%;right:-20%;bottom:-10%;height:42%;perspective:200px}
.ps-floor::before{content:"";position:absolute;inset:0 0 -40%;transform:rotateX(60deg);transform-origin:50% 0;background:repeating-conic-gradient(rgba(2,1,3,.95) 0 25%,transparent 0 50%) 0 0/40px 40px,linear-gradient(90deg,#ff9be9,#b18cff,#6fe3f0,#93f0a8);animation:floorRunS 2s linear infinite}
@keyframes floorRunS{to{background-position:0 80px,0 0}}
.ps-cow{position:absolute;left:50%;bottom:10%;width:46%;transform:translateX(-50%)}
.ps-ufo{position:absolute;left:50%;top:6%;width:38%;transform:translateX(-50%);animation:ufoHover 3s ease-in-out infinite}
.ps-beam{position:absolute;left:50%;top:24%;width:58%;height:80%;transform:translateX(-50%);clip-path:polygon(36% 0,64% 0,100% 100%,0 100%);background:repeating-linear-gradient(90deg,rgba(255,155,233,.7) 0 8%,rgba(111,227,240,.7) 8% 16%,rgba(147,240,168,.7) 16% 24%);animation:beamShift 2s linear infinite;mix-blend-mode:screen}
.s1 .ps-cow{animation:graze 2.4s ease-in-out infinite}
@keyframes graze{50%{transform:translateX(-50%) rotate(2deg)}}
.s3 .ps-cow{bottom:28%;width:34%;animation:liftS 2.6s ease-in-out infinite}
@keyframes liftS{0%,100%{transform:translateX(-50%) translateY(0) rotate(-8deg)}50%{transform:translateX(-50%) translateY(-14px) rotate(8deg)}}
.s4{background:radial-gradient(circle at 50% 40%,rgba(255,155,233,.55),transparent 60%),url(../img/pixel-sky.webp) center/cover}
.s4 .ps-ufo{top:16%;width:70%;animation:ufoHover 3s ease-in-out infinite,hueSpin 8s linear infinite}

/* ================ FOOTER ================ */
.foot{position:relative;overflow:hidden;padding:clamp(130px,14vw,200px) 0 60px;isolation:isolate;border-top:3px solid var(--line)}
.foot::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(5,3,7,.92),rgba(5,3,7,.55) 40%,rgba(5,3,7,.9))}
.foot .holo-gl{z-index:-3}
.foot-inner{width:min(1240px,calc(100% - 40px));margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:clamp(26px,4vw,44px);text-align:center}
.foot-ufo{position:absolute;left:50%;top:22px;width:clamp(140px,16vw,220px);transform:translateX(-50%);animation:ufoHover 3s ease-in-out infinite;filter:drop-shadow(0 10px 30px rgba(255,143,228,.5))}
.foot-title{margin:0;font-family:var(--f-disp);font-weight:900;font-size:clamp(54px,12vw,190px);line-height:.85;letter-spacing:-.05em;filter:drop-shadow(0 8px 0 var(--line))}
.tp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:100%}
.tp{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;min-height:120px;padding:18px 20px;border-radius:24px;text-align:left;overflow:hidden;
  background:rgba(12,8,22,.75);border:3px solid var(--line);box-shadow:0 8px 0 var(--line),inset 0 0 0 2px rgba(177,140,255,.25);transition:transform .25s cubic-bezier(.3,1.6,.5,1),box-shadow .25s}
.tp::before{content:"";position:absolute;inset:0;background:var(--holo);background-size:300% 100%;opacity:0;transition:opacity .3s;z-index:-1;animation:holoShift 4s linear infinite}
.tp i{font-style:normal;font-family:var(--f-pix);font-size:13px;color:var(--mint);transition:color .3s}
.tp b{font-family:var(--f-disp);font-weight:900;font-size:clamp(17px,2vw,26px);letter-spacing:-.02em;transition:color .3s}
.tp::after{content:"↗";position:absolute;right:18px;top:14px;font-size:22px;font-weight:800;color:var(--lilac);transition:transform .3s,color .3s}
.tp:hover{transform:translateY(-6px) rotate(-1.5deg);box-shadow:0 14px 0 var(--line),0 0 40px rgba(255,143,228,.5)}
.tp:hover::before{opacity:1}
.tp:hover i,.tp:hover b,.tp:hover::after{color:var(--ink)}
.tp:hover::after{transform:translate(4px,-4px) rotate(45deg)}
.tp:first-child{grid-column:span 1}
.tp:nth-child(7){grid-column:span 2}
.foot-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.disc{max-width:640px;margin:0;font-size:12px;color:rgba(182,181,206,.7)}

.to-top{position:fixed;right:18px;bottom:18px;z-index:80;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--holo);border:3px solid var(--line);color:var(--ink);
  box-shadow:0 5px 0 var(--line);opacity:0;transform:translateY(20px) scale(.6);transition:opacity .3s,transform .3s}
.to-top svg{width:22px;height:22px}
.to-top.show{opacity:1;transform:none}
.toast{position:fixed;left:50%;bottom:28px;z-index:1001;transform:translate(-50%,40px);opacity:0;pointer-events:none;font-family:var(--f-pix);font-size:14px;color:var(--ink);background:var(--mint);
  border:3px solid var(--line);padding:12px 20px;border-radius:99px;box-shadow:0 6px 0 var(--line);transition:transform .4s cubic-bezier(.3,1.6,.5,1),opacity .3s;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ================ RESPONSIVE ================ */
@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr;text-align:center}
  .hero-copy{align-items:center;order:1}
  .hero-visual{order:2;margin-top:40px}
  .holo-card{width:min(400px,84vw)}
  .cta-row{justify-content:center}
  .lore-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .lore-card:nth-child(n){margin-top:0}
  .buy-grid{grid-template-columns:repeat(2,1fr)}
  .tp-grid{grid-template-columns:repeat(2,1fr)}
  .tp:nth-child(7){grid-column:span 2}
}
@media (max-width:860px){
  .burger{display:block}
  .nav{position:fixed;inset:0;z-index:2;flex-direction:column;justify-content:center;gap:10px;background:#07040c url(../img/pixel-sky.webp) center/cover;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  .hdr.open{top:12px}
  .nav.open{opacity:1;visibility:visible}
  .nav>a{font-family:var(--f-disp);font-weight:900;font-size:34px;padding:8px 20px}
  .nav-soc{margin:20px 0 0}
  .hdr{background:rgba(12,8,22,.9)}
  .logo{position:relative;z-index:3}
}
@media (max-width:720px){
  .track-beam{left:18px}
  .ph{grid-template-columns:1fr;gap:18px;padding-left:46px}
  .ph::after{left:18px;top:24px}
  .ph:nth-child(odd) .ph-scene{order:0}
  .ph:nth-child(odd) .ph-txt{text-align:left}
  .ab-steps{top:auto;bottom:150px;transform:none;left:16px}
  .ab-step{font-size:clamp(28px,9vw,44px)}
  .ab-cow{bottom:14vh}
  .ab-hud{left:16px;right:16px;bottom:84px;justify-content:space-between}
  .vp-screen{height:520px;border-radius:26px}
  .jelly{min-height:56px;padding:0 22px}
  .jelly--main{min-height:64px;padding:0 28px}
  .cta-row .jelly--main{width:100%}
  .cta-row{width:100%}
  .cta-row .jelly--dex{width:100%}
  .ca-pod{width:100%}
  .ca-val{flex:1}
  .hc-label{left:50%;translate:-50% 0}
}
@media (max-width:440px){
  .buy-grid{gap:10px}
  .orb p{font-size:11px}
  .orb{padding:14%}
  .tp{min-height:96px;padding:14px}
  .logo span{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .abduct{height:auto}.ab-stage{position:relative}
  .dims{height:auto}.dims-stage{position:relative;height:auto;min-height:100vh}
}
