:root{
  --brand-blue: #0870B8;
  --brand-green: #88C038;

  /* neutrals */
  --ink: #0b1220;
  --muted: #5b6575;
  --surface: #ffffff;
  --surface-2: #f6f8fb;
  --line: rgba(15, 23, 42, .10);
}

/* Base */
body{
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--ink);
  background: #fff;
}

p{ color: var(--muted); }

.text-muted{ color: var(--muted) !important; }

/* Global section spacing */
.section-pad{
  padding-top: 1.5rem;
  padding-bottom: 3.5rem;
}

/* Subtle divider line (brand accent) */
.brand-divider{
  height: 2px;
  background: linear-gradient(90deg, rgba(8,112,184,.0), rgba(8,112,184,.55), rgba(136,192,56,.55), rgba(136,192,56,.0));
  border-radius: 999px;
}

a{ text-underline-offset: .15em; }

/* Navbar */
.navbar{
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: saturate(140%) blur(10px);
}

/* Thin brand line under the navbar */
.navbar::after{
  content: "";
  display: block;
  height: 2px;
  background: linear-gradient(90deg, var(--brand-blue), var(--brand-green));
  opacity: .55;
}

/* Responsive brand logo */
.navbar-brand .brand-logo{
  height: 34px;
  width: auto;
}
@media (min-width: 992px){
  .navbar-brand .brand-logo{ height: 56px; }
}

/* Nav underline accent */
.navbar .nav-link{
  position: relative;
  font-weight: 500;
}
.navbar .nav-link.active::after,
.navbar .nav-link:hover::after{
  content: "";
  position: absolute;
  left: .45rem;
  right: .45rem;
  bottom: .2rem;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--brand-blue), var(--brand-green));
  opacity: .9;
}

/* Hero */
.hero{
  background:
    radial-gradient(900px 420px at 12% 10%, rgba(8,112,184,.18), rgba(8,112,184,0) 60%),
    radial-gradient(900px 420px at 82% 0%, rgba(136,192,56,.16), rgba(136,192,56,0) 55%),
    linear-gradient(180deg, #ffffff, #ffffff);
}

.hero .lead{ max-width: 56ch; }

/* Section heading accent */
.section-title{
  border-left: 6px solid var(--brand-green);
  padding-left: .75rem;
}

.section-kicker{
  display: inline-flex;
  gap: .5rem;
  align-items: center;
  font-weight: 600;
  color: var(--brand-blue);
}
.section-kicker::before{
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 6px;
  background: rgba(136,192,56,.25);
  border: 1px solid rgba(136,192,56,.35);
}

/* Cards */
.card-hover{
  transition: transform .15s ease, box-shadow .15s ease;
}
.card-hover:hover{
  transform: translateY(-2px);
  box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.08);
}

.card{
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, .06);
}

.shadow-soft{ box-shadow: 0 12px 34px rgba(15, 23, 42, .10) !important; }

/* Buttons in house style */
.btn-primary{
  --bs-btn-bg: var(--brand-blue);
  --bs-btn-border-color: var(--brand-blue);
  --bs-btn-hover-bg: #065a92;
  --bs-btn-hover-border-color: #065a92;
  --bs-btn-active-bg: #054f80;
  --bs-btn-active-border-color: #054f80;
}

.btn{ border-radius: 999px; padding: .72rem 1.15rem; }
.btn-lg{ padding: .85rem 1.35rem; }
.btn-primary{ box-shadow: 0 12px 24px rgba(8,112,184,.20); }

.btn-outline-primary{
  --bs-btn-color: var(--brand-blue);
  --bs-btn-border-color: var(--brand-blue);
  --bs-btn-hover-bg: var(--brand-blue);
  --bs-btn-hover-border-color: var(--brand-blue);
}

/* Links */
.link-brand{ color: var(--brand-blue); }
.link-brand:hover{ color: #065a92; }

/* Footer bar like the briefpaper */
.footer-bar{
  height: 14px;
  background: linear-gradient(90deg, var(--brand-blue) 0 35%, var(--brand-green) 35% 100%);
}

footer{
  background: var(--surface);
  border-top: 1px solid var(--line);
}

/* Small helpers */
.icon-badge{
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(8,112,184,.12);
  border: 1px solid rgba(8,112,184,.14);
}

/* Pill badges */
.badge-soft{
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(255,255,255,.75);
  border-radius: 999px;
  padding: .55rem .8rem;
  font-weight: 600;
}

/* Light section background */
.bg-soft{ background: var(--surface-2) !important; }

/* Anchor offset for sticky nav */
.section{ scroll-margin-top: 90px; }
