/*
 * Voltera Global public site - shared design system (homepage + info pages).
 * Dark "solar mining" look: near-black greens, lime accents, Bitcoin orange.
 * Section-specific styles live in home.css / geomap.css / page styles.
 */
:root{
  --bg:#030605; --bg-2:#060b08; --surface:#0a110d; --surface-2:#0e1712;
  --card:linear-gradient(180deg,rgba(17,27,20,.92),rgba(8,13,10,.92));
  --line:rgba(126,217,87,.16); --line-2:rgba(126,217,87,.34); --line-3:rgba(255,255,255,.07);
  --lime:#7ed957; --lime-2:#8ef25a; --green:#5bb030; --green-2:#3f8f1f; --green-deep:#1d4d10;
  --btc:#f7931a; --gold:#f5b52e; --gold-2:#ffd36b;
  --ink:#f2f6f3; --text:#d5ded8; --muted:#95a39b; --muted-2:#6d7a72;
  --up:#7ed957; --down:#ff5d5d;
  --grad-btn:linear-gradient(180deg,#6cc53a,#4f9e26);
  --grad-lime:linear-gradient(100deg,#9cf06a,#6cc53a);
  --r:14px; --r-sm:10px; --maxw:1240px;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-h:"Montserrat","Inter",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg,canvas{max-width:100%;display:block}
button,input,textarea,select{font:inherit;color:inherit}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hl{color:var(--lime)} .btc{color:var(--btc)} .gold{color:var(--gold)}
:focus-visible{outline:2px solid var(--lime);outline-offset:2px}

/* ---------- headings ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
  padding:6px 12px;border:1px solid var(--line-2);border-radius:8px;background:rgba(8,14,10,.6)}
.eyebrow svg{width:14px;height:14px;color:var(--lime)}
.h-sec{font-family:var(--font-h);font-weight:800;text-transform:uppercase;letter-spacing:.01em;color:var(--ink);font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.15}
.h-sec em{font-style:normal;color:var(--lime)}
.h-sec .btc{color:var(--btc)}
.sec-sub{color:var(--muted);font-size:.9rem;margin-top:6px}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.sec-head.center{flex-direction:column;align-items:center;text-align:center}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:14px;line-height:1;padding:14px 22px;border-radius:9px;
  cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;border:1px solid transparent;white-space:nowrap}
.btn svg{width:16px;height:16px;flex:none}
.btn-primary{background:var(--grad-btn);color:#fff;border-color:rgba(160,240,110,.35);box-shadow:0 10px 30px -12px rgba(108,197,58,.7),inset 0 1px 0 rgba(255,255,255,.18)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 40px -12px rgba(108,197,58,.9),inset 0 1px 0 rgba(255,255,255,.2)}
.btn-ghost{background:rgba(6,10,8,.55);color:var(--ink);border-color:var(--line-2);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:var(--lime);background:rgba(126,217,87,.08)}
.btn-sm{padding:10px 16px;font-size:13px}
.link-more{display:inline-flex;align-items:center;gap:6px;color:var(--lime);font-size:13px;font-weight:600}
.link-more svg{width:14px;height:14px;transition:transform .2s}
.link-more:hover svg{transform:translateX(3px)}

/* ---------- cards ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);position:relative}
.card.glow{box-shadow:0 0 0 1px rgba(126,217,87,.05),0 20px 50px -30px rgba(126,217,87,.35)}
.live-dot{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lime)}
.live-dot i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(126,217,87,.7);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(126,217,87,.6)}70%{box-shadow:0 0 0 8px rgba(126,217,87,0)}100%{box-shadow:0 0 0 0 rgba(126,217,87,0)}}

/* ---------- NAV ---------- */
/* The blur lives on ::before: backdrop-filter on the header itself would become
   the containing block of the fixed mobile menu and trap it inside the bar. */
.site-nav{position:sticky;top:0;z-index:80;border-bottom:1px solid var(--line-3)}
.site-nav::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(3,6,5,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .3s}
.site-nav.scrolled{border-bottom-color:var(--line)}
.site-nav.scrolled::before{background:rgba(3,6,5,.94)}
.site-nav .nav-inner{display:flex;align-items:center;gap:18px;height:70px}
.site-nav .brand{flex:none;display:flex;align-items:center}
.site-nav .brand img{height:42px;width:auto;filter:drop-shadow(0 2px 10px rgba(126,217,87,.35))}
.site-nav .nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0 auto}
.site-nav .nav-links a{display:block;font-size:13px;font-weight:500;color:var(--text);padding:8px 10px;border-radius:7px;position:relative;white-space:nowrap;transition:color .2s}
.site-nav .nav-links a:hover{color:var(--ink)}
.site-nav .nav-links a.active{color:var(--lime)}
.site-nav .nav-links a.active::after{content:"";position:absolute;left:10px;right:10px;bottom:1px;height:2px;border-radius:2px;background:var(--lime)}
.site-nav .nav-cta{display:flex;align-items:center;gap:8px;flex:none}
.site-nav .nav-cta .btn{padding:10px 16px;font-size:13px}
.site-nav .nav-links .nav-m{display:none}
.site-nav .nav-disc{margin:0;display:inline-flex}
.site-nav .nav-disc .btn{cursor:pointer;font-family:inherit}
.site-nav .nav-dash .mono,.site-nav .nav-acct .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600;letter-spacing:0}
.site-nav .nav-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px rgba(126,217,87,.8);flex:none;font-style:normal}
.site-nav .nav-acct-id{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding:13px 12px;border-bottom:1px solid var(--line-3)}
.site-nav .nav-acct-id b{color:var(--ink)}
.site-nav .nav-disc-m{display:flex;align-items:center;gap:10px;width:100%;margin-top:12px;padding:13px 12px;border:1px solid rgba(255,107,107,.45);border-radius:9px;background:rgba(255,107,107,.08);color:#ff9b9b;font:600 15px/1.2 inherit;font-family:inherit;cursor:pointer;text-align:left}
.site-nav .nav-disc-m:hover{background:rgba(255,107,107,.16);color:#ffc0c0}
.site-nav .nav-disc svg{width:16px;height:16px;flex:none}
.site-nav .nav-cta .nav-dash{padding:6px 14px;line-height:1.1}
.site-nav .nav-dash-t{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.site-nav .nav-dash-t b{font-size:13px;font-weight:700}
.site-nav .nav-dash-t small{display:flex;align-items:center;gap:5px;font-size:10.5px;opacity:.92}
.site-nav .nav-dash .nav-dot{background:#fff;box-shadow:0 0 6px rgba(255,255,255,.8);width:6px;height:6px}
@media (min-width:1081px) and (max-width:1439px){
  .site-nav .nav-cta .nav-disc-b{padding:10px 12px}
  .site-nav .nav-disc-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
.burger{display:none;width:42px;height:42px;border-radius:9px;border:1px solid var(--line-2);background:rgba(6,10,8,.6);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{width:18px;height:2px;border-radius:2px;background:var(--ink);transition:.25s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1180px){
  .site-nav .nav-links a{padding:8px 7px;font-size:12.5px}
}
@media (max-width:1080px){
  .burger{display:flex}
  .site-nav .nav-links{position:fixed;left:0;right:0;top:70px;bottom:0;margin:0;flex-direction:column;align-items:stretch;gap:2px;padding:14px 18px 30px;
    background:#030605;overflow-y:auto;transform:translateX(100%);transition:transform .3s;visibility:hidden}
  .site-nav .nav-links.open{transform:none;visibility:visible}
  .site-nav .nav-links a{font-size:15px;padding:13px 12px;border-bottom:1px solid var(--line-3);border-radius:0}
  .site-nav .nav-links a.active::after{display:none}
  .site-nav .nav-links .nav-m{display:block}
  .site-nav .nav-links .nav-m a{color:var(--lime);font-weight:600}
  .site-nav .nav-cta{margin-left:auto}
}
@media (max-width:520px){
  .site-nav .nav-inner{gap:10px;height:62px}
  .site-nav .nav-links{top:62px}
  .site-nav .brand img{height:34px}
  .site-nav .nav-cta .btn-ghost,.site-nav .nav-cta .nav-disc{display:none}
  .site-nav .nav-cta .btn{padding:9px 12px;font-size:12.5px}
  .wrap{padding:0 16px}
}

/* ---------- FOOTER ---------- */
.site-footer{background:#050807;border-top:1px solid var(--line-3);padding:56px 0 26px;margin-top:0;position:relative}
.site-footer .foot-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:32px}
.site-footer .foot-brand img{height:44px;width:auto;margin-bottom:14px}
.site-footer .foot-brand p{color:var(--muted);font-size:13px;max-width:280px}
.site-footer .socials{display:flex;gap:8px;margin-top:16px}
.site-footer .socials a{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#111a15;color:var(--text);border:1px solid var(--line-3)}
.site-footer .socials a:hover{color:var(--lime);border-color:var(--line-2)}
.site-footer .socials svg{width:14px;height:14px}
.site-footer h5{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}
.site-footer ul{list-style:none;display:grid;gap:9px}
.site-footer ul a{color:var(--muted);font-size:13.5px;transition:color .2s}
.site-footer ul a:hover{color:var(--lime)}
.site-footer .foot-note{color:var(--muted-2);font-size:11.5px;margin-top:34px;text-align:center;max-width:900px;margin-left:auto;margin-right:auto}
.site-footer .copy{display:flex;align-items:center;gap:18px;margin-top:18px;color:var(--muted);font-size:12.5px;white-space:nowrap}
.site-footer .copy::before,.site-footer .copy::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-3))}
.site-footer .copy::after{background:linear-gradient(90deg,var(--line-3),transparent)}
@media (max-width:900px){.site-footer .foot-grid{grid-template-columns:1fr 1fr}.site-footer .foot-brand{grid-column:1/-1}}
@media (max-width:420px){.site-footer .copy{white-space:normal;text-align:center}.site-footer .copy::before,.site-footer .copy::after{display:none}}

/* ---------- reveal on scroll ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
