/* Pipeline Claims marketing motion and live-control details.
   Content remains complete without animation; reduced-motion users see a
   stable evidence trail with identical labels and hierarchy. */
.product-landing .nav-anchor:focus-visible,
.product-landing .security-grid a:focus-visible,
.product-landing .landing-footer a:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--landing-action) 38%, transparent);
  outline-offset: 4px;
}

.product-landing .control-loop {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 40rem;
  margin-top: 1.35rem;
  border-top: 1px solid var(--landing-line);
}

.product-landing .control-loop::before {
  position: absolute;
  top: -2px;
  left: 0;
  width: 25%;
  height: 3px;
  background: var(--landing-evidence);
  content: "";
  transform-origin: left;
}

.product-landing .control-loop span {
  padding: .6rem .55rem .2rem 0;
  color: var(--landing-muted);
  font: 700 .68rem "IBM Plex Mono", monospace;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.product-landing .hero-proof::after {
  position: absolute;
  top: 1.65rem;
  bottom: 0;
  left: -5px;
  width: 5px;
  background: var(--landing-evidence);
  content: "";
  transform: scaleY(.22);
  transform-origin: top;
}

.product-landing .hero-proof small {
  display: block;
  margin-bottom: .25rem;
  color: var(--landing-evidence);
  font: 700 .68rem "IBM Plex Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.product-landing .shot-controls span:nth-child(1) { box-shadow: inset 0 3px var(--landing-signal); }
.product-landing .shot-controls span:nth-child(2),
.product-landing .shot-controls span:nth-child(4) { box-shadow: inset 0 3px var(--landing-evidence); }
.product-landing .shot-controls span:nth-child(3) { box-shadow: inset 0 3px var(--landing-action); }
.product-landing .shot-activity { display: flex; justify-content: space-between; gap: .75rem; margin-top: .6rem; padding: .45rem .55rem; border-left: 3px solid var(--landing-action); background: var(--landing-action-soft); color: #315566; font: 700 .6rem "IBM Plex Mono", monospace; }
.product-landing .shot-activity span { display: inline-flex; align-items: center; gap: .4rem; }
.product-landing .shot-activity i { width: .42rem; height: .42rem; background: var(--landing-evidence); }
.product-landing .shot-source-action { display: inline-block; margin-top: .65rem; border: 1px solid #8fa3ac; background: #f4f7f6; padding: .42rem .55rem; color: var(--landing-ink); font: 700 .62rem "IBM Plex Mono", monospace; }

.product-landing .shot-review aside::after {
  position: absolute;
  top: 3rem;
  right: .85rem;
  left: .85rem;
  height: 2px;
  background: var(--landing-evidence);
  content: "";
  opacity: .7;
}

@media (prefers-reduced-motion: no-preference) {
  .product-landing .hero-copy > * { animation: landing-rise .6s both cubic-bezier(.2,.7,.2,1); }
  .product-landing .hero-copy > :nth-child(2) { animation-delay: .06s; }
  .product-landing .hero-copy > :nth-child(3) { animation-delay: .12s; }
  .product-landing .hero-copy > :nth-child(4) { animation-delay: .18s; }
  .product-landing .hero-copy > :nth-child(5) { animation-delay: .24s; }
  .product-landing .hero-copy > :nth-child(6) { animation-delay: .3s; }
  .product-landing .control-loop::before { animation: control-loop 5.6s 2 steps(4, end); }
  .product-landing .hero-proof::after { animation: proof-trace 5.6s 2 cubic-bezier(.4,0,.2,1); }
  .product-landing .source-lines .marked { animation: evidence-mark 5.6s 2 ease-in-out; }
  .product-landing .shot-review aside::after { animation: source-scan 5.6s 2 ease-in-out; }
  .product-landing .workflow-strip > li { transition: background-color .2s ease, transform .2s ease; }
  .product-landing .workflow-strip > li:hover { background: #f5f9f6; transform: translateY(-3px); }
}

@keyframes landing-rise {
  from { transform: translateY(12px); }
  to { transform: translateY(0); }
}

@keyframes control-loop {
  0%, 20% { transform: translateX(0); }
  25%, 45% { transform: translateX(100%); }
  50%, 70% { transform: translateX(200%); }
  75%, 95% { transform: translateX(300%); }
  100% { transform: translateX(0); }
}

@keyframes proof-trace {
  0%, 12% { transform: scaleY(.18); }
  48%, 62% { transform: scaleY(.68); }
  88%, 100% { transform: scaleY(1); }
}

@keyframes evidence-mark {
  0%, 36%, 100% { background: #f0c49c; }
  52%, 78% { background: #9fcfc3; }
}

@keyframes source-scan {
  0%, 12% { top: 3rem; }
  58%, 75% { top: calc(100% - 2.2rem); }
  100% { top: 3rem; }
}

@media (max-width: 560px) {
  .product-landing .control-loop { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-landing .control-loop::before { display: none; }
  .product-landing .shot-activity { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .product-landing *,
  .product-landing *::before,
  .product-landing *::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
