/* Photorealistic landing — ambient depth and motion */

.landing-bg {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.landing-bg__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.35;
  mix-blend-mode: screen;
}

.landing-bg__orb--1 {
  width: min(480px, 65vw);
  height: min(480px, 65vw);
  top: 55%;
  right: -10%;
  background: radial-gradient(circle, rgba(56, 139, 253, 0.4) 0%, transparent 68%);
}

.landing-bg__orb--2 {
  width: min(380px, 50vw);
  height: min(380px, 50vw);
  bottom: 5%;
  left: -8%;
  background: radial-gradient(circle, rgba(63, 185, 80, 0.28) 0%, transparent 70%);
  mix-blend-mode: soft-light;
}

.landing-wrap {
  position: relative;
  z-index: 1;
}

.landing-hero-photo {
  z-index: 2;
}

@media (prefers-reduced-motion: no-preference) {
  .landing-bg__orb--1 {
    animation: landing-drift 16s ease-in-out infinite;
  }

  .landing-bg__orb--2 {
    animation: landing-drift 20s ease-in-out infinite reverse;
  }

  .landing-hero-photo__bg {
    animation: landing-kenburns 22s ease-in-out infinite alternate;
  }
}

@keyframes landing-drift {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(10px, -14px) scale(1.03);
  }
}

@keyframes landing-kenburns {
  0% {
    transform: scale(1) translate(0, 0);
  }
  100% {
    transform: scale(1.06) translate(-1%, -0.5%);
  }
}
