/*
 * A small, scoped motion vocabulary for the existing V19 sections.
 * All animated surfaces are pointer-transparent and only use opacity,
 * transform, filters, or SVG stroke properties.
 */

[data-obor-motion] .obor-motion__hero-signal,
[data-obor-motion] .obor-motion__scan-reticle,
[data-obor-motion] .obor-motion__link-trace,
[data-obor-motion] .obor-motion__gallery-count,
[data-obor-motion] .obor-motion__folio-edge,
[data-obor-motion] .obor-motion__spotlight,
[data-obor-motion] .obor-motion__journey-ripple,
[data-obor-motion] .obor-motion__service-beacon {
  pointer-events: none;
}

.mobile-hero[data-obor-motion="signal-ingress"] a,
.desktop-board--1[data-obor-motion="signal-ingress"] .hero-copy__cta {
  isolation: isolate;
  position: relative;
}

.obor-motion__hero-signal {
  border: 1px solid rgba(248, 192, 82, 0);
  border-radius: inherit;
  inset: -3px;
  opacity: 0;
  position: absolute;
  z-index: -1;
}

.obor-motion__hero-signal.is-obor-motion-playing {
  animation: obor-motion-hero-signal 880ms cubic-bezier(.16, 1, .3, 1) both;
}

.mobile-header[data-obor-motion="ledger-sweep"].is-obor-motion-ledger .mobile-header__datum {
  animation: obor-motion-ledger-sweep 620ms ease-out both;
}

#fieldBand[data-obor-motion="scan-reticle"] .signal-room__canvas {
  isolation: isolate;
}

.obor-motion__scan-reticle {
  border: 1px solid rgba(65, 151, 255, .88);
  border-radius: 50%;
  box-shadow: 0 0 0 7px rgba(65, 151, 255, .13), 0 0 28px rgba(65, 151, 255, .42);
  height: clamp(2.8rem, 8vw, 5.2rem);
  left: var(--obor-motion-x, 50%);
  opacity: 0;
  position: absolute;
  top: var(--obor-motion-y, 50%);
  transform: translate(-50%, -50%) scale(.38);
  width: clamp(2.8rem, 8vw, 5.2rem);
  z-index: 20;
}

.obor-motion__scan-reticle::after {
  border: 1px solid rgba(246, 185, 72, .75);
  border-radius: inherit;
  content: '';
  inset: 23%;
  position: absolute;
}

.obor-motion__scan-reticle.is-obor-motion-playing {
  animation: obor-motion-scan-reticle 1040ms cubic-bezier(.2, .8, .2, 1) both;
}

#systems[data-obor-motion="link-trace"] .system-chain__card {
  isolation: isolate;
  position: relative;
}

.obor-motion__link-trace {
  background: linear-gradient(90deg, transparent 0%, rgba(89, 164, 255, .05) 28%, rgba(255, 197, 74, .9) 50%, rgba(89, 164, 255, .05) 72%, transparent 100%);
  clip-path: inset(0);
  inset: 0;
  mix-blend-mode: screen;
  opacity: 0;
  position: absolute;
  transform: translateX(-112%);
  z-index: 4;
}

.obor-motion__link-trace.is-obor-motion-playing {
  animation: obor-motion-link-trace 840ms cubic-bezier(.16, 1, .3, 1) both;
}

#lora[data-obor-motion="route-pulse"].is-obor-motion-routing [data-lora-flow] {
  animation: obor-motion-route-pulse 1120ms linear both;
  stroke: #f2bd55;
  stroke-dasharray: .14 .86;
  stroke-linecap: round;
}

#industries[data-obor-motion="number-flow"] .gallery-controls {
  isolation: isolate;
}

.obor-motion__gallery-count {
  color: #f4c061;
  font: 700 10px/1 var(--mono, monospace);
  font-style: normal;
  letter-spacing: .12em;
  opacity: .92;
  position: absolute;
  right: 28px;
  text-shadow: 0 1px 8px rgba(2, 16, 33, .82);
  top: 20px;
  z-index: 12;
}

.obor-motion__gallery-count.is-obor-motion-playing {
  animation: obor-motion-number-flow 520ms cubic-bezier(.16, 1, .3, 1) both;
}

#channels[data-obor-motion="folio-turn"] [data-channel-slot] {
  isolation: isolate;
  position: relative;
}

.obor-motion__folio-edge {
  background: linear-gradient(90deg, transparent 0%, rgba(255, 192, 78, .1) 34%, rgba(255, 207, 117, .88) 50%, rgba(255, 192, 78, .1) 66%, transparent 100%);
  clip-path: inset(0 100% 0 0);
  inset: 2px;
  mix-blend-mode: screen;
  opacity: 0;
  position: absolute;
  z-index: 5;
}

.obor-motion__folio-edge.is-obor-motion-playing {
  animation: obor-motion-folio-edge 780ms cubic-bezier(.16, 1, .3, 1) both;
}

#team[data-obor-motion="role-spotlight"] [data-team-gate] {
  isolation: isolate;
  position: relative;
}

.obor-motion__spotlight {
  background: radial-gradient(circle at var(--obor-motion-x, 50%) var(--obor-motion-y, 50%), rgba(121, 190, 255, .34), rgba(51, 113, 206, .11) 25%, transparent 62%);
  inset: 0;
  mix-blend-mode: screen;
  opacity: 0;
  position: absolute;
  z-index: 3;
}

.obor-motion__spotlight.is-obor-motion-playing {
  animation: obor-motion-role-spotlight 900ms ease-out both;
}

#service-system[data-obor-motion="radial-calibration"] .journey-v4__clock {
  isolation: isolate;
}

.obor-motion__journey-ripple {
  border: 1px solid rgba(245, 187, 66, .86);
  border-radius: 50%;
  box-shadow: 0 0 0 12px rgba(82, 154, 255, .09), 0 0 28px rgba(76, 150, 255, .44);
  inset: 26%;
  opacity: 0;
  position: absolute;
  transform: scale(.54);
  z-index: 10;
}

.obor-motion__journey-ripple::after {
  color: #f2bf5a;
  content: attr(data-stage);
  font: 700 clamp(10px, 1vw, 14px)/1 var(--mono, monospace);
  left: 50%;
  letter-spacing: .1em;
  position: absolute;
  text-shadow: 0 1px 8px #07111e;
  top: 50%;
  transform: translate(-50%, -50%);
}

.obor-motion__journey-ripple.is-obor-motion-playing {
  animation: obor-motion-journey-ripple 920ms cubic-bezier(.16, 1, .3, 1) both;
}

#network[data-obor-motion="service-beacon"] .globe-outcome--location {
  isolation: isolate;
  position: relative;
}

.obor-motion__service-beacon {
  border: 1px solid rgba(247, 194, 87, .9);
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(72, 149, 255, .12);
  height: 13px;
  opacity: 0;
  position: absolute;
  right: 13px;
  top: 13px;
  transform: scale(.44);
  width: 13px;
  z-index: 4;
}

.obor-motion__service-beacon.is-obor-motion-playing {
  animation: obor-motion-service-beacon 920ms cubic-bezier(.16, 1, .3, 1) both;
}

.site-footer[data-obor-motion="contact-pulse"] a.is-obor-motion-playing {
  animation: obor-motion-contact-pulse 700ms ease-out both;
}

@keyframes obor-motion-hero-signal {
  0% { opacity: 0; transform: scale(.95); }
  35% { border-color: rgba(248, 192, 82, .92); opacity: 1; transform: scale(1.04); }
  100% { opacity: 0; transform: scale(1.13); }
}

@keyframes obor-motion-ledger-sweep {
  0% { box-shadow: 0 0 0 0 rgba(243, 191, 84, 0); opacity: .5; }
  48% { box-shadow: 0 0 0 7px rgba(243, 191, 84, .22), 0 0 24px rgba(77, 149, 255, .4); opacity: 1; }
  100% { box-shadow: 0 0 0 14px rgba(243, 191, 84, 0); opacity: .65; }
}

@keyframes obor-motion-scan-reticle {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.38) rotate(-20deg); }
  34% { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.72) rotate(20deg); }
}

@keyframes obor-motion-link-trace {
  0% { opacity: 0; transform: translateX(-112%); }
  18% { opacity: .86; }
  100% { opacity: 0; transform: translateX(112%); }
}

@keyframes obor-motion-route-pulse {
  0% { opacity: .12; stroke-dashoffset: 1; }
  28% { opacity: 1; }
  100% { opacity: .16; stroke-dashoffset: -1; }
}

@keyframes obor-motion-number-flow {
  0% { opacity: 0; transform: translateY(70%); }
  55% { opacity: 1; transform: translateY(-10%); }
  100% { opacity: .92; transform: translateY(0); }
}

@keyframes obor-motion-folio-edge {
  0% { clip-path: inset(0 100% 0 0); opacity: 0; }
  24% { opacity: .95; }
  72% { clip-path: inset(0 0 0 0); opacity: .65; }
  100% { clip-path: inset(0 0 0 100%); opacity: 0; }
}

@keyframes obor-motion-role-spotlight {
  0% { opacity: 0; }
  28% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes obor-motion-journey-ripple {
  0% { opacity: 0; transform: scale(.54); }
  30% { opacity: 1; }
  100% { opacity: 0; transform: scale(1.58); }
}

@keyframes obor-motion-service-beacon {
  0% { opacity: 0; transform: scale(.44); }
  34% { opacity: 1; }
  100% { opacity: 0; transform: scale(2.7); }
}

@keyframes obor-motion-contact-pulse {
  0% { color: inherit; text-shadow: none; transform: translateX(0); }
  45% { color: #f5c461; text-shadow: 0 0 14px rgba(111, 177, 255, .62); transform: translateX(4px); }
  100% { color: inherit; text-shadow: none; transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-header[data-obor-motion="ledger-sweep"].is-obor-motion-ledger .mobile-header__datum,
  [data-obor-motion] .obor-motion__hero-signal,
  [data-obor-motion] .obor-motion__scan-reticle,
  [data-obor-motion] .obor-motion__link-trace,
  #lora[data-obor-motion="route-pulse"] [data-lora-flow],
  [data-obor-motion] .obor-motion__gallery-count,
  [data-obor-motion] .obor-motion__folio-edge,
  [data-obor-motion] .obor-motion__spotlight,
  [data-obor-motion] .obor-motion__journey-ripple,
  [data-obor-motion] .obor-motion__service-beacon,
  .site-footer[data-obor-motion="contact-pulse"] a.is-obor-motion-playing {
    animation: none !important;
    transition-duration: 0ms !important;
  }
}
