  /* ===== CUSTOM STYLES ===== */

  /* Smooth scrolling */
  html {
    scroll-behavior: smooth;
  }

  /* Selection color */
  ::selection {
    background: rgba(94, 234, 212, 0.3);
    color: #0A1628;
  }

  /* ===== ANIMATIONS ===== */
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

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

  .animate-fade-in {
    animation: fadeIn 0.8s ease forwards;
  }

  .animate-slide-up {
    animation: slideUp 0.8s ease forwards;
    opacity: 1; /* Always visible — no JS dependency */
  }

  .animate-slide-up-delay {
    animation: slideUp 0.8s ease 0.2s forwards;
    opacity: 1;
  }

  .animate-slide-up-delay-2 {
    animation: slideUp 0.8s ease 0.4s forwards;
    opacity: 1;
  }

  /* ===== SCROLL REVEAL (progressive enhancement) ===== */
  .reveal {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
  }

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

  /* Reduced motion: disable transitions */
  @media (prefers-reduced-motion: reduce) {
    .reveal {
      transition: none;
    }
    html {
      scroll-behavior: auto;
    }
    .animate-fade-in,
    .animate-slide-up,
    .animate-slide-up-delay,
    .animate-slide-up-delay-2 {
      animation: none;
    }
  }

  /* ===== NAVBAR SCROLL STATE ===== */
  #nav.scrolled {
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
  }

  /* ===== CUSTOM SCROLLBAR ===== */
  ::-webkit-scrollbar {
    width: 8px;
  }
  ::-webkit-scrollbar-track {
    background: #0A1628;
  }
  ::-webkit-scrollbar-thumb {
    background: #132240;
    border-radius: 4px;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: #5EEAD4;
  }

  /* ===== SELECTION & FOCUS ===== */
  button:focus-visible,
  a:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible {
    outline: 2px solid #5EEAD4;
    outline-offset: 2px;
  }

  /* ===== SELECT STYLING ===== */
  select option {
    background: #0A1628;
    color: #fff;
  }

  /* ===== MOBILE MENU TRANSITION ===== */
  #mobileMenu {
    animation: slideDown 0.3s ease;
  }

  @keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* ===== CARD HOVER LIFT ===== */
  .group:hover {
    transform: translateY(-2px);
  }

  /* ===== IMAGE LAZY LOAD PLACEHOLDER ===== */
  img {
    background: linear-gradient(135deg, #132240 0%, #0A1628 100%);
  }
