/* twn-interactions.css — styles for the vanilla runtime (replaces Webflow IX2/JS).
   Loaded after the Webflow CSS so it can reuse/override Webflow component classes. */

/* --- Scroll reveal. Hidden only when JS is on (html.w-mod-js, set by the inline
   head script), so no-JS users and crawlers still see all content. --- */
html.w-mod-js [data-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.7s ease, transform 0.7s ease;
  will-change: opacity, transform;
}
html.w-mod-js [data-reveal].is-visible {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  html.w-mod-js [data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* --- Mobile nav open state (≤991px). Webflow's JS used to set this inline; we
   drive it from a .w--nav-open class on the navbar. Desktop is unaffected. --- */
@media screen and (max-width: 991px) {
  .w-nav.w--nav-open { position: relative; }
  .w-nav.w--nav-open .w-nav-menu {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: var(--_numbers---24, 20px);
    background-color: var(--_colors---ivory, #f7f4ef);
    background-image: linear-gradient(180deg, var(--_colors---ivory-80, #f7f4ef), var(--_colors---ivory-60, #f3efe8));
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.10);
    z-index: 50;
  }
}
