/* Polish on the existing home stage: light, press, focus, one photo drift.
   The grid, type and cards stay where they are. */

.home-stage { --spot-x: 72%; --spot-y: 18%; }
.home-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(
    540px circle at var(--spot-x) var(--spot-y),
    rgba(34, 211, 238, 0.16),
    transparent 58%
  );
}

.home-stage-card { --lx: 18%; --ly: 0%; }
.home-stage-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(
    280px circle at var(--lx) var(--ly),
    color-mix(in srgb, var(--card) 34%, transparent),
    transparent 46%
  );
  transition: opacity 180ms ease;
}
.home-stage-card:hover::before,
.home-stage-card:focus-visible::before { opacity: 1; }

.home-stage-cta,
.home-stage-card,
.home-stage-quiet,
.home-product-jump a {
  transition: transform 140ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease;
}
.home-stage-cta:active,
.home-stage-card:active { transform: scale(0.98); }
.home-stage-card:hover { transform: translateY(-6px); }
.home-stage-card:active { transform: translateY(-2px) scale(0.99); }

.home-stage-cta:focus-visible,
.home-stage-quiet:focus-visible,
.home-stage-card:focus-visible,
.home-product-jump a:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: no-preference) {
  .home-stage-photo {
    animation: home-photo-drift 18s cubic-bezier(0.33, 1, 0.68, 1) infinite alternate;
  }
  .home-stage-copy h1 { animation: home-rise 800ms cubic-bezier(0.22, 1, 0.36, 1) both; }
  .home-stage-lede { animation: home-rise 800ms 80ms cubic-bezier(0.22, 1, 0.36, 1) both; }
  .home-stage-actions { animation: home-rise 800ms 150ms cubic-bezier(0.22, 1, 0.36, 1) both; }
  .home-stage-points { animation: home-rise 800ms 220ms cubic-bezier(0.22, 1, 0.36, 1) both; }
  .home-stage-card { animation: home-fade 700ms cubic-bezier(0.22, 1, 0.36, 1) both; }
  .home-stage-card:nth-child(2) { animation-delay: 70ms; }
  .home-stage-card:nth-child(3) { animation-delay: 140ms; }
  .home-stage-card:nth-child(4) { animation-delay: 210ms; }
  .home-stage-card:nth-child(5) { animation-delay: 280ms; }
}
@keyframes home-photo-drift {
  from { transform: scale(1.05); }
  to { transform: scale(1); }
}
@keyframes home-rise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}
@keyframes home-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .home-stage-card:hover,
  .home-stage-card:active,
  .home-stage-cta:active { transform: none; }
}
