/* Shared SERP motion: restrained, fast and never required to access content. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:no-preference){
 .button,.nav-join,.text-button,.map-cell,.research-case-grid button{transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s var(--motion-ease)}
 .button:hover,.nav-join:hover{transform:translateY(-2px)}.button:active,.nav-join:active{transform:translateY(0)}
 .product-grid article,.education-grid article{transition:border-color .25s,box-shadow .25s}.product-grid article:hover,.education-grid article:hover{border-color:#6ab8e266;box-shadow:0 12px 35px #0002}
 .serp-motion .research-list svg path:not(.chart-floor){stroke-dasharray:180;stroke-dashoffset:180;transition:stroke-dashoffset 1.3s var(--motion-ease)}.serp-motion .research-list article.motion-seen svg path{stroke-dashoffset:0}
 .status-dot{animation:serp-breathe 2.8s ease-in-out infinite}.film-play .play-circle{transition:transform .25s,box-shadow .25s}.film-play:hover .play-circle{transform:scale(1.06);box-shadow:0 0 0 8px #6ab8e214}
 .motion-media{transition:opacity .35s}.motion-media[data-media-loading=true]{opacity:.45}
}
#result-progress:not([hidden]){position:relative;display:flex;align-items:center;gap:12px;padding:18px 16px 24px;background:#11161d;border:1px solid #293440;border-radius:7px;margin-bottom:20px;overflow:hidden;min-height:62px;font-size:13px;color:#b8c8d8}
#result-progress:not([hidden])::before,#map-status[data-loading=true]::before{content:"";display:inline-block;width:14px;height:14px;flex:0 0 14px;border:2px solid #6ab8e22b;border-top-color:#6ab8e2;border-radius:50%;animation:serp-spin .8s linear infinite}
#result-progress:not([hidden])::after{content:"";position:absolute;bottom:0;left:0;width:35%;height:2px;background:linear-gradient(90deg,transparent,#6ab8e2,transparent);animation:serp-scan 1.5s ease-in-out infinite}
#map-status[data-loading=true]{display:flex;align-items:center;gap:9px;min-height:22px}#map-status[data-loading=true]::before{width:11px;height:11px;flex-basis:11px}
body[data-calculating=true] #payout-outlook{min-height:126px;border-radius:5px;background:linear-gradient(105deg,#1a1f25 25%,#252e38 45%,#1a1f25 65%);background-size:240% 100%;animation:serp-shimmer 1.5s ease-in-out infinite}
body[data-calculating=true] #payout-outlook>*{visibility:hidden}
body[data-calculating=true] .outlook-grid{grid-template-columns:1fr}
#payout-map[aria-busy=true]{position:relative;min-height:240px;background:linear-gradient(105deg,#1b2026 25%,#26313b 45%,#1b2026 65%);background-size:240% 100%;animation:serp-shimmer 1.5s ease-in-out infinite;border-radius:5px;opacity:.65}
#payout-map[aria-busy=true]>*{opacity:.12}
.motion-media-wrap{background:#11161b;border-radius:inherit;overflow:hidden}.motion-media-wrap[data-media-loading=true]{background:linear-gradient(105deg,#13181e 25%,#25313b 45%,#13181e 65%);background-size:240% 100%;animation:serp-shimmer 1.8s ease-in-out infinite}
.film-buffering{position:absolute;inset:0;display:grid;place-content:center;gap:12px;text-align:center;background:#090e14b8;pointer-events:none;color:#d6e2ef;font-size:12px;z-index:4}.film-buffering[hidden]{display:none}.film-buffering::before{content:"";width:26px;height:26px;border:2px solid #6ab8e238;border-top-color:#6ab8e2;border-radius:50%;animation:serp-spin .8s linear infinite;justify-self:center}
@keyframes serp-spin{to{transform:rotate(360deg)}}@keyframes serp-scan{from{transform:translateX(-110%)}to{transform:translateX(400%)}}@keyframes serp-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}@keyframes serp-breathe{50%{box-shadow:0 0 0 5px #6ab8e212}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-media{opacity:1!important}#payout-map[aria-busy=true]{background:#1b232b}body[data-calculating=true] #payout-outlook{background:#1b232b}}

#result-progress.load-error::before,#result-progress.load-error::after{display:none}#result-progress.load-error{border-color:#a56060;color:#dfa19b}
