/* Motion system for the public HyperM site. Values are supplied by motion.js. */
html{scroll-behavior:smooth}
#site-progress{position:fixed;z-index:1000;inset:0 auto auto 0;width:var(--page-progress,0%);height:3px;background:linear-gradient(90deg,#ff79c8,#ff8c78,#b681ff);box-shadow:0 0 16px #ff79c880;pointer-events:none}
.hero:before{background-position:0 var(--hero-grid,0px),0 var(--hero-grid,0px)}
.hero-art{translate:0 var(--hero-float,0px)}
.hero-halo{scale:var(--hero-halo-scale,1);rotate:var(--hero-halo-rotate,0deg);transition:scale .1s linear,rotate .1s linear}
.hero-halo:before{content:'';position:absolute;inset:-33px;border:1px dashed #ff8c7855;border-radius:50%;animation:orbit 25s linear infinite}
.hero-copy h1 em{background:linear-gradient(105deg,#ff79c8 4%,#ff8c78 55%,#ffd0ad);background-clip:text;-webkit-background-clip:text;color:transparent}
.ticker{position:relative;overflow:hidden}
.ticker:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#24134155,transparent 14%,transparent 86%,#24134155)}
.promise{position:relative;overflow:hidden}
.promise:before{content:'';position:absolute;width:min(54vw,660px);aspect-ratio:1;left:-24%;top:-38%;border-radius:50%;background:radial-gradient(circle,#ffd5ea80,transparent 68%);translate:0 var(--section-drift,0px);pointer-events:none}
.promise-card{position:relative;overflow:hidden;translate:0 var(--item-rise,0px);scale:var(--item-scale,1);transition:translate .16s linear,scale .16s linear,box-shadow .3s ease,border-color .3s ease}
.promise-card:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#ff79c8,#ff8c78);transform:scaleX(var(--item-progress,0));transform-origin:left}
.promise-card:hover{box-shadow:0 22px 48px #51238f1c;border-color:#dcb8f8}
.promise-card .icon-box{rotate:var(--icon-turn,0deg);transition:rotate .16s linear}
.experience-visual{translate:0 var(--visual-drift,0px)}
.experience .visual-table{scale:var(--experience-scale,1);transition:scale .15s linear}
.experience .visual-wave{animation-duration:calc(3.5s - var(--experience-speed,0s))}
.experience .bubble-menu{translate:var(--bubble-menu-x,0px) var(--bubble-menu-y,0px)}
.experience .bubble-google{translate:var(--bubble-google-x,0px) var(--bubble-google-y,0px)}
.experience .bubble{opacity:var(--bubble-opacity,1);transition:translate .15s linear,opacity .15s linear}
.experience-list li{translate:var(--list-rise,0px) 0;opacity:var(--list-opacity,1);transition:translate .15s linear,opacity .15s linear}
.steps{position:relative;overflow:hidden}
.steps:after{content:'';position:absolute;width:430px;aspect-ratio:1;right:-180px;bottom:-250px;border:1px solid #b68bfa66;border-radius:50%;box-shadow:0 0 0 46px #b68bfa15,0 0 0 92px #b68bfa0d;translate:0 var(--section-drift,0px);pointer-events:none}
.step-card{position:relative;translate:0 var(--item-rise,0px);opacity:var(--item-opacity,1);transition:translate .18s linear,opacity .18s linear}
.step-card:after{content:'';position:absolute;left:0;top:-1px;width:calc(100% - 28px);height:3px;background:linear-gradient(90deg,#a36cff,#ff79c8,#ff8c78);transform:scaleX(var(--item-progress,0));transform-origin:left}
.step-label{display:inline-block;translate:var(--label-shift,0px) 0}
.demo{position:relative;overflow:hidden;background:linear-gradient(125deg,#ff98a7 0%,#ffb395 48%,#ffd0af 100%)}
.demo:before{content:'';position:absolute;left:-190px;top:-250px;width:650px;height:650px;border:1px solid #6035bd38;border-radius:50%;box-shadow:0 0 0 60px #6035bd10,0 0 0 125px #6035bd09;translate:0 var(--demo-bg-drift,0px);pointer-events:none}
.demo-grid{position:relative}
.demo-window{translate:0 var(--demo-float,0px);rotate:var(--demo-rotate,0deg);scale:var(--demo-scale,1);transition:translate .15s linear,rotate .15s linear,scale .15s linear}
.demo-food{background-position:var(--demo-food-x,50%) center}
.demo .btn-dark{box-shadow:0 14px 30px #4f266a30}
.dashboard{position:relative;overflow:hidden}
.dashboard:before{content:'';position:absolute;right:-170px;top:10%;width:480px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#e9d8ffb8,transparent 68%);translate:0 var(--section-drift,0px);pointer-events:none}
.dashboard-grid{position:relative}
.dash-card{translate:0 var(--dashboard-rise,0px);rotate:var(--dashboard-rotate,0deg);transition:translate .16s linear,rotate .16s linear}
.dash-chart{filter:drop-shadow(0 5px 7px #ad68e544)}
.dash-bar-row{translate:var(--bar-shift,0px) 0;opacity:var(--bar-opacity,1);transition:translate .16s linear,opacity .16s linear}
.fit:before{content:'';position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#d9b7ff 1px,transparent 1px),linear-gradient(90deg,#d9b7ff 1px,transparent 1px);background-size:70px 70px;background-position:0 var(--fit-grid-drift,0px);pointer-events:none}
.fit .wrap{position:relative}
.fit-card{translate:0 var(--item-rise,0px);opacity:var(--item-opacity,1);scale:var(--item-scale,1);transition:translate .16s linear,opacity .16s linear,scale .16s linear,border-color .25s ease,background .25s ease}
.fit-card:before{content:'';align-self:stretch;width:2px;flex:none;background:linear-gradient(#ff79c8,#ff8c78);scale:1 var(--item-progress,0);transform-origin:top}
.fit-card:hover{background:#ffffff15;border-color:#ffb5ca88}
.quote-band{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(115deg,#f0e7ff,#e8d9ff 56%,#ffe0e7)}
.quote-band:before{content:'';position:absolute;z-index:-1;width:520px;height:520px;right:-140px;top:-320px;border:1px solid #a36cff55;border-radius:50%;box-shadow:0 0 0 40px #a36cff15,0 0 0 90px #ff79c811;translate:0 var(--quote-orbit,0px)}
.quote-action{translate:0 var(--quote-rise,0px)}
.faq-item{position:relative;overflow:hidden}
.faq-item:before{content:'';position:absolute;inset:0 auto 0 0;width:2px;background:#ff79c8;scale:1 var(--faq-line,0);transform-origin:top}
.faq-item summary:after{transition:rotate .25s ease,color .25s ease}
.faq-item[open] summary:after{rotate:45deg;color:#fc5f70}
.contact{position:relative;overflow:hidden}
.contact:before{content:'';position:absolute;width:590px;aspect-ratio:1;left:-240px;top:-260px;border-radius:50%;border:1px solid #ff8c7840;box-shadow:0 0 0 58px #ff79c80c,0 0 0 120px #ff79c808;translate:0 var(--section-drift,0px);pointer-events:none}
.contact-grid{position:relative}
.contact-box{translate:0 var(--contact-rise,0px);rotate:var(--contact-rotate,0deg);transition:translate .16s linear,rotate .16s linear}
.contact .btn{box-shadow:0 12px 35px #ff79c82b}
@keyframes orbit{to{rotate:360deg}}
@media(max-width:760px){.hero-art{translate:0 calc(var(--hero-float,0px)*.35)}.demo-window,.dash-card,.contact-box{rotate:0deg}.experience .bubble{opacity:1}.steps:after{opacity:.5}}
@media(max-width:480px){.promise-grid{grid-template-columns:1fr}.promise-card{min-height:0;padding:20px}.promise-card h3{font-size:16px}.promise-card p{font-size:13px}.promise-card .icon-box{width:43px;height:43px}}
@media(prefers-reduced-motion:reduce){#site-progress{display:none}.hero-halo:before{animation:none}.hero-art,.hero-halo,.promise-card,.experience-visual,.experience .visual-table,.experience .bubble,.experience-list li,.step-card,.demo-window,.dash-card,.dash-bar-row,.fit-card,.quote-action,.contact-box{translate:0 0;rotate:0deg;scale:1;opacity:1;transition:none}.hero:before,.fit:before{background-position:0 0,0 0}}
