  /* --- Navigation Links --- */
  .nav-light-link {
    color: #102A43;
    transition: color 0.2s ease;
  }

  .nav-light-link:hover {
    color: #1FB6AA;
  }

  /* --- Core Keyframes --- */
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes slow-pan {
    0% { transform: scale(1.05) translateX(0); }
    50% { transform: scale(1.1) translateX(-10px); }
    100% { transform: scale(1.05) translateX(0); }
  }

  @keyframes fadeInLeft { 
    from { opacity: 0; transform: translateX(-40px); } 
    to { opacity: 1; transform: translateX(0); } 
  }

  @keyframes fadeInRight { 
    from { opacity: 0; transform: translateX(40px); } 
    to { opacity: 1; transform: translateX(0); } 
  }

  @keyframes fadeInUp { 
    from { opacity: 0; transform: translateY(30px); } 
    to { opacity: 1; transform: translateY(0); } 
  }

  /* --- Hero Animation Classes --- */
  /* We set opacity 0 to prevent the 'flash' before animation starts */
  .animate-fade-in-left, 
  .animate-fade-in-right, 
  .animate-fade-in-up,
  .animate-hero,
  [class*="animate-hero-delay"] {
    opacity: 0;
  }

  .animate-slow-pan { animation: slow-pan 20s infinite ease-in-out; }

  .animate-fade-in-left { animation: fadeInLeft 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
  .animate-fade-in-right { animation: fadeInRight 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
  .animate-fade-in-up { animation: fadeInUp 0.8s ease-out forwards; }

  .animate-hero { animation: fadeUp 0.8s ease-out forwards; }
  .animate-hero-delay-1 { animation: fadeUp 0.8s ease-out 0.2s forwards; }
  .animate-hero-delay-2 { animation: fadeUp 0.8s ease-out 0.4s forwards; }
  .animate-hero-delay-3 { animation: fadeUp 0.8s ease-out 0.6s forwards; }
  .animate-hero-delay-4 { animation: fadeUp 0.8s ease-out 0.8s forwards; }

  .delay-200 { animation-delay: 200ms; }
  .delay-500 { animation-delay: 500ms; }

  /* --- Slider & Scroll Reveal States --- */
/* Scoped Animations for Transport Section Only */
@keyframes roadDash {
  to { stroke-dashoffset: -20; }
}

.tp-line-anim {
  stroke-dasharray: 10, 10;
  animation: roadDash 1s linear infinite;
}

.reveal-hidden {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.17, 0.55, 0.55, 1);
}

.reveal-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered delay for the 3 fleet cards */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.3s; }
.delay-3 { transition-delay: 0.5s; }
  /* Transport Section */
  .transport-slide { opacity: 0; transition: opacity 1s ease-in-out; }
  .transport-slide.active { opacity: 1; z-index: 10; }

  .reveal-text { opacity: 0; transform: translateY(20px); transition: all 0.8s ease-out; }
  .reveal-active {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  /* CNF Section */
  .cnf-image-slide { opacity: 0; transition: opacity 1s ease-in-out; }
  .cnf-image-slide.active { opacity: 1 !important; z-index: 10; }

  .cnf-slide-in { opacity: 0; transform: translateX(-30px); transition: all 0.8s ease-out; }
  .cnf-reveal-active {
    opacity: 1 !important;
    transform: translateX(0) !important;
  }

  /* Mission & Vision Section */
  .mission-reveal, .vision-reveal { 
    opacity: 0; 
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1); 
  }
  .mission-reveal { transform: translateX(-40px); }
  .vision-reveal { transform: translateX(40px); }

  .reveal-now {
    opacity: 1 !important;
    transform: translateX(0) !important;
  }