:root {
  --logo-blue: #1F3C88;
  --logo-red: #D72638;
  --logo-light-blue: #5865C9;
  --logo-coral: #FF5A5F;
  --bg-dark: #020026;
  --bg-light: #f5f5f5;
}

/* Typography overrides */
body {
  font-family: 'Inter', sans-serif;
}
h1, h2, h3, h4 {
  font-family: 'Montserrat', sans-serif;
}

/* Hero shine effect */
.hero-image-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}
.shine {
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-20deg);
}
.group:hover .shine {
  animation: shine-animation 1s ease-in-out forwards;
}
@keyframes shine-animation {
  0% { left: -100%; }
  100% { left: 150%; }
}

/* Nav link styling */
.nav-link {
  padding: 0.5rem 1rem;
  font-size: 1rem;
  border-radius: 0.375rem;
  transition: all 0.3s ease-in-out;
  position: relative;
  display: inline-block;
  color: inherit;
}
.nav-link:hover {
  background-color: var(--logo-blue);
  color: white !important;
}
.nav-link.active {
  background-color: var(--logo-red);
  color: white !important;
}

/* Logo hover */
.logo:hover {
  transform: scale(1.1);
  transition: transform 0.3s ease-in-out;
}

/* Mobile menu specific tweaks */
#mobileMenu {
  z-index: 9999 !important;
  will-change: transform;
}

/* Accessibility focus outlines */
.nav-link:focus, button:focus, input:focus, textarea:focus {
  outline: 2px solid rgba(14, 61, 145, 0.8);
  outline-offset: 2px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  header a img.logo {
    max-height: 60px;
  }
}
