/* ── SHARED GLOBAL STYLES — loaded by all pages ── */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --purple:#8b5cf6;
  --purple-light:#c4b5fd;
  --purple-dark:#6d28d9;
  --cyan:#22d3ee;
  --gold:#fbbf24;
  --bg:#0b0916;
  --text:#e2e8f0;
  --muted:rgba(255,255,255,0.38);
  --border:rgba(139,92,246,0.18);
}

html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;}

/* shared background layers (subtle dot grid + radial blobs) */
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 70% 60% at 10% 20%,rgba(80,30,120,0.38) 0%,transparent 65%),radial-gradient(ellipse 60% 50% at 90% 80%,rgba(20,80,120,0.25) 0%,transparent 60%);z-index:0;pointer-events:none;}
body::after{content:'';position:fixed;inset:0;background-image:radial-gradient(rgba(255,255,255,0.035) 1px,transparent 1px);background-size:28px 28px;z-index:0;pointer-events:none;}

/* ── NAV ── */
.nav{position:sticky;top:0;z-index:100;height:64px;overflow:hidden;background:rgba(11,9,22,0.92);border-bottom:1px solid rgba(139,92,246,0.15);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 1px 0 rgba(139,92,246,0.08),0 4px 24px rgba(0,0,0,0.35);}
.nav::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(139,92,246,0.6) 30%,rgba(34,211,238,0.5) 70%,transparent 100%);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;height:64px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{font-family:'Orbitron',sans-serif;font-size:1.1rem;font-weight:900;letter-spacing:0.12em;text-decoration:none;background:linear-gradient(135deg,#c4b5fd,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.nav-links{display:flex;align-items:center;gap:0.15rem;}
.nav-links a{font-family:'Rajdhani',sans-serif;font-size:0.85rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.45);text-decoration:none;padding:0.4rem 0.9rem;border-radius:8px;transition:color .2s,background .2s;}
.nav-links a:hover{color:#e2e8f0;background:rgba(255,255,255,0.06);}
.nav-links a.active{color:#c4b5fd;}
.nav-discord{font-family:'Rajdhani',sans-serif;font-size:0.82rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;background:rgba(139,92,246,0.14);border:1px solid rgba(139,92,246,0.35);color:#c4b5fd;text-decoration:none;padding:0.42rem 1.1rem;border-radius:9px;transition:all .2s;margin-left:0.5rem;}
.nav-discord:hover{background:rgba(139,92,246,0.26);box-shadow:0 0 18px rgba(139,92,246,0.3);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:rgba(255,255,255,0.55);border-radius:2px;}
.mobile-menu{display:none;position:absolute;top:64px;left:0;right:0;background:rgba(11,9,22,0.97);border-bottom:1px solid rgba(139,92,246,0.12);padding:1rem;flex-direction:column;gap:0.4rem;z-index:99;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-family:'Rajdhani',sans-serif;font-size:1rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.55);text-decoration:none;padding:0.75rem 1rem;border-radius:10px;}
.mobile-menu a:hover,.mobile-menu a.active{color:#c4b5fd;background:rgba(139,92,246,0.1);}
@media(max-width:680px){.nav-links{display:none;}.hamburger{display:flex;}}

/* ── FOOTER ── */
footer{border-top:1px solid rgba(255,255,255,0.06);padding:2.5rem 2rem;text-align:center;position:relative;z-index:1;}
.footer-inner{max-width:700px;margin:0 auto;}
.footer-logo{font-family:'Orbitron',sans-serif;font-size:1rem;font-weight:900;letter-spacing:0.15em;background:linear-gradient(135deg,#c4b5fd,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.2rem;}
.footer-links{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem;}
.footer-links a{font-family:'Rajdhani',sans-serif;font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.3);text-decoration:none;transition:color .2s;}
.footer-links a:hover{color:rgba(255,255,255,0.65);}
.footer-copy{font-size:0.7rem;color:rgba(255,255,255,0.18);}

/* ── PARTICLES CANVAS ── */
#particles-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;}

/* ── SCAN LINE ── */
.scan-line{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(139,92,246,0.35),rgba(34,211,238,0.25),transparent);z-index:0;pointer-events:none;animation:scanDown 10s linear infinite;opacity:0.35;}
@keyframes scanDown{0%{top:-2px;opacity:0;}5%{opacity:0.35;}95%{opacity:0.35;}100%{top:100vh;opacity:0;}}

/* ── SHARED ANIMATIONS ── */
@keyframes drift{0%{transform:translate(0,0) scale(1);}100%{transform:translate(28px,18px) scale(1.06);}}
@keyframes pdot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.45;transform:scale(0.75);}}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(12px,-18px) scale(1.04);}66%{transform:translate(-8px,8px) scale(0.97);}}
@keyframes spin{to{transform:rotate(360deg);}}

/* ── FORM MESSAGE ── */
.form-msg{margin-top:0.75rem;padding:0.8rem 1rem;border-radius:10px;font-family:'Rajdhani',sans-serif;font-size:0.85rem;font-weight:600;display:none;line-height:1.5;}
.form-msg.success{background:rgba(52,211,153,0.08);border:1px solid rgba(52,211,153,0.25);color:#34d399;}
.form-msg.error{background:rgba(248,113,113,0.08);border:1px solid rgba(248,113,113,0.25);color:#f87171;}

/* ── VISUAL POLISH (site-wide) ── */

/* custom scrollbar */
html{scrollbar-width:thin;scrollbar-color:#6d28d9 #0b0916;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:#0b0916;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7c3aed,#4c1d95);border-radius:99px;border:2px solid #0b0916;}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#8b5cf6,#6d28d9);}

/* text selection */
::selection{background:rgba(124,58,237,0.5);color:#fff;}

/* keyboard focus */
:focus-visible{outline:2px solid rgba(34,211,238,0.75);outline-offset:2px;border-radius:4px;}

/* nav logo glow on hover */
.nav-logo{transition:filter .3s ease;}
.nav-logo:hover{filter:drop-shadow(0 0 10px rgba(139,92,246,0.65));}

/* animated gradient underline on nav links */
.nav-links a{position:relative;}
.nav-links a::after{content:'';position:absolute;left:0.9rem;right:0.9rem;bottom:1px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--purple),var(--cyan));opacity:0;transform:scaleX(0.35);transform-origin:center;transition:opacity .25s ease,transform .3s cubic-bezier(.34,1.4,.64,1);}
.nav-links a:hover::after,.nav-links a.active::after{opacity:1;transform:scaleX(1);}
.nav-discord::after{display:none;}

/* shine sweep across primary buttons */
.btn-primary{position:relative;overflow:hidden;}
.btn-primary::after{content:'';position:absolute;top:0;left:-90%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,0.28),transparent);transform:skewX(-20deg);transition:left .55s ease;pointer-events:none;}
.btn-primary:hover::after{left:140%;}

/* footer gradient seam */
footer::before{content:'';position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:min(520px,80%);height:1px;background:linear-gradient(90deg,transparent,rgba(139,92,246,0.55),rgba(34,211,238,0.45),transparent);}

/* honor reduced-motion everywhere */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}
  html{scroll-behavior:auto;}
  .reveal{opacity:1 !important;transform:none !important;}
}

/* ── SCROLL REVEAL SYSTEM ── */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.12s;}
.reveal-delay-2{transition-delay:.24s;}
.reveal-delay-3{transition-delay:.36s;}

/* staggered children inside grids */
.reveal-stagger > *:nth-child(1){transition-delay:0s;}
.reveal-stagger > *:nth-child(2){transition-delay:.1s;}
.reveal-stagger > *:nth-child(3){transition-delay:.2s;}
.reveal-stagger > *:nth-child(4){transition-delay:.28s;}
.reveal-stagger > *:nth-child(5){transition-delay:.36s;}
.reveal-stagger > *:nth-child(6){transition-delay:.44s;}

/* ── FLOATING GLOW (cursor-following light on interactive cards) ── */
.glow-card{position:relative;overflow:hidden;}
.glow-card::after{content:'';position:absolute;width:280px;height:280px;background:radial-gradient(circle,rgba(139,92,246,0.12) 0%,transparent 70%);border-radius:50%;pointer-events:none;opacity:0;transition:opacity .4s ease;transform:translate(-50%,-50%);left:var(--glow-x,50%);top:var(--glow-y,50%);}
.glow-card:hover::after{opacity:1;}

/* ── BREATHING BORDER GLOW on CTA ── */
.cta-banner{animation:ctaGlow 5.5s ease-in-out infinite,ctaBorderPulse 3s ease-in-out infinite alternate;}
@keyframes ctaBorderPulse{0%{border-color:rgba(124,58,237,.2);}100%{border-color:rgba(34,211,238,.3);}}

/* ── TILT EFFECT for cards on hover ── */
.tilt-card{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;}

/* ── GRADIENT TEXT SHIMMER (section titles subtle animation) ── */
.section-title{background:linear-gradient(90deg,#fff 0%,#fff 40%,rgba(196,181,253,.85) 50%,#fff 60%,#fff 100%);background-size:250% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:titleGlimmer 6s ease-in-out infinite;}
@keyframes titleGlimmer{0%,100%{background-position:100% 50%;}50%{background-position:0% 50%;}}

/* ── STAT NUMBER GLOW PULSE ── */
.stat-num{transition:text-shadow .3s ease;}
.stat-card:hover .stat-num.purple{text-shadow:0 0 24px rgba(196,181,253,.4);}
.stat-card:hover .stat-num.cyan{text-shadow:0 0 24px rgba(34,211,238,.4);}
.stat-card:hover .stat-num.gold{text-shadow:0 0 24px rgba(251,191,36,.4);}

/* ── HOVER LINE SWEEP on feature cards ── */
.feat::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--purple),var(--cyan),transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.feat:hover::after{transform:scaleX(1);}

/* ── STEP CONNECTOR PULSE ── */
.steps::before{animation:connectorPulse 3s ease-in-out infinite alternate;}
@keyframes connectorPulse{0%{opacity:.2;}100%{opacity:.55;}}

/* ── BLOG CARD CORNER ACCENT ── */
.blog-card::after{content:'';position:absolute;bottom:0;right:0;width:60px;height:60px;background:radial-gradient(circle at 100% 100%,rgba(124,58,237,.08),transparent 70%);opacity:0;transition:opacity .4s;}
.blog-card:hover::after{opacity:1;}

/* ── GUARANTEE CARD GLOW ── */
.guarantee-card::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(52,211,153,.35),transparent);opacity:0;transition:opacity .3s;}
.guarantee-card:hover::after{opacity:1;}

/* ── SMOOTH ENTRANCE for nav on load ── */
.nav{animation:navSlideDown .5s cubic-bezier(.16,1,.3,1) both;}
@keyframes navSlideDown{from{opacity:0;transform:translateY(-100%);}to{opacity:1;transform:translateY(0);}}

/* ── FOOTER LINK hover glow ── */
.footer-links a{transition:color .2s,text-shadow .3s;}
.footer-links a:hover{color:rgba(255,255,255,.65);text-shadow:0 0 12px rgba(139,92,246,.3);}
