/* Homepage decoration animations.
   Revert: dequeue this file in functions.php OR delete this file. */

@media (prefers-reduced-motion: reduce) {
    .sn-hero__deco,
    .sn-mission__deco,
    .sn-mission__squiggle,
    .sn-problem__deco,
    .sn-tabs__top-hands,
    .sn-tabs__deco,
    .sn-real-life__curly,
    .sn-progress__butterfly,
    .sn-progress__deco--hand,
    .sn-newsletter__deco,
    .sn-journey-hero__deco,
    .sn-journey-path__deco,
    .sn-journey-story__deco,
    .sn-journey-learn__squiggle,
    .sn-statement-hero__deco,
    .sn-statement-mission__butterfly,
    .sn-team-leadership__deco,
    .sn-team-roadmap__deco,
    .sn-team-orgpartners__butterfly,
    .sn-pm-hero__butterflies,
    .sn-pm-forums__megaphone,
    .sn-pm-forums__butterflies,
    .sn-statement-vision__image,
    .sn-resources-contact__butterfly {
        animation: none !important;
        transition: none !important;
    }
}

@keyframes sn-float-a {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
    50%      { transform: translate3d(0, -8px, 0) rotate(-2deg); }
}
@keyframes sn-float-b {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
    50%      { transform: translate3d(0, -7px, 0) rotate(2.5deg); }
}
@keyframes sn-pulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.03); }
}
@keyframes sn-sway {
    0%, 100% { transform: rotate(-4deg); }
    50%      { transform: rotate(4deg); }
}

.sn-deco-paused {
    animation-play-state: paused !important;
}

/* GROUP A — Butterflies + hands (idle float) */
.sn-hero__deco--tl,
.sn-mission__deco--tl,
.sn-tabs__deco--hands,
.sn-progress__butterfly,
.sn-progress__deco--hand,
.sn-problem__deco--hands-heart {
    animation: sn-float-a 3.2s ease-in-out infinite;
    transform-origin: center;
    will-change: transform;
}
.sn-hero__deco--br,
.sn-tabs__top-hands,
.sn-newsletter__deco--butterfly {
    animation: sn-float-b 3.5s ease-in-out infinite;
    animation-delay: -1s;
    transform-origin: center;
    will-change: transform;
}

/* Elements with existing transforms — preserve them */
.sn-problem__deco--left {
    animation: sn-float-problem 3.4s ease-in-out infinite;
    will-change: transform;
}
@keyframes sn-float-problem {
    0%, 100% { transform: translateX(-30%) translateY(0) rotate(0deg); }
    50%      { transform: translateX(-30%) translateY(-22px) rotate(-6deg); }
}
.sn-tabs__deco--butterfly {
    animation: sn-pulse-tabs 2.6s ease-in-out infinite;
    will-change: transform;
}
@keyframes sn-pulse-tabs {
    0%, 100% { transform: translate(-50%, -50%) scale(1); }
    50%      { transform: translate(-50%, -50%) scale(1.14); }
}

/* GROUP B — Symbolic (brain, megaphone) — pulse */
.sn-hero__deco--tr,
.sn-mission__deco--tr,
.sn-newsletter__deco--brain {
    animation: sn-pulse 2.4s ease-in-out infinite;
    transform-origin: center;
    will-change: transform;
}

/* GROUP C — Lines, squiggles (sway) */
.sn-hero__deco--above-right,
.sn-mission__squiggle,
.sn-real-life__curly,
.sn-newsletter__deco--curly {
    animation: sn-sway 2.8s ease-in-out infinite;
    transform-origin: center;
    will-change: transform;
}

/* Butterfly hover — pointer events + glow on img child */
.sn-hero__deco--tl,
.sn-hero__deco--br,
.sn-mission__deco--tl,
.sn-progress__butterfly,
.sn-newsletter__deco--butterfly,
.sn-statement-mission__butterfly,
.sn-team-orgpartners__butterfly,
.sn-pm-hero__butterflies,
.sn-pm-forums__butterflies,
.sn-resources-contact__butterfly {
    pointer-events: auto;
}
.sn-hero__deco--tl img,
.sn-hero__deco--br img,
.sn-mission__deco--tl img,
.sn-progress__butterfly img,
.sn-newsletter__deco--butterfly img,
.sn-statement-mission__butterfly img,
.sn-team-orgpartners__butterfly img,
.sn-pm-hero__butterflies img,
.sn-pm-forums__butterflies img,
.sn-resources-contact__butterfly img {
    transition: filter 0.35s ease, transform 0.35s ease;
}
.sn-hero__deco--tl:hover img,
.sn-hero__deco--br:hover img,
.sn-mission__deco--tl:hover img,
.sn-progress__butterfly:hover img,
.sn-newsletter__deco--butterfly:hover img,
.sn-statement-mission__butterfly:hover img,
.sn-team-orgpartners__butterfly:hover img,
.sn-pm-hero__butterflies:hover img,
.sn-pm-forums__butterflies:hover img,
.sn-resources-contact__butterfly:hover img {
    filter: drop-shadow(0 4px 16px rgba(168, 221, 197, 0.8)) brightness(1.1);
    transform: scale(1.15);
}

/* GROUP A — TL-positioned decos (idle float) — inner pages */
.sn-journey-hero__deco--tl,
.sn-journey-path__deco--top-left,
.sn-journey-story__deco--left,
.sn-team-leadership__deco--top-left,
.sn-team-roadmap__deco--left,
.sn-statement-hero__deco--left,
.sn-statement-mission__butterfly,
.sn-team-orgpartners__butterfly,
.sn-pm-forums__butterflies,
.sn-resources-contact__butterfly {
    animation: sn-float-a 3.2s ease-in-out infinite;
    transform-origin: center;
    will-change: transform;
}

/* GROUP A alternate — BR/BL/TR-positioned decos (delayed float) */
.sn-journey-hero__deco--br,
.sn-journey-hero__deco--bl,
.sn-journey-hero__deco--tr,
.sn-journey-path__deco--bottom-right,
.sn-journey-path__deco--bottom-left,
.sn-journey-path__deco--top-right,
.sn-journey-story__deco--right,
.sn-team-leadership__deco--bottom-left,
.sn-team-leadership__deco--bottom-right,
.sn-team-leadership__deco--top-right,
.sn-team-roadmap__deco--right,
.sn-statement-hero__deco--right {
    animation: sn-float-b 3.5s ease-in-out infinite;
    animation-delay: -1s;
    transform-origin: center;
    will-change: transform;
}

/* GROUP B — Symbolic (megaphone + statement-vision brain) pulse — inner pages */
.sn-pm-forums__megaphone,
.sn-statement-vision__image {
    animation: sn-pulse 2.4s ease-in-out infinite;
    transform-origin: center;
    will-change: transform;
}

/* Press-media hero butterflies — alternate float */
.sn-pm-hero__butterflies {
    animation: sn-float-b 3.5s ease-in-out infinite;
    animation-delay: -1s;
    transform-origin: center;
    will-change: transform;
}

/* GROUP C — Lines/squiggles (sway) — inner pages */
.sn-journey-learn__squiggle,
.sn-journey-learn__squiggle-col {
    animation: sn-sway 2.8s ease-in-out infinite;
    transform-origin: center;
    will-change: transform;
}


/* Scroll-in entry */
[data-sn-deco-watch] {
    opacity: 0;
    transition: opacity 0.8s ease-out;
}
[data-sn-deco-watch].sn-deco-in {
    opacity: 1;
}

.sn-deco-done {
    animation: none !important;
}

.sn-cursor-butterfly {
    position: fixed;
    pointer-events: none;
    z-index: 9999;
    width: 18px;
    height: 12px;
    transform-origin: center;
}
.sn-cursor-butterfly::before,
.sn-cursor-butterfly::after {
    content: '';
    position: absolute;
    top: 0;
    width: 9px;
    height: 12px;
    background: currentColor;
    opacity: 0.88;
}
.sn-cursor-butterfly::before {
    left: 0;
    border-radius: 80% 20% 60% 40% / 60% 40% 80% 20%;
    transform: rotate(-20deg);
    transform-origin: 100% 50%;
}
.sn-cursor-butterfly::after {
    right: 0;
    border-radius: 20% 80% 40% 60% / 40% 60% 20% 80%;
    transform: rotate(20deg);
    transform-origin: 0% 50%;
}
.sn-donate-butterfly {
    position: fixed;
    pointer-events: none;
    z-index: 9999;
    width: 52px;
    height: auto;
    transform-origin: center;
}

.sn-cursor-butterfly {
    animation: sn-cursor-fly 1s ease-out forwards;
}
@keyframes sn-cursor-fly {
    0%   { opacity: 0.9; transform: translate(0, 0) scale(1); }
    60%  { opacity: 0.5; }
    100% { opacity: 0; transform: translate(var(--fly-x, 18px), -52px) scale(0.35) rotate(var(--fly-r, 35deg)); }
}

.sn-donate-butterfly {
    animation: sn-donate-fly 2s ease-out forwards;
}
@keyframes sn-donate-fly {
    0%   { opacity: 1;   transform: translate(0, 0) scale(1.1) rotate(0deg); }
    75%  { opacity: 1;   transform: translate(calc(var(--dx, 0px) * 0.75), calc(var(--dy, -45px) * 0.75)) scale(0.8) rotate(calc(var(--dr, 50deg) * 0.6)); }
    100% { opacity: 0;   transform: translate(var(--dx, 0px), var(--dy, -45px)) scale(0.5) rotate(var(--dr, 50deg)); }
}

@media (prefers-reduced-motion: reduce) {
    .sn-cursor-butterfly,
    .sn-donate-butterfly { display: none !important; }
}

.sn-cursor-sticker {
    position: fixed;
    pointer-events: none;
    z-index: 9999;
    height: auto;
    transform-origin: center;
    animation: sn-sticker-fly 3.5s ease-out forwards;
    border-radius: 0;
    background: transparent;
    display: block;
}
@keyframes sn-sticker-fly {
    0%   { opacity: 1; transform: translate(0, 0) rotate(0deg) scale(1); }
    80%  { opacity: 1; transform: translate(calc(var(--fly-x, 20px) * 0.5), -20px) scale(0.85) rotate(calc(var(--fly-r, 45deg) * 0.5)); }
    100% { opacity: 0; transform: translate(var(--fly-x, 20px), -45px) scale(0.5) rotate(var(--fly-r, 45deg)); }
}
@media (prefers-reduced-motion: reduce) {
    .sn-cursor-sticker { display: none !important; }
}
@media (max-width: 767px) {
    .sn-cursor-sticker { display: none !important; }
}

/* Scroll reveal */
[data-sn-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1), transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}
[data-sn-reveal].sn-in {
    opacity: 1;
    transform: translateY(0);
}
[data-sn-reveal].sn-out {
    opacity: 0;
    transform: translateY(-18px);
    transition: opacity 0.4s ease-in, transform 0.4s ease-in;
}

@media (max-width: 767px) {
    .sn-hero__deco--tl,
    .sn-hero__deco--br,
    .sn-hero__deco--tr,
    .sn-hero__deco--above-right,
    .sn-mission__deco--tl,
    .sn-mission__deco--tr,
    .sn-mission__squiggle,
    .sn-problem__deco--left,
    .sn-problem__deco--hands-heart,
    .sn-tabs__top-hands,
    .sn-tabs__deco--hands,
    .sn-tabs__deco--butterfly,
    .sn-real-life__curly,
    .sn-progress__butterfly,
    .sn-progress__deco--hand,
    .sn-newsletter__deco--butterfly,
    .sn-newsletter__deco--brain,
    .sn-newsletter__deco--curly,
    .sn-journey-hero__deco--tl,
    .sn-journey-hero__deco--br,
    .sn-journey-hero__deco--bl,
    .sn-journey-hero__deco--tr,
    .sn-journey-path__deco--top-left,
    .sn-journey-path__deco--bottom-right,
    .sn-journey-path__deco--bottom-left,
    .sn-journey-path__deco--top-right,
    .sn-journey-story__deco--left,
    .sn-journey-story__deco--right,
    .sn-journey-learn__squiggle,
    .sn-journey-learn__squiggle-col,
    .sn-statement-hero__deco--left,
    .sn-statement-hero__deco--right,
    .sn-statement-mission__butterfly,
    .sn-statement-vision__image,
    .sn-team-leadership__deco--top-left,
    .sn-team-leadership__deco--bottom-left,
    .sn-team-leadership__deco--bottom-right,
    .sn-team-leadership__deco--top-right,
    .sn-team-roadmap__deco--left,
    .sn-team-roadmap__deco--right,
    .sn-team-orgpartners__butterfly,
    .sn-pm-hero__butterflies,
    .sn-pm-forums__megaphone,
    .sn-pm-forums__butterflies,
    .sn-resources-contact__butterfly {
        animation: none !important;
        will-change: auto !important;
    }
    .sn-cursor-butterfly,
    .sn-donate-butterfly {
        display: none !important;
    }
}
