/* Veterans: whole root bark in ceremony vs isolated ibogaine. Two lanes, four stages.
   Warmth is the ceremony; instrument-light slate is the clinic. Colour carries the meaning. */
.vetpath {
  --vp-ink: var(--color-text); --vp-muted: var(--color-text-2); --vp-line: var(--color-border);
  --vp-fire: var(--color-ember); --vp-gold: var(--color-gold); --vp-flame: var(--color-accent);
  --vp-cool: #5B6B78; --vp-cool-soft: #E8EDF1;
  --sci-ink: var(--color-text); --sci-muted: var(--color-text-2);
  --sci-line: var(--color-border); --sci-gold: var(--color-accent);
  margin: 2.5rem 0 1.5rem; border: 1px solid var(--color-border); border-radius: 24px;
  background: var(--color-bg-card); color: var(--vp-ink); overflow: hidden;
  box-shadow: 0 24px 64px -36px color-mix(in srgb, var(--color-text) 12%, transparent);
}
.vetpath *, .vetpath *::before { box-sizing: border-box; }
.vetpath p { margin: 0; }
.vetpath .sci__header { border-top: 3px solid var(--color-red); }

/* Stage picker */
.vetpath__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-bottom: 1px solid var(--vp-line); }
.vetpath__steps button { display: flex; align-items: flex-start; gap: .6rem; padding: .9rem 1rem; min-height: 44px;
  border: 0; border-right: 1px solid var(--vp-line); background: transparent; text-align: left; color: var(--vp-muted); }
.vetpath__steps button:last-child { border-right: 0; }
.vetpath__steps button b { display: block; font-size: .82rem; font-weight: 600; color: var(--vp-ink); line-height: 1.25; }
.vetpath__steps button small { display: block; margin-top: .15rem; font-size: .68rem; color: var(--vp-muted); }
.vetpath__number { font-size: .62rem; font-variant-numeric: tabular-nums; color: var(--vp-muted); padding-top: .15rem; }
.vetpath__steps button[aria-pressed="true"] { background: color-mix(in srgb, var(--color-cream) 45%, transparent); }
.vetpath__steps button[aria-pressed="true"] .vetpath__number { color: var(--vp-flame); }

/* Visual + notes */
.vetpath__main { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.vetpath__visual { padding: 1.2rem 1.4rem 1rem; border-right: 1px solid var(--vp-line); }
.vetpath__visual-top { display: flex; justify-content: space-between; font-size: .66rem; color: var(--vp-muted); margin-bottom: .5rem; }
.vetpath__visual-top span:last-child { font-variant-numeric: tabular-nums; color: var(--vp-flame); }
.vetpath svg { display: block; width: 100%; height: auto; font-family: var(--font-sans); }
.vetpath__lane-heading { padding: .55rem 0; line-height: 1.4; }
.vetpath__lane-heading strong { display: block; font-size: .875rem; font-weight: 600; }
.vetpath__lane-heading small { display: block; margin-top: .15rem; color: var(--vp-muted); font-size: .75rem; }
.vetpath__lane-heading--fire strong { color: var(--vp-flame); }
.vetpath__lane-heading--cool strong { color: var(--vp-cool); }
.vetpath__lane { fill: none; stroke: var(--vp-line); stroke-width: 2; }
.vetpath__trace { fill: none; stroke-width: 2.5; stroke-linecap: round;
  stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--vp-progress, 0)); transition: stroke-dashoffset .45s linear; }
.vetpath__trace--fire { stroke: url(#vetpath-fire); }
.vetpath__trace--cool { stroke: var(--vp-cool); }
.vetpath__node circle { fill: var(--color-bg-card); stroke: var(--vp-line); stroke-width: 2; transition: stroke .35s ease, fill .35s ease; }
.vetpath__node path { fill: none; stroke: var(--vp-line); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: stroke .35s ease; }
.vetpath__nodes--fire .vetpath__node.is-on circle { stroke: var(--vp-fire); fill: color-mix(in srgb, var(--color-cream) 70%, transparent); }
.vetpath__nodes--fire .vetpath__node.is-on path { stroke: var(--vp-flame); }
.vetpath__nodes--cool .vetpath__node.is-on circle { stroke: var(--vp-cool); fill: var(--vp-cool-soft); }
.vetpath__nodes--cool .vetpath__node.is-on path { stroke: var(--vp-cool); }
.vetpath__sweep { stroke: color-mix(in srgb, var(--color-text) 16%, transparent); stroke-width: 1; stroke-dasharray: 3 5; }
.vetpath__marker { transform: translateX(var(--vp-sweep, 146px)); transition: transform .45s cubic-bezier(.4,0,.2,1); }
.vetpath__scene text { font-size: 12.5px; font-weight: 500; }
.vetpath__scene-fire { fill: var(--vp-flame); }
.vetpath__scene-cool { fill: var(--vp-cool); }
.vetpath__period { margin-top: .6rem; display: flex; align-items: baseline; gap: .5rem; }
.vetpath__period span { font-size: .78rem; font-weight: 600; }
.vetpath__period small { font-size: .66rem; color: var(--vp-muted); }

.vetpath__notes { padding: 1.3rem 1.4rem; }
.vetpath__notes section[data-active="false"] { display: none; }
.vetpath__eyebrow { font-size: .61rem; letter-spacing: .13em; text-transform: uppercase; color: var(--vp-muted); margin-bottom: .4rem !important; }
.vetpath__notes h4 { font-family: var(--font-display); font-weight: 400; font-size: 1.45rem; line-height: 1.15; letter-spacing: -.03em; margin: 0 0 .9rem; }
.vetpath__pair { display: grid; gap: .8rem; }
.vetpath__col { padding: .85rem .95rem; border-radius: 14px; border: 1px solid var(--vp-line); }
.vetpath__col span { display: block; font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .4rem; }
.vetpath__col p { font-size: .86rem; line-height: 1.55; color: var(--vp-muted); }
.vetpath__col--fire { border-color: color-mix(in srgb, var(--vp-fire) 38%, var(--vp-line)); background: color-mix(in srgb, var(--color-cream) 26%, transparent); }
.vetpath__col--fire span { color: var(--vp-flame); }
.vetpath__col--cool { border-color: color-mix(in srgb, var(--vp-cool) 26%, var(--vp-line)); background: color-mix(in srgb, var(--vp-cool-soft) 45%, transparent); }
.vetpath__col--cool span { color: var(--vp-cool); }

/* Progress rail */
.vetpath__path { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  padding: .55rem 1.4rem .7rem; border-top: 1px solid var(--vp-line); font-size: .64rem; color: var(--vp-muted); }
.vetpath__path i { position: absolute; left: 1.4rem; right: 1.4rem; bottom: .35rem; height: 2px; background: var(--vp-line); border-radius: 2px; }
.vetpath__path i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: calc(var(--vp-progress, 0) * 100%);
  background: var(--gradient-fire-h); border-radius: 2px; transition: width .45s linear; }
.vetpath__foot { margin-top: 1.1rem; font-size: .86rem; }
.vetpath__sources { padding: .8rem 1.4rem; border-top: 1px solid var(--vp-line); color: var(--vp-muted); font-size: .7rem; line-height: 1.6; }
.vetpath__sources a { text-decoration: underline; text-underline-offset: .15em; }

@media (max-width: 860px) {
  .vetpath__main { grid-template-columns: 1fr; }
  .vetpath__visual { border-right: 0; border-bottom: 1px solid var(--vp-line); }
  .vetpath__steps { grid-template-columns: repeat(2, 1fr); }
  .vetpath__steps button:nth-child(2) { border-right: 0; }
  .vetpath__steps button:nth-child(-n+2) { border-bottom: 1px solid var(--vp-line); }
}
@media (prefers-reduced-motion: reduce) {
  .vetpath__trace, .vetpath__marker, .vetpath__path i::after { transition: none; }
}
