/* ============================================================================
   NAV CTA — THE DONATE BUTTON, LIT.            extracted sitewide 2026-09-06

   FOUNDER REPORT 2026-09-06: "the 2 buttons on the right ... on OUR TEAM,
   FOUNDERS STORY, ORGANIZATIONS, and all the pages in the HOW IT WORKS tab is
   not the same look and style as the home page."  ACCURATE.

   ROOT CAUSE, MEASURED before this file existed. The header markup is one
   Theme Builder template (post 82, condition include/general) and rendered
   BYTE-IDENTICAL on every page - same <a class="btn btn--primary btn--sm">,
   same popup href, same <button class="btn btn--outline btn--sm">. The
   difference was never markup. It was that the button's ENTIRE animated
   treatment lived in motion-plus.css, which inc/asset-map.php enqueues only
   inside `case 'home':`. Grep of the served CSS bundle, logged out:

       donate-breathe   home 2   our-team 0   story 0
                        for-organizations 0   closed-loop-referral 0
                        no-dead-end-referral-system 0
       donate-shine     identical result

   So on the homepage the button breathes, a shine crosses it on its own
   clock, and it lifts 2px on hover. On every other page it was a flat static
   pill. The FILL was already correct sitewide - styles.css's appended
   `.nav .nav__cta .btn--primary,.nav__cta .btn--primary.btn--sm` (0,3,0)
   bright-green block ships in styles.min.css on every page - which is why the
   colour matched and only the life was missing.

   This file is a VERBATIM lift of the motion-plus.css block, enqueued
   sitewide and unconditionally, same tier as signature.css and
   elementor-bridge.css. Nothing is retuned. The two `background` declarations
   and the box-shadow below are outranked identically on EVERY page by that
   same (0,3,0) rule in styles.css, exactly as they already were on the
   homepage - they are carried across unchanged so the cascade behaves
   byte-for-byte as it always has rather than depending on my reasoning about
   specificity.

   --ease-enter is declared in styles.css (:root, sitewide) and is present in
   styles.min.css on every page - verified before extraction, not assumed.

   SINGLE SOURCE OF TRUTH: the matching block has been removed from
   motion-plus.css. Do not restore it there. Edit the button here.
   ========================================================================== */

/* Same luminance ceiling as .door__go, for the same reason: the white 13px/600
   label sets it, not taste. #1B8055 = 4.92:1, #14663F = 7.0:1, so the whole
   glyph band clears AA with margin — and it needs margin here, because
   donate-shine lays rgba(255,255,255,.42) across the label as it crosses. */
.nav__cta .btn--primary{position:relative;overflow:hidden;
  background:linear-gradient(180deg,#1B8055,#14663F);
  box-shadow:0 10px 24px -12px rgba(32,103,74,.9),inset 0 1px 0 rgba(255,255,255,.28);
  animation:donate-breathe 3.6s var(--ease-enter) infinite}
@keyframes donate-breathe{
  0%,100%{box-shadow:0 10px 24px -12px rgba(32,103,74,.9),inset 0 1px 0 rgba(255,255,255,.28),0 0 0 0 rgba(63,191,132,0)}
  55%{box-shadow:0 12px 30px -12px rgba(32,103,74,.95),inset 0 1px 0 rgba(255,255,255,.34),0 0 22px 2px rgba(63,191,132,.45)}
}
/* a shine crosses it on its own clock, not only on hover */
.nav__cta .btn--primary::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.42) 50%,transparent 66%);
  transform:translateX(-130%);animation:donate-shine 4.8s var(--ease-enter) infinite}
@keyframes donate-shine{0%,62%{transform:translateX(-130%)}86%,100%{transform:translateX(130%)}}
.nav__cta .btn--primary:hover{background:linear-gradient(180deg,#1A7D53,#12603C);transform:translateY(-2px)}

/* Reduced motion: the button keeps its full static appearance, loses only the
   two wall-clock loops. Carried across from motion-plus.css; the .door part of
   the original selector list stays there, since .door is homepage-only. */
@media (prefers-reduced-motion:reduce){
  .nav__cta .btn--primary,.nav__cta .btn--primary::after{animation:none}
}