.masthead{transition:transform .35s var(--ease-out-strong)}
.top-bar.is-scrolled{background:rgba(12,11,9,.82);border-bottom-color:rgba(247,243,238,.08)}
.site-header.is-scrolled{background:rgba(28,26,23,.46);box-shadow:0 12px 30px rgba(13,12,10,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.hero-video{pointer-events:none}
.problem-panel,.solution-panel{will-change:transform,opacity}
.scroll-story-bg{will-change:transform;transform-origin:center center;transition:none}
.scroll-story-bg img{transform:scale(1.015)}
.outcomes-copy-card,.outcomes-photo,.outcomes-pill{will-change:transform,opacity,filter}
.outcome-changing{animation:outcome-swap .72s var(--ease-out-strong) both}
.outcomes-photo.outcome-changing{animation-name:outcome-photo-swap}
@keyframes outcome-swap{0%{opacity:0;filter:blur(9px);transform:translateY(28px)}100%{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes outcome-photo-swap{0%{opacity:.2;filter:blur(8px);transform:translateY(20px) scale(.975)}100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
.contact-bg{background-image:url('../media/imgi_18_first-aid-training-cpr-nMBFlc1-.webp');background-position:center;background-size:cover}
@media (prefers-reduced-motion:reduce){.outcome-changing{animation:none}.scroll-story-bg{transform:none!important}}

/* Mobile uses a conventional swipeable carousel; desktop keeps scroll storytelling. */
@media (width<=680px){
  .scroll-story.story-mobile-carousel{min-height:auto;padding:0}
  .story-mobile-carousel .scroll-story-viewport{height:auto;min-height:auto;position:relative;overflow:hidden}
  .story-mobile-carousel .scroll-story-inner{height:auto;min-height:auto}
  .story-mobile-carousel .scroll-story-sticky{min-height:auto;padding:4.8rem 0;display:grid}
  .story-mobile-carousel .story-visual{width:100%;min-height:23rem;align-content:center;touch-action:pan-y;user-select:none}
  .story-mobile-carousel .story-visual h3{font-size:clamp(2rem,10vw,2.8rem)}
  .story-mobile-carousel .story-visual p{line-height:1.7}
  .story-mobile-carousel .story-progress{width:min(100%,18rem);margin-bottom:1.6rem}
  .story-mobile-carousel .story-progress-bar{appearance:none;border:0;padding:0;width:100%;cursor:pointer}
  .story-mobile-controls{display:flex;justify-content:center;gap:.8rem;margin-top:1.5rem}
  .story-mobile-arrow{width:3rem;height:3rem;border:1px solid rgba(247,243,238,.28);border-radius:50%;color:var(--color-cream);background:rgba(247,243,238,.08);display:grid;place-items:center;font-size:1.35rem;line-height:1}
  .story-mobile-arrow:active{background:var(--color-accent);color:var(--color-ink)}
}
.testimonials-section{overflow:hidden}.testimonial-shell{max-width:1120px!important;text-align:left!important;background:transparent!important;border:0!important;padding:0!important}.testimonial-head{text-align:center;max-width:760px;margin:0 auto 2.5rem}.testimonial-head h2{font-size:clamp(2rem,4vw,3.5rem)!important}.testimonial-head p{max-width:650px;margin:1rem auto 0;color:var(--color-text-muted)}.testimonial-cards{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 2px 22px}.testimonial-card{scroll-snap-align:start;position:relative;background:#fffdfa;border:1px solid rgba(28,26,23,.09);border-radius:1.4rem;padding:2rem;box-shadow:0 18px 40px rgba(32,26,16,.08);min-height:260px;display:flex;flex-direction:column}.testimonial-quote{font-family:Georgia,serif;color:var(--color-accent);font-size:4.8rem;line-height:.7}.testimonial-card>p{font-size:1.05rem;line-height:1.75;color:var(--color-text);flex:1}.testimonial-card>div{display:flex;align-items:center;gap:.8rem;margin-top:1.3rem}.testimonial-card>div>span:last-child{display:grid}.testimonial-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--color-ink);color:var(--color-cream);font-weight:700}.testimonial-card small{color:var(--color-text-muted)}@media(max-width:920px){.testimonial-cards{grid-template-columns:repeat(3,minmax(78vw,1fr))}}
@media(max-width:680px){.testimonial-shell{text-align:center!important;padding-inline:1.25rem!important}.testimonial-shell h2{font-size:clamp(1.9rem,9vw,2.5rem)!important;line-height:1.08}.testimonial-shell>p{max-width:32rem;margin:1rem auto 0;line-height:1.7}}
