/* =========================================================
   AFENIX — upgraded. Minimal type over a living 3D world.
   ========================================================= */
:root{
  --navy:#03060f; --navy-2:#060c1d;
  --blue:#3da9ff; --blue-bright:#7fd0ff; --gold:#e8b667; --gold-bright:#f6d79b; --silver:#bcd6ff;
  --ink:#cdd8f0; --ink-dim:#6b7ba0;
  --glass:rgba(120,160,230,.05); --glass-brd:rgba(140,180,255,.12);
  --grad:linear-gradient(100deg,var(--blue-bright),var(--silver) 45%,var(--gold-bright));
  --display:'Space Grotesk',-apple-system,sans-serif;
  --body:'Inter',-apple-system,sans-serif;
  --mono:'JetBrains Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:
  radial-gradient(140% 100% at 50% 0%, #0a1430 0%, #050b1c 40%, #02040d 100%),
  radial-gradient(80% 60% at 18% 22%, rgba(61,169,255,.10), transparent 60%),
  radial-gradient(70% 55% at 82% 78%, rgba(232,182,103,.07), transparent 60%),
  var(--navy);
  background-attachment:fixed;color:var(--ink);font-family:var(--body);font-weight:300;line-height:1.6;overflow-x:hidden;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;}
@media(pointer:coarse){body{cursor:auto}}
a{color:inherit;text-decoration:none}
::selection{background:rgba(232,182,103,.3);color:#fff}
canvas{display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 5vw}
.pad{padding:clamp(90px,14vh,150px) 0}

/* fixed 3D background + overlays */
#bg{position:fixed;inset:0;z-index:0}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 28%,transparent 30%,rgba(2,4,12,.55) 78%,rgba(1,2,7,.92) 100%)}
.grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
main,nav,footer{position:relative;z-index:5}

/* custom cursor */
.cur-dot,.cur-ring{display:none}

/* loader */
#loader{position:fixed;inset:0;z-index:9999;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .9s,visibility .9s}
#loader img{width:74px;height:74px;border-radius:18px;animation:pulseL 1.8s ease-in-out infinite}
@keyframes pulseL{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.06);opacity:1}}
.load-word{margin-top:26px;font-family:var(--display);font-weight:500;letter-spacing:.4em;font-size:13px;color:var(--silver);text-indent:.4em}
.load-bar{margin-top:24px;width:170px;height:1px;background:rgba(120,160,230,.15);overflow:hidden;border-radius:2px}
.load-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--gold));animation:fill 2.2s ease forwards}
@keyframes fill{to{width:100%}}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:24px 5vw;transition:padding .4s,background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
nav.scrolled{padding:14px 5vw;background:rgba(6,12,29,.6);backdrop-filter:blur(20px);border-bottom-color:rgba(140,180,255,.08)}
.brand{display:flex;align-items:center;gap:11px}
.brand img{width:30px;height:30px;border-radius:8px}
.brand .nm{font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:-.01em;color:#fff}
.brand .nm b{font-weight:500;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.navlinks{display:flex;gap:34px;margin-left:auto;margin-right:30px}
.navlinks a{position:relative;font-size:14px;color:var(--ink);transition:color .3s}
.navlinks a:hover,.navlinks a.active{color:#fff}
.navlinks a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--grad);transition:width .35s}
.navlinks a:hover::after,.navlinks a.active::after{width:100%}
.nav-cta{font-size:13px;letter-spacing:.02em;padding:9px 19px;border:1px solid var(--glass-brd);border-radius:40px;background:var(--glass);backdrop-filter:blur(10px);color:#fff;transition:.3s}
.nav-cta:hover{border-color:rgba(246,215,155,.4);background:rgba(232,182,103,.07)}
@media(max-width:820px){.navlinks{display:none}}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-size:14px;font-weight:500;letter-spacing:.01em;padding:15px 32px;border-radius:50px;overflow:hidden;will-change:transform;transition:transform .2s,box-shadow .3s}
.btn-primary{color:#04101f;background:var(--grad);box-shadow:0 8px 36px rgba(90,160,255,.28)}
.btn-primary:hover{box-shadow:0 12px 44px rgba(90,160,255,.4)}
.btn-ghost{border:1px solid var(--glass-brd);background:var(--glass);backdrop-filter:blur(10px);color:#fff}
.btn-ghost:hover{border-color:rgba(160,200,255,.4)}

/* hero */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 5vw 90px;position:relative}
.hero-tag{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.34em;color:var(--ink-dim);text-indent:.34em;margin-bottom:34px}
.hero-tag::before,.hero-tag::after{content:'';width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--blue))}
.hero-tag::after{background:linear-gradient(90deg,var(--gold),transparent)}
.hero h1{font-family:var(--display);font-weight:500;font-size:clamp(42px,8vw,104px);line-height:1;letter-spacing:-.045em;color:#fff;margin-bottom:30px}
.hero h1 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero p{max-width:560px;font-size:clamp(15px,1.5vw,19px);color:var(--ink);margin-bottom:42px;line-height:1.55}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.scroll-hint{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:9px;letter-spacing:.4em;color:var(--ink-dim);display:flex;flex-direction:column;align-items:center;gap:10px}
.scroll-hint i{width:1px;height:38px;background:linear-gradient(var(--blue),transparent);animation:sp 2s infinite}
@keyframes sp{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* floating glass chips */
.chip{position:absolute;padding:12px 17px;border-radius:15px;background:var(--glass);border:1px solid var(--glass-brd);backdrop-filter:blur(14px);font-family:var(--mono);font-size:11px;color:var(--silver);box-shadow:0 20px 60px rgba(0,0,0,.4);display:flex;align-items:center;gap:9px;z-index:6}
.chip .d{width:7px;height:7px;border-radius:50%;background:var(--blue-bright);box-shadow:0 0 10px var(--blue)}
.chip.gold .d{background:var(--gold-bright);box-shadow:0 0 10px var(--gold)}
.chip small{color:var(--ink-dim);margin-left:2px}
.chip.c1{top:24%;left:9%}.chip.c2{top:30%;right:8%}.chip.c3{bottom:24%;left:13%}.chip.c4{bottom:25%;right:11%}
@media(max-width:880px){.chip{display:none}}

/* section heads */
.shead{max-width:62ch;margin:0 auto 64px;text-align:center}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.4em;color:var(--gold-bright);text-indent:.4em;margin-bottom:18px}
.shead h2{font-family:var(--display);font-weight:500;font-size:clamp(30px,5vw,60px);line-height:1.04;letter-spacing:-.035em;color:#fff}
.shead h2 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.shead p{margin-top:20px;color:var(--ink);font-size:clamp(14px,1.4vw,17px);line-height:1.6}

/* reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:980px){.cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cards{grid-template-columns:1fr}}
.card{position:relative;border-radius:22px;padding:34px 30px;background:linear-gradient(160deg,rgba(120,160,230,.07),rgba(120,160,230,.02));border:1px solid var(--glass-brd);backdrop-filter:blur(16px);overflow:hidden;transform-style:preserve-3d;transition:transform .15s ease-out,border-color .4s;will-change:transform;min-height:300px;display:flex;flex-direction:column}
.card::before{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(120,180,255,.16),transparent 70%);filter:blur(20px);left:var(--mx,50%);top:var(--my,50%);transform:translate(-50%,-50%);opacity:0;transition:opacity .4s;pointer-events:none}
.card:hover::before{opacity:1}
.card:hover{border-color:rgba(160,200,255,.28)}
.card .ico{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(61,169,255,.18),rgba(232,182,103,.14));border:1px solid var(--glass-brd);margin-bottom:22px;font-size:22px}
.card h3{font-family:var(--display);font-weight:500;font-size:20px;letter-spacing:-.02em;color:#fff;margin-bottom:11px}
.card .meta{font-family:var(--mono);font-size:10px;letter-spacing:.24em;color:var(--gold-bright);margin-bottom:16px}
.card p{font-size:14px;color:var(--ink);line-height:1.65;flex:1}

/* showcase + force graph */
.showcase{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
@media(max-width:900px){.showcase{grid-template-columns:1fr;gap:36px}}
.netbox{position:relative;aspect-ratio:1/.9;border-radius:26px;overflow:hidden;border:1px solid var(--glass-brd);background:linear-gradient(160deg,rgba(10,20,48,.6),rgba(4,8,20,.3));backdrop-filter:blur(8px)}
.netbox canvas{position:absolute;inset:0}
.netbox .lbl{position:absolute;top:18px;left:20px;font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--ink-dim);z-index:3}
.netbox .lbl b{color:var(--blue-bright)}
.netbox .hintg{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.15em;color:var(--ink-dim)}
.show-txt h3{font-family:var(--display);font-weight:500;font-size:clamp(26px,3.4vw,42px);line-height:1.08;letter-spacing:-.025em;color:#fff}
.show-txt p{margin-top:18px;color:var(--ink);line-height:1.65;font-size:15px}
.spec-list{margin-top:28px}
.spec{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;border-bottom:1px solid rgba(140,180,255,.08)}
.spec .k{font-size:14px;font-weight:400}
.spec .v{font-family:var(--mono);font-size:13px;color:var(--gold-bright)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
@media(max-width:780px){.stats{grid-template-columns:1fr 1fr;gap:36px 28px}}
.stat .num{font-family:var(--display);font-weight:600;font-size:clamp(34px,4.6vw,58px);background:linear-gradient(120deg,var(--blue-bright),var(--gold-bright));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.stat .lab{margin-top:11px;font-size:12px;letter-spacing:.03em;color:var(--ink-dim)}

/* vision narrative */
.vision-sec{text-align:center}
.vision{font-family:var(--display);font-weight:600;font-size:clamp(30px,5.6vw,72px);line-height:1.18;letter-spacing:-.025em;max-width:18ch;margin:0 auto}
.vw{display:inline-block;opacity:.12;transition:opacity .5s,color .5s}
.vw.lit{opacity:1;color:#fff}
.vw.vb.lit{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* cta + footer */
.cta-panel{position:relative;border-radius:30px;overflow:hidden;padding:clamp(60px,8vw,90px) 7vw;text-align:center;border:1px solid var(--glass-brd);background:linear-gradient(150deg,rgba(61,169,255,.09),rgba(232,182,103,.06));backdrop-filter:blur(20px)}
.cta-panel::before{content:'';position:absolute;inset:0;background:radial-gradient(60% 120% at 30% 0%,rgba(61,169,255,.2),transparent),radial-gradient(60% 120% at 80% 100%,rgba(232,182,103,.16),transparent);pointer-events:none}
.cta-panel h2{position:relative;font-family:var(--display);font-weight:500;font-size:clamp(32px,6vw,68px);line-height:1.02;letter-spacing:-.035em;color:#fff;margin-bottom:20px}
.cta-panel h2 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cta-panel p{position:relative;color:var(--ink);font-size:17px;margin-bottom:34px}
.cta-panel .actions{position:relative;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
footer{border-top:1px solid rgba(140,180,255,.08);padding:60px 0 30px;background:rgba(4,8,20,.5);backdrop-filter:blur(14px)}
.foot-grid{display:grid;grid-template-columns:1.4fr 2fr;gap:52px;padding-bottom:42px;border-bottom:1px solid rgba(140,180,255,.07)}
@media(max-width:840px){.foot-grid{grid-template-columns:1fr;gap:36px}}
.foot-brand .brand{margin-bottom:16px}
.foot-brand p{font-size:13.5px;color:var(--ink-dim);line-height:1.6}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.foot-col{display:flex;flex-direction:column;gap:11px}
.foot-head{font-family:var(--display);font-weight:500;font-size:13px;color:#fff;margin-bottom:5px}
.foot-col a{font-size:13.5px;color:var(--ink-dim);transition:color .25s}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:28px;font-family:var(--mono);font-size:11px;color:var(--ink-dim);flex-wrap:wrap;gap:12px}
.foot-bottom .pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4ad07a;box-shadow:0 0 10px #4ad07a;margin-right:8px;animation:beat 2s infinite;vertical-align:middle}
@keyframes beat{0%,100%{opacity:1}50%{opacity:.3}}

/* sub-page head */
.phead{min-height:62vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:150px 5vw 70px}
.phead h1{font-family:var(--display);font-weight:500;font-size:clamp(40px,7vw,86px);line-height:1.02;letter-spacing:-.04em;color:#fff;margin-bottom:22px}
.phead h1 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.phead p{max-width:600px;color:var(--ink);font-size:clamp(15px,1.5vw,19px);line-height:1.55}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:980px){.plans{grid-template-columns:1fr}}
.plan{position:relative;border-radius:24px;padding:38px 30px;background:linear-gradient(160deg,rgba(120,160,230,.07),rgba(120,160,230,.02));border:1px solid var(--glass-brd);backdrop-filter:blur(16px);display:flex;flex-direction:column;transition:transform .15s,border-color .4s;will-change:transform}
.plan.pop{border-color:rgba(246,215,155,.35);background:linear-gradient(160deg,rgba(232,182,103,.1),rgba(61,169,255,.05))}
.plan-badge{position:absolute;top:22px;right:24px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;padding:5px 12px;border-radius:40px;background:var(--grad);color:#04101f}
.plan .nm{font-family:var(--display);font-weight:500;font-size:20px;color:#fff;margin-bottom:8px}
.plan .tg{font-size:13.5px;color:var(--ink-dim);margin-bottom:24px;min-height:38px}
.plan .pr{font-family:var(--display);font-weight:600;font-size:46px;color:#fff;line-height:1;letter-spacing:-.03em}
.plan .pr small{font-size:17px;color:var(--ink-dim);font-weight:400}
.plan .per{font-size:12px;color:var(--ink-dim);margin:6px 0 28px;font-family:var(--mono);letter-spacing:.05em}
.plan ul{list-style:none;flex:1;margin-bottom:28px}
.plan li{display:flex;gap:11px;padding:11px 0;font-size:14px;color:var(--ink);border-bottom:1px solid rgba(140,180,255,.07)}
.plan li::before{content:'';width:15px;height:15px;flex-shrink:0;margin-top:3px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237fd0ff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center/contain}
.plan .btn{width:100%;justify-content:center}

/* compare */
.ctable{border:1px solid var(--glass-brd);border-radius:18px;overflow:hidden;background:rgba(10,20,48,.3);backdrop-filter:blur(10px)}
.crow{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;border-bottom:1px solid rgba(140,180,255,.07)}
.crow:last-child{border:none}
.crow>div{padding:16px 18px;font-size:13.5px;border-right:1px solid rgba(140,180,255,.07);color:var(--ink)}
.crow>div:last-child{border:none}
.crow.h>div{font-family:var(--display);font-weight:500;font-size:13px;color:#fff;background:rgba(120,160,230,.06)}
.cyes{color:var(--blue-bright)!important;font-weight:500}
@media(max-width:640px){.compwrap{overflow-x:auto}.ctable{min-width:520px}}

/* faq */
.faq{max-width:820px;margin:0 auto}
.faq-item{border-top:1px solid rgba(140,180,255,.1);padding:22px 0}
.faq-item:last-child{border-bottom:1px solid rgba(140,180,255,.1)}
.faq-item summary{list-style:none;font-family:var(--display);font-weight:500;font-size:19px;letter-spacing:-.02em;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-weight:300;font-size:26px;color:var(--ink-dim);transition:transform .3s}
.faq-item[open] summary::after{transform:rotate(45deg);color:var(--blue-bright)}
.faq-item .a{margin-top:14px;font-size:14.5px;color:var(--ink);line-height:1.65}

/* about */
.about-lead{font-family:var(--display);font-weight:400;font-size:clamp(22px,3vw,34px);line-height:1.3;letter-spacing:-.02em;max-width:880px;margin:0 auto 70px;text-align:center;color:#fff}
.about-lead em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.arow{display:grid;grid-template-columns:200px 1fr;gap:40px;max-width:920px;margin:0 auto;padding:36px 0;border-top:1px solid rgba(140,180,255,.1)}
.arow:last-of-type{border-bottom:1px solid rgba(140,180,255,.1)}
@media(max-width:820px){.arow{grid-template-columns:1fr;gap:12px}}
.alabel{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright)}
.abody{font-size:16px;line-height:1.65;color:var(--ink)}
.abody p{margin-bottom:14px}.abody p:last-child{margin:0}
.abody strong{color:#fff;font-weight:500}.abody a{color:var(--blue-bright)}
.founder{max-width:760px;margin:80px auto 0;padding:54px 46px;text-align:center;border-radius:28px;border:1px solid var(--glass-brd);background:linear-gradient(150deg,rgba(61,169,255,.08),rgba(232,182,103,.05));backdrop-filter:blur(18px)}
.founder img{width:80px;height:80px;border-radius:20px;margin:0 auto 20px;display:block}
.founder .fn{font-family:var(--display);font-weight:500;font-size:25px;color:#fff;margin-bottom:5px}
.founder .fr{font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:20px}
.founder .fq{font-size:16px;color:var(--ink);line-height:1.6;max-width:540px;margin:0 auto}

/* contact */
.cform{max-width:680px;margin:0 auto;padding:46px;border-radius:28px;border:1px solid var(--glass-brd);background:linear-gradient(160deg,rgba(120,160,230,.07),rgba(120,160,230,.02));backdrop-filter:blur(16px)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.fgrid{grid-template-columns:1fr}}
.frow{margin-bottom:20px}
.frow label{display:block;font-family:var(--display);font-size:13px;font-weight:500;color:var(--ink);margin-bottom:9px}
.frow input,.frow select,.frow textarea{width:100%;font-family:var(--body);font-size:15px;padding:13px 15px;border:1px solid var(--glass-brd);border-radius:12px;background:rgba(4,8,20,.5);color:#fff;}
.frow input::placeholder,.frow textarea::placeholder{color:var(--ink-dim)}
.frow input:focus,.frow select:focus,.frow textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(61,169,255,.12)}
.frow textarea{min-height:130px;resize:vertical}
.cform .btn{width:100%;justify-content:center;margin-top:4px}
.cmeta{max-width:680px;margin:30px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:600px){.cmeta{grid-template-columns:1fr}}
.cmeta-item{padding:22px;border:1px solid var(--glass-brd);border-radius:16px;text-align:center;background:var(--glass);backdrop-filter:blur(10px)}
.cmeta-l{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:6px}
.cmeta-v{font-size:14px;color:#fff}

@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.vw{opacity:1;color:#fff}}
