/* Motion layer inspired by aiforceone.club, adapted to the lagon palette. Hidden states only exist when motion.js sets html.motion. */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-snap:cubic-bezier(.34,1.56,.64,1)}
.flight-path{position:fixed;top:0;left:0;right:0;height:4px;z-index:40;pointer-events:none}
.flight-path span{display:block;height:100%;background:var(--bright);border-right:2px solid var(--ink);box-shadow:0 1px 0 var(--ink);transform-origin:0 50%;transform:scaleX(0)}
.card{transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}
.card:hover{transform:translate(-3px,-5px);box-shadow:10px 12px 0 var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
@media (prefers-reduced-motion:no-preference){
 .brand-orbit{transition:transform .6s var(--ease-snap)}.brand:hover .brand-orbit{transform:rotate(-360deg)}
 .btn:not([aria-disabled=true]){animation:pulse 2.8s ease-in-out 1.6s 2}
 .motion .hero h1{animation:rise .9s var(--ease-out) .1s both}
 .motion .hero .lead{animation:rise .8s var(--ease-out) .3s both}
 .motion .hero p:has(.btn){animation:rise .8s var(--ease-out) .45s both}
 .motion header{animation:drop .6s var(--ease-out) both}
 .motion [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:var(--d,0s)}
 .motion [data-reveal].is-in{opacity:1;transform:none}
 .motion h2[data-reveal]{border-top-color:transparent;transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),border-color .6s ease .3s}
 .motion h2[data-reveal].is-in{border-top-color:var(--ink)}
 .motion .price[data-reveal].is-in{animation:land .5s var(--ease-snap) both}
}
@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes drop{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}
@keyframes land{0%{transform:scale(1.25) rotate(-4deg)}100%{transform:none}}
@keyframes pulse{0%,100%{box-shadow:4px 4px 0 var(--ink)}50%{box-shadow:4px 4px 0 var(--ink),0 0 0 8px #ffc14d55}}
