/* Grinch slightly enlarged for visibility; 18-second animation retained. */
.wll-grinch-flypast {
  position: fixed;
  top: clamp(210px, 28vh, 275px);
  left: 0;
  width: clamp(286px, 35vw, 450px);
  z-index: 70;
  pointer-events: none;
  user-select: none;
  opacity: 1;
  height: auto;
  will-change: transform;
  filter: drop-shadow(0 5px 9px rgba(0,0,0,.55));
  animation: wllGrinchFlyAcross 18s linear infinite both;
  animation-delay: -1.2s;
}
.wll-grinch-flypast img {display: block; width: 100%; height: auto;}
@keyframes wllGrinchFlyAcross {
  0% { opacity: 1; transform: translate3d(calc(-100% + 50px),15px,0) rotate(-3deg); }
  6% { opacity: 1; }
  72% { opacity: 1; transform: translate3d(calc(100vw + 25px),-17px,0) rotate(2deg); }
  74%, 100% { opacity: 0; transform: translate3d(calc(100vw + 25px),-17px,0) rotate(2deg); }
}
@media (max-width: 700px) {
  .wll-grinch-flypast {top: clamp(255px, 33vh, 330px); width: 222px;}
}
/* Accessibility: show an unobtrusive stationary sleigh when motion is reduced. */
@media (prefers-reduced-motion: reduce) {
  .wll-grinch-flypast {animation: none; left: auto; right: 12px; width: min(210px, 48vw); opacity: 1; transform: none;}
}
