/* 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; }
}

/* v0.3.2 — keep navigation button text and icon aligned on a single line. */
.navigation .nav-cta { display:inline-flex; align-items:center; justify-content:center; gap:9px; white-space:nowrap; }
.navigation .nav-cta > span { display:inline-flex; flex:0 0 auto; padding-left:0; line-height:1; align-items:center; }
.navigation .nav-cta > span svg { display:block; }

/* v0.3.3 — Footer enterprise sign-in: keep text + SVG together.
   Core styles define svg {display:block}; this scoped override makes the
   footer link an inline flex row without changing footer grid/alignment. */
.site-footer .footer-right > a[href*="/login/"] {
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  white-space: nowrap;
  max-width: 100%;
}
.site-footer .footer-right > a[href*="/login/"] > svg {
  display: block;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  vertical-align: middle;
}
