/* Final nature motion: correct flight direction, a living wing beat, and calm surfaces. */
.site-bird {
  display: block;
  aspect-ratio: 16 / 9;
  opacity: 0.2;
  mix-blend-mode: normal;
  filter: drop-shadow(0 8px 14px rgba(3, 24, 20, 0.16));
}

.site-bird-sprite {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: 52% 52%;
  will-change: transform;
  animation: toucanWingBeat 1.08s ease-in-out infinite;
}

/* The source bird faces left. Flip only the birds travelling to the right. */
.site-bird-one .site-bird-sprite,
.site-bird-three .site-bird-sprite {
  --bird-facing: -1;
}

.site-bird-two .site-bird-sprite {
  --bird-facing: 1;
  animation-delay: -0.34s;
}

.hero > .hero-birds {
  position: absolute;
  inset: 0;
  z-index: 6;
  overflow: hidden;
  pointer-events: none;
}

.hero .site-bird-one {
  top: 19%;
  left: -22%;
  width: clamp(110px, 13vw, 220px);
  opacity: 0.2;
  animation: heroToucanFlight 28s linear infinite;
}

@keyframes heroToucanFlight {
  0% {
    transform: translate3d(0, 4vh, 0) rotate(-1.5deg);
  }
  48% {
    transform: translate3d(68vw, -3vh, 0) rotate(1deg);
  }
  100% {
    transform: translate3d(145vw, 2vh, 0) rotate(-0.5deg);
  }
}

@keyframes toucanWingBeat {
  0%,
  100% {
    transform: scaleX(var(--bird-facing)) scaleY(1) rotate(0deg) translateY(0);
  }
  24% {
    transform: scaleX(var(--bird-facing)) scaleY(0.86) rotate(-1.8deg) translateY(2%);
  }
  52% {
    transform: scaleX(var(--bird-facing)) scaleY(1.05) rotate(1.4deg) translateY(-2%);
  }
  76% {
    transform: scaleX(var(--bird-facing)) scaleY(0.92) rotate(-0.8deg) translateY(1%);
  }
}

.bird-section-flight img {
  transform-origin: 52% 52%;
  animation: toucanSectionWingBeat 1.15s ease-in-out infinite;
}

@keyframes toucanSectionWingBeat {
  0%,
  100% {
    transform: scaleY(1) rotate(0deg);
  }
  28% {
    transform: scaleY(0.87) rotate(-1.4deg);
  }
  58% {
    transform: scaleY(1.04) rotate(1.1deg);
  }
}

/* Remove line and stripe textures so every section reads as one clean landscape. */
.hero-grain,
.day-journey::after,
.global-film::before {
  display: none !important;
}

.house-gallery::before {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(21, 75, 61, 0.04)),
    url("./assets/gallery/our-mountain/original/03-tropical-garden-path.jpg") center / cover no-repeat !important;
  opacity: 0.08 !important;
}

/* A botanical editorial title, raised into the open sky without covering the rainbow. */
.hero-content {
  font-family: "Manrope", sans-serif;
}

.hero .hero-brand-lockup h1 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  line-height: 0.82;
  letter-spacing: 0;
  text-shadow: 0 4px 22px rgba(0, 0, 0, 0.34);
}

.hero .hero-brand-lockup h1 span:first-child {
  font-style: italic;
  font-weight: 500;
}

.hero .hero-brand-lockup p {
  font-family: "Manrope", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
}

@media (min-width: 821px) {
  .hero-content {
    bottom: clamp(10.6rem, 20vh, 13.2rem);
  }
}

@media (max-width: 820px) {
  .hero-content {
    margin-top: -0.55rem;
  }
}

@media (max-width: 560px) {
  .hero .hero-brand-lockup h1 {
    font-size: clamp(2.45rem, 11.7vw, 3.25rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-bird-sprite,
  .bird-section-flight img {
    animation: none !important;
  }
}