/* Homepage device and text motion. */
.home-hero.hero-enhanced{isolation:isolate}
.hero-enhanced>.wrap{position:relative;z-index:1}
.hero-enhanced .hero-copy h1{animation:bc-hero-enter 1s cubic-bezier(.22,1,.36,1) .08s backwards}
.hero-enhanced .hero-copy h1 span{color:#37798f;background:linear-gradient(105deg,#456e86 15%,#168cad 38%,#75c8d6 50%,#456e86 65%);background-size:260% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:bc-title-light 5s ease-in-out infinite}
.hero-enhanced .hero-copy p{animation:bc-hero-enter 1s cubic-bezier(.22,1,.36,1) .24s backwards}
.hero-enhanced .hero-link{position:relative;animation:bc-hero-enter 1s cubic-bezier(.22,1,.36,1) .4s backwards;overflow:hidden;border:1px solid #78aabd70;background:#ffffffd9;box-shadow:0 6px 24px #17395d13;transition:background .25s,box-shadow .25s,color .25s}
.hero-enhanced .hero-link:before{content:"";position:absolute;inset:-30% auto -30% -50%;width:30%;background:linear-gradient(90deg,transparent,#b9e8f0a6,transparent);transform:skewX(-20deg);transition:transform .65s ease;pointer-events:none}
.hero-enhanced .hero-link span{display:inline-block;transition:transform .25s ease}
.hero-enhanced .hero-link:hover,.hero-enhanced .hero-link:focus-visible{background:#fff;box-shadow:0 8px 28px #17395d24;color:#176d88}
.hero-enhanced .hero-link:hover:before,.hero-enhanced .hero-link:focus-visible:before{transform:translateX(650%) skewX(-20deg)}
.hero-enhanced .hero-link:hover span,.hero-enhanced .hero-link:focus-visible span{transform:translateX(7px)}
.hero-motion-paused .hero-copy h1 span{animation-play-state:paused}
@keyframes bc-hero-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes bc-title-light{0%,15%{background-position:100% 50%}65%,100%{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){.hero-enhanced .hero-copy h1,.hero-enhanced .hero-copy h1 span,.hero-enhanced .hero-copy p,.hero-enhanced .hero-link{animation:none!important;opacity:1;transform:none}.hero-enhanced .hero-link,.hero-enhanced .hero-link:before,.hero-enhanced .hero-link span{transition:none!important}}
/* Device layer and richer homepage interactions. */
.home-hero.hero-device-ready{background-image:url('images/home-hero-background.webp');background-size:100% 100%}
.hero-device{position:absolute;left:58.61%;top:13.97%;height:80.63%;width:auto;aspect-ratio:250/612;z-index:1;opacity:0;transform:translate3d(var(--device-x,0px),var(--device-y,0px),0);transition:transform .5s ease,opacity .6s;display:block}
.hero-device-ready .hero-device{opacity:1}
.hero-device-float{height:100%;animation:bc-device-float 4.8s ease-in-out infinite}
.hero-device img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease;filter:drop-shadow(0 14px 12px #2940531c)}
.hero-device:hover img,.hero-device:focus-visible img{transform:scale(1.025)}
.hero-device:focus-visible{outline:2px solid #168cad;outline-offset:8px;border-radius:12px}
.hero-word{display:inline-block;font-weight:inherit;animation:bc-word-in 1.2s cubic-bezier(.16,1,.3,1) both}
.hero-enhanced .hero-link{transform:translate3d(var(--button-x,0px),var(--button-y,0px),0);transition:transform .18s ease,background .25s,box-shadow .25s;animation:bc-hero-enter 1s cubic-bezier(.22,1,.36,1) .4s backwards,bc-button-breathe 3.5s ease-in-out 1.4s infinite}
.hero-enhanced .hero-link:active{transform:translate3d(var(--button-x,0px),var(--button-y,0px),0) scale(.96)}
.home-stats .stats>div{position:relative;transition:transform .3s ease,background .3s ease;border-radius:6px}
.home-stats .stats>div:hover{transform:translateY(-6px);background:#ffffff15}
.home-stats .stats>div:after{content:"";position:absolute;bottom:-6px;left:30%;width:40%;height:2px;background:#b8efff;transform:scaleX(0);transition:transform .3s}
.home-stats .stats>div:hover:after{transform:scaleX(1)}
.home-stats .stats strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.home-stats .stats strong span{font-size:inherit;line-height:inherit;color:inherit;letter-spacing:inherit;margin:0;display:inline}
.home-stats .stat-visible strong{animation:bc-stat-enter .65s ease both}
.hero-motion-paused .hero-device-float,.hero-motion-paused .hero-link{animation-play-state:paused}
@keyframes bc-device-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes bc-word-in{from{opacity:0;transform:translateY(20px);clip-path:inset(100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes bc-button-breathe{0%,100%{box-shadow:0 5px 18px #287b9b16}50%{box-shadow:0 7px 28px #287b9b40}}
@keyframes bc-stat-enter{from{opacity:.3;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:760px){
 .home-hero.hero-device-ready{background-image:linear-gradient(#f7f9fc,#e9f0f5)}
 .home-hero.hero-device-ready:after{display:none}
 .hero-device{height:475px;top:auto;bottom:5px;left:calc(50% - 97px);width:194px;aspect-ratio:auto}
 .hero-device-float{animation-duration:5.5s}
 .hero-device img{filter:none}
}
@media(prefers-reduced-motion:reduce){
 .hero-device,.hero-device img,.hero-enhanced .hero-link{transform:none!important;transition:none!important}
 .hero-device-float,.hero-word,.home-stats .stat-visible strong{animation:none!important}
 .home-stats .stats>div,.home-stats .stats>div:after{transition:none!important}
}
.hero-word{margin-right:.18em}
