/* ==========================================================
   PREMIUM ANIMATION-RICH PASS — 09 SEP 2026
   More motion across every page, using transform/opacity/clip-path only.
   Designed to layer over the smoothness pass without reintroducing blur.
   ========================================================== */
:root{
  --pm3-red:#d51f32;
  --pm3-ease:cubic-bezier(.16,1,.3,1);
  --pm3-fast:cubic-bezier(.2,.8,.2,1);
}

/* Scroll progress: always moving, practically free. */
.pm3-scroll-progress{
  position:fixed;
  z-index:99999;
  top:0;left:0;
  width:100%;height:2px;
  pointer-events:none;
  transform-origin:left center;
  transform:scaleX(var(--pm3-progress,0));
  background:linear-gradient(90deg,#d51f32,#d51f32);
  box-shadow:0 0 14px rgba(213,31,50,.38);
}

/* Page entry / nav choreography */
.premium-motion-v3 .site-nav{
  animation:pm3NavDrop .72s .08s var(--pm3-ease) both;
}
@keyframes pm3NavDrop{from{opacity:0;transform:translate3d(0,-18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}

/* Hero word stagger. No blur, sharp in Safari/Chrome. */
.premium-motion-v3 .pm3-word-title{overflow:visible}
.premium-motion-v3 .pm3-word{
  display:inline-block;
  opacity:0;
  transform:translate3d(0,1.04em,0) rotate(.6deg);
  transition:opacity .52s ease,transform .78s var(--pm3-ease);
  transition-delay:calc(var(--pm3-word-i,0) * 42ms);
  will-change:transform,opacity;
}
.premium-motion-v3 .pm3-word-title.pm3-hero-live .pm3-word{opacity:1;transform:none}
.premium-motion-v3 .pm3-space{display:inline-block;width:.24em}
.premium-motion-v3 .content-hero-copy>.eyebrow,
.premium-motion-v3 .tr-hero-copy>.tr-kicker{
  opacity:0;transform:translate3d(0,14px,0);
  transition:opacity .45s .08s ease,transform .6s .08s var(--pm3-ease);
}
.premium-motion-v3.pm3-hero-ready .content-hero-copy>.eyebrow,
.premium-motion-v3.pm3-hero-ready .tr-hero-copy>.tr-kicker{opacity:1;transform:none}
.premium-motion-v3 .content-hero-copy>p:not(.eyebrow),
.premium-motion-v3 .tr-hero-copy>p:not(.tr-kicker){
  opacity:0;transform:translate3d(0,18px,0);
  transition:opacity .56s ease,transform .7s var(--pm3-ease);
}
.premium-motion-v3.pm3-hero-ready .content-hero-copy>p:nth-of-type(2),
.premium-motion-v3.pm3-hero-ready .tr-hero-copy>p:nth-of-type(2){transition-delay:.34s}
.premium-motion-v3.pm3-hero-ready .content-hero-copy>p:nth-of-type(3),
.premium-motion-v3.pm3-hero-ready .tr-hero-copy>p:nth-of-type(3){transition-delay:.42s}
.premium-motion-v3.pm3-hero-ready .content-hero-copy>p:not(.eyebrow),
.premium-motion-v3.pm3-hero-ready .tr-hero-copy>p:not(.tr-kicker){opacity:1;transform:none}
.premium-motion-v3 .doc-hero-actions{opacity:0;transform:translate3d(0,18px,0);transition:opacity .55s .56s ease,transform .72s .56s var(--pm3-ease)}
.premium-motion-v3.pm3-hero-ready .doc-hero-actions{opacity:1;transform:none}

/* Hero media gets a premium mask-open and image settle. */
.premium-motion-v3 .content-hero-media,
.premium-motion-v3 .tr-hero-picture{
  clip-path:inset(0 0 100% 0 round 0);
  transition:clip-path 1.05s .12s var(--pm3-ease);
}
.premium-motion-v3.pm3-hero-ready .content-hero-media,
.premium-motion-v3.pm3-hero-ready .tr-hero-picture{clip-path:inset(0 0 0 0 round 0)}
.premium-motion-v3 .content-hero-media>img,
.premium-motion-v3 .tr-hero-bg{transform:scale(1.055);transition:transform 1.45s .12s var(--pm3-ease)!important}
.premium-motion-v3.pm3-hero-ready .content-hero-media>img,
.premium-motion-v3.pm3-hero-ready .tr-hero-bg{transform:scale(1.01)}

/* Every major scroll section receives a re-playable choreography. */
.premium-motion-v3 .pm3-section{
  --pm3-section-x:0px;
}
.premium-motion-v3 .pm3-section .story-aside,
.premium-motion-v3 .pm3-section .tr-kicker,
.premium-motion-v3 .pm3-section>.eyebrow,
.premium-motion-v3 .pm3-section .real-session-gallery-head>.eyebrow{
  opacity:.18;
  transform:translate3d(-22px,8px,0);
  transition:opacity .48s ease,transform .66s var(--pm3-ease);
}
.premium-motion-v3 .pm3-section.pm3-inview .story-aside,
.premium-motion-v3 .pm3-section.pm3-inview .tr-kicker,
.premium-motion-v3 .pm3-section.pm3-inview>.eyebrow,
.premium-motion-v3 .pm3-section.pm3-inview .real-session-gallery-head>.eyebrow{opacity:1;transform:none}

.premium-motion-v3 .pm3-section .story-main>h2,
.premium-motion-v3 .pm3-section .tr-section-head h2,
.premium-motion-v3 .pm3-section .tr-story-heading h2,
.premium-motion-v3 .pm3-section .tr-results-title h2,
.premium-motion-v3 .pm3-section .real-session-gallery-head h2,
.premium-motion-v3 .pm3-section .home-lab-choice__head h2,
.premium-motion-v3 .pm3-section .doc-founder-heading h2,
.premium-motion-v3 .pm3-section .tr-founder-copy h2,
.premium-motion-v3 .pm3-section .doc-multilingual h2{
  clip-path:inset(0 0 100% 0);
  transform:translate3d(0,28px,0);
  transition:clip-path .82s .06s var(--pm3-ease),transform .86s .06s var(--pm3-ease);
}
.premium-motion-v3 .pm3-section.pm3-inview .story-main>h2,
.premium-motion-v3 .pm3-section.pm3-inview .tr-section-head h2,
.premium-motion-v3 .pm3-section.pm3-inview .tr-story-heading h2,
.premium-motion-v3 .pm3-section.pm3-inview .tr-results-title h2,
.premium-motion-v3 .pm3-section.pm3-inview .real-session-gallery-head h2,
.premium-motion-v3 .pm3-section.pm3-inview .home-lab-choice__head h2,
.premium-motion-v3 .pm3-section.pm3-inview .doc-founder-heading h2,
.premium-motion-v3 .pm3-section.pm3-inview .tr-founder-copy h2,
.premium-motion-v3 .pm3-section.pm3-inview .doc-multilingual h2{clip-path:inset(0 0 0 0);transform:none}

/* Section supporting copy is sequenced behind heading. */
.premium-motion-v3 .pm3-section .story-body>p,
.premium-motion-v3 .pm3-section .tr-section-head p:not(.tr-kicker),
.premium-motion-v3 .pm3-section .tr-story-heading p:not(.tr-kicker),
.premium-motion-v3 .pm3-section .tr-results-title p:not(.tr-kicker),
.premium-motion-v3 .pm3-section .doc-founder-copy>p,
.premium-motion-v3 .pm3-section .home-lab-choice__head>p{
  opacity:0;transform:translate3d(0,18px,0);
  transition:opacity .55s .2s ease,transform .72s .2s var(--pm3-ease);
}
.premium-motion-v3 .pm3-section.pm3-inview .story-body>p,
.premium-motion-v3 .pm3-section.pm3-inview .tr-section-head p:not(.tr-kicker),
.premium-motion-v3 .pm3-section.pm3-inview .tr-story-heading p:not(.tr-kicker),
.premium-motion-v3 .pm3-section.pm3-inview .tr-results-title p:not(.tr-kicker),
.premium-motion-v3 .pm3-section.pm3-inview .doc-founder-copy>p,
.premium-motion-v3 .pm3-section.pm3-inview .home-lab-choice__head>p{opacity:1;transform:none}

/* Rich card choreography. These override v2 transforms deliberately. */
.premium-motion-v3 .pm3-card{
  opacity:0!important;
  transform:translate3d(0,34px,0) scale(.965) rotateX(5deg)!important;
  transform-origin:50% 100%;
  transition:opacity .5s ease,transform .78s var(--pm3-ease),border-color .35s ease,box-shadow .35s ease!important;
  transition-delay:var(--pm3-delay,0ms)!important;
}
.premium-motion-v3 .pm3-section.pm3-inview .pm3-card,
.premium-motion-v3 .pm3-card.pm3-direct-in{opacity:1!important;transform:none!important}

/* Alternating lateral choreography for story/infographic cards. */
.premium-motion-v3 .sa-stagger-card.pm3-card:nth-child(odd),
.premium-motion-v3 .impact-band.pm3-card:nth-child(odd){transform:translate3d(-46px,16px,0) scale(.97)!important}
.premium-motion-v3 .sa-stagger-card.pm3-card:nth-child(even),
.premium-motion-v3 .impact-band.pm3-card:nth-child(even){transform:translate3d(46px,16px,0) scale(.97)!important}
.premium-motion-v3 .pm3-section.pm3-inview .sa-stagger-card.pm3-card,
.premium-motion-v3 .pm3-section.pm3-inview .impact-band.pm3-card{transform:none!important}

/* Impact ribbons wipe in, then their number pops. */
.premium-motion-v3 .impact-ribbon-card.pm3-card{
  clip-path:inset(0 100% 0 0 round 24px);
  transform:translate3d(-18px,0,0)!important;
  transition:clip-path .82s var(--pm3-ease),opacity .42s ease,transform .82s var(--pm3-ease)!important;
  transition-delay:var(--pm3-delay,0ms)!important;
}
.premium-motion-v3 .pm3-section.pm3-inview .impact-ribbon-card.pm3-card{clip-path:inset(0 0 0 0 round 24px);transform:none!important}
.premium-motion-v3 .impact-ribbon-card::before{transform:translateY(-50%) scale(.55) rotate(-24deg)!important;transition:transform .64s calc(var(--pm3-delay,0ms) + 350ms) var(--pm3-ease)!important}
.premium-motion-v3 .pm3-section.pm3-inview .impact-ribbon-card::before{transform:translateY(-50%) scale(1) rotate(0)!important}

/* Tree: trunk grows, branches draw, nodes pop. */
.premium-motion-v3 .sa-tree-trunk{transform:translateX(-50%) scaleY(0)!important;transform-origin:top center!important;transition:transform 1.25s .12s var(--pm3-ease)!important}
.premium-motion-v3 .pm3-section.pm3-inview .sa-tree-trunk{transform:translateX(-50%) scaleY(1)!important}
.premium-motion-v3 .sa-tree-card::before{transform:scaleX(0)!important;transform-origin:center!important;transition:transform .48s calc(var(--pm3-delay,0ms) + 300ms) var(--pm3-ease)!important}
.premium-motion-v3 .pm3-section.pm3-inview .sa-tree-card::before{transform:scaleX(1)!important}

/* Road map line draws while cards enter. */
.premium-motion-v3 .steps-grid.premium-roadmap::before{transform:scaleX(0);transform-origin:left center;transition:transform 1.15s .18s var(--pm3-ease)!important}
.premium-motion-v3 .pm3-section.pm3-inview .steps-grid.premium-roadmap::before{transform:scaleX(1)}
.premium-motion-v3 .steps-grid.premium-roadmap article>span{transform:translateX(-50%) scale(.62) rotate(-18deg)!important;transition:transform .52s calc(var(--pm3-delay,0ms) + 180ms) var(--pm3-ease)!important}
.premium-motion-v3 .pm3-section.pm3-inview .steps-grid.premium-roadmap article>span{transform:translateX(-50%) scale(1) rotate(0)!important}

/* Lists animate arrow then text, not as a static wall of bullets. */
.premium-motion-v3 .premium-list li{overflow:hidden}
.premium-motion-v3 .premium-list li>span{display:inline-block;transform:translate3d(-12px,0,0) rotate(-18deg);opacity:0;transition:opacity .34s calc(var(--pm3-delay,0ms) + 180ms) ease,transform .55s calc(var(--pm3-delay,0ms) + 180ms) var(--pm3-ease)}
.premium-motion-v3 .pm3-section.pm3-inview .premium-list li>span{transform:none;opacity:1}

/* Image cards: vertical mask open + gentle settle. */
.premium-motion-v3 .real-session-shot.pm3-card,
.premium-motion-v3 .home-lab-choice__card.pm3-card,
.premium-motion-v3 .tr-founder-image.pm3-card{
  clip-path:inset(12% 0 12% 0 round 18px);
  transition:clip-path .86s var(--pm3-ease),opacity .48s ease,transform .86s var(--pm3-ease),border-color .35s ease!important;
}
.premium-motion-v3 .pm3-section.pm3-inview .real-session-shot.pm3-card,
.premium-motion-v3 .pm3-section.pm3-inview .home-lab-choice__card.pm3-card,
.premium-motion-v3 .pm3-section.pm3-inview .tr-founder-image.pm3-card{clip-path:inset(0 0 0 0 round 18px);transform:none!important;opacity:1!important}
.premium-motion-v3 .real-session-shot figcaption{transform:translate3d(0,12px,0);opacity:0;transition:opacity .46s .42s ease,transform .58s .42s var(--pm3-ease)!important}
.premium-motion-v3 .pm3-section.pm3-inview .real-session-shot figcaption{transform:none;opacity:.7}

/* Home lab cards get a dramatic sweep on reveal. */
.premium-motion-v3 .home-lab-choice__card::after{
  content:"";
  position:absolute;z-index:6;inset:-20%;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.22) 48%,transparent 64%);
  transform:translate3d(-120%,0,0) skewX(-9deg);
  transition:transform 1.1s calc(var(--pm3-delay,0ms) + 360ms) var(--pm3-ease);
}
.premium-motion-v3 .pm3-section.pm3-inview .home-lab-choice__card::after{transform:translate3d(120%,0,0) skewX(-9deg)}
.premium-motion-v3 .home-lab-choice__number{transform:scale(.55) rotate(-28deg);opacity:0;transition:opacity .38s calc(var(--pm3-delay,0ms) + 260ms),transform .6s calc(var(--pm3-delay,0ms) + 260ms) var(--pm3-ease)!important}
.premium-motion-v3 .pm3-section.pm3-inview .home-lab-choice__number{transform:none;opacity:1}
.premium-motion-v3 .home-lab-choice__training-logo,
.premium-motion-v3 .home-lab-choice__business-mark{transform:translate(-50%,-50%) scale(.84)!important;opacity:0;transition:opacity .55s calc(var(--pm3-delay,0ms) + 260ms),transform .82s calc(var(--pm3-delay,0ms) + 260ms) var(--pm3-ease)!important}
.premium-motion-v3 .pm3-section.pm3-inview .home-lab-choice__training-logo,
.premium-motion-v3 .pm3-section.pm3-inview .home-lab-choice__business-mark{transform:translate(-50%,-50%) scale(1)!important;opacity:1}

/* Question / result cards: number bounce + accent line. */
.premium-motion-v3 .doc-question-card>span,
.premium-motion-v3 .tr-impact-grid article>span,
.premium-motion-v3 .result-card-refined>span{
  display:inline-grid;
  transform:scale(.55) rotate(-22deg);
  opacity:0;
  transition:opacity .34s calc(var(--pm3-delay,0ms) + 200ms),transform .58s calc(var(--pm3-delay,0ms) + 200ms) var(--pm3-ease)!important;
}
.premium-motion-v3 .pm3-section.pm3-inview .doc-question-card>span,
.premium-motion-v3 .pm3-section.pm3-inview .tr-impact-grid article>span,
.premium-motion-v3 .pm3-section.pm3-inview .result-card-refined>span{transform:none;opacity:1}

/* CTA micro-motion / shine */
.premium-motion-v3 .button,
.premium-motion-v3 .tr-pill,
.premium-motion-v3 .nav-cta{
  position:relative;overflow:hidden;isolation:isolate;
}
.premium-motion-v3 .button::after,
.premium-motion-v3 .tr-pill::after,
.premium-motion-v3 .nav-cta::after{
  content:"";position:absolute;z-index:-1;inset:-40% auto -40% -40%;width:28%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:translateX(-220%) skewX(-14deg);transition:transform .72s var(--pm3-ease);
}
@media(hover:hover) and (pointer:fine){
  .premium-motion-v3 .button:hover::after,
  .premium-motion-v3 .tr-pill:hover::after,
  .premium-motion-v3 .nav-cta:hover::after{transform:translateX(620%) skewX(-14deg)}
  .premium-motion-v3 .pm3-card:hover{transform:translate3d(0,-7px,0) scale(1.008)!important}
}

/* Cinematic proof/review stage gets a moving hairline sweep while visible. */
.premium-motion-v3 .tr-cinematic-review-stage::after{
  content:"";position:absolute;z-index:5;left:0;right:0;top:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--pm3-red),transparent);
  transform:translateX(-100%);
}
.premium-motion-v3 .tr-cinematic-review-stage.pm3-direct-in::after{animation:pm3ProofSweep 4.6s 1.1s ease-in-out infinite}
@keyframes pm3ProofSweep{0%,58%{transform:translateX(-100%);opacity:0}65%{opacity:1}86%{transform:translateX(100%);opacity:1}100%{transform:translateX(100%);opacity:0}}

/* Footer closes the page with a final reveal. */
.premium-motion-v3 footer.pm3-section{opacity:.35;transform:translate3d(0,28px,0);transition:opacity .68s ease,transform .82s var(--pm3-ease)}
.premium-motion-v3 footer.pm3-section.pm3-inview{opacity:1;transform:none}

/* Ecosystem: intentionally more alive, but still sharp. */
.premium-motion-v3 .tl-ecosystem-redesign.pm3-inview .tl-route-card{animation:pm3EcoCardFloat 5.5s ease-in-out infinite}
.premium-motion-v3 .tl-ecosystem-redesign.pm3-inview .tl-route-card:nth-of-type(2){animation-delay:.7s}
.premium-motion-v3 .tl-ecosystem-redesign.pm3-inview .tl-route-card:nth-of-type(3){animation-delay:1.4s}
@keyframes pm3EcoCardFloat{0%,100%{translate:0 0}50%{translate:0 -5px}}
.premium-motion-v3 .tl-ecosystem-redesign.pm3-inview .tl-route-hub__logo{animation:pm3HubBreathe 3.8s ease-in-out infinite}
@keyframes pm3HubBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}

/* Replay-on-scroll gets lighter on mobile while preserving visible choreography. */
@media(max-width:900px){
  .premium-motion-v3 .pm3-card{transform:translate3d(0,20px,0) scale(.985)!important;rotate:none!important}
  .premium-motion-v3 .sa-stagger-card.pm3-card:nth-child(odd),
  .premium-motion-v3 .sa-stagger-card.pm3-card:nth-child(even),
  .premium-motion-v3 .impact-band.pm3-card:nth-child(odd),
  .premium-motion-v3 .impact-band.pm3-card:nth-child(even){transform:translate3d(0,20px,0) scale(.985)!important}
  .premium-motion-v3 .pm3-section.pm3-inview .pm3-card{transform:none!important}
  .premium-motion-v3 .sa-tree-trunk{transform:scaleY(0)!important;transform-origin:top center!important}
  .premium-motion-v3 .pm3-section.pm3-inview .sa-tree-trunk{transform:scaleY(1)!important}
  .premium-motion-v3 .tl-ecosystem-redesign.pm3-inview .tl-route-card{animation:none}
}

/* Respect accessibility / battery preferences. */
@media(prefers-reduced-motion:reduce){
  .pm3-scroll-progress{display:none!important}
  .premium-motion-v3 *,
  .premium-motion-v3 *::before,
  .premium-motion-v3 *::after{animation:none!important;transition-duration:.001ms!important;transition-delay:0ms!important}
  .premium-motion-v3 .pm3-word,
  .premium-motion-v3 .pm3-card,
  .premium-motion-v3 .pm3-section *,
  .premium-motion-v3 .content-hero-media,
  .premium-motion-v3 .tr-hero-picture{opacity:1!important;transform:none!important;clip-path:none!important}
}
