/* ===== Liane – shared custom styles (things Tailwind utilities can't express) ===== */

/* anzeigen-grotesk – served from the site's Adobe Typekit kit (same source as production) */
@font-face {
  font-family: "anzeigen-grotesk";
  src: url("https://use.typekit.net/af/632b74/000000000000000077359f07/30/l?primer=9534f20d24153432f138f14be19fe00ed05018076afc824dd1a6f6ca76bae7c7&fvd=n4&v=3") format("woff2"),
       url("https://use.typekit.net/af/632b74/000000000000000077359f07/30/d?primer=9534f20d24153432f138f14be19fe00ed05018076afc824dd1a6f6ca76bae7c7&fvd=n4&v=3") format("woff"),
       url("https://use.typekit.net/af/632b74/000000000000000077359f07/30/a?primer=9534f20d24153432f138f14be19fe00ed05018076afc824dd1a6f6ca76bae7c7&fvd=n4&v=3") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 400;
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* Fullscreen menu – arrow images that fade in on hover (ported from the Elementor kit custom CSS) */
/* Arrow sits left of the item, head pointing at the word start
   (client-requested change from the original's trailing position).
   Desktop-only: no hover on touch, and at mobile sizes it clutters the menu. */
.menu-arrow { position: relative; display: inline-block; }
.menu-arrow img { display: none; }
@media (min-width: 768px) {
  .menu-arrow img {
    display: inline;
    transition-duration: 500ms;
    opacity: 0;
    position: absolute;
    right: 100%;
    width: 105px;
    height: 64px;
    max-width: none;
  }
  .menu-arrow:hover img { opacity: 1; }
  .arr1 img { margin-right: -14px; top: 26px; }
  .arr2 img { margin-right: -14px; top: 26px; }
  .arr3 img { margin-right: -14px; top: 30px; }
}

/* Client-logo marquee (replaces The Plus horizontal-scroll widget) */
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 45s linear infinite;
}
.marquee-track.reverse { animation-direction: reverse; }
.marquee:hover .marquee-track { animation-play-state: paused; }

/* Vertical logo columns (desktop panel, per homepage design) */
@keyframes marquee-y {
  from { transform: translateY(0); }
  to   { transform: translateY(-50%); }
}
.marquee-track-v {
  display: flex;
  flex-direction: column;
  height: max-content;
  animation: marquee-y 50s linear infinite;
}
.marquee-track-v.reverse { animation-direction: reverse; }
.marquee-v:hover .marquee-track-v { animation-play-state: paused; }

/* Fullscreen menu overlay fade */
#menu-overlay {
  transition: opacity 0.8s ease;
  overflow-x: hidden; /* arrows anchored left of the items must not create a horizontal scrollbar */
}
#menu-overlay.is-closed {
  opacity: 0;
  pointer-events: none;
}
