/* Motion uses translate separately from card hover transforms. */
.site-scroll-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;pointer-events:none;overflow:hidden}
.site-scroll-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#117ca9,#5ac4cd);transform:scaleX(var(--site-scroll,0));transform-origin:left}
.site-scrolled header{box-shadow:0 6px 28px #123d561a}
.hero-scroll{position:absolute;bottom:25px;left:0;right:0;z-index:2}
.hero-scroll .wrap{padding-top:0!important;padding-bottom:0!important}
.hero-scroll a{display:inline-flex;align-items:center;gap:14px;color:#e5f1f5;font-size:10px;letter-spacing:1.8px}
.hero-scroll-line{width:38px;height:1px;background:#ffffff70;display:inline-block}
.hero-scroll-arrow{font-size:18px;line-height:1}
.hero-surface-grid{position:absolute;inset:0 0 0 55%;pointer-events:none;z-index:0;opacity:.16;background-image:linear-gradient(#c8f3ff30 1px,transparent 1px),linear-gradient(90deg,#c8f3ff30 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000)}
.home-carousel .hero>.wrap{position:relative;z-index:1}
.hero-surface-grid:after{content:'';position:absolute;inset:10% 12%;border-top:1px solid #bfeeff;border-bottom:1px solid #bfeeff}
.floating button[hidden]{display:none}
.floating button{border-radius:6px}
.floating .motion-toggle{font-size:13px}
.pause-symbol{width:10px;height:13px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.floating .motion-toggle[aria-pressed=true]{background:#eaf4fa}
.floating button:hover{background:#edf6fc}
@media(prefers-reduced-motion:no-preference){
  .home-carousel .hero-image{animation:hero-drift 16s ease-out both}
  .home-carousel .hero>.wrap>*{animation:hero-enter .85s both}
  .home-carousel .hero>.wrap>:nth-child(2){animation-delay:.1s}
  .home-carousel .hero>.wrap>:nth-child(3){animation-delay:.2s}
  .home-carousel .hero>.wrap>:nth-child(4){animation-delay:.3s}
  .home-carousel .hero>.wrap>:nth-child(5){animation-delay:.4s}
  .page-top-copy>*{animation:hero-enter .65s both}
  .page-top-copy h1{animation-delay:.08s}
  .page-top-copy>p{animation-delay:.16s}
  .page-top-media img{animation:page-image-enter 1s ease-out both}
  .hero-scroll-arrow{animation:scroll-hint 1.8s ease-in-out 3}
  .hero-surface-grid:after{animation:surface-scan 5s ease-out both}
  .motion-pending{opacity:0;translate:0 22px;transition:opacity .65s ease var(--motion-delay,0ms),translate .65s cubic-bezier(.2,.7,.2,1) var(--motion-delay,0ms)}
  .motion-pending.motion-visible,.motion-pending:focus-within{opacity:1;translate:0 0}
  .motion-pending:focus-within{transition-delay:0s}
  header{transition:box-shadow .25s ease}
  header nav a:before{content:'';position:absolute;left:0;right:0;bottom:18px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
  header nav a:hover:before,header nav a:focus-visible:before{transform:scaleX(1)}
  @keyframes hero-enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
  @keyframes hero-drift{from{transform:scale(1.06)}to{transform:scale(1)}}
  @keyframes page-image-enter{from{opacity:.5;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
  @keyframes scroll-hint{0%,100%{translate:0 0}50%{translate:0 5px}}
  @keyframes surface-scan{from{opacity:0;transform:scaleY(.5)}to{opacity:1;transform:scaleY(1)}}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .product-card,.news-card-visual,.resource-card,.partner-logo{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,opacity .65s ease var(--motion-delay,0ms),translate .65s ease var(--motion-delay,0ms)}
  .product-card:hover,.news-card-visual:hover,.resource-card:hover,.partner-logo:hover{transform:translateY(-5px);box-shadow:0 12px 30px #17394c18;border-color:#b9d6e6}
  .news-image,.application-card{overflow:hidden}
  .news-image img,.application-background,.split-image img{transition:transform .7s ease}
  .news-card:hover .news-image img,.application-card:hover .application-background,.split-image:hover img{transform:scale(1.045)}
  .round-arrow,.text-link span{transition:transform .25s ease,background .25s ease,color .25s ease}
  .product-card:hover .round-arrow,.text-link:hover span{transform:translateX(3px)}
}
html[data-site-motion=off]{scroll-behavior:auto}
html[data-site-motion=off] #app *,html[data-site-motion=off] #app *:before,html[data-site-motion=off] #app *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-site-motion=off] .motion-pending{opacity:1;translate:none}
@media(prefers-reduced-motion:reduce){.motion-pending{opacity:1;translate:none}.hero-scroll-arrow{animation:none}}
@media(max-width:760px){.hero-surface-grid{display:none}.home-carousel .hero-slide.hero{height:auto;min-height:560px}.home-carousel .hero>.wrap{padding-bottom:100px}.home-carousel .hero h1 br{display:initial}.hero-scroll{bottom:24px}.hero-scroll a{font-size:9px;letter-spacing:1px}header nav a:before{bottom:6px;width:25px}.topbar .wrap>a{white-space:nowrap}}
