/* Entrances */
.motion-ready .poster .reveal {
  opacity: 0;
  transform: translateY(42px);
  transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .75s cubic-bezier(.16,1,.3,1);
  transition-delay: var(--reveal-delay, 0ms);
}
.motion-ready .poster .reveal[data-anim="down"] { transform: translateY(-42px); }
.motion-ready .poster .reveal[data-anim="left"] { transform: translateX(-64px); }
.motion-ready .poster .reveal[data-anim="right"] { transform: translateX(64px); }
.motion-ready .poster .reveal[data-anim="pop"] { transform: scale(.9); }
.motion-ready .poster .reveal.is-visible { opacity: 1; transform: none; }
.motion-ready .poster .reveal.is-revealing { will-change: transform, opacity; }

/* Logos */
.animated-logo { animation: logoFloat 3s ease-in-out infinite; animation-play-state: paused; transform-origin: center; }
.animated-logo[data-logo-motion="brand"] { animation-name: logoHeartbeat; animation-duration: 2.4s; }
.animated-logo[data-logo-motion="closing"] { animation-name: whyFloat; animation-duration: 5.5s; }
.motion-ready .animated-logo.motion-active { animation-play-state: running; }
.motion-ready.motion-paused .animated-logo, .brand:hover .animated-logo, .closing-brand:hover .animated-logo { animation-play-state: paused; }
@keyframes logoFloat {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-9px) rotate(-5deg); }
}
@keyframes whyFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes logoHeartbeat {
  0%, 28%, 100% { transform: scale(1); }
  10% { transform: scale(1.1); }
  18% { transform: scale(1.025); }
  23% { transform: scale(1.065); }
}

/* Closing tick */
.tick-fill-reveal { stroke-dasharray: 1; stroke-dashoffset: 0; opacity: 1; }
.motion-ready .tick-fill-reveal { stroke-dashoffset: 1; opacity: 0; }
.motion-ready .soft-seal.is-filled .tick-fill-reveal { animation: tickColorFill 1.3s cubic-bezier(.4,0,.2,1) both; }
.motion-ready.motion-paused .soft-seal.is-filled .tick-fill-reveal { animation-play-state: paused; }
@keyframes tickColorFill {
  0% { stroke-dashoffset: 1; opacity: 0; }
  2% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 1; }
}

/* Phone */
@media (max-width: 700px) {
  .motion-ready .poster .reveal[data-anim="left"] { transform: translateX(-28px); }
  .motion-ready .poster .reveal[data-anim="right"] { transform: translateX(28px); }
  .motion-ready .poster .reveal.is-visible { transform: none; }
}

/* Motion control */
html[data-motion="reduced"] { scroll-behavior: auto; }
html[data-motion="reduced"] .poster .reveal { opacity: 1; transform: none; transition: none; }
html[data-motion="reduced"] .animated-logo[data-logo-motion] { animation: none; }
html[data-motion="reduced"] .tick-fill-reveal { animation: none; stroke-dashoffset: 0; opacity: 1; }
@media print {
  .motion-ready .poster .reveal { opacity: 1; transform: none; transition: none; }
  .animated-logo[data-logo-motion] { animation: none; }
  .tick-fill-reveal { animation: none !important; stroke-dashoffset: 0 !important; opacity: 1 !important; }
}
