
/* ULTRA PRO PLUS THEME OVERRIDES */
:root{
  --bg0:#05060a;
  --bg1:#070a12;
  --card:rgba(255,255,255,.06);
  --card2:rgba(255,255,255,.09);
  --stroke:rgba(255,255,255,.10);
  --text:#eaf0ff;
  --muted:rgba(234,240,255,.72);
  --brand1:#7c3aed; /* violet */
  --brand2:#06b6d4; /* cyan */
  --brand3:#22c55e; /* green */
  --hot:#ff3d77;
  --shadow: 0 18px 60px rgba(0,0,0,.55);
}

html{scroll-behavior:smooth;}
body{
  background: radial-gradient(1200px 700px at 10% 10%, rgba(124,58,237,.22), transparent 60%),
              radial-gradient(900px 600px at 90% 20%, rgba(6,182,212,.18), transparent 55%),
              radial-gradient(800px 600px at 60% 90%, rgba(255,61,119,.12), transparent 55%),
              linear-gradient(180deg, var(--bg0), var(--bg1));
  color: var(--text);
}

.container{max-width: 1140px;}
.section{position:relative;}
.section::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(600px 240px at 50% 0%, rgba(255,255,255,.06), transparent 70%);
  pointer-events:none;
  opacity:.8;
}
.section > .container{position:relative; z-index:1;}

header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(14px);
  background: rgba(5,6,10,.55);
  border-bottom: 1px solid rgba(255,255,255,.07);
}
header .logo img{filter: drop-shadow(0 10px 18px rgba(0,0,0,.55));}

.nav-links a{
  color: rgba(234,240,255,.85);
  position:relative;
}
.nav-links a::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-10px;
  height:2px; border-radius:2px;
  background: linear-gradient(90deg, var(--brand1), var(--brand2));
  transform: scaleX(0);
  transform-origin:left;
  transition: transform .28s ease;
  opacity:.9;
}
.nav-links a:hover::after, .nav-links a.active::after{transform: scaleX(1);}

.btn{
  border-radius: 14px !important;
  letter-spacing:.2px;
  transform: translateZ(0);
}
.btn-primary{
  background: linear-gradient(135deg, var(--brand1), var(--brand2)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 18px 55px rgba(124,58,237,.22), 0 16px 50px rgba(6,182,212,.14);
  position:relative;
  overflow:hidden;
}
.btn-primary::before{
  content:"";
  position:absolute; inset:-2px;
  background: linear-gradient(120deg, rgba(255,255,255,.0), rgba(255,255,255,.25), rgba(255,255,255,.0));
  transform: translateX(-120%) rotate(8deg);
  transition: transform .75s ease;
}
.btn-primary:hover::before{transform: translateX(120%) rotate(8deg);}
.btn-outline{
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: rgba(234,240,255,.92) !important;
}
.btn-outline:hover{background: rgba(255,255,255,.07) !important;}

.hero{
  position:relative;
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(800px 400px at 20% 40%, rgba(124,58,237,.26), transparent 60%),
              radial-gradient(900px 500px at 80% 30%, rgba(6,182,212,.22), transparent 60%);
  filter: blur(20px);
  opacity:.8;
  z-index:0;
  pointer-events:none;
}
.hero-video-overlay{
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.35)) !important;
}
.hero-grid{position:relative; z-index:2;}
.hero-content h1{
  font-size: clamp(2.1rem, 3.6vw, 3.2rem);
  line-height:1.06;
  text-shadow: 0 18px 55px rgba(0,0,0,.55);
}
.hero-content p{color: var(--muted); font-size: 1.05rem;}
.hero-card{
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.hero-card::before{
  content:"";
  position:absolute; inset:-1px;
  background: radial-gradient(400px 280px at 30% 20%, rgba(255,255,255,.12), transparent 55%);
  pointer-events:none;
}

.card{
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.45);
  position:relative;
}
.card::after{
  content:"";
  position:absolute; inset:-1px;
  border-radius: inherit;
  padding:1px;
  background: linear-gradient(135deg, rgba(124,58,237,.55), rgba(6,182,212,.45), rgba(255,61,119,.35));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity:.0;
  transition: opacity .25s ease;
  pointer-events:none;
}
.card:hover{
  transform: translateY(-6px);
  border-color: rgba(255,255,255,.18) !important;
}
.card:hover::after{opacity:1;}

.badge{
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: rgba(234,240,255,.88) !important;
}

/* ULTRA Stats */
.stats-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
  margin-top: 10px;
}
.stat{
  padding: 18px 16px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
}
.stat b{
  font-size: 1.55rem;
  display:block;
}
.stat span{color: var(--muted); font-size:.95rem;}

@media (max-width: 900px){
  .stats-grid{grid-template-columns: repeat(2, minmax(0,1fr));}
}
@media (max-width: 520px){
  .stats-grid{grid-template-columns: 1fr;}
}

/* ULTRA Loader */
#pageLoader{
  position:fixed; inset:0; z-index:9999;
  background: radial-gradient(900px 600px at 20% 20%, rgba(124,58,237,.22), transparent 60%),
              radial-gradient(900px 600px at 80% 20%, rgba(6,182,212,.18), transparent 60%),
              linear-gradient(180deg, #05060a, #070a12);
  display:flex; align-items:center; justify-content:center;
  transition: opacity .35s ease, visibility .35s ease;
}
#pageLoader.hide{opacity:0; visibility:hidden;}
.loader-card{
  width:min(420px, 92vw);
  padding: 22px 18px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow);
  text-align:center;
}
.loader-mark{
  width:56px; height:56px; border-radius: 16px;
  margin: 0 auto 12px;
  background: linear-gradient(135deg, var(--brand1), var(--brand2));
  position:relative;
  overflow:hidden;
}
.loader-mark::before{
  content:"";
  position:absolute; inset:-2px;
  background: linear-gradient(120deg, rgba(255,255,255,0), rgba(255,255,255,.35), rgba(255,255,255,0));
  animation: shine 1.2s linear infinite;
}
@keyframes shine{
  0%{transform: translateX(-130%) rotate(10deg);}
  100%{transform: translateX(130%) rotate(10deg);}
}
.loader-text{color: rgba(234,240,255,.9); font-weight:600;}
.loader-sub{color: rgba(234,240,255,.7); font-size:.95rem; margin-top: 4px;}


/* Ultra reveal helper */
.ultra-reveal{opacity:0; transform: translateY(14px); transition: opacity .55s ease, transform .55s ease;}
.ultra-reveal.in-view{opacity:1; transform: translateY(0);}


footer{
  background: rgba(255,255,255,.03) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}
footer a, footer p, footer h3{color: rgba(234,240,255,.85) !important;}
footer .notice{color: rgba(234,240,255,.65) !important;}

