:root {
  --ilvc-primary: #0b4ea2;
  --ilvc-dark: #0b1b35;
}

body { color: #111; }
.brand-logo { width: 44px; height: 44px; object-fit: contain; }
.brand-title { font-weight: 700; font-size: 0.98rem; line-height: 1.1; color: var(--ilvc-dark); }
.brand-sub { font-size: 0.78rem; color: #6c757d; }

.nav-link.active { font-weight: 600; color: var(--ilvc-primary) !important; }

.hero {
  position: relative;
  overflow: hidden;
}
.hero .carousel-item {
  height: 70vh;
  min-height: 420px;
  background: #0f172a;
}
.hero .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.65);
}
.hero-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 2rem 0;
  z-index: 2;
}
.hero-card {
  background: rgba(255,255,255,0.92);
  border-radius: 16px;
  padding: 1.5rem;
  max-width: 820px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.18);
}
.hero-card h1 { font-weight: 800; color: var(--ilvc-dark); margin-bottom: 0.5rem; }
.hero-card p { margin-bottom: 1rem; color: #334155; }

.section-title { font-weight: 800; color: var(--ilvc-dark); }
.section-lead { color: #475569; }

.feature-card {
  border: 1px solid #e9ecef;
  border-radius: 16px;
  padding: 1.25rem;
  height: 100%;
  box-shadow: 0 8px 18px rgba(15,23,42,0.06);
}
.feature-card h5 { font-weight: 700; color: var(--ilvc-dark); }
.badge-soft {
  background: rgba(11, 78, 162, 0.10);
  color: var(--ilvc-primary);
  border-radius: 999px;
  padding: 0.35rem 0.65rem;
  font-weight: 600;
  font-size: 0.8rem;
  display: inline-block;
}

.service-tile img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid #e9ecef;
}

/* ILeVeC header styling */
.ilevec-header {
  background: linear-gradient(
    135deg,
    #0f2a44 0%,
    #123a5c 45%,
    #0f3d63 100%
  );
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Larger brand logo */
.brand-logo-lg {
  height: 56px;     /* slightly bigger than before */
  width: auto;
}

/* Brand title */
.brand-title-lg {
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: 0.3px;
  color: #ffffff;
  white-space: nowrap;
}

/* Nav links */
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255,255,255,0.85);
  font-weight: 500;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
  color: #ffffff;
}

/* CTA button */
.navbar .btn-outline-light {
  border-color: rgba(255,255,255,0.6);
}

.navbar .btn-outline-light:hover {
  background: #ffffff;
  color: #0f2a44;
}

/* ===== ILeVeC Solid Header (Distinct from Hero) ===== */

/* ================================
   ILeVeC SOLID HEADER (FINAL)
   ================================ */

.ilevec-header-solid {
  background-color: #e9ecef; /* solid soft institutional grey */
  border-bottom: 1px solid #cfd4da;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  z-index: 1030;
}

/* Brand logo: EXACT requirement */
.brand-logo-lg {
  max-width: 170px;   /* as requested */
  width: 100%;
  height: auto;
  display: block;
}

/* Brand name */
.brand-title-lg {
  font-weight: 600;
  font-size: 1.05rem;
  color: #2b2f33;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

/* Navigation links */
.ilevec-header-solid .nav-link {
  color: #2f3439;
  font-weight: 500;
  padding: 0.5rem 0.75rem;
}

.ilevec-header-solid .nav-link:hover {
  color: #000000;
}

/* Active page indicator — subtle, not blue */
.ilevec-header-solid .nav-link.active {
  color: #000000;
  position: relative;
}

.ilevec-header-solid .nav-link.active::after {
  content: "";
  position: absolute;
  left: 15%;
  bottom: -5px;
  width: 70%;
  height: 2px;
  background-color: #6c757d; /* neutral grey underline */
  border-radius: 2px;
}

/* CTA button */
.btn-soft-outline {
  border: 1px solid #6c757d;
  color: #2b2f33;
  background-color: transparent;
}

.btn-soft-outline:hover {
  background-color: #2b2f33;
  color: #ffffff;
  border-color: #2b2f33;
}


.footer { background: #fcfcfd; }
.footer-logo { width: 80px; height: 80px; object-fit: contain; }
.footer-links a { color: #0f172a; text-decoration: none; }
.footer-links a:hover { text-decoration: underline; }
.footer-email { text-decoration: none; font-weight: 600; color: var(--ilvc-primary); }

/* Footer logo styling */
.footer-logo-lg {
  max-width: 170px;   /* adjust to taste: 160–220px works well */
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
}

/* Optional: tighten text width for better visual balance */
.footer .col-lg-4 p {
  max-width: 340px;
  margin-left: auto;
  margin-right: auto;
}


.office-block { margin-bottom: 0.75rem; }
.office-title { font-weight: 700; font-size: 0.92rem; color: #0f172a; }
.office-text { color: #475569; font-size: 0.92rem; }

.form-note { color: #64748b; font-size: 0.92rem; }

.contact-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}