/* =========================================================
   VEILDOPE — styles
   Palette taken from the key art: sunny voxel sky, sandstone
   blocks, palm-gold, translucent lavender cat, void-black face.
   ========================================================= */
:root{
  --sky:#3d8fe6; --sky-2:#7cbaf2; --sky-3:#d8ebff;
  --lav-1:#efe8ff; --lav-2:#c9b6ff; --lav-3:#a68bff; --lav-4:#7a58ea; --lav-5:#4b2fb0;
  --void:#0f0820; --void-2:#1b1038; --void-3:#2a1a58;
  --stone-1:#c4b9a7; --stone-2:#aca190; --stone-3:#968b7a;
  --palm:#c8bb3a; --brick:#b5543f; --mint:#5cf29a;
  --ink:#140b2b; --paper:#fbf9ff;
  --r-lg:28px; --r-md:18px;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --f-display:"Unbounded", "Arial Black", system-ui, sans-serif;
  --f-pixel:"Silkscreen", ui-monospace, monospace;
  --f-body:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gutter:clamp(16px, 4vw, 56px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip}
html.lenis-off{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:clamp(15px,1.05vw,17px);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.is-loading{overflow:hidden;height:100vh}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--lav-3);color:#fff}
.mono{font-family:var(--f-pixel);letter-spacing:.06em}
em{font-style:normal;color:var(--lav-4);position:relative}
@media (hover:hover) and (pointer:fine){ body.has-cursor, body.has-cursor a, body.has-cursor button{cursor:none} }

/* ---------------- Loader ---------------- */
.loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;background:var(--void);
  transition:clip-path 1.1s var(--ease-io), visibility 0s 1.2s;clip-path:circle(150% at 50% 50%)}
.loader.is-done{clip-path:circle(0% at 50% 46%);visibility:hidden}
.loader__sky{position:absolute;inset:0;background:
  radial-gradient(60% 50% at 50% 45%, rgba(122,88,234,.45), transparent 70%),
  linear-gradient(180deg,#140a2e 0%, #1c1150 55%, #2b4fa8 100%)}
.loader__sky::after{content:"";position:absolute;inset:0;opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);
  background-size:48px 48px;transform:perspective(500px) rotateX(62deg) translateY(30%) scale(2.2);transform-origin:50% 100%;
  mask-image:linear-gradient(transparent 40%, #000)}
.loader__canvas{position:absolute;inset:0;width:100%;height:100%}
.loader__hud{position:absolute;left:0;right:0;bottom:clamp(28px,7vh,72px);display:grid;justify-items:center;gap:10px;color:#fff;padding:0 var(--gutter)}
.loader__brand{font-family:var(--f-display);font-weight:900;letter-spacing:.32em;font-size:clamp(13px,1.3vw,16px);opacity:.75}
.loader__count{font-family:var(--f-display);font-weight:900;font-size:clamp(56px,10vw,128px);line-height:.9;
  background:linear-gradient(180deg,#fff, var(--lav-2));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.loader__count small{font-size:.35em;vertical-align:top;margin-left:4px}
.loader__bar{width:min(340px,70vw);height:6px;background:rgba(255,255,255,.12);overflow:hidden}
.loader__bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--lav-3),#fff);box-shadow:0 0 18px var(--lav-3)}
.loader__hint{font-family:var(--f-pixel);font-size:12px;letter-spacing:.2em;opacity:.7}

/* ---------------- Cursor ---------------- */
.cursor,.cursor-dot,.cursor-trail{position:fixed;pointer-events:none;z-index:999}
.cursor-trail{inset:0;width:100%;height:100%;z-index:998}
.cursor{left:0;top:0;width:0;height:0;opacity:0;transition:opacity .3s}
.cursor__ring{position:absolute;left:-22px;top:-22px;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(166,139,255,.9);
  display:grid;place-items:center;background:rgba(166,139,255,.06);backdrop-filter:blur(2px);
  transition:width .45s var(--ease-out),height .45s var(--ease-out),left .45s var(--ease-out),top .45s var(--ease-out),background .3s,border-color .3s}
.cursor__label{font-family:var(--f-pixel);font-size:11px;letter-spacing:.1em;color:#fff;opacity:0;transform:scale(.6);transition:.3s var(--ease-out)}
.cursor.is-hover .cursor__ring{width:84px;height:84px;left:-42px;top:-42px;background:rgba(122,88,234,.85);border-color:transparent}
.cursor.is-hover .cursor__label{opacity:1;transform:none}
.cursor.is-down .cursor__ring{transform:scale(.8)}
.cursor-dot{left:0;top:0;width:8px;height:8px;margin:-4px 0 0 -4px;background:var(--lav-4);border-radius:2px;opacity:0;box-shadow:0 0 12px var(--lav-3)}
body.has-cursor .cursor, body.has-cursor .cursor-dot{opacity:1}
body.cursor-hidden .cursor, body.cursor-hidden .cursor-dot{opacity:0}

/* ---------------- Buttons ---------------- */
.btn{--bg:#fff;position:relative;display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:700;font-size:14px;
  letter-spacing:.02em;padding:14px 22px;border-radius:999px;background:var(--bg);color:var(--ink);isolation:isolate;overflow:hidden;
  transition:transform .5s var(--ease-out), box-shadow .4s, color .3s;will-change:transform;white-space:nowrap}
.btn span,.btn svg{position:relative;z-index:1}
.btn::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;transform:translateY(101%);transition:transform .55s var(--ease-out)}
.btn:hover::before{transform:none}
.btn--sm{padding:11px 18px;font-size:13px}
.btn--lg{padding:18px 30px;font-size:15px}
.btn--primary{--bg:linear-gradient(135deg,#b49bff,#7a58ea);background:var(--bg);color:#fff;box-shadow:0 10px 30px -8px rgba(122,88,234,.75), inset 0 1px 0 rgba(255,255,255,.5)}
.btn--primary::before{background:var(--void)}
.btn--glass{background:rgba(255,255,255,.22);color:#fff;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(14px) saturate(1.4)}
.btn--glass::before{background:#fff}
.btn--glass:hover{color:var(--ink)}
.btn--dark{background:var(--void);color:#fff}
.btn--dark::before{background:var(--lav-4)}
.btn--icon{width:44px;height:44px;padding:0;justify-content:center;background:rgba(255,255,255,.75);backdrop-filter:blur(10px)}
.btn--icon::before{background:var(--void)}
.btn--icon:hover{color:#fff}
.btn:focus-visible{outline:3px solid var(--lav-3);outline-offset:3px}

/* ---------------- Nav ---------------- */
.nav{position:fixed;z-index:50;top:14px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:8px 8px 8px 16px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(16px) saturate(1.5);
  transition:transform .6s var(--ease-out), background .4s, box-shadow .4s;transform:translateY(-140%)}
body.is-ready .nav{transform:none}
.nav.is-scrolled{background:rgba(251,249,255,.82);box-shadow:0 10px 40px -20px rgba(43,26,88,.4)}
.nav.is-hidden{transform:translateY(-140%)}
.nav__logo{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:900;letter-spacing:.06em;color:#fff;transition:color .3s}
.nav.is-scrolled .nav__logo{color:var(--ink)}
.nav__logo img{filter:drop-shadow(0 4px 10px rgba(122,88,234,.6));transition:transform .6s var(--ease-out)}
.nav__logo:hover img{transform:rotate(-12deg) scale(1.1)}
.nav__links{display:flex;gap:6px}
.nav__links a{position:relative;padding:8px 14px;font-weight:700;font-size:14px;color:#fff;border-radius:999px;transition:background .3s,color .3s}
.nav.is-scrolled .nav__links a{color:var(--ink)}
.nav__links a:hover{background:rgba(255,255,255,.3)}
.nav.is-scrolled .nav__links a:hover{background:var(--lav-1)}
.nav__cta{display:flex;align-items:center;gap:8px}
.nav__burger{display:none;width:44px;height:44px;border-radius:50%;background:var(--void);position:relative}
.nav__burger i{position:absolute;left:13px;right:13px;height:2px;background:#fff;transition:.4s var(--ease-out)}
.nav__burger i:first-child{top:18px}.nav__burger i:last-child{top:25px}
body.menu-open .nav__burger i:first-child{top:21px;transform:rotate(45deg)}
body.menu-open .nav__burger i:last-child{top:21px;transform:rotate(-45deg)}

/* ---------------- Hero ---------------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--sky)}
.hero__media{position:absolute;inset:-6% -2% -6% -2%;will-change:transform}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:62% 45%;transform:scale(1.18);transition:transform 2.2s var(--ease-out), filter 2s}
body.is-ready .hero__media img{transform:scale(1.04)}
.hero__shade{position:absolute;inset:0;background:
  linear-gradient(90deg, rgba(20,11,43,.72) 0%, rgba(20,11,43,.35) 38%, transparent 62%),
  linear-gradient(0deg, rgba(20,11,43,.65) 0%, transparent 40%)}
.hero__voxels{position:absolute;inset:0;pointer-events:none}
.hero__voxels i{position:absolute;width:var(--s);height:var(--s);background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(166,139,255,.5));
  border-radius:3px;box-shadow:0 0 18px rgba(166,139,255,.6);opacity:.85;animation:float var(--d) ease-in-out infinite alternate}
@keyframes float{from{transform:translateY(0) rotate(0)}to{transform:translateY(-40px) rotate(90deg)}}
.hero__content{position:relative;z-index:2;padding:0 var(--gutter) clamp(64px,10vh,120px);max-width:880px}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:13px;flex-wrap:wrap}
.pill{font-family:var(--f-pixel);font-size:11px;letter-spacing:.12em;padding:6px 12px;border-radius:999px;background:rgba(92,242,154,.18);color:var(--mint);border:1px solid rgba(92,242,154,.5)}
.hero__title{margin:0;font-family:var(--f-display);font-weight:900;line-height:.86;font-size:clamp(64px,13.5vw,220px);letter-spacing:-.04em;display:flex;flex-wrap:wrap}
.split{display:inline-flex;overflow:hidden;padding-bottom:.04em}
.split .ch{display:inline-block;transform:translateY(110%) rotate(8deg);transition:transform 1.1s var(--ease-out);transition-delay:calc(var(--i) * 45ms + var(--d0, 0ms))}
.split.is-in .ch{transform:none}
.split--outline{color:transparent;-webkit-text-stroke:2px #fff}
.hero .split--outline{-webkit-text-stroke:clamp(1.5px,.25vw,3px) #fff;text-shadow:0 0 40px rgba(166,139,255,.5)}
.hero__sub{font-size:clamp(17px,1.6vw,22px);max-width:540px;margin:22px 0 30px;opacity:.95}
.hero__sub b{color:var(--lav-2)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px}
.ca{margin-top:22px;display:inline-flex;align-items:center;gap:12px;max-width:100%;padding:8px 8px 8px 14px;border-radius:14px;
  background:rgba(15,8,32,.45);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);color:#fff;transition:border-color .3s, transform .4s var(--ease-out)}
.ca:hover{border-color:var(--lav-2)}
.ca__label{font-family:var(--f-pixel);font-size:12px;color:var(--lav-2)}
.ca__value{font-family:ui-monospace,Menlo,monospace;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ca__copy{font-family:var(--f-pixel);font-size:11px;padding:7px 10px;border-radius:9px;background:#fff;color:var(--ink)}
.hero__scroll{position:absolute;right:var(--gutter);bottom:clamp(24px,5vh,48px);z-index:2;display:grid;justify-items:center;gap:10px;font-family:var(--f-pixel);font-size:10px;letter-spacing:.3em;writing-mode:vertical-rl}
.hero__scroll i{width:2px;height:64px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;inset:0;background:#fff;animation:drip 1.8s var(--ease-io) infinite}
@keyframes drip{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}

/* ---------------- Reveals ---------------- */
.reveal-up{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease-out), transform 1.1s var(--ease-out);transition-delay:var(--rd,0ms)}
.reveal-scale{opacity:0;transform:scale(.88) rotate(-3deg);transition:opacity 1s var(--ease-out), transform 1.4s var(--ease-out)}
.is-in.reveal-up,.is-in.reveal-scale{opacity:1;transform:none}

/* ---------------- Marquee ---------------- */
.marquee{position:relative;z-index:3;background:var(--lav-4);color:#fff;overflow:hidden;padding:18px 0;margin-top:-2px;
  transform:rotate(-1.6deg) scale(1.03);box-shadow:0 20px 50px -20px rgba(75,47,176,.6)}
.marquee::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.08) 50%,transparent 50%);background-size:24px 100%}
.marquee__track{display:flex;width:max-content;gap:28px;align-items:center;font-family:var(--f-display);font-weight:900;font-size:clamp(22px,3vw,40px);will-change:transform}
.marquee__track b{color:var(--lav-2);font-size:.6em}

/* ---------------- Sections ---------------- */
.section{position:relative;padding:clamp(90px,14vh,170px) var(--gutter)}
.section__head{max-width:900px;margin-bottom:clamp(40px,6vh,72px)}
.h2{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,6.4vw,96px);line-height:.95;letter-spacing:-.035em;margin:0}

/* Lore */
.lore{background:linear-gradient(180deg,var(--sky-3) 0%, var(--paper) 100%);overflow:hidden}
.lore::before{content:"";position:absolute;right:-10%;top:10%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(166,139,255,.35),transparent 65%);pointer-events:none}
.lore__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,7vw,120px);align-items:center;max-width:1400px;margin:0 auto}
.lore__visual{position:relative;perspective:1000px}
.lore__frame{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1;box-shadow:0 40px 80px -30px rgba(75,47,176,.55);transform-style:preserve-3d;transition:transform .2s linear}
.lore__frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.lore__glare{position:absolute;inset:0;background:radial-gradient(circle at var(--gx,30%) var(--gy,20%),rgba(255,255,255,.45),transparent 45%);mix-blend-mode:soft-light;pointer-events:none}
.sticker{position:absolute;font-family:var(--f-pixel);font-weight:700;padding:10px 16px;border-radius:12px;font-size:14px;box-shadow:0 14px 30px -10px rgba(0,0,0,.35);animation:bob 4s ease-in-out infinite alternate}
.sticker--a{top:8%;left:-6%;background:var(--palm);color:var(--ink);transform:rotate(-8deg)}
.sticker--b{bottom:10%;right:-5%;background:var(--void);color:var(--lav-2);transform:rotate(6deg);animation-delay:-2s}
@keyframes bob{to{translate:0 -14px}}
.scrub-text{font-family:var(--f-display);font-weight:500;font-size:clamp(20px,2vw,30px);line-height:1.35;letter-spacing:-.01em;margin:28px 0 36px}
.scrub-text .w{opacity:.14;transition:opacity .25s}
.scrub-text .w.on{opacity:1}
.lore__facts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lore__facts li{padding:16px;border-radius:var(--r-md);background:#fff;border:1px solid var(--lav-1);display:grid;gap:4px}
.lore__facts b{font-family:var(--f-pixel);font-size:11px;font-weight:400;color:var(--lav-4);letter-spacing:.1em;text-transform:uppercase}
.lore__facts span{font-weight:800}

/* Tokenomics — night voxel */
.tokenomics{background:var(--void);color:#fff;overflow:hidden}
.tokenomics::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background:radial-gradient(50% 40% at 80% 0%, rgba(122,88,234,.5), transparent 70%), radial-gradient(40% 40% at 0% 100%, rgba(61,143,230,.35), transparent 70%)}
.tokenomics::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;opacity:.25;pointer-events:none;
  background-image:linear-gradient(rgba(166,139,255,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(166,139,255,.7) 1px,transparent 1px);
  background-size:56px 56px;transform:perspective(600px) rotateX(60deg);transform-origin:50% 100%;mask-image:linear-gradient(transparent, #000 70%)}
.tokenomics em{color:var(--lav-2)}
.tokenomics .section__head,.stats{position:relative;z-index:1}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1400px}
.stat{position:relative;padding:28px 24px;min-height:240px;display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--r-lg);
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.02));border:1px solid rgba(201,182,255,.22);backdrop-filter:blur(8px);
  transform-style:preserve-3d;transition:transform .25s linear, border-color .3s}
.stat:hover{border-color:var(--lav-3)}
.stat__k{font-family:var(--f-pixel);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--lav-2)}
.stat__v{font-family:var(--f-display);font-weight:900;font-size:clamp(30px,3.2vw,52px);line-height:1;letter-spacing:-.03em;transform:translateZ(40px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat__v--txt{background:linear-gradient(90deg,#fff,var(--lav-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat__n{opacity:.6;font-size:14px}

/* How to buy — sandstone voxels */
.buy{background-color:var(--stone-1);
  background-image:
    conic-gradient(from 90deg at 50% 50%, var(--stone-2) 25%, transparent 0 50%, var(--stone-2) 0 75%, transparent 0),
    linear-gradient(rgba(0,0,0,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,.04) 1px, transparent 1px);
  background-size:64px 64px, 32px 32px, 32px 32px}
.buy::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--void) 0, transparent 1px)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1400px;counter-reset:s}
.step{position:relative;background:var(--paper);border-radius:var(--r-lg);padding:28px 24px 32px;box-shadow:0 8px 0 var(--stone-3), 0 30px 50px -30px rgba(20,11,43,.4);transition:transform .25s linear}
.step__n{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--lav-2),var(--lav-4));color:#fff;font-family:var(--f-pixel);font-weight:700;font-size:18px;margin-bottom:26px;box-shadow:0 10px 24px -8px var(--lav-4)}
.step h3{font-family:var(--f-display);font-size:22px;margin:0 0 8px;letter-spacing:-.02em}
.step p{margin:0;opacity:.75}
.buy__cta{margin-top:44px;display:flex;justify-content:center}

/* Roadmap — pinned horizontal */
.roadmap{position:relative;background:linear-gradient(180deg,var(--sky) 0%, var(--sky-2) 100%);color:#fff}
.roadmap__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,4vh,48px)}
.roadmap__sticky::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.9;
  background:
   linear-gradient(#fff,#fff) 6% 14%/160px 18px no-repeat, linear-gradient(#fff,#fff) calc(6% + 30px) calc(14% - 18px)/90px 18px no-repeat,
   linear-gradient(#fff,#fff) 78% 10%/120px 16px no-repeat, linear-gradient(#fff,#fff) calc(78% + 20px) calc(10% - 16px)/70px 16px no-repeat}
.roadmap__head{position:relative;padding:0 var(--gutter);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px}
.roadmap__head .eyebrow{width:100%;margin-bottom:-4px}
.roadmap em{color:var(--void)}
.roadmap__progress{flex:0 1 360px;height:8px;background:rgba(255,255,255,.3);margin-bottom:12px}
.roadmap__progress i{display:block;height:100%;width:0;background:#fff;box-shadow:0 0 16px #fff}
.roadmap__track{position:relative;display:flex;gap:clamp(16px,2vw,28px);padding:0 var(--gutter);width:max-content;will-change:transform}
.phase{width:clamp(280px,32vw,460px);flex:none;background:var(--paper);color:var(--ink);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 10px 0 rgba(20,11,43,.15), 0 40px 60px -30px rgba(20,11,43,.5);transform:rotate(var(--rot,0deg));transition:transform .6s var(--ease-out)}
.phase:nth-child(odd){--rot:-1.2deg}.phase:nth-child(even){--rot:1.2deg}
.phase:hover{transform:rotate(0) translateY(-8px)}
.phase__img{aspect-ratio:4/3;overflow:hidden;background:var(--sky-2)}
.phase__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.phase:hover .phase__img img{transform:scale(1.07)}
.phase__body{padding:20px 24px 26px}
.phase__tag{font-family:var(--f-pixel);font-size:12px;letter-spacing:.14em;color:var(--lav-4)}
.phase h3{font-family:var(--f-display);font-size:clamp(22px,2vw,30px);margin:4px 0 10px;letter-spacing:-.02em}
.phase ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.phase li{padding-left:22px;position:relative}
.phase li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;background:var(--lav-3);border-radius:2px}
.phase--end{display:grid;place-items:center;background:transparent;box-shadow:none;border:3px dashed rgba(255,255,255,.7);color:#fff;font-family:var(--f-display);font-weight:900;font-size:clamp(28px,3vw,44px);text-align:center;line-height:1}

/* CTA */
.cta{background:linear-gradient(180deg,var(--sky-2), var(--paper) 30%)}
.cta__card{position:relative;max-width:1300px;margin:0 auto;border-radius:clamp(28px,4vw,56px);padding:clamp(56px,9vw,130px) var(--gutter);text-align:center;color:#fff;overflow:hidden;
  background:radial-gradient(80% 90% at 50% 0%, #b49bff 0%, #7a58ea 45%, #2a1a58 100%);box-shadow:0 60px 100px -50px rgba(75,47,176,.9);transform-style:preserve-3d;transition:transform .25s linear}
.cta__card::before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(circle at 50% 40%, #000, transparent 70%)}
.cta__eyes{position:relative;margin:0 auto 30px;width:150px;height:110px;border-radius:50%;background:radial-gradient(circle at 45% 40%, #2a1748, #0d0618);display:flex;justify-content:center;align-items:center;gap:26px;box-shadow:0 0 0 14px rgba(255,255,255,.12), 0 0 60px rgba(201,182,255,.6)}
.cta__eyes i{width:22px;height:34px;border-radius:50%;background:radial-gradient(circle at 40% 30%, #fff, #d9c8ff 60%, #b48cff);box-shadow:0 0 20px #c9b6ff;transform:translate(var(--ex,0),var(--ey,0));transition:transform .15s linear;animation:blink 5s infinite}
@keyframes blink{0%,94%,100%{scale:1 1}96%{scale:1 .1}}
.cta__title{position:relative;font-family:var(--f-display);font-weight:900;font-size:clamp(44px,9vw,150px);line-height:.9;letter-spacing:-.04em;margin:0 0 20px;display:flex;flex-wrap:wrap;justify-content:center;gap:0 .25em}
.cta p{position:relative;font-size:clamp(16px,1.4vw,20px);max-width:520px;margin:0 auto 32px;opacity:.9}
.cta .hero__ctas{position:relative;justify-content:center}

/* Footer */
.footer{background:var(--void);color:#fff;padding:0 var(--gutter) 32px;overflow:hidden}
.footer__big{font-family:var(--f-display);font-weight:900;font-size:clamp(60px,18.5vw,340px);letter-spacing:-.05em;line-height:.8;text-align:center;padding-top:.15em;
  background:linear-gradient(180deg,var(--lav-3),rgba(122,88,234,0) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
.footer__row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);font-size:14px}
.footer__disc{margin:0;max-width:520px;opacity:.55;font-size:13px}
.footer__links{display:flex;gap:20px}
.footer__links a{font-weight:700;position:relative}
.footer__links a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--lav-3);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-out)}
.footer__links a:hover::after{transform:scaleX(1);transform-origin:left}

.toast{position:fixed;left:50%;bottom:28px;z-index:900;padding:12px 18px;border-radius:12px;background:var(--void);color:#fff;font-family:var(--f-pixel);font-size:12px;letter-spacing:.08em;
  transform:translate(-50%,calc(100% + 48px));visibility:hidden;transition:transform .5s var(--ease-out),visibility 0s .5s;box-shadow:0 20px 40px -15px rgba(0,0,0,.5)}
.toast.is-on{transform:translate(-50%,0);visibility:visible;transition:transform .5s var(--ease-out)}

/* ---------------- Responsive ---------------- */
@media (max-width:1100px){
  .stats,.steps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .nav__links{position:fixed;inset:0 0 auto 0;top:-14px;margin:0 calc(-1 * var(--gutter));flex-direction:column;gap:4px;padding:90px var(--gutter) 30px;
    background:rgba(251,249,255,.97);backdrop-filter:blur(16px);transform:translateY(-110%);transition:transform .6s var(--ease-out);z-index:-1;border-radius:0 0 28px 28px}
  .nav__links a{color:var(--ink)!important;font-family:var(--f-display);font-size:28px;padding:10px 0}
  body.menu-open .nav__links{transform:none}
  .nav__burger{display:block}
  .nav .btn--sm span{display:none}
  .nav .btn--sm::after{content:"BUY";position:relative;z-index:1}
  .lore__grid{grid-template-columns:1fr}
  .lore__visual{max-width:520px}
  .hero__media img{object-position:60% 40%}
  .hero__shade{background:linear-gradient(0deg, rgba(20,11,43,.85) 0%, rgba(20,11,43,.4) 50%, transparent 75%)}
  .hero__scroll{display:none}
}
@media (max-width:560px){
  .stats,.steps,.lore__facts{grid-template-columns:1fr}
  .stat{min-height:180px}
  .btn--lg{padding:16px 22px;font-size:14px}
  .hero__ctas .btn{flex:1 1 auto;justify-content:center}
  .sticker--a{left:2%}.sticker--b{right:2%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal-up,.reveal-scale,.split .ch{opacity:1;transform:none}
}
