/* Only enqueued on the home page. Geometry comes from the unchanged logo PNG. */
#sn-intro .sn-intro-logo {
  display: block;
  width: min(520px, 92vw, 112vh);
  height: auto;
  overflow: visible;
}
#sn-intro .sn-intro-drop { opacity: 0; }
#sn-intro.sn-intro-playing .sn-intro-drop {
  animation: sn-intro-drop 650ms cubic-bezier(.22,.7,.25,1) var(--sn-intro-delay) both;
}
#sn-intro .sn-intro-tail {
  transform-box: view-box;
  transform-origin: 285px 270px;
}
#sn-intro.sn-intro-playing .sn-intro-tail {
  animation: sn-intro-wag 850ms ease-in-out 3500ms both;
}
.sn-intro-active #sn-intro.sn-intro-playing {
  animation: sn-intro-fade 1100ms cubic-bezier(.4,0,.6,1) 4600ms forwards, sn-intro-escape 0s 6.5s forwards;
}
/* Avoid restarting the HOME entrance after the cover ends; keep active fail-safes intact. */
html:not(.sn-intro-active) #sn-intro ~ main.page-enter { animation: none; }
@keyframes sn-intro-drop {
  from { opacity: 0; transform: translateY(-55px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes sn-intro-wag {
  0%, 100% { transform: rotate(0); }
  12% { transform: rotate(8deg); }
  30% { transform: rotate(-8deg); }
  48% { transform: rotate(7deg); }
  66% { transform: rotate(-6deg); }
  84% { transform: rotate(4deg); }
}
@keyframes sn-intro-fade {
  from { opacity: 1; }
  to { opacity: 0; visibility: hidden; pointer-events: none; }
}
#sn-intro-replay {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 50;
  padding: 10px 18px;
  border: 1px solid #5d8fcf;
  border-radius: 999px;
  background: #fff;
  color: #345f97;
  font-size: 13px;
  line-height: 1.6;
  box-shadow: 0 3px 15px #0000000a;
}
.sn-intro-active #sn-intro-replay { visibility: hidden !important; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  #sn-intro .sn-intro-drop, #sn-intro .sn-intro-tail { animation: none !important; }
  #sn-intro-replay { display: none; }
}
