/* motion layer: everything here is disabled under prefers-reduced-motion */
.top{position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.4) blur(10px);background:rgba(10,30,60,.88)}
.progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--mint);z-index:60;pointer-events:none}
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero::before,.hero::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(70px);opacity:.35;pointer-events:none}
.hero::before{width:520px;height:520px;background:#35D9AE;right:-120px;top:-140px}
.hero::after{width:460px;height:460px;background:#2B5BC4;left:-160px;bottom:-200px}
@media(prefers-reduced-motion:no-preference){
  .hero::before{animation:drift 16s ease-in-out infinite alternate}
  .hero::after{animation:drift 20s ease-in-out infinite alternate-reverse}
  @keyframes drift{to{transform:translate(60px,40px) scale(1.12)}}
  .hero h1,.hero .lede,.hero .lead-form,.hero .order{opacity:0;transform:translateY(18px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
  .hero .lede{animation-delay:.12s}.hero .lead-form{animation-delay:.24s}.hero .order{animation-delay:.2s;transform:translateY(26px) rotate(1.2deg)}
  @keyframes rise{to{opacity:1;transform:none}}
  .btn{position:relative;overflow:hidden}
  .btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-120%)}
  .btn:hover::after{transform:translateX(120%);transition:transform .7s}
  .hero .btn:not(.sm){animation:pulse 2.6s 2.4s ease-in-out 2}
  @keyframes pulse{50%{box-shadow:0 0 0 10px rgba(53,217,174,.22)}}
  .plan{transition:transform .25s,box-shadow .25s}
  .plan:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(10,30,60,.14)}
  .js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0)*70ms)}
  .js .rv.in{opacity:1;transform:none}
  .steps li{position:relative}
  .js .steps li::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--mint-ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
  .js .steps li.in::after{transform:scaleX(1)}
  tr.rv td:nth-child(3){background:linear-gradient(90deg,rgba(53,217,174,.25),rgba(53,217,174,0)) no-repeat 0 0/0% 100%;transition:background-size 1s .4s}
  tr.rv.in td:nth-child(3){background-size:100% 100%}
  details[open] p{animation:rise .35s forwards}
}
