/* flat/pages/industry-ai-agents.css — Certant Flat: industry-ai-agents page-only rules.
   Tokens only, no shadows, prefix .pg-industry. Linked after flat/flat.css.
   flat.css's .viz-frame--wide/.viz-svg--pin cover the scroll-and-pin pattern;
   only the pin width and the hero's one calm loop are page-specific. */

/* The drawing is 422 units wide after the viewBox tighten; pinning it there holds
   it at drawn scale, so the 10px sub-labels never render below the 9.5px floor. */
.pg-industry__viz { --viz-pin: 422px; }

/* seo-landing.css drifted this hub with lp-float and separated it from the field
   with a bronze radial orb. Drift, gradients and orbs are all banned; one slow
   pulse ring carries both jobs — "live node" and "the hub is not the ground". */
.pg-industry__ring {
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0;
  animation: pg-industry-ring 2.4s var(--ease) infinite;
}
@keyframes pg-industry-ring {
  0%   { opacity: 0;    transform: scale(0.96); }
  30%  { opacity: 0.5;  transform: scale(1.00); }
  100% { opacity: 0;    transform: scale(1.06); }
}

/* Static dashed spokes read as "nothing feeds the agent"; a dash flow is the flat
   sweep. -24 is three whole 4+4 dash periods, so the loop has no seam. */
.pg-industry__spoke { animation: pg-industry-spoke 1.6s linear infinite; }
@keyframes pg-industry-spoke { to { stroke-dashoffset: -24; } }

/* flat.css kills animation globally under reduce; these make the resting state the
   readable one rather than relying on a snapped first frame. */
@media (prefers-reduced-motion: reduce) {
  .pg-industry__ring { animation: none; opacity: 0; }
  .pg-industry__spoke { animation: none; stroke-dashoffset: 0; }
}

