/* =========================================================
   MegaSpar24 — Modern UI layer (v2)
   Loaded AFTER the page styles: only restyles, never changes
   content, links or language logic.
   ========================================================= */

:root{
  --bg:#060a13;
  --bg2:#0b1120;
  --surface:rgba(255,255,255,0.035);
  --surface2:rgba(255,255,255,0.06);
  --line:rgba(255,255,255,0.08);
  --line2:rgba(255,255,255,0.14);
  --ink:#eef2ff;
  --ink2:#94a3b8;
  --ink3:#cbd5e1;
  --brand:#3b82f6;
  --brand2:#6366f1;
  --gold:#facc15;
  --mint:#22c55e;
  --r-sm:12px;--r:18px;--r-lg:26px;
  --ease:cubic-bezier(.2,.7,.2,1);

  /* remap legacy tokens so old inline rules follow the new theme */
  --dark:var(--bg);--dark2:#0d1424;--dark3:#141c2e;
  --text:var(--ink);--text2:var(--ink2);--text3:var(--ink3);
  --border:var(--line);--border2:rgba(255,255,255,0.05);
  --blue:#2563eb;--blue2:var(--brand);--yellow:var(--gold);--green2:var(--mint);
  --radius:var(--r);--radius2:var(--r-lg);
  --shadow:0 20px 50px -20px rgba(0,0,0,0.7);
}

html{scroll-padding-top:90px;}
body{
  background:
    radial-gradient(1200px 600px at 80% -10%,rgba(99,102,241,0.10),transparent 60%),
    radial-gradient(900px 500px at -10% 20%,rgba(59,130,246,0.08),transparent 60%),
    var(--bg);
  background-attachment:fixed;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body::after{display:none !important;}          /* drop the old noise overlay */
::selection{background:rgba(99,102,241,0.45);color:#fff;}

/* calmer motion: remove the constant pulsing glows */
.btn-primary,.btn-cta,.btn-cta.green,.btn-fc{animation:none !important;}

/* ---------- NAV: floating glass bar ---------- */
nav{
  top:12px;margin:12px auto 0;max-width:1180px;width:calc(100% - 24px);
  height:60px;padding:0 10px 0 20px;border-radius:999px;
  background:rgba(10,15,28,0.65);
  border:1px solid var(--line);
  box-shadow:0 10px 40px -12px rgba(0,0,0,0.6),inset 0 1px 0 rgba(255,255,255,0.05);
  backdrop-filter:saturate(160%) blur(20px);-webkit-backdrop-filter:saturate(160%) blur(20px);
}
.nav-logo{font-size:20px;letter-spacing:-0.5px;}
.nav-logo .mega{color:#fff;}
.nav-logo .spar{background:linear-gradient(135deg,var(--gold),#fb923c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.nav-logo .num{color:var(--brand);font-weight:800;}
.nav-link{font-size:12.5px;font-weight:500;color:var(--ink2);padding:8px 12px;border-radius:999px;}
.nav-link:hover{color:#fff;background:var(--surface2);}
.lang-sw{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;}
.lang-btn{border:none;border-radius:999px;padding:6px 11px;font-size:11px;}
.lang-btn.active,.lang-btn:hover{background:#fff;color:#0b1120;}
.mob-menu{top:84px;left:12px;right:12px;border-radius:var(--r);border:1px solid var(--line);background:rgba(10,15,28,0.96);box-shadow:var(--shadow);}
.mob-menu-link{border-radius:var(--r-sm);}

/* ---------- HERO ---------- */
.hero{
  padding:110px 20px 100px;margin-top:-72px;
  background:transparent;
}
.hero::before{                                  /* aurora */
  content:'';position:absolute;inset:-20% -10% auto;height:120%;
  background:
    radial-gradient(40% 50% at 50% 30%,rgba(99,102,241,0.30),transparent 70%),
    radial-gradient(30% 40% at 20% 60%,rgba(59,130,246,0.22),transparent 70%),
    radial-gradient(25% 35% at 80% 55%,rgba(250,204,21,0.12),transparent 70%);
  filter:blur(20px);pointer-events:none;animation:aurora 18s ease-in-out infinite alternate;
}
@keyframes aurora{to{transform:translate3d(0,-4%,0) scale(1.08);}}
.hero-orb1,.hero-orb2,.hero-orb3{display:none;}
.hero-grid{
  background-image:linear-gradient(rgba(255,255,255,0.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.045) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);
          mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);
}
.hero-content{max-width:920px;}
.hero-tag{
  background:rgba(255,255,255,0.05);border:1px solid var(--line2);color:var(--ink3);
  padding:7px 16px;font-weight:500;backdrop-filter:blur(10px);
}
.hero-tag-dot{background:var(--mint);box-shadow:0 0 0 4px rgba(34,197,94,0.18);}
.hero h1{font-size:clamp(38px,7vw,78px);letter-spacing:-2.5px;line-height:1.02;margin-bottom:22px;}
body.ar .hero h1{line-height:1.3;}
.hero h1 .hl-blue{background:linear-gradient(120deg,#93c5fd,#818cf8 50%,#c084fc);-webkit-background-clip:text;background-clip:text;}
.hero h1 .hl-yellow{background:linear-gradient(120deg,#fde047,#fb923c);-webkit-background-clip:text;background-clip:text;}
.hero-sub{color:var(--ink2);font-size:clamp(16px,2vw,19px);max-width:640px;margin-bottom:40px;}

.hero-stats{
  display:inline-flex;gap:0;padding:6px;border-radius:var(--r);
  background:rgba(255,255,255,0.04);border:1px solid var(--line);
  backdrop-filter:blur(12px);margin-bottom:40px;
}
.hero-stat{background:transparent;border:none;border-radius:0;padding:12px 26px;backdrop-filter:none;}
.hero-stat + .hero-stat{border-inline-start:1px solid var(--line);}
.hero-stat-n{font-size:28px;color:#fff;letter-spacing:-0.5px;}
.hero-stat:first-child .hero-stat-n{color:var(--gold);}
.hero-stat-l{font-size:11px;color:var(--ink2);margin-top:6px;}

.btn-primary{
  background:#fff;color:#0b1120;padding:15px 30px;font-weight:700;
  box-shadow:0 10px 30px -8px rgba(255,255,255,0.35);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(255,255,255,0.5);}
.btn-secondary{background:rgba(255,255,255,0.04);border-color:var(--line2);color:#fff;backdrop-filter:blur(10px);}
.btn-secondary:hover{background:rgba(255,255,255,0.08);}

/* ---------- TRUST BAR ---------- */
.trust{background:transparent;border:none;padding:0 20px 10px;gap:10px;}
.trust-item{
  background:var(--surface);border:1px solid var(--line);border-radius:999px;
  padding:8px 14px;font-size:12px;font-weight:500;color:var(--ink3);
}
.trust-dot{width:6px;height:6px;background:var(--mint);box-shadow:0 0 8px var(--mint);}

/* ---------- SECTIONS ---------- */
.sec{max-width:1180px;padding:88px 20px;}
.sec-head{margin-bottom:48px;}
.sec-tag{
  background:linear-gradient(rgba(99,102,241,0.12),rgba(99,102,241,0.12)) padding-box,
             linear-gradient(120deg,rgba(129,140,248,0.6),rgba(59,130,246,0.2)) border-box;
  border:1px solid transparent;color:#c7d2fe;font-size:11px;padding:6px 14px;letter-spacing:1.4px;
}
.sec-head h2{font-size:clamp(28px,4.5vw,46px);letter-spacing:-1.2px;line-height:1.1;margin-bottom:14px;}
body.ar .sec-head h2{line-height:1.4;}
.sec-head p{font-size:16px;max-width:560px;color:var(--ink2);}
.sep{height:1px;max-width:1180px;margin:0 auto;background:linear-gradient(90deg,transparent,var(--line2),transparent);}

/* ---------- CARDS ---------- */
.grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,0.045),rgba(255,255,255,0.015));
  border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.05);
  transition:transform .35s var(--ease),border-color .35s,box-shadow .35s;
  isolation:isolate;
}
.card::before{                                  /* hover spotlight */
  content:'';position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .35s;
  background:radial-gradient(500px 200px at 50% -20%,rgba(99,102,241,0.18),transparent 70%);
}
.card:hover{transform:translateY(-6px);border-color:var(--line2);box-shadow:0 30px 60px -25px rgba(0,0,0,0.8),inset 0 1px 0 rgba(255,255,255,0.08);}
.card:hover::before{opacity:1;}
.card.hot{border-color:rgba(99,102,241,0.35);}
.card-stripe{height:2px;width:auto;margin:0 24px;border-radius:0 0 4px 4px;opacity:.9;}
.card-body{padding:26px;}
.card-icon{
  font-size:26px;width:54px;height:54px;display:grid;place-items:center;margin-bottom:16px;
  background:var(--surface2);border:1px solid var(--line);border-radius:16px;
}
.card-name{font-size:18px;font-weight:700;letter-spacing:-0.4px;margin-bottom:6px;}
.card-kw{font-size:12.5px;line-height:1.6;color:var(--ink2);}
.card-save{background:rgba(34,197,94,0.1);border-color:rgba(34,197,94,0.25);color:#4ade80;padding:5px 12px;font-size:12px;}
.card-div{background:var(--line);margin:4px -26px 18px;}
.card-hot,.card-new{font-size:10px;padding:3px 10px;letter-spacing:.3px;}
.card-hot{background:linear-gradient(135deg,#f43f5e,#f97316);}
.provider-badge{font-size:10px;padding:3px 9px;}

/* ---------- BUTTONS ---------- */
.btn-cta{
  border-radius:14px;padding:13px 16px;font-size:13.5px;font-weight:600;
  background:linear-gradient(180deg,#4f8cff,#2563eb);
  box-shadow:0 8px 20px -8px rgba(37,99,235,0.7),inset 0 1px 0 rgba(255,255,255,0.25);
}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(37,99,235,0.9),inset 0 1px 0 rgba(255,255,255,0.25);}
.btn-cta.green{background:linear-gradient(180deg,#34d399,#059669);box-shadow:0 8px 20px -8px rgba(5,150,105,0.7),inset 0 1px 0 rgba(255,255,255,0.25);}
.btn-cta.orange{background:linear-gradient(180deg,#fb923c,#ea580c);box-shadow:0 8px 20px -8px rgba(234,88,12,0.7),inset 0 1px 0 rgba(255,255,255,0.25);}
.btn-cta.yellow{background:linear-gradient(180deg,#fde047,#f59e0b);color:#1a1000;}
.btn-outline-sm{border-radius:12px;padding:10px;}
.btn-fc{border-radius:14px;background:linear-gradient(180deg,#fde047,#f59e0b);box-shadow:0 10px 30px -10px rgba(245,158,11,0.8),inset 0 1px 0 rgba(255,255,255,0.4);}
body .tbl-btn{border-radius:999px;padding:7px 14px;background:linear-gradient(180deg,#4f8cff,#2563eb);}

/* ---------- FEATURED (Bank / Solar) ---------- */
.featured-card{border-radius:var(--r-lg);border:1px solid var(--line2);box-shadow:0 40px 80px -40px rgba(0,0,0,0.9);}
.fc-bank{background:
  radial-gradient(600px 300px at 0% 0%,rgba(99,102,241,0.45),transparent 60%),
  radial-gradient(500px 300px at 100% 100%,rgba(59,130,246,0.35),transparent 60%),
  #0b1430;}
.fc-solar{background:
  radial-gradient(600px 300px at 0% 0%,rgba(251,146,60,0.35),transparent 60%),
  radial-gradient(500px 300px at 100% 100%,rgba(250,204,21,0.2),transparent 60%),
  #1a1206;}
.fc-inner{padding:56px;gap:56px;}
.fc-title{font-size:clamp(24px,3.4vw,38px);letter-spacing:-1px;}
.fc-right{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.12);border-radius:var(--r);backdrop-filter:blur(12px);}
.fc-check{background:rgba(34,197,94,0.18);color:#4ade80;}

/* ---------- COMPARISON CARDS / STEPS ---------- */
body .vgl-card{background:linear-gradient(180deg,rgba(255,255,255,0.045),rgba(255,255,255,0.015));border-radius:var(--r-lg);}
body .vgl-head{background:transparent;}
body .step{background:linear-gradient(180deg,rgba(255,255,255,0.045),rgba(255,255,255,0.015));border-radius:var(--r);padding:26px 18px;}
body .step-n{background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 6px 16px -4px rgba(99,102,241,0.6);}

/* ---------- TABLE ---------- */
body .tbl-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);}
body .cmp-table thead tr{background:rgba(255,255,255,0.04);}
body .cmp-table td{border-bottom-color:var(--line);}
body .cmp-table tr:last-child td{border-bottom:none;}
.cmp-table tbody tr:hover{background:rgba(99,102,241,0.06);}
body .td-save{color:#4ade80;}

/* ---------- PORTAL CARDS ---------- */
.portal-grid{gap:20px;}
.portal-card{border-radius:var(--r-lg);position:relative;transition:transform .35s var(--ease),box-shadow .35s;}
.portal-card::after{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,0.10),transparent 40%);
}
.portal-card:hover{transform:translateY(-6px);}
.pc-inner{padding:30px 26px 22px;}
.pc-icon{font-size:30px;width:58px;height:58px;display:grid;place-items:center;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:18px;}
.pc-name{font-size:19px;}
.pc-foot{border-top-color:rgba(255,255,255,0.08);padding:16px 26px;}

/* ---------- WHY / FAQ / MAP ---------- */
.why-grid{gap:18px;}
.why-card{background:linear-gradient(180deg,rgba(255,255,255,0.045),rgba(255,255,255,0.015));border-radius:var(--r-lg);padding:30px 22px;}
.why-icon{font-size:28px;width:60px;height:60px;display:grid;place-items:center;margin:0 auto 14px;background:var(--surface2);border:1px solid var(--line);border-radius:18px;}
.why-title{font-size:16px;}
.why-text{font-size:13px;}
.faq-wrap{gap:12px;}
.faq-item{background:var(--surface);border-radius:var(--r);}
.faq-item[open]{background:rgba(99,102,241,0.06);border-color:rgba(129,140,248,0.35);}
.faq-q{padding:20px 24px;font-size:15px;padding-right:56px;}
body.ar .faq-q{padding-left:56px;padding-right:24px;}
.faq-q::after{color:#a5b4fc;}
.faq-item[open] .faq-q{color:#c7d2fe;}
.faq-a{padding:6px 24px 20px;font-size:14px;border-top:none;}
.map-wrap{border-radius:var(--r-lg);}
.map-state{background:var(--surface);}

/* ---------- MOBILE CATEGORY TILES ---------- */
.mob-cat{background:var(--surface);border-radius:var(--r);padding:16px;}

/* ---------- FOOTER ---------- */
footer{background:transparent;border-top:1px solid var(--line);padding:56px 20px 40px;}
.footer-logo{font-size:24px;letter-spacing:-0.5px;}
.footer-link{border-color:var(--line);background:var(--surface);padding:7px 14px;font-size:12px;}
.footer-copy{color:#64748b;}

/* ---------- SCROLL REVEAL (progressive enhancement) ---------- */
@supports (animation-timeline:view()){
  .card,.portal-card,.why-card,.vgl-card,.step,.featured-card,.faq-item{
    animation:reveal both var(--ease);
    animation-timeline:view();animation-range:entry 0% entry 35%;
  }
  @keyframes reveal{from{opacity:0;transform:translateY(24px) scale(.98);}to{opacity:1;transform:none;}}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;}
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:700px){
  nav{top:8px;margin-top:8px;width:calc(100% - 16px);height:56px;padding:0 6px 0 16px;}
  .mob-menu{top:72px;left:8px;right:8px;}
  .hero{padding:96px 18px 70px;margin-top:-64px;}
  .hero h1{letter-spacing:-1.5px;}
  .hero-stats{display:grid;grid-template-columns:1fr 1fr;width:100%;}
  .hero-stat + .hero-stat{border-inline-start:none;}
  .hero-stat:nth-child(even){border-inline-start:1px solid var(--line);}
  .hero-stat:nth-child(n+3){border-top:1px solid var(--line);}
  .sec{padding:64px 16px;}
  .grid{grid-template-columns:1fr 1fr;gap:12px;}
  .card-body{padding:18px;}
  .card-icon{width:44px;height:44px;font-size:22px;border-radius:12px;}
  .card-div{margin:4px -18px 14px;}
  .card-name{font-size:15px;}
  .fc-inner{padding:28px;gap:24px;}
  .portal-grid{gap:12px;}
  .pc-icon{width:46px;height:46px;font-size:24px;border-radius:14px;}
  body .tbl-wrap{overflow-x:auto;}
}
@media(max-width:380px){.grid{grid-template-columns:1fr;}}

/* badges should hug their text */
.card-hot,.card-new{width:fit-content;}

/* 6 'why' cards -> clean 3x2 grid on desktop */
@media(min-width:901px){.why-grid{grid-template-columns:repeat(3,1fr);max-width:980px;margin-inline:auto;}}
@media(min-width:560px) and (max-width:900px){.why-grid{grid-template-columns:repeat(2,1fr);}}

