/* A quiet typographic opening, followed by a crossfade into the artwork. */
.platform-site.is-ready .entry-mask {
  background: #fafafa;
  animation: entryCurtain 800ms cubic-bezier(.22, 1, .36, 1) 1250ms both;
}
.platform-site .entry-mask::after { display: none; }
.platform-site.is-ready .entry-mask::before {
  top: calc(50% + 64px);
  width: min(380px, 68%);
  height: 1px;
  background: #b8b8bc;
  transform-origin: center;
  animation: entryRule 1450ms cubic-bezier(.22, 1, .36, 1) 180ms both;
}
.platform-site.is-ready .entry-mask > span {
  color: #171719;
  font-size: 64px;
  font-family: var(--font-latin);
  font-weight: 760;
  line-height: 1.2;
  letter-spacing: 0;
  animation: entrySignature 1750ms cubic-bezier(.22, 1, .36, 1) both;
}
.platform-site .hero::before { display: none; }
.platform-site.is-ready .hero-image {
  animation: artworkArrive 1400ms cubic-bezier(.22, 1, .36, 1) 900ms both;
}
.platform-site.is-ready .hero-overlay { animation: fadeIn 900ms ease 900ms both; }
.platform-site.is-ready .site-header { animation: revealDown 800ms cubic-bezier(.22, 1, .36, 1) 1350ms both; }
.platform-site.is-ready .hero-content > * { animation-duration: 850ms; }
.platform-site.is-ready .hero-content > :nth-child(1) { animation-delay: 1250ms; }
.platform-site.is-ready .hero-content > :nth-child(2) { animation-delay: 1330ms; }
.platform-site.is-ready .hero-content > :nth-child(3) { animation-delay: 1410ms; }
.platform-site.is-ready .hero-content > :nth-child(4) { animation-delay: 1490ms; }
@keyframes entrySignature {
  0% { opacity: 0; filter: blur(5px); transform: translateY(12px); clip-path: inset(0 0 100% 0); }
  42%, 66% { opacity: 1; filter: blur(0); transform: translateY(0); clip-path: inset(-15% -5% -15% -5%); }
  100% { opacity: 0; filter: blur(2px); transform: translateY(-4px); clip-path: inset(-15% -5% -15% -5%); }
}
@keyframes entryRule {
  0% { opacity: 0; transform: translateX(-50%) scaleX(0); }
  48%, 72% { opacity: .7; transform: translateX(-50%) scaleX(1); }
  100% { opacity: 0; transform: translateX(-50%) scaleX(1); }
}
@keyframes entryCurtain { from { opacity: 1; } to { opacity: 0; } }
@keyframes artworkArrive {
  from { opacity: 0; transform: scale(1.012); }
  to { opacity: 1; transform: scale(1); }
}
@media (max-width: 680px) {
  .platform-site.is-ready .entry-mask > span { font-size: 40px; }
  .platform-site.is-ready .entry-mask::before { top: calc(50% + 46px); width: 235px; }
}
@media (prefers-reduced-motion: reduce) {
  .platform-site .entry-mask { display: none; }
  .platform-site.is-ready .site-header,
  .platform-site.is-ready .hero-image,
  .platform-site.is-ready .hero-overlay,
  .platform-site.is-ready .hero-content > * { animation: none; opacity: 1; transform: none; }
}
