:root{
  --brand:#0057D9;
  --brand-2:#00A6FF;
  --accent:#FF7A00;
  --highlight:#FFB000;
  --dark:#000000;
  --bg-soft:#D9DEE5;

  --bs-primary: var(--brand);
  --bs-primary-rgb: 0, 87, 217;
  --bs-link-color: var(--brand);
  --bs-link-hover-color: var(--brand-2);
  --bs-body-color: var(--dark);
}

html{scroll-behavior:smooth;}

body{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans","Liberation Sans",sans-serif;
  color:var(--dark);
}

.navbar{
  backdrop-filter:saturate(180%) blur(10px);
}

.navbar.scrolled{
  box-shadow:0 10px 30px rgba(15,23,42,.08);
}

.bg-light{
  background-color: var(--bg-soft) !important;
}

.brand-mark{
  height:auto;
  max-width:30%;
}

.hero{
  background:
    radial-gradient(800px 300px at 15% 20%, rgba(255,176,0,.22), transparent 60%),
    radial-gradient(900px 380px at 85% 30%, rgba(0,166,255,.26), transparent 55%),
    linear-gradient(180deg, #000000 0%, #001b44 55%, #000814 100%);
  color:#fff;
}

.hero .lead{color:rgba(255,255,255,.82)}

.section{
  padding:80px 0;
}

.section-sm{
  padding:56px 0;
}

.section-title{
  letter-spacing:-.02em;
}

.card-service{
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 10px 30px rgba(15,23,42,.05);
  transition:transform .2s ease, box-shadow .2s ease;
}

.card-service:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 45px rgba(15,23,42,.10);
}

.icon-badge{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(0,87,217,.10);
  color:var(--brand);
}

.kpi{
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  padding:18px;
}

.footer{
  background:#000000;
  color:rgba(255,255,255,.85);
}

.footer a{color:rgba(255,255,255,.85);text-decoration:none}
.footer a:hover{color:#fff;text-decoration:underline}

.form-control:focus,.form-select:focus{
  border-color:rgba(0,87,217,.55);
  box-shadow:0 0 0 .25rem rgba(0,87,217,.18);
}

.badge-soft{
  background:#FF7A00;
  color:#ffff;
}

.map-embed iframe{
  display:block;
  width:100%;
  height:280px;
  border:0;
  border-radius:14px;
}

@media (min-width: 992px){
  .map-embed iframe{
    height:280px;
  }
}

/* Small utility: keep anchor offsets below fixed navbar */
.anchor-offset{scroll-margin-top:88px;}
