body {
  scroll-behavior: smooth;
}

.wu-button,
.wu-panel,
.wu-tile,
.wu-gallery img,
.wu-form,
.wu-cookie {
  transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.45s cubic-bezier(0.23, 1, 0.32, 1), background 0.45s cubic-bezier(0.23, 1, 0.32, 1);
}

.wu-panel:hover,
.wu-tile:hover,
.wu-gallery img:hover,
.wu-form:hover {
  transform: translate3d(0, -6px, 0);
  box-shadow: 0 48px 140px rgba(2, 6, 18, 0.55);
}

.wu-gallery img:hover {
  filter: saturate(1.2);
}

.wu-button--secondary:hover {
  box-shadow: 0 30px 90px rgba(54, 240, 227, 0.25);
}

.wu-menu a {
  position: relative;
}

.wu-menu a::after {
  content: '';
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 4px;
  height: 2px;
  background: linear-gradient(120deg, rgba(107, 125, 255, 0.5), rgba(54, 240, 227, 0.5));
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}

.wu-menu a:hover::after,
.wu-menu a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.wu-switch__button {
  border-radius: 999px;
  padding: 10px 22px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease, border 0.3s ease, transform 0.3s ease;
}

.wu-switch__button[aria-pressed='true'] {
  background: linear-gradient(120deg, rgba(107, 125, 255, 0.8), rgba(54, 240, 227, 0.8));
  border-color: transparent;
  transform: translateY(-2px);
}

.wu-cookie[data-visible='false'] {
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px);
}

.wu-cookie[data-visible='true'] {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 640px) {
  .wu-topline {
    flex-direction: column;
    align-items: flex-start;
  }

  .wu-hero__title {
    font-size: clamp(2.6rem, 8vw, 3.4rem);
  }

  .wu-gallery img {
    height: 180px;
  }
}
