/*! motion.css — seoagent.au motion layer (pairs with assets/motion.js).
    FOUC contract: every hidden state requires html.motion-go AND html.mrun
    (both set by motion.js) — no JS / no IO / reduced-motion = static page.
    html.mgo-safe = JS-error breaker. Transform/opacity only, no blur on text. */
:root{--e-viscous:cubic-bezier(.83,0,.17,1);--e-snap:cubic-bezier(.9,0,.1,1)}
html.motion-go.mrun .kl{display:inline-block;overflow:hidden;vertical-align:top;padding:.12em .06em .18em;margin:-.12em -.06em -.18em}
html.motion-go.mrun h1 .kl{display:block;padding:.12em 0 .18em;margin:-.12em 0 -.18em}
html.motion-go.mrun h1 .kl-br{display:none}
html.motion-go.mrun .kl .kli{display:inline-block;transform:translateY(128%);transition:transform 900ms var(--e-viscous)}
html.motion-go.mrun .kin .kli{transform:translateY(0)}
html.motion-go.mrun #hero .eyebrow{opacity:0;transform:translateY(10px) scale(.94);transition:opacity 250ms var(--e),transform 250ms var(--e)}
html.motion-go.mrun #hero .hero-type>.standfirst,
html.motion-go.mrun #hero .hero-type>.verdict-first,
html.motion-go.mrun #hero .hero-type>.btnrow,
html.motion-go.mrun #hero .hero-type>.trustline,
html.motion-go.mrun #hero .hero-art{opacity:0;transform:translateY(24px);transition:opacity .7s var(--e),transform .7s var(--e)}
html.motion-go.mrun #hero .hero-type .hin{opacity:1;transform:none}
html.motion-go.mrun #hero .hero-art.hin{opacity:1;transform:none}
html.motion-go.mrun #hero .hexit{transition:none}
html.motion-go.mrun .sec-k::before{transition:width .9s var(--e-viscous) .2s,opacity .45s var(--e) .2s}
html.motion-go.mrun .sec-k:not(.kin)::before{width:0;opacity:0}
@media (hover:hover) and (pointer:fine){
  html.motion-go.mrun .card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity 300ms var(--e);background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(79,206,85,.05),transparent 70%)}
  html.motion-go.mrun .card:hover::after{opacity:1}
  html.motion-go.mrun .pick{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
  html.motion-go.mrun .pick:hover{transform:translateY(-3px) perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
  html.motion-go.mrun .btn-grad{transform:translate3d(var(--magx,0px),var(--magy,0px),0)}
  html.motion-go.mrun .btn-grad:hover{transform:translate3d(var(--magx,0px),calc(var(--magy,0px) - 2px),0)}
}
html.motion-go.mrun .tablewrap tbody tr{opacity:0;transform:translateY(14px);transition:opacity .55s var(--e),transform .55s var(--e)}
html.motion-go.mrun .tablewrap.kin tbody tr{opacity:1;transform:none}
html.motion-go.mrun .final-cta{overflow:hidden}
html.motion-go.mrun .final-cta::before{content:"";position:absolute;top:-45%;bottom:-45%;left:0;width:42%;pointer-events:none;opacity:0;mix-blend-mode:overlay;transform:translateX(-150%) skewX(-16deg);background:linear-gradient(100deg,rgba(255,255,255,0) 8%,rgba(255,255,255,.5) 50%,rgba(255,255,255,0) 92%)}
html.motion-go.mrun .final-cta.fk::before{animation:mk-sweep 1.4s cubic-bezier(.6,.05,.2,1) .15s forwards}
@keyframes mk-sweep{0%{transform:translateX(-150%) skewX(-16deg);opacity:0}12%{opacity:.9}85%{opacity:.85}100%{transform:translateX(380%) skewX(-16deg);opacity:0}}
html.motion-go.mrun .final-cta h2 .ser{display:inline-block;opacity:0;transform:scale(1.28);transform-origin:50% 80%;transition:transform 420ms var(--e-snap) .25s,opacity 420ms var(--e-snap) .25s}
html.motion-go.mrun .final-cta.fk h2 .ser{opacity:1;transform:scale(1)}
@media (prefers-reduced-motion: reduce){
  html.motion-go.mrun :is(.kl .kli,#hero .eyebrow,#hero .standfirst,#hero .verdict-first,#hero .btnrow,#hero .trustline,#hero .hero-art,.tablewrap tbody tr,.final-cta h2 .ser){opacity:1!important;transform:none!important;transition:none!important}
  html.motion-go.mrun .kl{overflow:visible}
  html.motion-go.mrun .sec-k:not(.kin)::before{width:2.2rem!important;opacity:1!important;transition:none!important}
  html.motion-go.mrun .final-cta::before,html.motion-go.mrun .card::after{display:none}
}
html.mgo-safe :is(.kl .kli,#hero .eyebrow,#hero .standfirst,#hero .verdict-first,#hero .btnrow,#hero .trustline,#hero .hero-art,.tablewrap tbody tr,.final-cta h2 .ser){opacity:1!important;transform:none!important;transition:none!important}
html.mgo-safe .kl{overflow:visible}
html.mgo-safe .sec-k:not(.kin)::before{width:2.2rem!important;opacity:1!important;transition:none!important}
html.mgo-safe .final-cta::before{display:none}
