/* A little life in the entrance garden; the lettering stays in front. */
body.home::after{display:none}
.ff-entrance-copy,.ff-entrance-caption{position:relative;z-index:1}
.ff-entrance .ff-entrance-caption{position:absolute}
.ff-firefly-garden{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:layout paint}
.ff-firefly,.ff-twinkle{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);pointer-events:none}
.ff-firefly{animation:ff-firefly-wander var(--duration) ease-in-out var(--delay) infinite alternate}
.ff-firefly::before{content:"";position:absolute;inset:0;border-radius:50%;background:#fff7c7;box-shadow:0 0 5px 2px #f8dc91bb,0 0 17px 6px #d9d58c55;animation:ff-firefly-glimmer var(--glow-duration,7s) ease-in-out var(--delay) infinite}
.ff-firefly:nth-child(3n)::before{background:#f6ffd4;box-shadow:0 0 5px 2px #e1efacbb,0 0 17px 6px #b3d09255}
.ff-firefly:nth-child(4n)::before{background:#ffedca;box-shadow:0 0 5px 2px #f5c980bb,0 0 20px 6px #ddaa6155}
.ff-twinkle{animation:ff-garden-twinkle var(--duration) ease-in-out var(--delay) infinite;opacity:0}
.ff-twinkle::before,.ff-twinkle::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse,#fff9de 0%,#fff4c7aa 24%,transparent 72%);border-radius:50%}
.ff-twinkle::before{transform:scaleX(.16)}
.ff-twinkle::after{transform:scaleY(.16)}
@keyframes ff-firefly-wander{
  0%{transform:translate3d(0,0,0)}
  35%{transform:translate3d(var(--dx),calc(var(--dy) * .35),0)}
  70%{transform:translate3d(calc(var(--dx) * -.35),var(--dy),0)}
  100%{transform:translate3d(calc(var(--dx) * .6),calc(var(--dy) * -.3),0)}
}
@keyframes ff-firefly-glimmer{
  0%,100%{opacity:.2;transform:scale(.65)}
  35%{opacity:.9;transform:scale(1)}
  65%{opacity:.4;transform:scale(.8)}
  82%{opacity:.7;transform:scale(.95)}
}
@keyframes ff-garden-twinkle{
  0%,38%,100%{opacity:0;transform:scale(.35) rotate(-12deg)}
  52%{opacity:.88;transform:scale(1) rotate(0deg)}
  70%{opacity:0;transform:scale(.55) rotate(12deg)}
}
.ff-firefly-garden[data-paused="true"] *,
.ff-firefly-garden[data-paused="true"] *::before,
.ff-firefly-garden[data-paused="true"] *::after{animation-play-state:paused!important}
@media(max-width:700px){
  .ff-firefly,.ff-twinkle{left:var(--mobile-x,var(--x));top:var(--mobile-y,var(--y))}
  .ff-firefly:nth-child(even),.ff-twinkle:nth-child(even){display:none}
}
@media(prefers-reduced-motion:reduce){
  .ff-firefly,.ff-firefly::before,.ff-twinkle{animation:none!important;transform:none}
  .ff-firefly::before{opacity:.45}
  .ff-twinkle{opacity:.2}
}
/* The entrance's small living details follow the painted seasonal edition. */
body.home[data-ff-season="winter"] .ff-firefly{animation-name:ff-winter-fall;animation-timing-function:linear;animation-direction:normal}
body.home[data-ff-season="winter"] .ff-firefly::before{background:#f4f8ff;box-shadow:0 0 3px #eef6ff77;animation:none;opacity:.7;transform:none}
body.home[data-ff-season="spring"] .ff-firefly:nth-child(3n)::before{background:#f4d9e4;border-radius:65% 15% 65% 15%;box-shadow:0 0 4px #efc9d566}
body.home[data-ff-season="autumn"] .ff-firefly:nth-child(3n)::before{background:#dcb16c;border-radius:70% 12% 70% 12%;box-shadow:0 0 5px #c9854855}
@keyframes ff-winter-fall{0%{transform:translate3d(0,-90px,0);opacity:0}12%{opacity:.8}88%{opacity:.8}100%{transform:translate3d(var(--dx),210px,0);opacity:0}}
@media(prefers-reduced-motion:reduce){body.home[data-ff-season="winter"] .ff-firefly{animation:none;transform:none;opacity:.45}}
@media print{.ff-firefly-garden{display:none!important}}

