
:root{
  --fs-primary:#0da2e7;
  --fs-secondary:#6f8cff;
  --fs-accent:#00c389;
  --fs-bg:#0b0d12;
  --fs-card:#0f141b;
  --fs-border:rgba(255,255,255,.08);
  --fs-muted:#a6b0bf;
  --fs-grad: linear-gradient(90deg, var(--fs-primary), var(--fs-secondary));
  --fs-grad-2: linear-gradient(90deg, var(--fs-accent), var(--fs-primary));
  --shadow-glow-primary: 0 0 0 0 rgba(13,162,231,0.35),0 0 24px 2px rgba(13,162,231,0.25);
  --shadow-glow-secondary: 0 0 0 0 rgba(111,140,255,0.35),0 0 24px 2px rgba(111,140,255,0.25);
}
html,body{height:100%; background:var(--fs-bg); color:#e9eef6;}
.text-muted-foreground{color:var(--fs-muted)!important}
.bg-card{background:var(--fs-card)}
.border-border{border-color:var(--fs-border)!important}
.bg-gradient-primary{background-image:var(--fs-grad)}
.bg-gradient-accent{background-image:var(--fs-grad-2)}
.bg-clip-text{-webkit-background-clip:text; background-clip:text; color:transparent;}
.link-light:hover{opacity:.9}

/* Hero */
.hero{
  min-height: 100vh;
  position: relative;
  display: grid; place-items:center;
  isolation: isolate;
}
.hero::before{
  content:""; position:absolute; inset:0;
  background: url('assets/img/hero-energy.jpg') center/cover no-repeat;
  z-index:-2;
  filter: saturate(1.1) contrast(1.05);
}
.hero::after{
  content:""; position:absolute; inset:0;
  background: radial-gradient(1200px 600px at 50% 0%, rgba(11,13,18,.6), transparent),
              linear-gradient(180deg, rgba(11,13,18,.75) 0%, rgba(11,13,18,.55) 35%, var(--fs-bg) 100%);
  z-index:-1;
}

/* Buttons */
.fs-btn-primary{
  --bs-btn-bg: var(--fs-primary);
  --bs-btn-border-color: var(--fs-primary);
  --bs-btn-hover-bg: color-mix(in srgb, var(--fs-primary) 88%, #fff 12%);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--fs-primary) 88%, #fff 12%);
  box-shadow: var(--shadow-glow-primary);
  color: #fff;
}
.fs-btn-outline{ color:#e9eef6; border:1px solid var(--fs-primary); }
.fs-btn-outline:hover{ background: rgba(13,162,231,.12); }

.divider-grad{height:4px; width:100px; border-radius:100px; background:var(--fs-grad)}

/* Cards hover glow */
.glow-primary:hover{box-shadow: var(--shadow-glow-primary); border-color: rgba(13,162,231,.55)!important}
.glow-secondary:hover{box-shadow: var(--shadow-glow-secondary); border-color: rgba(111,140,255,.55)!important}

/* Badges */
.badge-chip{background: rgba(13,162,231,.12); color: var(--fs-primary); border:1px solid rgba(13,162,231,.28)}
.chip-primary{background: rgba(111,140,255,.12); width:max-content}
.icon-chip-info{background: rgba(13,162,231,.12); color: var(--fs-primary);}
.icon-chip-primary{background: rgba(111,140,255,.12); color: var(--fs-secondary);}
.icon-chip-accent{background: rgba(0,195,137,.12); color: var(--fs-accent);}

/* Alt background sections */
.section-alt{background: rgba(255,255,255,.03)}
.overlay-dark{background: linear-gradient(180deg, rgba(11,13,18,.2) 0%, rgba(11,13,18,.65) 100%);}
.vision-bg{background: radial-gradient(80% 60% at 50% 10%, rgba(13,162,231,.08), transparent), radial-gradient(80% 60% at 50% 90%, rgba(111,140,255,.06), transparent)}
.quote-card{border-color: rgba(13,162,231,.25); background: rgba(13,162,231,.06)}

/* Cookie banner */
.cookie-banner{
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 1050;
  background: #11161d; color: #fff; padding: .75rem 0; border-top: 1px solid var(--fs-border);
  box-shadow: 0 -8px 20px rgba(0,0,0,.2);
}
.cookie-banner .btn-primary{ background: var(--fs-primary); border-color: var(--fs-primary); }
.alert {
  transition: opacity .6s ease;
}
.alert.d-none {
  opacity: 0;
  pointer-events: none;
}
