/* ==========================================================
   Shared page motion: every page rises in the same way.
   Mark any block with class="ik-rv". Blocks that come into view
   together start a beat apart (0.06s), at most four in a row.
   ========================================================== */
[data-ik-motion] .ik-rv{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);
  will-change:opacity,transform;
}
[data-ik-motion] .ik-rv.ik-in{opacity:1;transform:none}
/* Ready-Made Audiences resets everything inside it, so its blocks need a stronger rule */
html[data-ik-motion] :is(#ik-aud,#ik-aud-layer) .ik-rv{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);
}
html[data-ik-motion] :is(#ik-aud,#ik-aud-layer) .ik-rv.ik-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-ik-motion] .ik-rv,html[data-ik-motion] :is(#ik-aud,#ik-aud-layer) .ik-rv{opacity:1;transform:none;transition:none}
}

/* ==========================================================
   Pages built before the shared motion keep their own scripts;
   these rules give them the same rise, speed and easing.
   Vertical landers are left out on purpose (Technology and
   Channels are picked out by page, since landers share their code).
   ========================================================== */
@media (prefers-reduced-motion:no-preference){
  html body .ikp .rv,
  html body .ikw .rv,
  html body .ikai.js .rv,
  html body .iki-r,
  html body .ikb-js [data-rv],
  html body .ikv-js [data-rv],
  html body .ikc-js [data-rv],
  html body .ikn.ikn-js [data-rv],
  html body.page-id-8397 .ikx-js [data-rv],
  html body.page-id-8826 .ikx-js [data-rv]{
    transform:translateY(28px);
    transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);
  }
  html body .ikp .rv.in,
  html body .ikw .rv.in,
  html body .ikai.js .rv.in,
  html body .iki-r.in,
  html body .ikb-js [data-rv].rv-in,
  html body .ikv-js [data-rv].rv-in,
  html body .ikc-js [data-rv].rv-in,
  html body .ikn.ikn-js [data-rv].rv-in,
  html body.page-id-8397 .ikx-js [data-rv].rv-in,
  html body.page-id-8826 .ikx-js [data-rv].rv-in{
    transform:none;
  }
  /* Blog: one moment on load (the title row rises as a single piece, line included);
     the articles are simply there */
  html body .ikb-js .ikb-top [data-rv],
  html body .ikb-js .ikb-grid [data-rv]{opacity:1;transform:none;transition:none}
  html body .ikb-js .ikb-head{animation:ik-rise .9s cubic-bezier(.2,.7,.2,1) both}
  /* Technology: the headline rises as one piece, like every other page */
  html body.page-id-8397 .ikx-js [data-rise].lock .w>span{transform:none;transition:none}
  html body.page-id-8397 .ikx-js [data-rise]{animation:ik-rise .9s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes ik-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}