/* Scroll heart: starts behind the header photo, lands on the call to action. Switch off with BHV_SCROLL_HEART false. */
.has-scrollheart .hero::before,.has-scrollheart .hero::after{display:none}
.bg-heart{position:fixed;z-index:0;pointer-events:none;top:0;left:0;width:min(640px,70vw);aspect-ratio:1;opacity:0;will-change:transform;transition:opacity .4s}
.bg-heart.is-ready{opacity:var(--hop,.075)}
.bg-heart__in{width:100%;height:100%;transform-origin:50% 55%}
.bg-heart__in{position:relative}
.bg-heart svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.bg-heart__white{opacity:0}
.bg-heart__ring{position:absolute;inset:18%;border-radius:50%;border:3px solid #D90700;opacity:0}
.bg-heart.is-free .bg-heart__in{animation:bgbeat 1s ease-in-out infinite}
.bg-heart.is-beat .bg-heart__in{animation:bgbeatbig .75s ease-out 1}
.bg-heart.is-beat .bg-heart__ring{animation:bgring .85s ease-out 1}
@keyframes bgbeat{0%{transform:scale(1)}12%{transform:scale(1.06)}24%{transform:scale(.99)}36%{transform:scale(1.04)}55%,100%{transform:scale(1)}}
@keyframes bgbeatbig{0%{transform:scale(1)}15%{transform:scale(1.14)}30%{transform:scale(.97)}45%{transform:scale(1.09)}70%,100%{transform:scale(1)}}
@keyframes bgring{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.8);opacity:0}}
@media (max-width:960px){.bg-heart{width:90vw}}
@media (prefers-reduced-motion:reduce){.bg-heart__in,.bg-heart.is-beat .bg-heart__in{animation:none}.bg-heart__ring{display:none}}
/* Heart sits above section backgrounds but behind all content */
.has-scrollheart main > section > .wrap,.has-scrollheart main > nav > .wrap,.has-scrollheart .site-foot > .wrap,.has-scrollheart .strip__track{position:relative;z-index:1}
