:root {
      --primary-blue: #0075c9;
      --light-blue-bg: #e5f2fa;
    }

    body {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      color: #333333;
      background-color: #ffffff;
      font-size: 15px;
      line-height: 1.6;
    }

    /* Standardized Rounded Corners */
    .rounded-custom {
      border-radius: 8px !important;
      overflow: hidden;
    }

    /* Header Styling with Taller NETFISH Logo & Mobile Layout Adjustments */
    .header-logo-container {
      padding: 12px 0;
      background-color: #ffffff;
    }

    .netfish-logo {
      height: 85px;
      width: auto;
      object-fit: contain;
      image-rendering: -webkit-optimize-contrast;
    }

    .brand-title-box {
      line-height: 1.25;
    }

    .brand-title {
      font-weight: 700;
      font-size: 1.15rem;
      color: #000000;
      margin: 0;
      letter-spacing: -0.01em;
    }

    .brand-subtitle {
      font-size: 0.85rem;
      color: #444444;
      margin: 3px 0 0 0;
      font-weight: 400;
    }

    .mpeda-emblem-logo {
      height: 60px;
      width: auto;
      object-fit: contain;
      image-rendering: -webkit-optimize-contrast;
    }

    /* Header bottom gradient line for mobile view */
    .header-bottom-line-mobile {
      height: 6px;
      background: linear-gradient(90deg, #0075c9 0%, #76c0f1 60%, #dceeff 100%);
      border-radius: 3px;
      margin-top: 10px;
    }

    /* Desktop Left Sidebar Menu Container */
    .sidebar-menu-card {
        padding-top: 20px;
      background-color: #eaeaea;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 2px 5px rgba(0,0,0,0.03);
    }

    .sidebar-menu .nav-link {
      color: #000000;
      font-weight: 700;
      font-size: 0.9rem;
      text-transform: uppercase;
      padding: 6px 12px;
      margin-left: 15px;
      border-bottom: 1px solid #70baff;
      transition: background-color 0.2s ease, color 0.2s ease;
    }

    .sidebar-menu .nav-item:last-child .nav-link {
      border-bottom: none;
    }

    /* Mouseover style: White Bg as per design spec */
    .sidebar-menu .nav-link:hover,
    .sidebar-menu .nav-link:focus,
    .sidebar-menu .nav-link.active {
      background-color: #ffffff !important;
      color: #0075c9 !important;
    }

    /* Blue Bottom Bar inside Sidebar Card (As per UI design attachment) */
    .sidebar-bottom-blue-bar {
      height: 24px;
      background: linear-gradient(90deg, #0075c9 0%, #79c3f5 70%, #dbeeff 100%);
      margin-top: 25px;
      margin-bottom: 29px;
    }

    /* Quick Links Box */
    .quick-link-item {
      display: flex;
      align-items: center;
      padding: 9px 0;
      color: #000000;
      text-decoration: none;
      font-weight: 700;
      font-size: 0.9rem;
      text-transform: uppercase;
      transition: color 0.2s ease;
    }

    .quick-link-icon {
      width: 26px;
      height: 26px;
      border: 1.5px solid #6cb5ec;
      border-radius: 4px;
      display: inline-block;
      margin-right: 12px;
      background-color: #ffffff;
      flex-shrink: 0;
      transition: background-color 0.2s ease, border-color 0.2s ease;
    }

    .quick-link-item:hover {
      color: #0075c9;
    }

    .quick-link-item:hover .quick-link-icon {
      background-color: #e5f2fa;
      border-color: #0075c9;
    }

   /* Marquee Banner Bar Gradient (Light Blue to Dark Blue Left-to-Right) */
.marquee-container {
  background: linear-gradient(90deg, #cce4f7 0%, #5cb0eb 50%, #0075c9 100%);
  border-radius: 6px;
  padding: 9px 16px;
  color: #000000;
  font-weight: 600;
  font-size: 0.95rem;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.marquee-text {
  display: inline-block;
  padding-left: 100%; /* Starts right at the container's right edge */
  animation: marquee 38s linear infinite; /* Slower speed (38s) for comfortable reading */
}

.marquee-container:hover .marquee-text {
  animation-play-state: paused;
}

@keyframes marquee {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-100%, 0);
  }
}

    /* Hero Carousel */
    .hero-carousel {
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    }

    .hero-carousel img {
      width: 100%;
      height: 380px;
      object-fit: cover;
    }

    @media (max-width: 767.98px) {
      .hero-carousel img {
        height: 230px;
      }
    }

    .carousel-indicators [data-bs-target] {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background-color: #ffffff;
      opacity: 0.85;
      margin: 0 5px;
      border: none;
    }

    .carousel-indicators .active {
      opacity: 1;
      background-color: #0075c9;
      transform: scale(1.15);
    }

    /* Section Typography */
    h1.section-title {
      font-size: 1.4rem;
      font-weight: 700;
      color: #000000;
      margin-bottom: 14px;
    }

    h2.section-title {
      font-size: 1.25rem;
      font-weight: 700;
      color: #000000;
      margin-bottom: 14px;
    }

    /* Action Buttons ("Read More", "Download") Gradient: Soft Light Blue to Dark Blue with Black Text */
    .btn-custom-blue {
      background: linear-gradient(90deg, #cde5f8 0%, #4ea5e8 50%, #0075c9 100%);
      color: #000000 !important;
      border: none;
      font-weight: 400;
      font-size: 1.05rem;
      padding: 6px 26px;
      border-radius: 6px;
      text-decoration: none;
      display: inline-block;
      transition: all 0.2s ease;
    }

    .btn-custom-blue:hover,
    .btn-custom-blue:focus {
      opacity: 0.92;
      transform: translateY(-1px);
    }

    /* Social Media Buttons */
    .social-icon-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 46px;
      height: 46px;
      border-radius: 8px;
      color: #ffffff;
      font-size: 1.5rem;
      text-decoration: none;
      margin-right: 12px;
      transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .social-icon-btn:hover {
      color: #ffffff;
      transform: translateY(-2px);
      opacity: 0.9;
    }

    .social-facebook {
      background-color: #3b5998;
    }

    .social-youtube {
      background-color: #ff0000;
    }

    /* Mobile Accordion Main Menu Button (Dark Blue on Left fading to Light Blue on Right) */
    .mobile-menu-btn {
      background: linear-gradient(90deg, #0075c9 0%, #5cb0eb 50%, #cde5f8 100%);
      color: #000000;
      font-weight: 700;
      border: none;
      width: 100%;
      text-align: left;
      padding: 10px 16px;
      border-radius: 0;
      display: flex;
      align-items: center;
    }

    .mobile-menu-btn .icon-box {
      background-color: #ffffff;
      color: #000000;
      width: 26px;
      height: 26px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-right: 14px;
      font-weight: bold;
      border-radius: 2px;
      font-size: 1.1rem;
      border: 1px solid #79c3f5;
    }

    /* Footer Gradient Line (Vivid Blue on Left fading to Light Blue on Right) */
    .footer-bar {
      height: 7px;
      background: linear-gradient(90deg, #0075c9 0%, #76c0f1 60%, #dceeff 100%);
      border-radius: 4px;
      margin-top: 35px;
      margin-bottom: 16px;
    }

    .footer-text {
      font-size: 0.9rem;
      color: #000000;
    }


/* Page Title Banner (H1 Block) */
.page-title-banner {
  background: linear-gradient(90deg, #cde4f7 0%, #0075c9 100%);
  border-radius: 8px;
  padding: 12px 24px;
  margin-bottom: 16px;
}

.page-title-banner h1 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #000000;
  margin: 0;
}

/* Sub-Navigation Outline Action Buttons */
.interior-sub-nav {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-bottom: 24px;
}

.btn-outline-custom {
  background-color: #ffffff;
  color: #333333;
  border: 1.5px solid #333333;
  border-radius: 8px;
  padding: 6px 20px;
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

.btn-outline-custom:hover,
.btn-outline-custom:focus {
  background-color: #f0f7fd;
  border-color: #0075c9;
  color: #0075c9;
}


/* Interior Static Banner Thumbnail Box */
.interior-banner-box {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 24px;
  background-color: #f5f5f5; /* Subtle placeholder fallback while loading */
}

.interior-banner-box img {
  width: 100%;
  height: auto;
  /* Maintains exact 981:180 aspect ratio (approx 5.45:1 ratio) */
  aspect-ratio: 981 / 180;
  object-fit: cover;
  display: block;
  /* Enables high-contrast downscaling for HD source images */
  image-rendering: -webkit-optimize-contrast;
}

/* Custom UI Bulleted List Styling (UL > LI) */
.custom-bullet-list {
  list-style: none;
  padding-left: 0;
  margin-top: 20px;
  margin-bottom: 20px;
}

.custom-bullet-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 16px;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #333333;
}

/* Custom Blue Square Bullet Icon */
.custom-bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 14px;
  height: 14px;
  background-color: #008be3; /* Vivid UI Accent Blue */
  border-radius: 2px;
}

