:root{--ev-t-micro:.18s;--ev-t-ui:.32s;--ev-t-reveal:.62s;--ev-t-story:1s;--ev-ease-out:cubic-bezier(.22, 1, .36, 1);--ev-ease-inout:cubic-bezier(.65, 0, .35, 1);--ev-ease-spring:cubic-bezier(.34, 1.24, .64, 1);--ev-shift-sm:8px;--ev-shift-md:16px;--ev-shift-lg:28px;--ev-accent:#f69031}.ev-reveal{opacity:0;transform:translate3d(0, var(--ev-shift-md), 0);transition:opacity var(--ev-t-reveal) var(--ev-ease-out), transform var(--ev-t-reveal) var(--ev-ease-out);will-change:opacity, transform}.ev-reveal[data-axis=x]{transform:translate3d(var(--ev-shift-md), 0, 0)}.ev-reveal[data-axis=scale]{transform:scale(.985)}.ev-reveal.is-in{opacity:1;will-change:auto;transform:none}.ev-cta{transition:background-color var(--ev-t-micro) var(--ev-ease-out), color var(--ev-t-micro) var(--ev-ease-out), border-color var(--ev-t-micro) var(--ev-ease-out);position:relative}.ev-cta .ev-cta-arrow{transition:transform var(--ev-t-micro) var(--ev-ease-out)}.ev-cta:hover .ev-cta-arrow{transform:translate(-4px)}[dir=ltr] .ev-cta:hover .ev-cta-arrow{transform:translate(4px)}.ev-underline{background-image:linear-gradient(var(--ev-accent), var(--ev-accent));transition:background-size var(--ev-t-ui) var(--ev-ease-out);background-position:100% 100%;background-repeat:no-repeat;background-size:0% 1px}[dir=ltr] .ev-underline{background-position:0 100%}.ev-underline:hover{background-size:100% 1px}.ev-card{transition:transform var(--ev-t-ui) var(--ev-ease-out), border-color var(--ev-t-ui) var(--ev-ease-out), background-color var(--ev-t-ui) var(--ev-ease-out), box-shadow var(--ev-t-ui) var(--ev-ease-out)}@media (hover:hover){.ev-card:hover{transform:translateY(-3px)}}.ev-card:active{transform:translateY(-1px)}.ev-card .ev-card-arrow{transition:transform var(--ev-t-micro) var(--ev-ease-out)}@media (hover:hover){.ev-card:hover .ev-card-arrow{transform:translate(-3px,-3px)}[dir=ltr] .ev-card:hover .ev-card-arrow{transform:translate(3px,-3px)}}@keyframes evPanelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ev-panel-in{animation:evPanelIn var(--ev-t-ui) var(--ev-ease-out) both}@keyframes evLineIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.ev-line-in{animation:evLineIn var(--ev-t-reveal) var(--ev-ease-out) both}@keyframes evDraw{to{stroke-dashoffset:0}}.ev-draw{stroke-dasharray:var(--ev-len,200);stroke-dashoffset:var(--ev-len,200);animation:evDraw var(--ev-t-story) var(--ev-ease-inout) both}@keyframes evFlow{to{stroke-dashoffset:-240px}}.ev-flow{stroke-dasharray:3 13;animation:4.2s linear infinite evFlow}@keyframes evNodeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ev-node{animation:evNodeIn var(--ev-t-reveal) var(--ev-ease-out) both;transform-box:fill-box;transform-origin:50%}@keyframes evPulseRing{0%{r:6;opacity:.9}70%{r:20;opacity:0}to{r:20;opacity:0}}.ev-pulse-ring{animation:evPulseRing 2.8s var(--ev-ease-out) infinite}@keyframes evScanY{0%{transform:translateY(0)}to{transform:translateY(var(--ev-scan,190px))}}.ev-scan{animation:evScanY 6s var(--ev-ease-inout) infinite alternate}@media (prefers-reduced-motion:reduce){.ev-reveal{opacity:1!important;transition:none!important;transform:none!important}.ev-panel-in,.ev-line-in,.ev-node{opacity:1!important;animation:none!important;transform:none!important}.ev-draw{stroke-dashoffset:0!important;animation:none!important}.ev-flow{animation:none!important}.ev-card:hover,.ev-cta:hover .ev-cta-arrow{transform:none!important}.ev-pulse-ring,.ev-scan{animation:none!important}}
