/* ── SCROLL REVEAL ───────────────────────── */

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── HERO TITLE ENTRANCE ─────────────────── */

.hero__title--animate {
  animation: heroTitleIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both;
}

@keyframes heroTitleIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── NAVBAR SCROLL STATE ─────────────────── */

site-nav.site-nav--scrolled {
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
  background-color: rgba(245, 240, 232, 0.92);
}

@media (min-width: 769px) {
  site-nav.site-nav--scrolled {
    backdrop-filter: blur(8px);
  }
}

/* ── ACTIVE NAV LINKS ────────────────────── */

.navbar__nav a.is-active,
.dropdown.is-active > .dropdownbtn {

  opacity: 1;
  position: relative;
}

.navbar__nav a.is-active::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: var(--color-accent, #c47a2c);
  border-radius: 1px;
}

/* ── BUTTON HOVER ENHANCEMENTS ───────────── */

.btn-join,
.kast__link {
  transition:
    color 0.2s ease,
    transform 0.2s ease,
    opacity 0.2s ease;
}

.btn-join:hover {
  transform: translateY(-2px);
}

.kast__pilt img {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.kast:hover .kast__pilt img {
  transform: scale(1.04);
}

/* ── MOBILE NAV OPEN STATE ───────────────── */

body.nav-menu-open {
  overflow: hidden;
}
