/* ECOS / Circuit Meridian v0.3.1 — shared inline SVG identity.
   Scoped styles only: no structural, layout, typography, or demo changes. */
.ecos-circuit-meridian {
  --ecos-outline: #172b38;
  --ecos-wire: #172b38;
  --ecos-track-color: #a7b8c2;
  --ecos-scan-color: #4a83ae;
  --ecos-dot-color: #4f94c8;
  --ecos-disc-color: #f7f8f6;
  display: inline-block;
  flex: none;
  overflow: visible;
  vertical-align: middle;
  shape-rendering: geometricPrecision;
}
.ecos-circuit-meridian .ecos-outline {
  fill: none; stroke: var(--ecos-outline); stroke-width: 2.1;
  stroke-linejoin: round; stroke-linecap: round;
}
.ecos-circuit-meridian .ecos-track {
  fill: none; stroke: var(--ecos-track-color); stroke-width: 1.8; opacity: .63;
}
.ecos-circuit-meridian .ecos-meridian-orbit {
  transform-origin: 24px 24px;
  animation: ecos-meridian-turn 28s linear infinite;
}
.ecos-circuit-meridian .ecos-orbit-arc {
  fill: none; stroke: var(--ecos-scan-color); stroke-width: 2.25;
  stroke-linecap: round; stroke-dasharray: 29 83; opacity: .96;
}
.ecos-circuit-meridian .ecos-orbit-glow {
  fill: var(--ecos-dot-color); opacity: .18;
  animation: ecos-meridian-breathe 3.5s ease-in-out infinite;
}
.ecos-circuit-meridian .ecos-orbit-node { fill: var(--ecos-dot-color); }
.ecos-circuit-meridian .ecos-conductor {
  fill: none; stroke: var(--ecos-wire); stroke-width: 2.25; stroke-linecap: round;
}
.ecos-circuit-meridian .ecos-terminal {
  fill: var(--ecos-disc-color); stroke: var(--ecos-wire); stroke-width: 2.3;
}
.ecos-circuit-meridian .ecos-hub {
  fill: var(--ecos-disc-color); stroke: var(--ecos-wire); stroke-width: 2.4;
}
.ecos-circuit-meridian .ecos-hub-center { fill: var(--ecos-dot-color); }
/* Light on dark: ECOS app header / optional dark public page. */
.story .ecos-circuit-meridian,
.access-body .ecos-circuit-meridian,
.ecos-on-dark .ecos-circuit-meridian,
.site-footer .ecos-circuit-meridian {
  --ecos-outline: #edf7ff;
  --ecos-wire: #eaf5ff;
  --ecos-track-color: #537992;
  --ecos-scan-color: #7bbce9;
  --ecos-dot-color: #8bd0ff;
  --ecos-disc-color: #0b263d;
}
/* Explicitly supersede legacy brand-mark path:first-child/last-child. */
.brand-mark.ecos-circuit-meridian .ecos-outline,
.brand-mark.ecos-circuit-meridian .ecos-conductor {
  stroke: var(--ecos-outline); fill: none;
}
.brand-mark.ecos-circuit-meridian .ecos-conductor { stroke: var(--ecos-wire); }
.brand-mark.ecos-circuit-meridian .ecos-orbit-arc {
  stroke: var(--ecos-scan-color);
}
/* Fitted within existing header and app logo sizes; no layout jump. */
.brand-mark.ecos-circuit-meridian { width: 38px; height: 38px; }
.mark.ecos-circuit-meridian { width: 45px; height: 45px; }
@media(max-width: 600px) {
  .brand-mark.ecos-circuit-meridian { width: 32px; height: 32px; }
}
@media(max-width: 490px) {
  .mark.ecos-circuit-meridian { width: 40px; height: 40px; }
}
.footer-brand .ecos-circuit-meridian {
  width: 24px; height: 24px; margin-right: 9px; vertical-align: -6px;
}
@keyframes ecos-meridian-turn {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes ecos-meridian-breathe {
  0%, 100% { opacity: .10; }
  50% { opacity: .34; }
}
@media(prefers-reduced-motion: reduce) {
  .ecos-circuit-meridian .ecos-meridian-orbit,
  .ecos-circuit-meridian .ecos-orbit-glow { animation: none !important; }
}
@media print {
  .ecos-circuit-meridian .ecos-meridian-orbit,
  .ecos-circuit-meridian .ecos-orbit-glow { animation: none !important; }
}
