/*
 * HOMEPAGE VISUAL FLOW
 *
 * This file is intentionally isolated from the core theme styles. Removing
 * this stylesheet and the matching home-flow scripts restores the exact
 * v2.1.45 presentation without leaving partial overrides behind.
 */

.home-flow {
  position: relative;
  overflow: clip;
}

.home-flow > [data-section] {
  position: relative;
  scroll-margin-top: 96px;
}

/* Quiet chapter dividers make the long homepage read as one continuous story. */
.home-flow > .stories,
.home-flow > .about-section {
  isolation: isolate;
}

.home-flow > .stories::before,
.home-flow > .about-section::before {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: min(720px, 72%);
  height: 1px;
  content: "";
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(82, 96, 59, 0.34), transparent);
}

.home-flow > .stories::after {
  position: absolute;
  top: 18px;
  right: 8%;
  z-index: -1;
  width: min(420px, 42vw);
  aspect-ratio: 1;
  content: "";
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(222, 208, 184, 0.18), transparent 68%);
}

.home-flow > .village-section {
  box-shadow:
    inset 0 1px rgba(247, 243, 233, 0.13),
    inset 0 -1px rgba(247, 243, 233, 0.12);
}

.home-flow > .village-section::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(247, 243, 233, 0.045), transparent 18%, transparent 82%, rgba(9, 13, 7, 0.09));
}

.home-flow > .village-section > * {
  position: relative;
  z-index: 1;
}

.home-flow > .shorts-section {
  background:
    linear-gradient(180deg, rgba(222, 208, 184, 0.2), transparent 18%, transparent 84%, rgba(255, 253, 247, 0.28));
}

.home-flow > .contact-section {
  box-shadow: inset 0 24px 48px rgba(82, 96, 59, 0.035);
}

/* Added by HomeFlowEnhancer/home-flow.js only when motion is supported. */
.flow-reveal-item {
  --flow-delay: 0ms;
}

html.home-flow-motion .flow-reveal-item {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    opacity 520ms cubic-bezier(0.22, 1, 0.36, 1) var(--flow-delay),
    transform 620ms cubic-bezier(0.22, 1, 0.36, 1) var(--flow-delay);
  will-change: opacity, transform;
}

html.home-flow-motion .flow-reveal-item.is-flow-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

@media (max-width: 900px) {
  .home-flow > [data-section] {
    scroll-margin-top: 80px;
  }

  .home-flow > .stories::after {
    display: none;
  }

  html.home-flow-motion .flow-reveal-item {
    transform: translate3d(0, 10px, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.home-flow-motion .flow-reveal-item,
  html.home-flow-motion .flow-reveal-item.is-flow-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
