/* 2026-10-15 10:12（北京时间）v2.0.78：统一公共前台跨浏览器动画触发。
 * 不再依据 prefers-reduced-motion 关闭动画，也不依赖 animation-timeline 等新特性；
 * Edge / Chrome / Firefox / Safari 统一使用经典 @keyframes + 状态类。
 */
.api-public-site{--api-motion-fast:180ms;--api-motion-normal:360ms;--api-motion-slow:760ms;--api-motion-ease:cubic-bezier(.22,1,.36,1)}

/* 顶部导航：首次进入有轻微落位，悬停有明确但克制的反馈。 */
.api-public-site .site-header{animation:apiMotionHeaderDrop .5s var(--api-motion-ease) both;transition:background var(--api-motion-normal) ease,border-color var(--api-motion-normal) ease,box-shadow var(--api-motion-normal) ease}
.api-public-site .brand img{transition:transform var(--api-motion-normal) var(--api-motion-ease),filter var(--api-motion-normal) ease}
.api-public-site .brand:hover img{transform:translateY(-2px) scale(1.018);filter:saturate(1.06)}
.api-public-site .nav>a:not(.button){position:relative;transition:color var(--api-motion-fast) ease,transform var(--api-motion-fast) ease}
.api-public-site .nav>a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;border-radius:2px;background:#0b66db;transition:right var(--api-motion-normal) var(--api-motion-ease)}
.api-public-site .nav>a:not(.button):hover{transform:translateY(-1px)}
.api-public-site .nav>a:not(.button):hover:after{right:0}
.api-public-site .nav .button{transition:transform var(--api-motion-normal) var(--api-motion-ease),box-shadow var(--api-motion-normal) ease,background var(--api-motion-normal) ease}
.api-public-site .nav .button:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(11,102,219,.16)}
.api-public-site .api-account-popover{transform-origin:top right;animation:apiMotionPopover .24s var(--api-motion-ease) both}

/* 首页首屏：提高位移、错峰和持续细节，让动画在正常加载速度下也能明显感知。 */
.api-public-site .api-home-hero{isolation:isolate}
.api-public-site .api-home-hero-grid{z-index:1}
.api-public-site .api-home-hero:before{animation:apiMotionGridDrift 18s linear infinite}
.api-public-site .api-home-hero:after{content:"";position:absolute;z-index:0;pointer-events:none;width:360px;height:360px;right:4%;top:4%;border-radius:50%;background:radial-gradient(circle,rgba(41,142,231,.11) 0%,rgba(41,142,231,.045) 38%,transparent 70%);filter:blur(2px);animation:apiMotionHeroGlow 9s ease-in-out infinite}
.api-public-site .api-home-hero-copy{animation:apiMotionHeroLeft .95s var(--api-motion-ease) both}
.api-public-site .api-home-overline{animation:apiMotionRise .66s .12s var(--api-motion-ease) both}
.api-public-site .api-home-hero-kicker{animation:apiMotionRise .68s .2s var(--api-motion-ease) both}
.api-public-site .api-home-hero h1{animation:apiMotionTitleReveal .82s .26s var(--api-motion-ease) both}
.api-public-site .api-home-hero-copy>p{animation:apiMotionRise .7s .34s var(--api-motion-ease) both}
.api-public-site .api-home-hero-actions{animation:apiMotionRise .7s .42s var(--api-motion-ease) both}
.api-public-site .api-home-hero-support{animation:apiMotionRise .7s .5s var(--api-motion-ease) both}
.api-public-site .api-home-console-wrap{animation:apiMotionHeroRight 1s .14s var(--api-motion-ease) both}
.api-public-site .api-home-quickbar{animation:apiMotionQuickbar .86s .58s var(--api-motion-ease) both}
.api-public-site .api-home-overline-mark{transform-origin:left center;animation:apiMotionLineGrow .75s .24s var(--api-motion-ease) both}
.api-public-site .api-home-console{transition:transform .42s var(--api-motion-ease),box-shadow .42s ease,border-color .42s ease;animation:apiMotionConsoleGlow 5.8s 1.3s ease-in-out infinite}
.api-public-site .api-home-console:before{content:"";position:absolute;z-index:0;pointer-events:none;inset:-30% auto -30% -42%;width:32%;background:linear-gradient(90deg,transparent,rgba(91,191,244,.06),rgba(255,255,255,.085),rgba(91,191,244,.05),transparent);transform:skewX(-13deg);animation:apiMotionConsoleSweep 7.5s 1.6s ease-in-out infinite}
.api-public-site .api-home-console>*{position:relative;z-index:1}
.api-public-site .api-home-console-wrap:hover .api-home-console{transform:translateY(-5px);border-color:#4e78a3;box-shadow:0 38px 82px rgba(18,48,89,.28)}
.api-public-site .api-home-console-badge{animation:apiMotionBadgeFloat 4.8s .9s ease-in-out infinite}
.api-public-site .api-home-badge-dot,.api-public-site .api-home-console-foot i{animation:apiMotionPulseDot 2.5s ease-in-out infinite}
.api-public-site .api-home-request-line{position:relative;overflow:hidden;transition:border-color var(--api-motion-normal) ease,background var(--api-motion-normal) ease}
.api-public-site .api-home-request-line:after{content:"";position:absolute;inset:-1px auto -1px -38%;width:31%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(118,207,250,.04),rgba(118,207,250,.22),transparent);transform:skewX(-15deg);animation:apiMotionCodeSweep 5.8s 1.5s ease-in-out infinite}
.api-public-site .api-home-console:hover .api-home-request-line{border-color:rgba(145,190,232,.42);background:rgba(255,255,255,.065)}

/* 主按钮加入低频扫光，页面静止时也能感知到微动效。 */
.api-public-site .api-home-btn-primary,.api-public-site .api-home-cta-inner a:first-child{position:relative;overflow:hidden}
.api-public-site .api-home-btn-primary:before,.api-public-site .api-home-cta-inner a:first-child:before{content:"";position:absolute;pointer-events:none;top:-35%;bottom:-35%;left:-35%;width:24%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg);animation:apiMotionButtonSweep 5.6s 1.8s ease-in-out infinite}
.api-public-site .api-home-btn span,.api-public-site .api-home-text-link span,.api-public-site .api-home-api-bottom strong span,.api-public-site .api-home-cta-inner a span{display:inline-block;transition:transform var(--api-motion-normal) var(--api-motion-ease)}
.api-public-site .api-home-btn:hover span,.api-public-site .api-home-text-link:hover span,.api-public-site .api-home-api-card:hover .api-home-api-bottom strong span,.api-public-site .api-home-cta-inner a:hover span{transform:translate(4px,-1px)}

/* 首屏下方概览数字保持低频颜色呼吸，幅度很小。 */
.api-public-site .api-home-quickbar-item strong{transition:transform .3s var(--api-motion-ease),color .3s ease;text-shadow:0 0 0 rgba(25,119,212,0)}
.api-public-site .api-home-quickbar-item:nth-child(2) strong{animation:apiMotionMetricGlow 6.2s 1.6s ease-in-out infinite}
.api-public-site .api-home-quickbar-item:nth-child(3) strong{animation:apiMotionMetricGlow 6.2s 2.2s ease-in-out infinite}
.api-public-site .api-home-quickbar-item:nth-child(4) strong{animation:apiMotionMetricGlow 6.2s 2.8s ease-in-out infinite}
.api-public-site .api-home-quickbar-item:nth-child(5) strong{animation:apiMotionMetricGlow 6.2s 3.4s ease-in-out infinite}
.api-public-site .api-home-quickbar-item:hover strong{transform:translateY(-3px);color:#0b66c4}

/* 首页卡片：保留轻抬升，同时增加常驻细线和低频图标光泽，兼容不支持滚动时间线的浏览器。 */
.api-public-site .api-home-api-card,.api-public-site .api-home-capability-cards article,.api-public-site .api-home-steps-grid article,.api-public-site .api-home-strength-items article,.api-public-site .api-home-scenario-grid article{position:relative;overflow:hidden;transition:transform .34s var(--api-motion-ease),box-shadow .34s ease,border-color .34s ease,background .34s ease}
.api-public-site .api-home-api-card:before,.api-public-site .api-home-capability-cards article:before,.api-public-site .api-home-scenario-grid article:before{content:"";position:absolute;left:20px;right:calc(100% - 50px);top:0;height:2px;background:linear-gradient(90deg,#0b66db,#36b7d9);opacity:.62;transition:right .42s var(--api-motion-ease),opacity .3s ease;animation:apiMotionCardAccent 7.8s ease-in-out infinite}
.api-public-site .api-home-api-card:nth-child(2):before,.api-public-site .api-home-capability-cards article:nth-child(2):before,.api-public-site .api-home-scenario-grid article:nth-child(2):before{animation-delay:.7s}
.api-public-site .api-home-api-card:nth-child(3):before,.api-public-site .api-home-capability-cards article:nth-child(3):before,.api-public-site .api-home-scenario-grid article:nth-child(3):before{animation-delay:1.4s}
.api-public-site .api-home-api-card:nth-child(4):before,.api-public-site .api-home-capability-cards article:nth-child(4):before{animation-delay:2.1s}
.api-public-site .api-home-api-card:hover:before,.api-public-site .api-home-capability-cards article:hover:before,.api-public-site .api-home-scenario-grid article:hover:before{right:20px;opacity:1;animation:none}
.api-public-site .api-home-api-card:hover,.api-public-site .api-home-capability-cards article:hover,.api-public-site .api-home-scenario-grid article:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(17,63,115,.11)}
.api-public-site .api-home-api-symbol,.api-public-site .api-home-cap-icon,.api-public-site .api-home-scenario-icon{transition:transform .38s var(--api-motion-ease),box-shadow .38s ease,background .38s ease;animation:apiMotionIconGlow 6.5s ease-in-out infinite}
.api-public-site .api-home-api-card:nth-child(2) .api-home-api-symbol,.api-public-site .api-home-capability-cards article:nth-child(2) .api-home-cap-icon{animation-delay:.8s}
.api-public-site .api-home-api-card:nth-child(3) .api-home-api-symbol,.api-public-site .api-home-capability-cards article:nth-child(3) .api-home-cap-icon{animation-delay:1.6s}
.api-public-site .api-home-api-card:hover .api-home-api-symbol{transform:translateY(-3px) rotate(-2deg) scale(1.065);box-shadow:0 9px 24px rgba(24,107,198,.14)}
.api-public-site .api-home-capability-cards article:hover .api-home-cap-icon,.api-public-site .api-home-scenario-grid article:hover .api-home-scenario-icon{transform:translateY(-3px) scale(1.055)}
.api-public-site .api-home-steps-grid article:hover{transform:translateY(-5px);background:#fbfdff;box-shadow:0 17px 35px rgba(18,67,123,.085)}
.api-public-site .api-home-step-num{transition:color .3s ease,transform .3s var(--api-motion-ease)}
.api-public-site .api-home-steps-grid article:hover .api-home-step-num{color:#2878ca;transform:translateX(3px)}
.api-public-site .api-home-strength-items article:hover{transform:translateY(-5px);background:rgba(255,255,255,.08);border-color:rgba(190,219,255,.3);box-shadow:0 18px 38px rgba(1,16,35,.18)}
.api-public-site .api-home-faq-list summary>span{transition:transform .3s var(--api-motion-ease),background .3s ease,color .3s ease}
.api-public-site .api-home-faq-list summary{transition:background .25s ease,color .25s ease}
.api-public-site .api-home-faq-list details:not([open]) summary:hover{background:#f8fbff;color:#0a63ba}
.api-public-site .api-home-faq-list details[open] summary>span{transform:rotate(45deg) scale(1.06)}

/* CTA 底部加入非常弱的横向亮带，避免整页到末尾再次变成静态。 */
.api-public-site .api-home-end-cta{position:relative;overflow:hidden}
.api-public-site .api-home-end-cta:after{content:"";position:absolute;pointer-events:none;top:-90%;bottom:-90%;left:-25%;width:18%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skewX(-18deg);animation:apiMotionCtaSweep 8.5s 2.2s ease-in-out infinite}
.api-public-site .api-home-cta-inner{position:relative;z-index:1}

/* 公共接口目录、详情页和认证页统一增强进入与悬停反馈。 */
.api-public-site .api-portal-heading>.shell,.api-public-site .api-docs-banner>.shell{animation:apiMotionRise .7s .08s var(--api-motion-ease) both}
.api-public-site .api-docs-tile{position:relative;overflow:hidden;transition:transform .32s var(--api-motion-ease),box-shadow .32s ease,border-color .32s ease}
.api-public-site .api-docs-tile:before{content:"";position:absolute;left:0;top:0;width:3px;height:14%;background:linear-gradient(#0b66db,#37b8da);transition:height .36s var(--api-motion-ease)}
.api-public-site .api-docs-tile:hover{transform:translateY(-5px);box-shadow:0 17px 38px rgba(18,55,106,.11)}
.api-public-site .api-docs-tile:hover:before{height:100%}
.api-public-site .api-platform,.api-public-site .api-indicator{transition:transform .28s var(--api-motion-ease),background .28s ease}
.api-public-site .api-docs-tile:hover .api-platform{transform:translateY(-2px)}
.api-public-site .api-doc-tabs button{transition:color .25s ease,border-color .25s ease,background .25s ease,transform .25s var(--api-motion-ease)}
.api-public-site .api-doc-tabs button:hover{background:#f7fbff;color:#0c62bb;transform:translateY(-1px)}
.api-public-site .api-detail-card,.api-public-site .api-work-card,.api-public-site .api-legal-paper{animation:apiMotionRise .68s .08s var(--api-motion-ease) both}
.api-public-site .auth-section .form-card{animation:apiMotionAuthCard .78s var(--api-motion-ease) both}
.api-public-site .auth-section input,.api-public-site .auth-section textarea{transition:border-color .22s ease,box-shadow .22s ease,transform .22s var(--api-motion-ease)}
.api-public-site .auth-section input:focus,.api-public-site .auth-section textarea:focus{transform:translateY(-1px)}
.api-public-site .api-v255-friends-list a,.api-public-site .footer a{transition:color .24s ease,transform .24s var(--api-motion-ease)}
.api-public-site .api-v255-friends-list a:hover,.api-public-site .footer a:hover{transform:translateY(-2px)}

/* v2.0.78：滚动入场统一由 JS 状态类触发，不再保留 animation-timeline 分支。 */
@keyframes apiMotionHeaderDrop{from{opacity:0;transform:translate3d(0,-12px,0)}to{opacity:1;transform:none}}
@keyframes apiMotionHeroLeft{from{opacity:0;transform:translate3d(-34px,18px,0)}to{opacity:1;transform:none}}
@keyframes apiMotionHeroRight{from{opacity:0;transform:translate3d(42px,24px,0) scale(.975)}to{opacity:1;transform:none}}
@keyframes apiMotionRise{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
@keyframes apiMotionQuickbar{from{opacity:0;transform:translate3d(0,28px,0) scale(.985)}to{opacity:1;transform:none}}
@keyframes apiMotionTitleReveal{from{opacity:0;transform:translate3d(0,28px,0)}to{opacity:1;transform:none}}
@keyframes apiMotionAuthCard{from{opacity:0;transform:translate3d(0,24px,0) scale(.982)}to{opacity:1;transform:none}}
@keyframes apiMotionLineGrow{from{opacity:0;transform:scaleX(.08)}to{opacity:1;transform:scaleX(1)}}
@keyframes apiMotionGridDrift{0%{background-position:0 0,0 0}100%{background-position:34px 34px,34px 34px}}
@keyframes apiMotionHeroGlow{0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.72}50%{transform:translate3d(-26px,18px,0) scale(1.08);opacity:1}}
@keyframes apiMotionConsoleGlow{0%,100%{box-shadow:0 30px 65px rgba(18,48,89,.21)}50%{box-shadow:0 35px 76px rgba(18,60,105,.27)}}
@keyframes apiMotionConsoleSweep{0%,58%{left:-42%;opacity:0}64%{opacity:.85}82%{left:122%;opacity:.9}100%{left:122%;opacity:0}}
@keyframes apiMotionBadgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes apiMotionPulseDot{0%,100%{box-shadow:0 0 0 4px rgba(224,245,236,.9)}50%{box-shadow:0 0 0 8px rgba(224,245,236,.18)}}
@keyframes apiMotionCodeSweep{0%,54%{left:-38%;opacity:0}62%{opacity:1}82%{left:118%;opacity:.92}100%{left:118%;opacity:0}}
@keyframes apiMotionButtonSweep{0%,58%{left:-35%;opacity:0}66%{opacity:.85}82%{left:122%;opacity:.85}100%{left:122%;opacity:0}}
@keyframes apiMotionMetricGlow{0%,100%{color:#0f3261;text-shadow:0 0 0 rgba(25,119,212,0)}50%{color:#155aa7;text-shadow:0 5px 18px rgba(25,119,212,.12)}}
@keyframes apiMotionCardAccent{0%,100%{opacity:.5;filter:saturate(.9)}50%{opacity:1;filter:saturate(1.2)}}
@keyframes apiMotionIconGlow{0%,100%{box-shadow:0 0 0 rgba(19,113,210,0)}50%{box-shadow:0 7px 20px rgba(19,113,210,.09)}}
@keyframes apiMotionCtaSweep{0%,63%{left:-25%;opacity:0}70%{opacity:1}83%{left:118%;opacity:.85}100%{left:118%;opacity:0}}
@keyframes apiMotionPopover{from{opacity:0;transform:translateY(-7px) scale(.975)}to{opacity:1;transform:none}}
@keyframes apiMotionScrollReveal{from{opacity:.12;transform:translate3d(0,36px,0)}to{opacity:1;transform:none}}
@keyframes apiMotionScrollCard{from{opacity:.16;transform:translate3d(0,38px,0) scale(.97)}to{opacity:1;transform:none}}
@keyframes apiMotionMobileNav{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

@media(max-width:850px){
    .api-public-site .nav>a:not(.button):after{display:none}
    .api-public-site .nav.open{animation:apiMotionMobileNav .28s var(--api-motion-ease) both}
    .api-public-site .api-home-console{animation-duration:7.2s}
    .api-public-site .api-home-hero:after{width:260px;height:260px;right:-8%;top:9%}
    .api-public-site .api-home-api-card:before,.api-public-site .api-home-capability-cards article:before,.api-public-site .api-home-scenario-grid article:before{animation-duration:9s}
}

@media(max-width:530px){
    .api-public-site .api-home-hero-copy{animation-duration:.78s}
    .api-public-site .api-home-console-wrap{animation-duration:.82s}
    .api-public-site .api-home-quickbar{animation-delay:.36s}
    .api-public-site .api-home-hero:before{animation-duration:24s}
    .api-public-site .api-home-btn-primary:before,.api-public-site .api-home-cta-inner a:first-child:before{animation-duration:7s}
}

/* v2.0.78：跨浏览器统一触发层。
 * 只要 JS 正常加载，所有主流浏览器走同一套动画；不再读取系统“减少动态效果”偏好，
 * 避免 Edge 与 Chrome 因浏览器/系统偏好差异出现一边有动画、一边无动画。
 */

/* 新触发器存在时，关闭旧的自动启动动画，统一改为 ready / in-view 状态启动。 */
html.api-motion-js body.api-public-site .site-header,
html.api-motion-js body.api-public-site .api-home-hero-copy,
html.api-motion-js body.api-public-site .api-home-overline,
html.api-motion-js body.api-public-site .api-home-hero-kicker,
html.api-motion-js body.api-public-site .api-home-hero h1,
html.api-motion-js body.api-public-site .api-home-hero-copy>p,
html.api-motion-js body.api-public-site .api-home-hero-actions,
html.api-motion-js body.api-public-site .api-home-hero-support,
html.api-motion-js body.api-public-site .api-home-console-wrap,
html.api-motion-js body.api-public-site .api-home-quickbar,
html.api-motion-js body.api-public-site .api-home-overline-mark,
html.api-motion-js body.api-public-site .api-portal-heading>.shell,
html.api-motion-js body.api-public-site .api-docs-banner>.shell,
html.api-motion-js body.api-public-site .api-detail-card,
html.api-motion-js body.api-public-site .api-work-card,
html.api-motion-js body.api-public-site .api-legal-paper,
html.api-motion-js body.api-public-site .auth-section .form-card{
    animation:none;
}

/* 首屏在 JS 确认首帧前保持待入场状态。 */
html.api-motion-js body.api-public-site:not(.api-motion-ready) .site-header{opacity:0;transform:translate3d(0,-18px,0)}
html.api-motion-js body.api-public-site:not(.api-motion-ready) .api-home-hero-copy{opacity:0;transform:translate3d(-42px,20px,0)}
html.api-motion-js body.api-public-site:not(.api-motion-ready) .api-home-console-wrap{opacity:0;transform:translate3d(52px,28px,0) scale(.968)}
html.api-motion-js body.api-public-site:not(.api-motion-ready) .api-home-quickbar{opacity:0;transform:translate3d(0,34px,0) scale(.982)}
html.api-motion-js body.api-public-site:not(.api-motion-ready) .api-portal-heading>.shell,
html.api-motion-js body.api-public-site:not(.api-motion-ready) .api-docs-banner>.shell{opacity:0;transform:translate3d(0,24px,0)}

html.api-motion-js body.api-public-site.api-motion-ready .site-header{animation:apiMotionHeaderDrop .62s var(--api-motion-ease) both}
html.api-motion-js body.api-public-site.api-motion-ready .api-home-hero-copy{animation:apiMotionHeroLeft 1.08s .08s var(--api-motion-ease) both}
html.api-motion-js body.api-public-site.api-motion-ready .api-home-overline{animation:apiMotionRise .72s .22s var(--api-motion-ease) both}
html.api-motion-js body.api-public-site.api-motion-ready .api-home-hero-kicker{animation:apiMotionRise .74s .30s var(--api-motion-ease) both}
html.api-motion-js body.api-public-site.api-motion-ready .api-home-hero h1{animation:apiMotionTitleReveal .92s .38s var(--api-motion-ease) both}
html.api-motion-js body.api-public-site.api-motion-ready .api-home-hero-copy>p{animation:apiMotionRise .78s .48s var(--api-motion-ease) both}
html.api-motion-js body.api-public-site.api-motion-ready .api-home-hero-actions{animation:apiMotionRise .78s .58s var(--api-motion-ease) both}
html.api-motion-js body.api-public-site.api-motion-ready .api-home-hero-support{animation:apiMotionRise .78s .68s var(--api-motion-ease) both}
html.api-motion-js body.api-public-site.api-motion-ready .api-home-console-wrap{animation:apiMotionHeroRight 1.15s .16s var(--api-motion-ease) both}
html.api-motion-js body.api-public-site.api-motion-ready .api-home-quickbar{animation:apiMotionQuickbar .96s .76s var(--api-motion-ease) both}
html.api-motion-js body.api-public-site.api-motion-ready .api-home-overline-mark{animation:apiMotionLineGrow .82s .34s var(--api-motion-ease) both}
html.api-motion-js body.api-public-site.api-motion-ready .api-portal-heading>.shell,
html.api-motion-js body.api-public-site.api-motion-ready .api-docs-banner>.shell{animation:apiMotionRise .78s .14s var(--api-motion-ease) both}

/* 滚动动画不依赖 animation-timeline；JS 会用 IntersectionObserver + scroll 双重触发。 */
html.api-motion-js body.api-public-site .api-motion-reveal{
    opacity:0;
    transform:translate3d(0,34px,0) scale(.986);
    animation:none!important;
    will-change:transform,opacity;
}
html.api-motion-js body.api-public-site .api-motion-reveal.is-visible{
    animation:apiMotionObserverReveal .82s var(--api-motion-ease) var(--api-motion-delay,0ms) both!important;
}
html.api-motion-js body.api-public-site .api-home-api-card.api-motion-reveal,
html.api-motion-js body.api-public-site .api-home-capability-cards article.api-motion-reveal,
html.api-motion-js body.api-public-site .api-home-steps-grid article.api-motion-reveal,
html.api-motion-js body.api-public-site .api-home-strength-items article.api-motion-reveal,
html.api-motion-js body.api-public-site .api-home-scenario-grid article.api-motion-reveal{
    transform:translate3d(0,40px,0) scale(.972);
}

@keyframes apiMotionObserverReveal{
    from{opacity:0;transform:translate3d(0,34px,0) scale(.982)}
    to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
