.home-v2 .site-header nav { gap: 4px; }
.home-v2 .site-header nav a {
  position: relative;
  isolation: isolate;
  display: grid;
  min-width: 92px;
  min-height: 62px;
  padding: 12px 14px;
  place-items: center;
  border: 0;
  border-radius: 15px;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .25s ease;
}
.home-v2 .site-header nav a::after {
  display: block;
  right: 14px;
  left: 14px;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .28s ease;
}
.home-v2 .site-header nav a::before {
  display: none;
}
.home-v2 .site-header nav a:hover,
.home-v2 .site-header nav a:focus-visible {
  background: transparent;
  color: #f4d47f;
  outline: none;
  transform: none;
}
.home-v2 .site-header nav a:hover::after,
.home-v2 .site-header nav a:focus-visible::after,
.home-v2 .site-header nav a.active::after { transform: scaleX(1); }
.home-v2 .site-header nav a.active { color: #f4d47f; text-shadow: none; }

.home-v2 .site-header .brand {
  opacity: 0;
  transform: translateY(-8px) scale(.92);
  pointer-events: none;
  transition: opacity .65s ease, transform .8s cubic-bezier(.2,.7,.25,1);
}
.home-v2.has-scrolled-logo .site-header .brand {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.hero-logo-wrap {
  width: min(100%, 520px);
  margin: 0 auto 26px;
  opacity: 1;
  transform: none;
  transition: opacity .55s ease, transform .75s cubic-bezier(.2,.7,.25,1);
}
.hero-brand-logo {
  display: block;
  width: clamp(300px, 36vw, 470px);
  max-width: 100%;
  height: auto;
  margin: auto;
  filter: drop-shadow(0 16px 28px rgba(0, 0, 0, .28));
  animation: public-logo-breathe 8s ease-in-out infinite;
  transform-origin: center;
}
.home-v2.has-scrolled-logo .hero-logo-wrap {
  opacity: 0;
  transform: translateY(-24px) scale(.9);
}

.public-falling-star,
.public-cursor-star,
.public-click-star,
.public-click-particle {
  position: fixed;
  z-index: 110;
  display: block;
  max-width: none;
  pointer-events: none;
  user-select: none;
  will-change: transform, opacity;
}
.public-falling-star {
  top: -60px;
  filter: drop-shadow(0 0 8px rgba(246, 215, 133, .82));
  animation: public-star-fall var(--fall-time) linear forwards;
}
.public-cursor-star {
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 0 6px rgba(246, 215, 133, .8));
  animation: public-cursor-spark .82s ease-out forwards;
}
.public-click-star {
  width: 22px;
  height: 22px;
  transform: translate(-50%, -50%) scale(.38) rotate(-16deg);
  filter: drop-shadow(0 0 7px rgba(255, 226, 139, .9));
  animation: public-click-burst .52s cubic-bezier(.22,.72,.32,1) forwards;
}
.public-click-particle {
  transform: translate(-50%, -50%) scale(.25);
  filter: drop-shadow(0 0 7px rgba(255, 226, 139, .88));
  animation: public-click-particle .72s cubic-bezier(.17,.67,.28,1) forwards;
}

@keyframes public-logo-breathe {
  0%, 100% { transform: scale(.97); }
  50% { transform: scale(1.035); }
}
@keyframes public-star-fall {
  0% { opacity: 0; transform: translate3d(0, -30px, 0) scale(var(--star-scale)) rotate(0deg); }
  10% { opacity: .92; }
  100% { opacity: 0; transform: translate3d(var(--drift), 112vh, 0) scale(var(--star-scale)) rotate(240deg); }
}
@keyframes public-cursor-spark {
  0% { opacity: .95; transform: translate(-50%, -50%) scale(.35) rotate(0deg); }
  55% { opacity: .72; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--spark-x)), calc(-50% + var(--spark-y))) scale(1.18) rotate(105deg); }
}
@keyframes public-click-burst {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.38) rotate(-16deg); }
  26% { opacity: .95; }
  68% { opacity: .88; transform: translate(-50%, -50%) scale(.96) rotate(8deg); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.1) rotate(18deg); }
}
@keyframes public-click-particle {
  0% { opacity: 1; transform: translate(-50%, -50%) scale(.28) rotate(0deg); }
  100% { opacity: 0; transform: translate(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y))) scale(1.15) rotate(var(--burst-rotation)); }
}

@media (max-width: 1120px) {
  .home-v2 .site-header nav { display: none; }
}
@media (pointer: coarse) {
  .public-cursor-star { display: none; }
}

@media (orientation: landscape) and (max-height: 760px) {
  .home-v2 .site-header .brand {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-brand-logo { animation: none; }
  .hero-logo-wrap,
  .home-v2 .site-header .brand { transition: none; }
  .public-falling-star,
  .public-cursor-star,
  .public-click-star,
  .public-click-particle { display: none !important; }
}
