/* Shared UI polish for all pages */

:root {
  --consmat-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

.nav-link-active {
  color: #ff7a00 !important;
  font-weight: 600;
}
.nav-link-active .material-symbols-outlined {
  color: #ff7a00 !important;
}

@keyframes consmatLogoFadeIn {
  from {
    opacity: 0;
    transform: translate3d(0, 6px, 0);
    filter: blur(2px);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

.site-logo {
  will-change: opacity, transform, filter;
  animation: consmatLogoFadeIn 1100ms var(--consmat-ease-out) both;
}

.site-header {
  transform-origin: top;
  will-change: transform, opacity;
  transition:
    transform 420ms var(--consmat-ease-out),
    opacity 240ms ease-out;
}
.site-header.is-revealing {
  animation: consmatHeaderFlipIn 520ms var(--consmat-ease-out) both;
}
.site-header.is-hidden {
  opacity: 0;
  transform: translate3d(0, -100%, 0) rotateX(90deg);
  pointer-events: none;
}

@keyframes consmatHeaderFlipIn {
  0% {
    opacity: 0;
    transform: translate3d(0, -14px, 0) rotateX(-70deg);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotateX(10deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotateX(0deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-logo {
    animation: none;
  }
  .site-header {
    transition: none;
  }
  .site-header.is-revealing {
    animation: none;
  }
  .site-header.is-hidden {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}

.mobile-menu {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translate3d(0, -8px, 0);
  transition:
    max-height 420ms var(--consmat-ease-out),
    opacity 200ms ease-out,
    transform 420ms var(--consmat-ease-out);
}
.mobile-menu.is-open {
  max-height: 80vh;
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}

.modal-backdrop {
  backdrop-filter: blur(10px);
}

.modal-panel {
  transform-origin: top;
  will-change: transform, opacity;
  transition:
    transform 220ms var(--consmat-ease-out),
    opacity 180ms ease-out;
}

.modal-panel-enter {
  opacity: 0;
  transform: translate3d(0, 8px, 0) scale(0.98);
}
