body {
  font-family: "Manrope", sans-serif;
}
h1,
h2,
h3,
h4,
.font-display {
  font-family: "Manrope", sans-serif;
  font-weight: 800;
}

.mobile-menu-open {
  overflow: hidden;
}

/* Smooth transition for the glassmorphism header */
#main-header.scrolled {
  background-color: rgba(255, 255, 255, 1);
  border-bottom: 1px solid #e2e8f0;
  padding: 18px 0;
}

/* Centered Dropdown logic */
.dropdown-content {
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px) translateX(-50%);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  left: 50%;
}

.group:hover .dropdown-content {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) translateX(-50%);
}

/* Mobile sidebar transition */
#mobile-sidebar {
  transform: translateX(100%);
  transition: transform 0.3s ease-in-out;
}
#mobile-sidebar.open {
  transform: translateX(0);
}
#mobile-overlay {
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
#mobile-overlay.open {
  opacity: 1;
  visibility: visible;
}

/* Accordion handling */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition:
    max-height 0.3s ease-out,
    opacity 0.3s ease;
  opacity: 0;
}
.accordion-content.open {
  max-height: 800px;
  opacity: 1;
}

@media (min-width: 1024px) {
  .mega-menu-container {
    width: calc(100vw - 2rem);
    max-width: 750px;
  }
}
.material-symbols-outlined {
  font-variation-settings:
    "FILL" 0,
    "wght" 400,
    "GRAD" 0,
    "opsz" 24;
}
.glass-header {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
}
.dark .glass-header {
  background: rgba(16, 22, 34, 0.95);
}

/* Accreditations marquee */
@keyframes marquee-accred {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.accred-track {
  animation: marquee-accred 28s linear infinite;
  will-change: transform;
}
.accred-track:hover {
  animation-play-state: paused;
}
.accred-mask {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 6%,
    black 94%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 6%,
    black 94%,
    transparent 100%
  );
}

/* ── Partners marquee ── */
@keyframes marquee-partners {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.partners-track {
  animation: marquee-partners 32s linear infinite;
  will-change: transform;
}
.partners-track:hover {
  animation-play-state: paused;
}
.partners-mask {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
}
