/* Slow composited layers; every repeating animation belongs to the hero. */
.motion-ring,.motion-orbit,.motion-node,.motion-packet,.motion-scan{animation-play-state:paused!important}.motion-running .motion-ring,.motion-running .motion-orbit,.motion-running .motion-node,.motion-running .motion-packet,.motion-running .motion-scan{animation-play-state:running!important}
.motion-ring,.motion-orbit{transform-box:view-box;transform-origin:200px 200px;animation:df-orbit 34s linear infinite}.motion-orbit{animation-duration:56s;animation-direction:reverse}.hero-visual{opacity:.58}.motion-node{animation:df-node 6s ease-in-out infinite}.motion-node:nth-child(2){animation-delay:-2s}.motion-node:nth-child(3){animation-delay:-4s}
.motion-packet{animation:df-packet-a 8s linear infinite;opacity:0}.motion-packet-b{animation-name:df-packet-b;animation-duration:10s;animation-delay:-5s}.motion-scan{position:absolute;top:-80px;left:0;width:100%;height:80px;z-index:-1;pointer-events:none;background:linear-gradient(transparent,#b9cfb205 85%,#d6c48a12 99%,transparent);animation:df-scan 12s linear infinite;opacity:0}
.home-intro .start-card{background:#213228eb;backdrop-filter:none}.home-intro .start-card:hover{background:#2b3d30}
.search-wrap form>button{position:relative;overflow:hidden}.search-wrap form>button:after{content:'';position:absolute;inset:-30% auto -30% -60%;width:40%;background:linear-gradient(100deg,transparent,#ffffff30,transparent);transform:translateX(0) skewX(-20deg);pointer-events:none;opacity:0}.search-wrap form>button:focus-visible:after{animation:df-button-sheen .7s ease-out}.search-wrap form>button svg,.download-entry b,.start-link>span{transition:transform .2s ease}
@media(hover:hover) and (pointer:fine){.search-wrap form>button:hover:after{animation:df-button-sheen .7s ease-out}.search-wrap form>button:hover svg,.download-entry:hover b,.start-card:hover .start-link>span{transform:translateX(3px)}}
@keyframes df-orbit{to{transform:rotate(360deg)}}
@keyframes df-node{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes df-packet-a{0%{transform:translate(0,0);opacity:0}8%,80%{opacity:1}95%,100%{transform:translate(274px,-13px);opacity:0}}
@keyframes df-packet-b{0%{transform:translate(0,0);opacity:0}10%,75%{opacity:.9}95%,100%{transform:translate(119px,-72px);opacity:0}}
@keyframes df-scan{0%{transform:translateY(0);opacity:0}15%,65%{opacity:1}90%,100%{transform:translateY(650px);opacity:0}}
@keyframes df-button-sheen{0%{transform:translateX(0) skewX(-20deg);opacity:0}25%{opacity:1}100%{transform:translateX(450%) skewX(-20deg);opacity:0}}
@media(max-width:760px){.hero-visual{right:-105px;opacity:.46}.home-intro .eyebrow{max-width:100%;font-size:.58rem;letter-spacing:.08em}.motion-ring{animation-duration:42s}.motion-orbit{animation-duration:64s}.motion-scan{animation-duration:16s}}
@media(prefers-reduced-motion:reduce){.motion-ring,.motion-orbit,.motion-node,.motion-packet,.motion-scan,.search-wrap form>button:after{animation:none!important}.motion-packet,.motion-scan{display:none}.motion-node{opacity:.75}.search-wrap form>button svg,.download-entry b,.start-link>span{transition:none!important}}
