/* ============================================================
   Nova Wallet — site design system (dark navy / blue-cyan)
   ============================================================ */
@font-face{font-family:Inter;src:url(assets/fonts/Inter-Regular.woff) format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(assets/fonts/Inter-Medium.woff) format('woff');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url(assets/fonts/Inter-SemiBold.woff) format('woff');font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url(assets/fonts/Inter-Bold.woff) format('woff');font-weight:700;font-display:swap}
:root{
 --bg:#04091a;--bg2:#071228;--card:#0a1830;--card2:#0d1e3d;
 --line:rgba(148,178,255,.14);--line2:rgba(148,178,255,.24);
 --text:#e9f0ff;--mut:#8ea3cc;--dim:#5f77a8;
 --acc:#2f6bff;--acc2:#38bdf8;--vio:#7c8cff;--grn:#35d08a;--amber:#ffc94d;
 --grad:linear-gradient(135deg,#2f6bff,#38bdf8);
 --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html{overflow-x:clip;scrollbar-gutter:stable}
body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.5;
 background-image:radial-gradient(1100px 700px at 72% -12%,rgba(47,107,255,.05),transparent 62%),radial-gradient(900px 640px at 8% 108%,rgba(56,189,248,.04),transparent 60%);background-attachment:fixed}
::selection{background:rgba(47,107,255,.38);color:#fff}
a:focus-visible{outline:2px solid rgba(56,189,248,.55);outline-offset:2px;border-radius:6px}
button:focus-visible{outline:2px solid rgba(56,189,248,.55);outline-offset:2px;border-radius:8px}
html{scrollbar-width:thin;scrollbar-color:rgba(120,165,255,.32) transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(120,165,255,.26);border-radius:6px;border:2px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:rgba(120,165,255,.45)}
img{max-width:100%}
a{color:inherit;text-decoration:none}
.container{max-width:1140px;margin:0 auto;padding:0 24px}
section{padding:96px 0;position:relative}
.muted{color:var(--mut)}
.accent{background:linear-gradient(92deg,#8fc3ff,#38bdf8 45%,#2f6bff);-webkit-background-clip:text;background-clip:text;color:transparent}
/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;backdrop-filter:blur(14px);background:rgba(4,9,26,.72);border-bottom:1px solid var(--line)}
.nav .container{display:flex;align-items:center;gap:34px;height:66px}
.nav .container>*{flex-shrink:0}
.nav .sp{flex:1 1 auto;min-width:0}
.logo{flex-shrink:0}
.nav .btn{white-space:nowrap}
@media (min-width:941px) and (max-width:1080px){
  .nav .container{gap:20px}
  .nav .container{height:62px}
  .nav a.nl{font-size:13px}
  .nav .btn{padding:9px 16px;font-size:13px}
  .logo{font-size:16px}
  .logo img{width:26px;height:26px}
}
@media (min-width:1081px) and (max-width:1180px){
  .nav .container{gap:26px}
  .nav a.nl{font-size:13.5px}
}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:-.3px}
.logo img{width:30px;height:30px}
.nav a.nl{font-size:14px;font-weight:500;color:var(--mut);transition:.15s}
.nav a.nl:hover{color:#fff}
.nav .sp{flex:1}
/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;border-radius:13px;font-size:14.5px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;border:0;transition:.18s;position:relative;overflow:hidden}
.btn:active{transform:translateY(0) scale(.98)}
.btn.pri{background:var(--grad);color:#fff;box-shadow:0 10px 30px rgba(47,107,255,.35),inset 0 1px 0 rgba(255,255,255,.2)}
.btn.pri:hover{filter:brightness(1.1);transform:translateY(-2px)}
.btn.pri::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-18deg);transition:left .55s}
.btn.pri:hover::after{left:130%}
.btn.gho{background:rgba(255,255,255,.05);border:1px solid var(--line2);color:#dfeaff}
.btn.gho:hover{background:rgba(255,255,255,.09);border-color:rgba(148,178,255,.4);box-shadow:0 0 24px -6px rgba(56,140,255,.25)}
.btn.pri:focus-visible,.btn.gho:focus-visible{outline:2px solid rgba(56,189,248,.6);outline-offset:2px}
/* ---------- hero ---------- */
.hero{min-height:92vh;display:flex;align-items:center;text-align:center;padding:150px 0 80px}
.hero h1{font-size:clamp(38px,5.4vw,64px);font-weight:800;letter-spacing:-2px;line-height:1.08}
.hero .lead{font-size:17.5px;color:var(--mut);max-width:620px;margin:22px auto 0;line-height:1.7}
.hero .cta{display:flex;gap:14px;justify-content:center;margin-top:36px;flex-wrap:wrap}
/* orbs / sparkles */
.orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}
.sparks{position:absolute;inset:0;pointer-events:none}
.spark{position:absolute;border-radius:50%;background:#8fc3ff;box-shadow:0 0 12px 3px rgba(127,176,255,.6);animation:floaty 7s ease-in-out infinite}
.trust{margin-top:22px;font-size:12.5px;color:var(--dim);letter-spacing:.2px}
.hero .logo{display:block;margin:0 auto 26px;filter:drop-shadow(0 12px 32px rgba(56,140,255,.45));animation:floaty 6s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes dr1{to{transform:translate(90px,60px) scale(1.15)}}
@keyframes dr2{to{transform:translate(-80px,-70px) scale(1.1)}}
@keyframes dr3{to{transform:translate(60px,-50px) scale(1.2)}}
@keyframes orbsp{to{transform:rotate(360deg)}}
/* starfield */
.stars{position:absolute;inset:0;pointer-events:none;animation:tw 8s ease-in-out infinite alternate;
 background-image:radial-gradient(1.4px 1.4px at 7% 14%,rgba(233,240,255,.8),transparent 70%),radial-gradient(1px 1px at 18% 63%,rgba(233,240,255,.5),transparent 70%),radial-gradient(1.2px 1.2px at 27% 31%,rgba(56,189,248,.7),transparent 70%),radial-gradient(1px 1px at 36% 82%,rgba(233,240,255,.45),transparent 70%),radial-gradient(1.3px 1.3px at 44% 9%,rgba(233,240,255,.75),transparent 70%),radial-gradient(1px 1px at 52% 47%,rgba(233,240,255,.4),transparent 70%),radial-gradient(1.2px 1.2px at 61% 22%,rgba(56,189,248,.55),transparent 70%),radial-gradient(1px 1px at 69% 68%,rgba(233,240,255,.5),transparent 70%),radial-gradient(1.4px 1.4px at 78% 12%,rgba(233,240,255,.8),transparent 70%),radial-gradient(1px 1px at 85% 55%,rgba(233,240,255,.45),transparent 70%),radial-gradient(1.1px 1.1px at 93% 88%,rgba(56,189,248,.6),transparent 70%),radial-gradient(1px 1px at 12% 90%,rgba(233,240,255,.4),transparent 70%),radial-gradient(1.2px 1.2px at 97% 35%,rgba(233,240,255,.55),transparent 70%);background-repeat:no-repeat}
@keyframes tw{from{opacity:.45}to{opacity:1}}
/* ---------- type / sections ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#7fb0ff;background:rgba(56,140,255,.08);border:1px solid rgba(96,150,255,.25);border-radius:999px;padding:7px 15px}
.eyebrow svg{width:13px;height:13px}
h2{font-size:clamp(28px,3.4vw,42px);font-weight:800;letter-spacing:-1.2px;line-height:1.15;margin-top:18px}
.sect-lead{color:var(--mut);font-size:16px;max-width:640px;margin-top:14px;line-height:1.7}
.center{text-align:center}.center .sect-lead{margin-left:auto;margin-right:auto}
/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.card{background:linear-gradient(165deg,var(--card),#081327);border:1px solid var(--line);border-radius:var(--r);padding:28px 26px;transition:.2s;position:relative;overflow:hidden}
.card::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.55;box-shadow:inset 0 1px 0 rgba(255,255,255,.045);transition:opacity .2s}
.card:hover{transform:translateY(-4px);border-color:var(--line2);box-shadow:0 20px 50px rgba(2,8,25,.6)}
.card:hover::after{opacity:.8;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 0 46px -18px rgba(56,140,255,.14)}
.card .ic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;background:linear-gradient(135deg,rgba(47,107,255,.22),rgba(56,189,248,.1));border:1px solid rgba(96,150,255,.28);color:#8db8ff}
.card .ic svg{width:22px;height:22px}
.card h3{font-size:17px;font-weight:700;letter-spacing:-.2px;margin-bottom:8px}
.card p{font-size:13.5px;color:var(--mut);line-height:1.65}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.stat{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:16px;padding:24px 20px;text-align:center}
.stat b{display:block;font-size:30px;font-weight:800;letter-spacing:-1px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-size:12px;color:var(--dim);font-weight:500;display:block;margin-top:5px}
/* marquee */
.marq{overflow:hidden;margin-top:44px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mrow{display:flex;gap:14px;width:max-content;animation:mq 40s linear infinite}
.mrow.rev{animation-direction:reverse;animation-duration:46s;margin-top:14px}
.marq:hover .mrow{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.mic{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 18px;font-size:13.5px;font-weight:600;color:#c7d6f5;white-space:nowrap}
.mic img{width:26px;height:26px;border-radius:7px;object-fit:cover}
/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.stepx{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;position:relative}
.stepx i{display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--grad);color:#fff;font-size:14px;font-weight:800;align-items:center;justify-content:center;font-style:normal;box-shadow:0 6px 18px rgba(47,107,255,.4);margin-bottom:16px}
.stepx h3{font-size:16.5px;margin-bottom:7px}
.stepx p{font-size:13.5px;color:var(--mut);line-height:1.65}
/* faq */
.faq{max-width:760px;margin:44px auto 0}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:15px;margin-bottom:11px;overflow:hidden}
.faq summary{padding:19px 22px;cursor:pointer;font-size:15px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;transition:.15s}
.faq summary:hover{color:#7fb0ff}
.faq summary::after{content:'+';font-size:20px;font-weight:400;color:var(--dim);transition:.2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .fa-b{padding:0 22px 20px;font-size:14px;color:var(--mut);line-height:1.7}
/* legal page */
.legal{max-width:760px;margin:0 auto}
.legal h3{font-size:17px;margin:30px 0 10px}
.legal p,.legal li{font-size:14px;color:var(--mut);line-height:1.75;margin-bottom:10px}
.legal ul{padding-left:20px}
.legal li{position:relative;padding-left:16px;list-style:none}
.legal li::before{content:'';position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:2px;background:linear-gradient(135deg,#2f6bff,#38bdf8);opacity:.7}
/* footer */
.foot{border-top:1px solid var(--line);padding:56px 0 40px;margin-top:40px}
.foot .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
.foot h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--dim);margin-bottom:15px}
.foot a{display:block;font-size:13.5px;color:var(--mut);margin-bottom:9px;transition:.15s}
.foot a:hover{color:#fff}
.foot .bot{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12.5px;color:var(--dim);flex-wrap:wrap;gap:10px}
/* reveal on scroll */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.mrow,.orb,.spark,.stars{animation:none!important}}
/* heading micro-glow (fintech feel) */
h1,h2{text-shadow:0 0 44px rgba(56,140,255,.10)}
h3{letter-spacing:-.15px}
/* stat tiles top-light */
.stat{position:relative;overflow:hidden}
.stat::before{content:'';position:absolute;inset:0;border-radius:16px;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.stat:hover{border-color:rgba(148,178,255,.32);box-shadow:0 14px 34px -10px rgba(2,8,25,.55)}
/* mobile */
@media (max-width:940px){ .nav a.nl{display:none} }
@media (max-width:860px){
 section{padding:64px 0}
 .cards{grid-template-columns:1fr}
 .stats{grid-template-columns:repeat(2,1fr)}
 .steps{grid-template-columns:1fr}
 .foot .cols{grid-template-columns:1fr 1fr}
 .nav .container{gap:18px}
 .hero{padding-top:120px}
}

/* ---------- fx integration fixes ---------- */
.hero .afx-rings{display:flex;margin:0 auto 8px}
.hero .afx-rings .logo{margin:0}
/* eyebrow compat pill: overlapping wallet icons */
.eyc{gap:9px}
.eyi{display:inline-flex;align-items:center}
.eyi img{border-radius:5px;border:1px solid rgba(148,178,255,.25);background:#0b1730;display:block}
.eyi img+img{margin-left:-6px}
.eyi img:nth-child(odd){transform:translateY(-1px)}
.bfx-hub{margin:34px auto 0}
.hero h1{position:relative;z-index:2}
.hero .container{position:relative;z-index:2}

/* ---------- connect modal ---------- */
.nconn{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .28s ease}
.nconn.on{opacity:1;pointer-events:auto}
.nconn-veil{position:absolute;inset:0;background:rgba(3,7,17,.66);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nconn-shell{position:relative;width:min(430px,96vw);border-radius:20px;overflow:hidden;
 background:#060d1f;border:1px solid rgba(148,178,255,.22);
 box-shadow:0 40px 110px rgba(2,6,20,.8),0 0 70px rgba(47,107,255,.14);
 transform:translateY(26px) scale(.96);opacity:0;
 transition:transform .42s cubic-bezier(.2,.85,.3,1.08),opacity .3s ease}
.nconn.on .nconn-shell{transform:none;opacity:1}
.nconn-bar{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;
 background:rgba(148,178,255,.05);border-bottom:1px solid rgba(148,178,255,.12)}
.nconn-brand{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700}
.nconn-brand img{width:20px;height:20px}
.nconn-tag{margin-left:auto;font-size:10.5px;color:var(--dim);letter-spacing:.02em}
.nconn-x{flex:none;width:28px;height:28px;border-radius:9px;border:1px solid rgba(148,178,255,.18);
 background:rgba(148,178,255,.06);color:#c7d6f5;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.nconn-x:hover{background:rgba(148,178,255,.14);color:#fff}
.nconn-x svg{width:13px;height:13px}
.nconn-body{position:relative;height:min(600px,72vh)}
.nconn-body iframe{width:100%;height:100%;border:0;display:block;opacity:0;transition:opacity .35s ease .1s}
.nconn-body.on iframe{opacity:1}
.nconn-load{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;font-size:12.5px;color:var(--dim)}
.nconn-body.on .nconn-load{display:none}
.nconn-load i{width:22px;height:22px;border-radius:50%;border:2px solid rgba(148,178,255,.2);border-top-color:#38bdf8;animation:nspin .8s linear infinite}
@keyframes nspin{to{transform:rotate(360deg)}}
/* modal trust badges + conic border beam */
@property --nca{syntax:'<angle>';initial-value:0deg;inherits:false}
.nconn-shell::before{content:"";position:absolute;inset:-1px;border-radius:21px;padding:1px;pointer-events:none;
 background:conic-gradient(from var(--nca),transparent 0%,rgba(56,189,248,.6) 12%,transparent 26%,transparent 58%,rgba(124,140,255,.45) 72%,transparent 86%);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
 animation:ncbeam 7.5s linear infinite}
@keyframes ncbeam{to{--nca:360deg}}
.nconn-badges{display:flex;align-items:center;gap:6px;padding:9px 12px;border-top:1px solid rgba(148,178,255,.12);background:rgba(148,178,255,.04)}
.nb{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;color:#a9bde8;letter-spacing:.02em;padding:4px 9px;border-radius:999px;border:1px solid rgba(148,178,255,.16);background:rgba(148,178,255,.05);white-space:nowrap}
.nb svg{width:10px;height:10px;color:#7fb0ff;flex:none}
.nb-r{margin-left:auto;color:var(--dim);border-color:transparent;background:none;padding-right:2px}
.nb-dot{width:6px;height:6px;border-radius:50%;background:var(--grn);box-shadow:0 0 8px rgba(53,208,138,.7);animation:nbpulse 2.4s ease-in-out infinite}
@keyframes nbpulse{0%,100%{opacity:.5}50%{opacity:1}}
@media (max-width:560px){.nconn-shell{width:96vw}.nconn-body{height:72vh}.nconn-tag{display:none}.nb-r{display:none}.nb{font-size:9.5px;padding:4px 7px}}

/* ---------- ticker polish ---------- */
.afx-tick{cursor:default;transition:background .2s ease}
.afx-tick:hover{background:rgba(148,178,255,.05)}
.afx-hash{font-variant-numeric:tabular-nums}
.afx-amt{letter-spacing:-.2px}

/* ---------- mic chip deepen ---------- */
.mic{transition:transform .18s ease,border-color .18s ease,box-shadow .25s ease}
.mic:hover{transform:translateY(-3px);border-color:rgba(120,170,255,.45);box-shadow:0 8px 22px rgba(2,8,25,.5),0 0 18px rgba(56,140,255,.12)}
/* ---------- chain chips (airdrops rail) ---------- */
.chc{gap:12px;padding:9px 16px 9px 11px;--cc:#7fb0ff}
.chc>img{width:30px;height:30px;border-radius:9px}
.chc-t{display:flex;flex-direction:column;gap:1px;line-height:1.25}
.chc-t>b{font-size:13.5px;font-weight:650;letter-spacing:-.1px}
.chc-t>i{font-style:normal;display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700;letter-spacing:.07em;color:var(--dim);text-transform:uppercase}
.chc-d{width:5px;height:5px;border-radius:50%;background:var(--grn);box-shadow:0 0 6px rgba(53,208,138,.8);animation:nbpulse 2.2s ease-in-out infinite;flex:none}
.chc-x{font-size:11px;font-weight:800;letter-spacing:.02em;color:var(--cc);
 background:color-mix(in srgb,var(--cc) 15%,transparent);
 border:1px solid color-mix(in srgb,var(--cc) 38%,transparent);
 padding:3.5px 8px;border-radius:999px;white-space:nowrap}
.chc:hover{border-color:color-mix(in srgb,var(--cc) 55%,transparent);
 box-shadow:0 10px 24px rgba(2,8,25,.55),0 0 22px color-mix(in srgb,var(--cc) 22%,transparent)}

/* ---------- section anchor offset ---------- */
section[id]{scroll-margin-top:70px}

/* ---------- smoothness: skip offscreen layout/paint, keep layout stable ---------- */
body>section:not(.hero),.foot{content-visibility:auto;contain-intrinsic-size:auto 760px}
section[id]{scroll-margin-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- dx-pool in .stat card fixes ---------- */
.stat .dx-pool{display:flex;flex-wrap:nowrap;white-space:nowrap;align-items:baseline;justify-content:center}
.stat .dx-pool .dx-pool-d{display:inline-block}
@media (max-width:560px){.stat b.dx-pool{font-size:20px;letter-spacing:-.5px}}
