/* Vanta FX public page */
:root{--grad:linear-gradient(120deg,#8b5cf6 0%,#5b8def 55%,#22d3ee 100%);--bg:#0b0f19;--line:#ffffff14}
body{background:#0b0f19}
#top{position:relative}
.lwrap{max-width:1120px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)} .small{font-size:13px}
.ticker{position:relative;z-index:6;background:#0b0f19}

/* nav */
.lhead{position:sticky;top:0;z-index:30}
html{scroll-behavior:smooth;scroll-padding-top:120px}
.lnav{position:relative;z-index:20;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
.lnav.solid{background:#0b0f19cc;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.lnav-in{display:flex;align-items:center;gap:20px;height:68px}
.lbrand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:700 21px/1 var(--cond);letter-spacing:.01em}
.lmenu{display:flex;gap:6px;margin:0 auto}
.lmenu a{color:var(--muted);text-decoration:none;font-size:14.5px;padding:8px 12px;border-radius:9px;transition:color .2s,background .2s;position:relative}
.lmenu a:hover{color:var(--ink);background:#ffffff0a}
.lmenu a.on{color:var(--ink)}
.lmenu a.on::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--grad)}
.lcta{display:flex;align-items:center;gap:14px}
.lsignin{color:var(--muted);text-decoration:none;font-size:14.5px}.lsignin:hover{color:var(--ink)}
.lbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:10px 18px;font-weight:700;font-size:15px;text-decoration:none;color:#fff;background:var(--grad);
  box-shadow:0 8px 28px #6d5ef03d;transition:transform .2s,filter .2s,box-shadow .25s;position:relative;overflow:hidden}
.lbtn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#ffffff33 50%,transparent 70%);transform:translateX(-120%)}
.lbtn:hover{transform:translateY(-2px);box-shadow:0 12px 34px #6d5ef066}.lbtn:hover::after{transform:translateX(120%);transition:transform .7s}
.lbtn span{transition:transform .2s}.lbtn:hover span{transform:translateX(4px)}
.lbtn.ghost{background:#ffffff0d;border:1px solid #ffffff22;box-shadow:none;color:var(--ink)}
.lbtn.ghost:hover{background:#ffffff16;border-color:#ffffff40}
.lbtn.big{padding:14px 24px;font-size:16px;border-radius:13px}

/* hero */
.hero{position:relative;overflow:hidden;padding:clamp(56px,10vw,120px) 0 clamp(60px,9vw,110px);text-align:center;isolation:isolate}
.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;z-index:-1;will-change:transform}
.o1{width:480px;height:480px;left:-120px;top:-100px;background:#8b5cf6;animation:driftA 18s ease-in-out infinite alternate}
.o2{width:420px;height:420px;right:-100px;top:40px;background:#22d3ee;opacity:.32;animation:driftB 22s ease-in-out infinite alternate}
.o3{width:380px;height:380px;left:38%;bottom:-200px;background:#ec4899;opacity:.28;animation:driftA 26s ease-in-out infinite alternate-reverse}
@keyframes driftA{to{transform:translate3d(90px,60px,0) scale(1.15)}}
@keyframes driftB{to{transform:translate3d(-80px,70px,0) scale(1.1)}}
.gridbg{position:absolute;inset:0;z-index:-1;opacity:.5;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(70% 70% at 50% 35%,#000 20%,transparent 75%);mask-image:radial-gradient(70% 70% at 50% 35%,#000 20%,transparent 75%);animation:breathe 9s ease-in-out infinite}
@keyframes breathe{50%{opacity:.25}}
.hero-in{position:relative}
.badge{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:#7be0c3;background:#2e9d7814;border:1px solid #2e9d7840;padding:7px 14px;border-radius:999px}
.badge i{width:7px;height:7px;border-radius:50%;background:#3dbb8a;animation:ping 1.8s ease-out infinite}
.hero h1{font:800 clamp(38px,7vw,76px)/1.04 var(--cond);letter-spacing:-.01em;margin:22px auto 0;max-width:920px;text-wrap:balance}
.hero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:-200% 0}}
.words .w{display:inline-block;opacity:0;transform:translateY(.55em) rotateX(40deg);animation:wordIn .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*70ms + .15s)}
@keyframes wordIn{to{opacity:1;transform:none}}
.sub{color:var(--muted);font-size:clamp(16px,2vw,19px);line-height:1.6;max-width:660px;margin:22px auto 0}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.checks{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;list-style:none;padding:0;margin:30px 0 0;color:var(--muted);font-size:14px}
.checks li::before{content:"✓";color:#3dbb8a;font-weight:800;margin-right:8px}
.typed{margin-top:26px;font:600 15px/1 ui-monospace,Menlo,Consolas,monospace;color:var(--muted)}
.typed b{color:#a78bfa;font-weight:600}
.caret{display:inline-block;width:2px;height:15px;background:#a78bfa;margin-left:3px;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@keyframes ping{0%{box-shadow:0 0 0 0 #3dbb8a88}100%{box-shadow:0 0 0 8px #3dbb8a00}}

/* sections */
.sec{padding:clamp(56px,8vw,96px) 20px}
.sec-head{text-align:center;max-width:720px;margin:0 auto 44px}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7be0c3;margin-bottom:12px}
.sec-head h2,.about h2,.cta h2{font:800 clamp(28px,4.4vw,44px)/1.1 var(--cond);margin:0;text-wrap:balance}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fcard,.rule,.step{position:relative;background:linear-gradient(180deg,#ffffff08,#ffffff03);border:1px solid var(--line);border-radius:18px;padding:24px;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;transform-style:preserve-3d}
.fcard:hover,.rule:hover,.step:hover{border-color:#8b5cf666;box-shadow:0 18px 50px #0006}
.ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#8b5cf61f;border:1px solid #8b5cf640;margin-bottom:16px;transition:transform .4s,background .3s}
.fcard:hover .ic{transform:rotate(-6deg) scale(1.08);background:#8b5cf63a}
.ic svg{width:22px;height:22px;fill:none;stroke:#b7a3ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fcard h3,.step h3{font:700 19px/1.2 var(--cond);margin:0 0 8px;color:var(--ink)}
.fcard p,.step p,.rule p{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0}
html.js .fcard.reveal.in{transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:20px}
.stat{position:relative;text-align:center;padding:26px 12px;border-radius:18px;border:1px solid var(--line);background:#ffffff05}
.stat b{display:block;font:800 clamp(34px,5vw,52px)/1 var(--cond);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{display:block;margin-top:8px;color:var(--muted);font-size:14px}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative}
.steps::before{content:"";position:absolute;left:12%;right:12%;top:46px;height:2px;background:linear-gradient(90deg,transparent,#8b5cf666,#22d3ee66,transparent);transform-origin:left;animation:draw 1.6s ease both .3s}
@keyframes draw{from{transform:scaleX(0)}}
.step .n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:800 18px var(--cond);color:#fff;background:var(--grad);box-shadow:0 0 0 6px #0b0f19,0 8px 24px #6d5ef04d;margin-bottom:16px;position:relative}
.flow{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:40px;flex-wrap:wrap}
.flow span{padding:10px 18px;border-radius:12px;border:1px solid #ffffff22;background:#ffffff0a;font-weight:600;font-size:14px}
.flow i{width:72px;height:2px;background:#ffffff1f;position:relative;overflow:hidden;border-radius:2px}
.flow i::after{content:"";position:absolute;inset:0;width:30px;background:var(--grad);animation:run 1.8s ease-in-out infinite}
.flow i:nth-of-type(2)::after{animation-delay:.6s}
@keyframes run{from{transform:translateX(-30px)}to{transform:translateX(72px)}}

/* rules */
.rules{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rule b{display:block;font:700 18px/1.25 var(--cond);margin-bottom:8px;color:var(--ink)}
.rule{border-left:3px solid #8b5cf6}

/* faq */
.faq-sec{max-width:820px}
.faq details{border:1px solid var(--line);background:#ffffff05;border-radius:14px;margin-bottom:10px;overflow:hidden;transition:border-color .25s,background .25s}
.faq details[open]{border-color:#8b5cf64d;background:#ffffff08}
.faq summary{cursor:pointer;list-style:none;padding:18px 54px 18px 20px;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;width:28px;height:28px;margin-top:-14px;display:grid;place-items:center;border-radius:50%;background:#ffffff10;font-size:18px;transition:transform .3s,background .3s}
.faq details[open] summary::after{transform:rotate(45deg);background:#8b5cf63a}
.faq details>div{padding:0 20px 18px;animation:faqIn .35s ease both}
.faq p{color:var(--muted);line-height:1.65;margin:0;font-size:15px}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}}

/* about + cta */
.about-in{max-width:760px;margin:0 auto;text-align:center}
.about p{color:var(--muted);line-height:1.75;font-size:17px;margin:18px 0 0}
.cta{position:relative;overflow:hidden;text-align:center;border:1px solid #8b5cf64d;border-radius:26px;padding:clamp(34px,6vw,64px) 22px;background:linear-gradient(180deg,#8b5cf61a,#22d3ee0d)}
.cta-glow{position:absolute;inset:-40%;z-index:0;background:conic-gradient(from 0deg,#8b5cf633,#22d3ee22,#ec489922,#8b5cf633);filter:blur(60px);animation:spin 22s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.cta>*:not(.cta-glow){position:relative;z-index:1}
.cta p{color:var(--muted);max-width:560px;margin:14px auto 0;line-height:1.6}

/* footer */
.lfoot{border-top:1px solid var(--line);margin-top:30px;padding:46px 0 30px;background:#080b13}
.foot-in{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:30px}
.foot-in h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:0 0 12px}
.foot-in a:not(.lbrand){display:block;color:var(--muted);text-decoration:none;font-size:14px;margin:7px 0;transition:color .2s}
.foot-in a:not(.lbrand):hover{color:var(--ink)}
.foot-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.risk{font-size:12px;line-height:1.65;color:var(--faint);margin:16px auto 0;max-width:1120px}
.risk b{color:var(--muted)}

@media (max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.steps::before{display:none}.rules{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.lmenu{display:none}.lcta{margin-left:auto}.cards,.steps,.rules{grid-template-columns:1fr}.foot-in{grid-template-columns:1fr 1fr}.lnav-in{height:60px}.orb{filter:blur(50px)}}
@media (prefers-reduced-motion:reduce){.orb,.gridbg,.hero h1 em,.steps::before,.flow i::after,.cta-glow,.badge i,.caret,.words .w{animation:none!important}.words .w{opacity:1;transform:none}}

/* Discord */
.dc{width:20px;height:20px;fill:currentColor;flex:none}
.ldc{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#c7ccff;background:#5865f21f;border:1px solid #5865f255;transition:transform .2s,background .2s}
.ldc:hover{background:#5865f23d;transform:translateY(-2px) rotate(-4deg)}
.lbtn.dcbtn{background:#5865f2;box-shadow:0 8px 28px #5865f255}
.lbtn.dcbtn:hover{box-shadow:0 12px 34px #5865f288}
@media (max-width:720px){.ldc{display:none}}

/* guide cards and article pages */
.guides{grid-template-columns:repeat(4,1fr)}
.guides a.fcard{text-decoration:none;color:inherit;display:block}
.more{display:inline-block;margin-top:14px;color:#a78bfa;font-weight:600;font-size:14px;transition:transform .2s}
.guides a:hover .more{transform:translateX(4px)}
.article{max-width:820px;padding-top:clamp(36px,6vw,72px);padding-bottom:40px}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:18px}.crumbs a{color:var(--muted)}.crumbs span{margin:0 4px}
.article h1{font:800 clamp(32px,5.4vw,52px)/1.08 var(--cond);margin:8px 0 16px;text-wrap:balance}
.lead{font-size:clamp(17px,2.2vw,20px);line-height:1.65;color:#c9cde4;margin:0 0 10px}
.art-sec{margin-top:34px}
.art-sec h2{font:700 clamp(23px,3vw,30px)/1.15 var(--cond);margin:0 0 12px}
.art-sec p{color:var(--muted);line-height:1.75;font-size:16.5px;margin:0 0 12px}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rel a{display:block;text-decoration:none;color:inherit;padding:16px;border:1px solid var(--line);border-radius:14px;background:#ffffff05;transition:border-color .2s,transform .2s}
.rel a:hover{border-color:#8b5cf666;transform:translateY(-3px)}
.rel b{display:block;color:var(--ink);margin-bottom:6px}.rel span{color:var(--muted);font-size:13.5px;line-height:1.5}
@media (max-width:980px){.guides{grid-template-columns:repeat(2,1fr)}.rel{grid-template-columns:1fr}}
@media (max-width:720px){.guides{grid-template-columns:1fr}}

/* pricing */
.terms{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-width:760px;margin:0 auto 26px;padding:6px;border-radius:16px;border:1px solid var(--line);background:#ffffff06}
.terms button{border:0;background:none;color:var(--muted);padding:11px 6px;border-radius:11px;font:inherit;cursor:pointer;display:grid;gap:3px;transition:background .2s,color .2s}
.terms button b{font-size:14.5px;color:inherit}.terms button small{font-size:11.5px;color:var(--faint)}
.terms button[aria-selected=true]{background:linear-gradient(120deg,#8b5cf633,#22d3ee22);color:var(--ink);box-shadow:inset 0 0 0 1px #8b5cf666}
.terms button[aria-selected=true] small{color:#7be0c3}
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:820px;margin:0 auto}
.plan{position:relative;padding:26px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff08,#ffffff03);display:flex;flex-direction:column;gap:10px}
.plan.pop{border-color:#8b5cf68c;box-shadow:0 20px 60px #6d5ef033}
.ribbon{position:absolute;top:-12px;right:20px;padding:5px 12px;border-radius:999px;background:var(--grad);font:700 11px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:#fff}
.plan-for{color:var(--muted);font-size:14.5px;line-height:1.55;margin:0;min-height:46px}
.amt{display:flex;align-items:baseline;gap:8px}.amt b{font:800 48px/1 var(--cond)}.amt span{color:var(--muted)}
.save{display:inline-block;margin-top:8px;padding:7px 11px;border-radius:9px;border:1px solid #2e9d7855;background:#2e9d7814;color:#7be0c3;font-size:13px;font-weight:600}
.plan ul{list-style:none;margin:8px 0 14px;padding:0;display:grid;gap:9px}
.plan li{font-size:14.5px;color:#c9cde4;padding-left:24px;position:relative}
.plan li::before{content:"✓";position:absolute;left:0;color:#3dbb8a;font-weight:800}
.plan .lbtn{margin-top:auto;justify-content:center}
@media (max-width:720px){.terms{grid-template-columns:repeat(2,1fr)}.plans{grid-template-columns:1fr}}

/* premium stands out */
.plans{align-items:stretch;max-width:880px}
.plan.pop{transform:translateY(-12px);border:0;padding:28px;background:linear-gradient(180deg,#1b1740,#10142a);box-shadow:0 30px 90px #6d5ef055,0 0 0 1px #8b5cf6aa;isolation:isolate}
.plan.pop::before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:22px;background:conic-gradient(from var(--ang,0deg),#8b5cf6,#22d3ee,#ec4899,#8b5cf6);animation:spinb 6s linear infinite}
.plan.pop::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:20px;background:linear-gradient(180deg,#1b1740,#10142a)}
@property --ang{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes spinb{to{--ang:360deg}}
.plan.pop .amt b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:56px}
.plan.pop .ribbon{top:-14px;right:22px;padding:7px 14px;font-size:12px;box-shadow:0 8px 24px #6d5ef077;animation:glowpulse 2.4s ease-in-out infinite}
@keyframes glowpulse{50%{box-shadow:0 8px 34px #ec489988}}
.crown{position:absolute;top:18px;right:22px;font-size:26px;animation:crown 3s ease-in-out infinite;filter:drop-shadow(0 4px 10px #fbbf2466)}
@keyframes crown{50%{transform:translateY(-4px) rotate(6deg)}}
.incl{font:700 12px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:#a78bfa;margin-top:2px}
.plan.pop li::before{color:#22d3ee}
.plan.pop .save{border-color:#22d3ee66;background:#22d3ee14;color:#8be9fb}
.plan.pop .lbtn{padding:15px 24px;font-size:17px;box-shadow:0 14px 40px #6d5ef077}
.plan.pop[data-tilt]{will-change:transform}
@media (max-width:720px){.plan.pop{transform:none}}
@media (prefers-reduced-motion:reduce){.plan.pop::before,.plan.pop .ribbon,.crown{animation:none}}
.plan.pop .ribbon{right:auto;left:50%;transform:translateX(-50%);white-space:nowrap}
.crown{top:20px;right:22px}
.plan-note{margin:0 0 6px;font-size:13px;color:var(--muted);line-height:1.5}
