/* HOME-REALITY-MOTION-V11: progressive enhancement; static markup remains intact. */
.approved-home.home-reality-motion .portrait {
  overflow: visible;
  isolation: isolate;
}
.approved-home.home-reality-motion .portrait > img {
  position: relative;
  z-index: 0;
}
.approved-home.home-reality-motion .portrait::after {
  z-index: 3;
  pointer-events: none;
}
.approved-home.home-reality-motion .portrait-text {
  z-index: 4;
}
.approved-home.home-reality-motion .reality-motion-viewport {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
}
.approved-home.home-reality-motion .reality-motion-overhang {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  height: 30px;
  overflow: hidden;
  z-index: 2;
  pointer-events: none;
}
.approved-home.home-reality-motion .reality-motion-video,
.approved-home.home-reality-motion .reality-motion-foreground {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 42%;
  opacity: 0;
  transform-origin: 65% 100%;
  transition: opacity 380ms ease;
}
.approved-home.home-reality-motion .reality-motion-foreground {
  position: absolute;
  left: 0;
  top: 30px;
  height: var(--portrait-height, 175px);
}
.approved-home.home-reality-motion .portrait.is-speaking {
  z-index: 2;
}
.approved-home.home-reality-motion .is-speaking .reality-motion-video,
.approved-home.home-reality-motion .is-speaking .reality-motion-foreground {
  opacity: 1;
  animation: reality-human-peek var(--motion-duration, 1.6s)
    cubic-bezier(0.4, 0, 0.2, 1) both;
}
.approved-home.home-reality-motion
  [data-motion-visible="false"]
  .reality-motion-video,
.approved-home.home-reality-motion
  [data-motion-visible="false"]
  .reality-motion-foreground {
  animation-play-state: paused;
}
.approved-home.home-reality-motion
  [data-motion-state="running"]
  .portrait-text
  strong,
.approved-home.home-reality-motion
  [data-motion-state="reset"]
  .portrait-text
  strong {
  opacity: 0;
  transition: opacity 220ms ease;
}
.approved-home.home-reality-motion
  [data-motion-state="running"]
  [data-quote-revealed="true"]
  .portrait-text
  strong {
  opacity: 1;
}
@keyframes reality-human-peek {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }
  18%,
  65% {
    transform: translateY(-7px) scale(1.16);
  }
  88% {
    transform: translateY(0) scale(1);
  }
}
@media (max-width: 767px) {
  .approved-home.home-reality-motion .portrait-grid {
    row-gap: 28px;
  }
  .approved-home.home-reality-motion .is-speaking .reality-motion-video,
  .approved-home.home-reality-motion .is-speaking .reality-motion-foreground {
    animation-name: reality-human-peek-small;
  }
  @keyframes reality-human-peek-small {
    0%,
    100% {
      transform: translateY(0) scale(1);
    }
    18%,
    65% {
      transform: translateY(-4px) scale(1.1);
    }
    88% {
      transform: translateY(0) scale(1);
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  .approved-home.home-reality-motion .reality-motion-viewport,
  .approved-home.home-reality-motion .reality-motion-overhang {
    display: none;
  }
  .approved-home.home-reality-motion .portrait-text strong {
    opacity: 1 !important;
    transition: none !important;
  }
}

.approved-home.home-reality-motion
  [data-motion-paused="true"]
  .reality-motion-video,
.approved-home.home-reality-motion
  [data-motion-paused="true"]
  .reality-motion-foreground {
  animation-play-state: paused;
}
.approved-home.home-reality-motion
  .portrait:not(.has-foreground)
  .reality-motion-foreground {
  visibility: hidden;
}
.approved-home.home-reality-motion
  .portrait.is-speaking:not(.has-foreground)
  .reality-motion-video {
  animation: none;
}

/* Adjacent handoff: previous settles while next begins, using untouched video pixels. */
.approved-home.home-reality-motion
  .is-speaking.is-settling
  .reality-motion-video,
.approved-home.home-reality-motion
  .is-speaking.is-settling
  .reality-motion-foreground {
  opacity: 0;
}

/* V5: existing signal artwork only; no extra image or media requests. */
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .process-row
  li:not(:last-child)::after {
  animation: homepage-arrow-signal 2.9s cubic-bezier(0.4, 0, 0.2, 1) infinite
    both paused;
  transform-origin: center;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .capability-card
  li::before {
  animation: homepage-check-signal 4.5s cubic-bezier(0.4, 0, 0.2, 1) infinite
    both paused;
  transform-origin: center;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .steps
  li
  > span {
  animation: homepage-step-signal 3.82s cubic-bezier(0.4, 0, 0.2, 1) infinite
    both paused;
  transform-origin: center;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .capability-card
  li:nth-child(2)::before,
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .steps
  li:nth-child(2)
  > span {
  animation-delay: 0.68s;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .capability-card
  li:nth-child(3)::before,
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .steps
  li:nth-child(3)
  > span {
  animation-delay: 1.36s;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .capability-card
  li:nth-child(4)::before,
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .steps
  li:nth-child(4)
  > span {
  animation-delay: 2.04s;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .capability-card
  li:nth-child(5)::before {
  animation-delay: 2.72s;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .process-row
  li:nth-child(2)::after {
  animation-delay: 0.32s;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .process-row
  li:nth-child(3)::after {
  animation-delay: 0.64s;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .process-row
  li:nth-child(4)::after {
  animation-delay: 0.96s;
}
.approved-home.home-reality-motion
  [data-signal-running="true"]
  .process-row
  li:not(:last-child)::after,
.approved-home.home-reality-motion
  [data-signal-running="true"]
  .capability-card
  li::before,
.approved-home.home-reality-motion
  [data-signal-running="true"]
  .steps
  li
  > span {
  animation-play-state: running;
}
@keyframes homepage-arrow-signal {
  0%,
  45%,
  100% {
    transform: translateX(0) scale(1);
    color: #608494;
  }
  18% {
    transform: translateX(3px) scale(1.1);
    color: #ce861f;
  }
}
@keyframes homepage-check-signal {
  0%,
  22.22%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 transparent;
  }
  8%,
  10% {
    transform: scale(1.22);
    box-shadow:
      0 0 0 2px #f5aa36,
      0 0 0 5px rgb(245 170 54 / 18%),
      0 0 12px rgb(245 170 54 / 48%);
  }
}
@keyframes homepage-step-signal {
  0%,
  26.18%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 transparent;
  }
  9.42%,
  11.78% {
    transform: scale(1.13);
    box-shadow:
      0 0 0 2px #f5aa36,
      0 0 0 6px rgb(245 170 54 / 16%),
      0 0 15px rgb(245 170 54 / 45%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .approved-home.home-reality-motion
    [data-signal-motion]
    .process-row
    li::after,
  .approved-home.home-reality-motion
    [data-signal-motion]
    .capability-card
    li::before,
  .approved-home.home-reality-motion [data-signal-motion] .steps li > span {
    animation: none !important;
    transform: none !important;
    box-shadow: none !important;
  }
}

/* V6: tiny traveling signals over the existing dotted arrow paths. */
.approved-home.home-reality-motion .homepage-gap-packet {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}
.approved-home.home-reality-motion .homepage-gap-packet[hidden] {
  display: none;
}
.approved-home.home-reality-motion .homepage-gap-packet::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at 4px 50%,
    #ffdc7b 0 1.5px,
    #ed9c24 2px 3.5px,
    transparent 4px
  );
  filter: drop-shadow(0 0 3px rgb(236 151 22 / 80%));
  animation: homepage-amber-packet 2.9s linear infinite both paused;
  transform-origin: 4px 50%;
}
.approved-home.home-reality-motion
  .process-row
  li:nth-child(2)
  .homepage-gap-packet::before {
  animation-delay: 0.32s;
}
.approved-home.home-reality-motion
  .process-row
  li:nth-child(3)
  .homepage-gap-packet::before {
  animation-delay: 0.64s;
}
.approved-home.home-reality-motion
  .process-row
  li:nth-child(4)
  .homepage-gap-packet::before {
  animation-delay: 0.96s;
}
.approved-home.home-reality-motion
  [data-signal-running="true"]
  .homepage-gap-packet::before {
  animation-play-state: running;
}
@keyframes homepage-amber-packet {
  0% {
    transform: translateX(0);
    opacity: 0;
  }
  8% {
    transform: translateX(0);
    opacity: 1;
  }
  24% {
    transform: translateX(calc(25% - 2px)) scale(1.22);
    opacity: 1;
  }
  40% {
    transform: translateX(calc(50% - 4px)) scale(1);
    opacity: 1;
  }
  56% {
    transform: translateX(calc(75% - 6px)) scale(1.22);
    opacity: 1;
  }
  72%,
  85% {
    transform: translateX(calc(100% - 8px)) scale(1);
    opacity: 1;
  }
  94%,
  100% {
    transform: translateX(calc(100% - 8px));
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .approved-home.home-reality-motion .homepage-gap-packet {
    display: none;
  }
}

/* V11: checklist text only; existing checkmark animation is untouched. */
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .homepage-check-label {
  display: block;
  min-width: 0;
  max-width: 100%;
  transform-origin: left center;
  animation: homepage-check-text 4.5s cubic-bezier(0.4, 0, 0.2, 1) infinite both
    paused;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  li:nth-child(2)
  > .homepage-check-label {
  animation-delay: 0.68s;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  li:nth-child(3)
  > .homepage-check-label {
  animation-delay: 1.36s;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  li:nth-child(4)
  > .homepage-check-label {
  animation-delay: 2.04s;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  li:nth-child(5)
  > .homepage-check-label {
  animation-delay: 2.72s;
}
.approved-home.home-reality-motion
  [data-signal-running="true"]
  .homepage-check-label {
  animation-play-state: running;
}
@keyframes homepage-check-text {
  0%,
  22.22%,
  100% {
    transform: scale(1);
  }
  8%,
  10% {
    transform: scale(1.12);
  }
}
@media (prefers-reduced-motion: reduce) {
  .approved-home.home-reality-motion .homepage-check-label {
    animation: none !important;
    transform: none !important;
  }
}

/* V16 final polish: centered summary copy and title-only badge synchronization. */
.approved-home.home-reality-motion .reality-summary {
  justify-content: center;
  text-align: center;
  gap: 0;
}
.approved-home.home-reality-motion .reality-summary > div {
  width: 100%;
}
.approved-home.home-reality-motion .reality-summary strong,
.approved-home.home-reality-motion .reality-summary p {
  text-align: center;
}
.approved-home.home-reality-motion [data-signal-motion="ready"] .steps h3 {
  transform-origin: left center;
  animation: homepage-step-title 3.82s cubic-bezier(0.4, 0, 0.2, 1) infinite
    both paused;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .steps
  li:nth-child(2)
  h3 {
  animation-delay: 0.68s;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .steps
  li:nth-child(3)
  h3 {
  animation-delay: 1.36s;
}
.approved-home.home-reality-motion
  [data-signal-motion="ready"]
  .steps
  li:nth-child(4)
  h3 {
  animation-delay: 2.04s;
}
.approved-home.home-reality-motion [data-signal-running="true"] .steps h3 {
  animation-play-state: running;
}
@keyframes homepage-step-title {
  0%,
  26.18%,
  100% {
    transform: scale(1);
  }
  9.42%,
  11.78% {
    transform: scale(1.08);
  }
}
@media (prefers-reduced-motion: reduce) {
  .approved-home.home-reality-motion .steps h3 {
    animation: none !important;
    transform: none !important;
  }
}
