:root {
  --bs-primary: #064480;
  --bs-secondary: #021c4a;
  --bs-tertiary: #b86b13;
  --bs-light: #e7ecea;
}

body {
  background-color: var(--bs-light);
}

/* Utility strip */
.top-bar {
  background: var(--bs-secondary);
  color: #fff;
  font-size: 0.85rem;
  letter-spacing: 0.2px;
}
.top-bar a {
  color: #fff;
  text-decoration: none;
}

.font-switcher a {
  font-weight: 600;
  padding: 0 0.25rem;
}

/* Navbar overrides */
.navbar {
  background: var(--bs-primary);
}
.navbar img {
  height: 48px;
}
.navbar .nav-link {
  color: #fff !important;
  margin: 0 10px;
}
.navbar .dropdown-menu {
  border-radius: 0;
}

#heroCarousel {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

#heroCarousel .carousel-caption {
  background: rgba(0, 0, 0, 0.55);
  border-radius: 0.25rem;
  padding: 1rem 1.25rem;
}

#heroCarousel img {
  object-fit: cover;
  height: 350px;
}

/* ===== HERO CAROUSEL ===== */
.hero-img {
  object-fit: cover;
  height: 450px; /* adjust height as desired */
}

.carousel-caption {
  background: rgba(0, 0, 0, 0.55);
  border-radius: 0.25rem;
  padding: 1rem 1.25rem;
}

.main-content {
  padding: 75px 0;
}
.main-content .content h1 {
  font-size: 30px;
}
.main-content .content .para {
  font-size: 14px;
}

/* ===== GALLERY ===== */
#gallery {
  background: #fff;
  padding: 25px 25px;
}

#gallery .gallery-item {
  position: relative;
  overflow: hidden;
}

#gallery .gallery-item img {
  transition: transform 0.4s ease;
}

#gallery .gallery-item:hover img {
  transform: scale(1.08);
}

/* ===== CLIENT TICKER ===== */
.client-ticker {
  overflow: hidden;
}

.client-ticker .ticker-track {
  display: flex;
  gap: 3rem;
  animation: scrollTicker 20s linear infinite;
}

.client-ticker img {
  height: 60px; /* logo height */
  width: auto;
  filter: grayscale(100%);
  opacity: 0.8;
  transition: filter 0.3s, opacity 0.3s;
}

.client-ticker img:hover {
  filter: none;
  opacity: 1;
}

@keyframes scrollTicker {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  } /* adjust when logo block duplicated */
}
/* Sidebar */
.sidebar {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-left: 0;
  border-top: 0;
}
.sidebar .nav-link {
  color: #333;
  border-radius: 0.35rem;
}
.sidebar .nav-link:hover, .sidebar .nav-link.active {
  background: var(--bs-primary);
  color: #fff;
}
.sidebar-sticky {
  position: sticky;
  top: 4.5rem; /* just below navbar */
}

/* Footer */
footer {
  background: var(--bs-secondary);
  color: #fff;
}
footer a {
  color: #fff;
}
footer a:hover {
  text-decoration: underline;
}

/*# sourceMappingURL=styles.css.map */
