/* Tune amplitude here; individual durations / phase offsets live on SVG groups. */
.sw-pine-wind {
  --pine-strength: 1;
  --pine-branch-gain: .38;
  --pine-needle-gain: .5;
}
.sw-pine-wind .sw-pine { overflow: visible; }
.sw-pine-branch,.sw-pine-needles {
  transform-box: view-box;
  transform-origin: var(--pine-origin);
}
.sw-pine-wind[data-pine-ready] .sw-pine-branch,
.sw-pine-wind[data-pine-ready] .sw-pine-needles {
  animation: sw-pine-branch-breeze var(--pine-period) ease-in-out var(--pine-delay) infinite;
  animation-play-state: paused;
}
.sw-pine-wind[data-pine-ready] .sw-pine-branch { animation-name:sw-pine-branch-breeze; }
.sw-pine-wind[data-pine-ready] .sw-pine-needles { animation-name:sw-pine-crown-breeze; }
.sw-pine-wind[data-pine-running="true"] .sw-pine-branch,
.sw-pine-wind[data-pine-running="true"] .sw-pine-needles { animation-play-state: running; }
/* Reference ZIP's asymmetric breeze rhythm, softened for the existing quiet hero. */
@keyframes sw-pine-branch-breeze {
  0%,100% { transform:rotate(0deg); }
  23% { transform:rotate(calc(var(--bend) * var(--pine-strength) * var(--pine-branch-gain))); }
  49% { transform:rotate(calc(var(--bend) * -.30 * var(--pine-strength) * var(--pine-branch-gain))); }
  72% { transform:rotate(calc(var(--bend) * .64 * var(--pine-strength) * var(--pine-branch-gain))); }
  88% { transform:rotate(calc(var(--bend) * -.14 * var(--pine-strength) * var(--pine-branch-gain))); }
}
@keyframes sw-pine-crown-breeze {
  0%,100% { transform:rotate(0deg); }
  18% { transform:rotate(calc(.55deg * var(--pine-strength) * var(--pine-needle-gain))); }
  38% { transform:rotate(calc(-.38deg * var(--pine-strength) * var(--pine-needle-gain))); }
  65% { transform:rotate(calc(1.05deg * var(--pine-strength) * var(--pine-needle-gain))); }
  83% { transform:rotate(calc(-.24deg * var(--pine-strength) * var(--pine-needle-gain))); }
}
@media(max-width:782px) { .sw-pine-wind { --pine-strength:.55; } }
@media(prefers-reduced-motion:reduce) {
  .sw-pine-wind .sw-pine-branch,.sw-pine-wind .sw-pine-needles {
    animation:none!important;transform:none!important;
  }
}
