/* GreenyGift V4: progressive scroll polish. No required content is hidden in CSS. */
.gg-scroll-meter {
  --gg-reading-position: 0;
  position: fixed;
  z-index: 34;
  top: 77px;
  left: 0;
  width: 100%;
  height: 2px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .32s ease;
}
.gg-scroll-meter.is-visible { opacity: .9; }
.gg-scroll-meter > span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(var(--gg-reading-position));
  transform-origin: left center;
  background: linear-gradient(90deg, #7f9a61, #e0efb8 63%, #f1f4d6);
  box-shadow: 0 0 12px rgba(202, 227, 167, .35);
  will-change: transform;
}
/* Product media remains clipping-safe during the one-time reveal. */
#gg-product-preview .gg-stage { isolation: isolate; }
/* A delicate growing line complements the original process timeline. */
.gg-process li { position: relative; --gg-step-line: 0; }
.gg-process li::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, #3d7250, #8eae70 66%, transparent);
  transform: scaleX(var(--gg-step-line));
  transform-origin: left;
}
/* Parallax uses a CSS custom property instead of overriding GSAP's image reveal. */
@media (min-width:768px) and (prefers-reduced-motion:no-preference) {
  .story-figure img {
    transform: translate3d(0, var(--gg-figure-parallax, 0px), 0) scale(1.10);
  }
  .story-figure:hover img {
    transform: translate3d(0, var(--gg-figure-parallax, 0px), 0) scale(1.16);
  }
}
@media (max-width:700px) {
  .gg-scroll-meter { top: 67px; height: 2px; }
}
@media (prefers-reduced-motion:reduce) {
  .gg-scroll-meter { display: none !important; }
  .gg-process li::before { display: none; }
}