/* Ambient accents share the photograph's crop and soften with its opening blur. */
.has-scene-details{position:relative;isolation:isolate}
.welcome-scene.has-scene-details{position:absolute}
.scene-details{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:-1}
.scene-details--portrait{display:none}
.distant-hut{opacity:.8;filter:blur(1px)}
.welcome-scene .scene-details{z-index:0}
.scene-atmosphere{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}
.scene-atmosphere--portrait{display:none}
.swallow-flock{fill:#18201d;opacity:0;animation:swallow-passage 24s linear infinite;will-change:transform}
.swallow-wings{transform-box:fill-box;transform-origin:50% 65%;animation:swallow-wings 1.6s ease-in-out var(--wing-delay,0s) infinite}
/* The measured visible flight takes twenty seconds; its rest is four seconds. */
@keyframes swallow-passage{
  0%{transform:translate(var(--flight-start),0);opacity:.76}
  83.333%{transform:translate(var(--flight-end),0);opacity:.76}
  83.334%,100%{transform:translate(var(--flight-end),0);opacity:0}
}
@keyframes swallow-wings{0%,100%{transform:scaleY(.75)}50%{transform:scaleY(1)}}
.water-glint{fill:#fffdf1;opacity:0;transform-box:fill-box;transform-origin:center;animation:water-shimmer var(--glint-duration,6s) ease-in-out var(--glint-delay,0s) infinite}
.water-glint ellipse{opacity:.7}
@keyframes water-shimmer{0%,18%,88%,100%{opacity:0;transform:scale(.65)}46%{opacity:.52;transform:scale(1.08)}65%{opacity:.15;transform:scale(.88)}}
.atmosphere-paused .swallow-flock,.atmosphere-paused .swallow-wings,.atmosphere-paused .water-glint{animation-play-state:paused}
@media(max-width:700px){.scene-atmosphere--wide,.scene-details--wide{display:none}.scene-atmosphere--portrait,.scene-details--portrait{display:block}}
@media(prefers-reduced-motion:reduce){.scene-atmosphere{display:none}}
