/* ==========================================================================
   Visual article layout ("magazine" articles). Pilot: /eliquis-apixaban/
   Loaded only when an article's frontmatter carries a `visual:` block.
   Everything is scoped to .article-page.is-visual so no other page changes.
   Palette and type follow the clinic handout system (handouts/_template):
   navy ink, sand ground, teal / amber / red tiers, orange kickers,
   Playfair section heads, Inter numerals.
   ========================================================================== */

.article-page.is-visual {
  --vz-navy: #14213d;
  --vz-ink: #1c2b40;
  --vz-text: #32302a;
  --vz-muted: #5f5a4d;
  --vz-sand: #f4eee0;
  --vz-cream: #faf6ec;
  --vz-panel: #f6f2ea;
  --vz-tile: #e9ecf1;
  --vz-line: rgba(28, 43, 64, 0.14);
  --vz-teal: #129a8a;
  --vz-teal-dk: #0e7c6f;
  --vz-teal-bg: #e3f2ee;
  --vz-amber: #9a6a12;
  --vz-amber-bg: #fcf0d9;
  --vz-red: #b5302a;
  --vz-red-bg: #f9e1dc;
  --vz-orange: #e0572e;
  --vz-gold: #f2c14e;
  --vz-slate-bg: #e9ecf1;
  --vz-serif: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  --vz-num: 'Inter', 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --vz-radius: 14px;
  --vz-radius-sm: 10px;

  /* The article shell loses its own width so the hero can run edge to edge;
     every other top-level block gets the site's content band back below. */
  max-width: none;
  padding: 0;
  padding-top: 0 !important;
  font-size: 1.1875rem;
  line-height: 1.6;
}
.article-page.is-visual > :not(.vis-bleed) {
  max-width: var(--width-content);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-8);
  padding-right: var(--space-8);
  box-sizing: border-box;
}
@media (max-width: 800px) {
  .article-page.is-visual > :not(.vis-bleed) { padding-left: var(--space-6); padding-right: var(--space-6); }
}

/* Larger reading type throughout the article body. */
.article-page.is-visual p { font-size: 1.1875rem; line-height: 1.6; margin: 0 0 1.35rem; }
.article-page.is-visual li { font-size: 1.125rem; line-height: 1.55; }
.article-page.is-visual a { color: var(--vz-ink); text-decoration-thickness: 1.5px; }
.article-page.is-visual strong { color: var(--vz-ink); }

/* ---------- kicker + section headings ---------- */
.article-page.is-visual .vz-kicker {
  font-family: var(--font-sans);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--vz-orange);
  margin: 0 0 0.45rem;
}
.article-page.is-visual h2 {
  font-family: var(--vz-serif);
  font-weight: 600;
  font-size: clamp(1.9rem, 3.1vw, 2.75rem);
  line-height: 1.12;
  color: var(--vz-navy);
  letter-spacing: -0.005em;
  margin: 0 0 1.25rem;
}
.article-page.is-visual h3 {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1.3;
  color: var(--vz-navy);
  margin: 2.25rem 0 0.75rem;
}
.article-page.is-visual .vz-sec { margin-top: 4.5rem; scroll-margin-top: 70px; }
.article-page.is-visual .vz-lead {
  font-size: 1.32rem;
  line-height: 1.5;
  color: var(--vz-ink);
  margin-bottom: 1.6rem;
}
.article-page.is-visual .vz-lead strong { font-weight: 600; }

/* ---------- hero ---------- */
.article-page.is-visual .vz-hero {
  background: var(--vz-cream);
  border-bottom: 1px solid var(--vz-line);
  margin: 0 0 2rem;
  overflow: hidden;
}
.vz-hero__inner {
  max-width: var(--width-content);
  margin: 0 auto;
  padding: 0 var(--space-8);
  display: grid;
  grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
  align-items: stretch;
  gap: 0 2.5rem;
}
.vz-hero__text { padding: 3.25rem 0 3rem; align-self: center; }
.article-page.is-visual .vz-hero h1 {
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: clamp(3rem, 6.2vw, 5.6rem);
  line-height: 0.98;
  letter-spacing: -0.01em;
  color: var(--vz-ink);
  margin: 0 0 1rem;
}
.article-page.is-visual .vz-hero__sub {
  display: block;
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: clamp(1.05rem, 1.5vw, 1.3rem);
  line-height: 1.35;
  letter-spacing: 0;
  color: var(--vz-muted);
  margin-top: 1rem;
}
.article-page.is-visual .vz-hero__dek {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.35;
  color: var(--vz-text);
  margin: 0 0 1.75rem;
}
.vz-hero__photo { position: relative; min-height: 360px; }
.vz-hero__photo picture, .vz-hero__photo img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 60% 50%;
  border-radius: 0; margin: 0;
}
.vz-hero__photo::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, var(--vz-cream) 0%, rgba(250, 246, 236, 0) 32%);
}
.vz-jump { display: flex; flex-wrap: wrap; gap: 0.6rem 0.6rem; align-items: center; }
.vz-jump__label {
  font-family: var(--font-sans); font-size: 0.95rem; font-weight: 600; color: var(--vz-muted);
  margin-right: 0.25rem;
}
.article-page.is-visual .vz-jump a {
  display: inline-flex; align-items: center; min-height: 44px;
  padding: 0.35rem 1rem; border-radius: 999px;
  border: 1.5px solid var(--vz-ink); color: var(--vz-ink);
  font-family: var(--font-sans); font-size: 1rem; font-weight: 600;
  text-decoration: none; background: transparent;
  transition: background 0.15s ease, color 0.15s ease;
}
.article-page.is-visual .vz-jump a:hover,
.article-page.is-visual .vz-jump a:focus-visible { background: var(--vz-ink); color: #fff; }
@media (max-width: 900px) {
  .vz-hero__inner { grid-template-columns: 1fr; gap: 0; padding: 0; }
  .vz-hero__text { order: 2; padding: 1.75rem var(--space-6) 2.25rem; }
  .vz-hero__photo { order: 1; min-height: 0; aspect-ratio: 16 / 10; }
  .vz-hero__photo::before { background: linear-gradient(0deg, var(--vz-cream) 0%, rgba(250, 246, 236, 0) 22%); }
}

/* Author block sits right under the hero: tighten and keep it quiet. */
.article-page.is-visual .author-block { margin-top: 0.5rem; margin-bottom: 1.5rem; }

/* ---------- stat tiles ---------- */
.vz-tiles {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem;
  margin: 1rem auto 3.25rem;
}
.vz-tile { background: var(--vz-tile); border-radius: var(--vz-radius-sm); padding: 1.3rem 1.3rem 1.25rem; }
.article-page.is-visual .vz-tile__num {
  font-family: var(--vz-num); font-weight: 800;
  font-size: clamp(2.3rem, 3.6vw, 3.2rem); line-height: 1.05; letter-spacing: -0.02em;
  margin: 0 0 0.45rem; font-variant-numeric: proportional-nums;
}
.vz-tile__num--teal { color: var(--vz-teal); }
.vz-tile__num--navy { color: var(--vz-navy); }
.vz-tile__num--orange { color: var(--vz-orange); }
.vz-tile__num--amber { color: var(--vz-amber); }
.article-page.is-visual .vz-tile__cap { font-size: 1.02rem; line-height: 1.45; color: var(--vz-muted); margin: 0; }
@media (max-width: 1000px) { .vz-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .vz-tiles { grid-template-columns: 1fr; } }

/* ---------- quick facts (keeps the .tldr hook for the summary convention) ---------- */
.article-page.is-visual .tldr.vz-quick {
  background: transparent; padding-top: 0; padding-bottom: 0; border-radius: 0; margin: 0 auto 1rem; font-size: inherit;
}
.vz-quick__head { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.article-page.is-visual .vz-quick__head h2 { margin: 0; }
.article-page.is-visual .vz-quick__head p { margin: 0; color: var(--vz-muted); font-size: 1.05rem; }
.article-page.is-visual .vz-quick ul {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem;
}
.article-page.is-visual .vz-quick li {
  margin: 0; padding: 1.1rem 1.15rem 1.15rem;
  background: var(--vz-cream); border: 1px solid var(--vz-line); border-radius: var(--vz-radius-sm);
  font-size: 1.04rem; line-height: 1.5;
}
.article-page.is-visual .vz-quick li strong {
  display: block; font-family: var(--font-sans); font-size: 0.86rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-teal-dk); margin-bottom: 0.4rem;
}
.article-page.is-visual .vz-quick li.vz-quick--bottom { background: var(--vz-navy); border-color: var(--vz-navy); color: #e9edf4; }
.article-page.is-visual .vz-quick li.vz-quick--bottom strong { color: var(--vz-gold); }
@media (max-width: 1000px) { .article-page.is-visual .vz-quick ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .article-page.is-visual .vz-quick ul { grid-template-columns: 1fr; } }

/* ---------- figure panels (shared) ---------- */
.vz-figure {
  background: var(--vz-panel); border-radius: var(--vz-radius);
  padding: 1.4rem 1.5rem 1.35rem; margin: 1.5rem 0 1.9rem;
}
.article-page.is-visual .vz-figure__read {
  font-size: 1.05rem; line-height: 1.5; color: var(--vz-text); margin: 1rem 0 0;
  padding-top: 0.9rem; border-top: 1px solid var(--vz-line);
}
.article-page.is-visual .vz-figure__read strong { color: var(--vz-navy); }

/* Segmented controls: big, high-contrast tap targets, no hover dependence. */
.vz-segs { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0 0 1.1rem; }
.article-page.is-visual .vz-seg {
  appearance: none; cursor: pointer;
  min-height: 48px; padding: 0.55rem 1.1rem;
  border: 2px solid var(--vz-ink); border-radius: 999px;
  background: #fff; color: var(--vz-ink);
  font-family: var(--font-sans); font-size: 1.04rem; font-weight: 600; line-height: 1.25;
  text-align: left;
  transition: background 0.15s ease, color 0.15s ease;
}
.article-page.is-visual .vz-seg:hover { background: var(--vz-tile); }
.article-page.is-visual .vz-seg.is-on,
.article-page.is-visual .vz-seg[aria-pressed="true"] { background: var(--vz-ink); color: #fff; }
.article-page.is-visual .vz-seg:focus-visible,
.article-page.is-visual .vz-opt:focus-visible,
.article-page.is-visual .vz-jump a:focus-visible,
.article-page.is-visual .vz-faq summary:focus-visible {
  outline: 3px solid var(--vz-orange); outline-offset: 3px;
}
.vz-segs--stack .vz-seg { flex: 1 1 220px; }

/* ---------- cascade (how it works) ---------- */
.vz-cascade__stage {
  display: grid;
  grid-template-columns: 112px 84px minmax(0, 1fr) 84px minmax(0, 1.15fr) 84px minmax(0, 2.1fr);
  align-items: center; gap: 0.4rem;
  padding: 0.5rem 0 0.25rem;
}
.vz-cnode { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.vz-cnode--pill img { width: 108px; height: auto; margin: 0; border-radius: 0; transition: opacity 0.5s ease, transform 0.5s ease; }
.article-page.is-visual .vz-cnode__name {
  font-family: var(--font-sans); font-weight: 700; font-size: 1.05rem; color: var(--vz-orange); margin-top: 0.2rem;
}
.vz-cnode--xa, .vz-cnode--thr {
  border-radius: 12px; padding: 1.25rem 0.85rem; width: 100%;
  transition: opacity 0.5s ease, filter 0.5s ease, background 0.5s ease;
}
.vz-cnode--xa { background: var(--vz-teal-bg); }
.vz-cnode--thr { background: #f3e4d7; }
.article-page.is-visual .vz-cnode strong { font-family: var(--font-sans); font-size: 1.3rem; line-height: 1.2; display: block; }
.vz-cnode--xa strong { color: var(--vz-teal-dk); }
.vz-cnode--thr strong { color: #8a4b2a; }
.article-page.is-visual .vz-cnode span.vz-cnode__sub { display: block; font-size: 0.98rem; line-height: 1.3; color: var(--vz-muted); margin-top: 0.3rem; }
.vz-cnode__sub--on { display: none !important; }
.vz-clink { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.vz-clink svg { width: 84px; height: 42px; display: block; overflow: visible; }
.article-page.is-visual .vz-clink span { font-size: 0.92rem; font-weight: 600; color: var(--vz-muted); margin-top: 0.1rem; }
.vz-clink__flow { fill: none; stroke: var(--vz-navy); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 7 7; }
.vz-clink__head { fill: var(--vz-navy); }
.vz-clink--block { opacity: 0; transform: scale(0.6); transition: opacity 0.45s ease, transform 0.45s ease; }
.vz-clink--block span { color: var(--vz-orange); }
.vz-clink__bar { fill: none; stroke: var(--vz-orange); stroke-width: 4; stroke-linecap: round; }
.vz-clink__stop { fill: none; stroke: var(--vz-orange); stroke-width: 6; stroke-linecap: round; }
.vz-cnode--clot { position: relative; width: 100%; }
.vz-cnode--clot .vz-clotbox {
  position: relative; width: 100%; aspect-ratio: 1.62; border-radius: 12px; overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(143, 58, 48, 0.3);
}
.vz-clotbox picture, .vz-clotbox img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0; border-radius: 0;
  transition: opacity 0.6s ease;
}
.vz-clot--sparse { opacity: 0; }
.article-page.is-visual .vz-cnode__cap {
  display: block; font-family: var(--font-sans); font-weight: 700; font-size: 1rem; margin-top: 0.55rem; line-height: 1.3;
}
.vz-cnode__cap--off { color: #9b2d23; }
.vz-cnode__cap--on { color: var(--vz-orange); display: none !important; }
/* flowing dashes while the chain is open */
@keyframes vz-flow { to { stroke-dashoffset: -28; } }
.vz-cascade[data-state="off"] .vz-clink__flow { animation: vz-flow 1.1s linear infinite; }
.vz-cascade[data-state="off"] .vz-cnode--pill img { opacity: 0.35; transform: translateY(6px); }
.vz-cascade[data-state="off"] .vz-cnode__name { opacity: 0.45; }
/* with Eliquis */
.vz-cascade[data-state="on"] .vz-clink--block { opacity: 1; transform: scale(1); }
.vz-cascade[data-state="on"] .vz-cnode--xa { opacity: 0.55; filter: grayscale(0.4); }
.vz-cascade[data-state="on"] .vz-cnode--thr { opacity: 0.6; filter: grayscale(0.3); }
.vz-cascade[data-state="on"] .vz-clink--arrow { opacity: 0.35; }
.vz-cascade[data-state="on"] .vz-clink__flow { animation: none; stroke-dasharray: 3 7; }
.vz-cascade[data-state="on"] .vz-clot--sparse { opacity: 1; }
.vz-cascade[data-state="on"] .vz-cnode__cap--off { display: none !important; }
.vz-cascade[data-state="on"] .vz-cnode__cap--on { display: block !important; }
.vz-cascade[data-state="on"] .vz-cnode__sub--off { display: none !important; }
.vz-cascade[data-state="on"] .vz-cnode__sub--on { display: block !important; }
@media (max-width: 860px) {
  .vz-cascade__stage { grid-template-columns: 1fr; gap: 0.35rem; justify-items: center; }
  .vz-cnode--xa, .vz-cnode--thr { max-width: 420px; }
  .vz-clink svg { transform: rotate(90deg); height: 84px; width: 42px; }
  .vz-clink { flex-direction: row; gap: 0.5rem; }
  .vz-cnode--clot { max-width: 520px; }
}

/* ---------- pros / cons list ---------- */
.vz-pc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 1.5rem; }
.vz-pc__col { border-radius: var(--vz-radius-sm); padding: 1.1rem 1.25rem 1rem; }
.vz-pc__col--pro { background: var(--vz-teal-bg); }
.vz-pc__col--con { background: var(--vz-amber-bg); }
.article-page.is-visual .vz-pc h3 { margin: 0 0 0.6rem; font-size: 1.05rem; letter-spacing: 0.08em; text-transform: uppercase; }
.vz-pc__col--pro h3 { color: var(--vz-teal-dk); }
.vz-pc__col--con h3 { color: var(--vz-amber); }
.article-page.is-visual .vz-pc ul { list-style: none; padding: 0; margin: 0; }
.article-page.is-visual .vz-pc li { padding-left: 1.6rem; position: relative; margin-bottom: 0.45rem; font-size: 1.08rem; }
.article-page.is-visual .vz-pc li::before {
  content: ""; position: absolute; left: 0; top: 0.55em; width: 0.7rem; height: 0.7rem; border-radius: 50%;
}
.vz-pc__col--pro li::before { background: var(--vz-teal); }
.vz-pc__col--con li::before { background: var(--vz-amber); }
@media (max-width: 700px) { .vz-pc { grid-template-columns: 1fr; } }

/* ---------- indication cards ---------- */
.vz-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 2rem; }
.vz-card {
  background: var(--vz-cream); border: 1px solid var(--vz-line); border-radius: var(--vz-radius);
  padding: 1.3rem 1.35rem 1.25rem; display: flex; flex-direction: column;
}
.vz-card svg { width: 44px; height: 44px; margin-bottom: 0.75rem; display: block; }
.article-page.is-visual .vz-card h3 { margin: 0 0 0.5rem; font-size: 1.3rem; }
.article-page.is-visual .vz-card p { font-size: 1.05rem; margin: 0 0 0.6rem; }
.article-page.is-visual .vz-card__dose {
  font-family: var(--font-sans); font-weight: 700; color: var(--vz-teal-dk); font-size: 1.1rem !important; line-height: 1.35;
}
.article-page.is-visual .vz-card__dur { color: var(--vz-muted); margin-top: auto !important; }
.article-page.is-visual .vz-card__dur strong { color: var(--vz-navy); }
@media (max-width: 900px) { .vz-cards { grid-template-columns: 1fr; } }

/* ---------- ARISTOTLE paired bars ---------- */
.vz-bars { margin-top: 1.25rem; }
.vz-bars__legend { display: flex; gap: 1.5rem; flex-wrap: wrap; margin: 0 0 1rem; font-size: 1rem; color: var(--vz-muted); font-family: var(--font-sans); }
.vz-bars__legend span { display: inline-flex; align-items: center; gap: 0.5rem; }
.vz-bars__legend i { width: 18px; height: 12px; border-radius: 3px; display: inline-block; }
.vz-bars__legend .vz-sw--w { background: #b3ab95; }
.vz-bars__legend .vz-sw--e { background: #0b8a78; }
.vz-barrow {
  display: grid; grid-template-columns: minmax(150px, 0.9fr) minmax(0, 2.4fr) 118px;
  gap: 0.25rem 1.25rem; align-items: center;
  padding: 0.85rem 0; border-top: 1px solid var(--vz-line);
}
.vz-barrow:last-child { border-bottom: 1px solid var(--vz-line); }
.article-page.is-visual .vz-barrow__label { font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem; line-height: 1.3; color: var(--vz-navy); margin: 0; }
.article-page.is-visual .vz-barrow__label small { display: block; font-weight: 500; font-size: 0.92rem; color: var(--vz-muted); }
.vz-barrow__bars { display: grid; gap: 6px; }
.vz-bar { display: grid; grid-template-columns: minmax(0, 1fr) 7.5rem; align-items: center; gap: 0.6rem; }
.vz-bar__fill { height: 22px; border-radius: 0 4px 4px 0; width: var(--w); transition: width 1.1s cubic-bezier(0.2, 0.7, 0.2, 1); }
.vz-bar--w .vz-bar__fill { background: #b3ab95; }
.vz-bar--e .vz-bar__fill { background: #0b8a78; }
.vz-bars.vz-pre .vz-bar__fill { width: 0; }
.article-page.is-visual .vz-bar__val { font-family: var(--font-sans); font-size: 1rem; color: var(--vz-text); margin: 0; white-space: nowrap; font-variant-numeric: tabular-nums; }
.article-page.is-visual .vz-bar__val b { font-weight: 700; color: var(--vz-navy); }
.article-page.is-visual .vz-barrow__delta {
  font-family: var(--vz-num); font-weight: 800; font-size: 1.9rem; line-height: 1; color: var(--vz-teal-dk); text-align: right; margin: 0;
}
.article-page.is-visual .vz-barrow__delta small { display: block; font-family: var(--font-sans); font-weight: 600; font-size: 0.85rem; color: var(--vz-muted); margin-top: 0.2rem; letter-spacing: 0.02em; }
@media (max-width: 760px) {
  .vz-barrow { grid-template-columns: 1fr; gap: 0.5rem; }
  .article-page.is-visual .vz-barrow__delta { text-align: left; }
}
.vz-datatable summary { cursor: pointer; font-weight: 600; color: var(--vz-ink); font-family: var(--font-sans); padding: 0.5rem 0; }

/* ---------- dose checker ---------- */
.vz-checker { background: var(--vz-teal-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-checker__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.vz-checker__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr); gap: 1.25rem; align-items: stretch; }
.vz-checker__opts { display: grid; gap: 0.7rem; }
.article-page.is-visual .vz-opt {
  appearance: none; cursor: pointer; width: 100%; text-align: left;
  display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 0.9rem;
  min-height: 64px; padding: 0.8rem 1rem;
  background: #fff; border: 2px solid rgba(14, 124, 111, 0.35); border-radius: var(--vz-radius-sm);
  font-family: var(--font-sans); font-size: 1.12rem; font-weight: 600; line-height: 1.3; color: var(--vz-ink);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.vz-opt__mark {
  width: 30px; height: 30px; border-radius: 8px; border: 2px solid var(--vz-teal-dk); background: #fff;
  display: inline-flex; align-items: center; justify-content: center; color: #fff;
}
.vz-opt__mark svg { width: 20px; height: 20px; opacity: 0; }
.article-page.is-visual .vz-opt small { display: block; font-weight: 500; font-size: 0.95rem; color: var(--vz-muted); }
.article-page.is-visual .vz-opt[aria-pressed="true"] { border-color: var(--vz-teal-dk); background: #f3faf8; }
.article-page.is-visual .vz-opt[aria-pressed="true"] .vz-opt__mark { background: var(--vz-teal-dk); }
.article-page.is-visual .vz-opt[aria-pressed="true"] .vz-opt__mark svg { opacity: 1; }
.vz-checker__result {
  background: var(--vz-navy); color: #e9edf4; border-radius: var(--vz-radius-sm);
  padding: 1.3rem 1.4rem; display: flex; flex-direction: column; justify-content: center;
  transition: background 0.3s ease;
}
.vz-checker[data-count="2"] .vz-checker__result,
.vz-checker[data-count="3"] .vz-checker__result { background: var(--vz-teal-dk); }
.article-page.is-visual .vz-checker__count { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-gold); margin: 0 0 0.35rem; font-weight: 700; }
.article-page.is-visual .vz-checker__dose { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.7rem, 2.6vw, 2.3rem); line-height: 1.1; letter-spacing: -0.015em; color: #fff; margin: 0 0 0.5rem; }
.article-page.is-visual .vz-checker__why { font-size: 1.05rem; line-height: 1.45; color: #e9edf4; margin: 0; }
.article-page.is-visual .vz-checker__note { margin: 1.1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 760px) { .vz-checker__grid { grid-template-columns: 1fr; } }

/* ---------- tables ---------- */
.vz-tablewrap { overflow-x: auto; margin: 1.25rem 0 2rem; }
.article-page.is-visual .vz-table { width: 100%; border-collapse: collapse; font-size: 1.05rem; margin: 0; }
.article-page.is-visual .vz-table th, .article-page.is-visual .vz-table td { padding: 0.8rem 0.9rem; border-bottom: 1px solid var(--vz-line); text-align: left; vertical-align: top; line-height: 1.45; }
.article-page.is-visual .vz-table thead th { font-family: var(--font-sans); font-size: 0.88rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vz-muted); background: transparent; border-bottom: 2px solid var(--vz-ink); }
.article-page.is-visual .vz-table tbody th { font-family: var(--font-sans); font-weight: 700; color: var(--vz-navy); background: transparent; width: 24%; }
.article-page.is-visual .vz-table tbody tr:hover { background: transparent; }
.article-page.is-visual .vz-table .vz-table__hi th, .article-page.is-visual .vz-table .vz-table__hi td { background: var(--vz-teal-bg); }
@media (max-width: 700px) {
  .article-page.is-visual .vz-table--stack thead { display: none; }
  .article-page.is-visual .vz-table--stack tr { display: block; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-line); }
  .article-page.is-visual .vz-table--stack th, .article-page.is-visual .vz-table--stack td,
  .article-page.is-visual .vz-table--stack tbody th { display: block; border: 0; padding: 0.25rem 0; width: auto; }
  .article-page.is-visual .vz-table--stack td::before { content: attr(data-label); display: block; font-family: var(--font-sans); font-size: 0.82rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vz-muted); }
  .article-page.is-visual .vz-table .vz-table__hi th, .article-page.is-visual .vz-table .vz-table__hi td { background: transparent; }
  .article-page.is-visual .vz-table--stack tr.vz-table__hi { background: var(--vz-teal-bg); padding: 0.6rem 0.75rem; border-radius: 8px; }
}

/* ---------- feature photos ---------- */
.vz-photo { margin: 1.75rem 0 2rem; }
.vz-photo img { width: 100%; height: auto; border-radius: var(--vz-radius); margin: 0; display: block; }
.vz-photo--band img { aspect-ratio: 2.4; object-fit: cover; object-position: var(--pos, 50% 50%); max-height: 460px; }
@media (max-width: 700px) { .vz-photo--band img { aspect-ratio: 16 / 10; } }
.vz-split { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1.75rem; align-items: start; margin: 1.5rem 0 1rem; }
.vz-split .vz-photo { margin: 0; }
.vz-split .vz-photo img { aspect-ratio: 4 / 5; object-fit: cover; height: 100%; }
.vz-split--even { align-items: stretch; }
.vz-split--even .vz-photo, .vz-split--even .vz-photo picture { height: 100%; }
.vz-split--even .vz-photo img { aspect-ratio: auto; min-height: 340px; }
@media (max-width: 900px) {
  .vz-split { grid-template-columns: 1fr; }
  .vz-split .vz-photo img { aspect-ratio: 4 / 3; }
}

/* ---------- blood level chart ---------- */
.vz-levels__chart { background: #fff; border-radius: var(--vz-radius-sm); padding: 0.5rem 0.25rem 0.25rem; }
.vz-levels__svg { width: 100%; height: auto; display: block; font-family: var(--font-sans); }
.vz-levels__svg .vz-ax { stroke: #b8b3a3; stroke-width: 1; }
.vz-levels__svg .vz-grid { stroke: rgba(28, 43, 64, 0.1); stroke-width: 1; }
.vz-levels__svg .vz-curve { fill: none; stroke: var(--vz-navy); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.vz-levels__svg .vz-curve--gap { stroke: var(--vz-orange); stroke-dasharray: 8 6; }
.vz-levels__svg .vz-trough { stroke: var(--vz-navy); stroke-width: 1.2; stroke-dasharray: 3 5; opacity: 0.55; }
.vz-levels__svg .vz-lbl { font-size: 15px; fill: var(--vz-muted); font-weight: 600; }
.vz-levels__svg .vz-lbl--navy { fill: var(--vz-navy); }
.vz-levels__svg .vz-lbl--orange { fill: var(--vz-orange); font-weight: 700; }
.vz-levels__svg .vz-dose { fill: var(--vz-navy); }
.vz-levels__svg .vz-dose--missed { fill: #fff; stroke: var(--vz-orange); stroke-width: 2.5; }
.vz-levels__svg .vz-area { fill: rgba(20, 33, 61, 0.06); }
.vz-levels__svg .vz-area--gap { fill: rgba(224, 87, 46, 0.1); }

/* ---------- bleeding panels ---------- */
.vz-tiers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 1.75rem; }
.vz-tier { border-radius: var(--vz-radius); padding: 1.25rem 1.4rem 1.1rem; }
.vz-tier--amber { background: var(--vz-amber-bg); }
.vz-tier--red { background: var(--vz-red-bg); }
.vz-tier--teal { background: var(--vz-teal-bg); }
.vz-tier--slate { background: var(--vz-slate-bg); }
.vz-tier__head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.vz-tier__head svg { width: 34px; height: 34px; flex: 0 0 auto; }
.article-page.is-visual .vz-tier h3 { margin: 0; font-size: 1.05rem; letter-spacing: 0.12em; text-transform: uppercase; }
.vz-tier--amber h3, .vz-tier--amber svg { color: var(--vz-amber); }
.vz-tier--red h3, .vz-tier--red svg { color: var(--vz-red); }
.vz-tier--teal h3, .vz-tier--teal svg { color: var(--vz-teal-dk); }
.vz-tier--slate h3, .vz-tier--slate svg { color: var(--vz-navy); }
.article-page.is-visual .vz-tier__legend { font-size: 0.98rem; color: var(--vz-muted); margin: 0 0 0.5rem; }
.article-page.is-visual .vz-tier dl { margin: 0; }
.article-page.is-visual .vz-tier dt { font-family: var(--font-sans); font-weight: 700; color: var(--vz-navy); font-size: 1.1rem; padding-top: 0.7rem; border-top: 1px solid rgba(20, 33, 61, 0.1); }
.article-page.is-visual .vz-tier dd { margin: 0.2rem 0 0.7rem; font-size: 1.05rem; line-height: 1.5; }
.article-page.is-visual .vz-tier dt:first-of-type { border-top: 0; padding-top: 0; }
@media (max-width: 800px) { .vz-tiers { grid-template-columns: 1fr; } }
.vz-statline { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0 0 1.75rem; }
.vz-stat { border-left: 4px solid var(--vz-teal); padding: 0.2rem 0 0.2rem 1rem; }
.article-page.is-visual .vz-stat b { font-family: var(--vz-num); font-weight: 800; font-size: 1.7rem; line-height: 1.1; color: var(--vz-navy); display: block; margin-bottom: 0.2rem; }
.article-page.is-visual .vz-stat p { margin: 0; font-size: 1.02rem; color: var(--vz-muted); }
@media (max-width: 640px) { .vz-statline { grid-template-columns: 1fr; } }

/* ---------- severity ladder ---------- */
.article-page.is-visual .vz-ladder { list-style: none; padding: 0; margin: 1.5rem 0 1.75rem; display: grid; gap: 0.75rem; counter-reset: ladder; }
.article-page.is-visual .vz-ladder li {
  margin: 0; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 1rem; align-items: start;
  padding: 1.1rem 1.25rem; border-radius: var(--vz-radius-sm);
}
.article-page.is-visual .vz-ladder li::before {
  counter-increment: ladder; content: counter(ladder);
  font-family: var(--vz-num); font-weight: 800; font-size: 1.5rem; line-height: 1;
  width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff;
}
.vz-ladder__1 { background: var(--vz-teal-bg); } .vz-ladder__1::before { background: var(--vz-teal-dk); }
.vz-ladder__2 { background: var(--vz-amber-bg); } .vz-ladder__2::before { background: var(--vz-amber); }
.vz-ladder__3 { background: var(--vz-red-bg); } .vz-ladder__3::before { background: var(--vz-red); }
.article-page.is-visual .vz-ladder h3 { margin: 0.15rem 0 0.3rem; font-size: 1.2rem; }
.article-page.is-visual .vz-ladder p { margin: 0; font-size: 1.05rem; }

/* ---------- procedure planner ---------- */
.vz-planner { background: var(--vz-slate-bg); border-radius: var(--vz-radius); padding: 1.4rem 1.5rem 1.3rem; margin: 0; }
.article-page.is-visual .vz-planner__lead { margin: 0 0 1rem; font-size: 1.08rem; color: var(--vz-ink); }
.article-page.is-visual .vz-timeline { list-style: none; padding: 0; margin: 0.5rem 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; position: relative; }
.article-page.is-visual .vz-timeline li {
  margin: 0; background: #fff; border-radius: var(--vz-radius-sm); padding: 1rem 1.05rem 1rem; min-height: 150px;
  border-top: 6px solid var(--vz-navy); transition: border-color 0.3s ease;
}
.article-page.is-visual .vz-timeline li.vz-tl--day { border-top-color: var(--vz-orange); }
.article-page.is-visual .vz-timeline li.is-hold { border-top-color: var(--vz-amber); }
.article-page.is-visual .vz-tl__when { display: block; font-family: var(--font-sans); font-size: 0.85rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--vz-muted); font-weight: 700; margin-bottom: 0.4rem; }
.article-page.is-visual .vz-tl__what { display: block; font-family: var(--font-sans); font-weight: 700; font-size: 1.25rem; line-height: 1.25; color: var(--vz-navy); margin-bottom: 0.4rem; }
.article-page.is-visual .vz-tl__note { display: block; font-size: 1rem; line-height: 1.45; color: var(--vz-text); }
.article-page.is-visual .vz-planner__note { margin: 1.1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 760px) { .article-page.is-visual .vz-timeline { grid-template-columns: 1fr; } .article-page.is-visual .vz-timeline li { min-height: 0; } }

/* ---------- warfarin callout ---------- */
.vz-callout { background: var(--vz-cream); border: 1px solid var(--vz-line); border-left: 6px solid var(--vz-amber); border-radius: var(--vz-radius-sm); padding: 1.2rem 1.4rem; margin: 1.5rem 0 1.75rem; }
.article-page.is-visual .vz-callout h3 { margin: 0 0 0.5rem; }
.article-page.is-visual .vz-callout p:last-child { margin-bottom: 0; }

/* ---------- checklist + mistakes ---------- */
.vz-checklist { background: var(--vz-teal-bg); border-radius: var(--vz-radius); padding: 1.3rem 1.5rem 1.1rem; }
.article-page.is-visual .vz-checklist h3 { margin: 0 0 0.8rem; }
.article-page.is-visual .vz-checklist ul { list-style: none; padding: 0; margin: 0; }
.article-page.is-visual .vz-checklist li { display: grid; grid-template-columns: 30px 1fr; gap: 0.8rem; align-items: start; padding: 0.55rem 0; border-top: 1px solid rgba(14, 124, 111, 0.18); font-size: 1.1rem; }
.article-page.is-visual .vz-checklist li:first-child { border-top: 0; }
.vz-checklist li svg { width: 28px; height: 28px; color: var(--vz-teal-dk); margin-top: 0.1rem; }
.article-page.is-visual .vz-mistakes { list-style: none; padding: 0; margin: 1.25rem 0 1.5rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }
.article-page.is-visual .vz-mistakes li { margin: 0; background: var(--vz-cream); border: 1px solid var(--vz-line); border-radius: var(--vz-radius-sm); padding: 1.1rem 1.2rem; display: grid; grid-template-columns: 34px 1fr; gap: 0.8rem; font-size: 1.05rem; }
.vz-mistakes li svg { width: 30px; height: 30px; color: var(--vz-red); }
.article-page.is-visual .vz-mistakes li:first-child { grid-column: 1 / -1; }
.article-page.is-visual .vz-mistakes li b { display: block; font-family: var(--font-sans); font-size: 1.1rem; color: var(--vz-navy); margin-bottom: 0.25rem; }
@media (max-width: 760px) { .article-page.is-visual .vz-mistakes { grid-template-columns: 1fr; } }

/* ---------- FAQ accordion ---------- */
.vz-faq { margin-top: 1.25rem; border-top: 1px solid var(--vz-line); }
.vz-faq details { border-bottom: 1px solid var(--vz-line); }
.vz-faq summary {
  list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr 40px; align-items: center; gap: 1rem;
  padding: 1rem 0; font-family: var(--font-sans); font-weight: 700; font-size: 1.22rem; line-height: 1.3; color: var(--vz-navy);
}
.vz-faq summary::-webkit-details-marker { display: none; }
.vz-faq summary::after {
  content: ""; width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--vz-ink); justify-self: end;
  background: center / 16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2v12M2 8h12' stroke='%231c2b40' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
  transition: transform 0.2s ease, background-color 0.2s ease;
}
.vz-faq details[open] summary::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h12' stroke='%231c2b40' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.article-page.is-visual .vz-faq details p { margin: 0 0 1.1rem; font-size: 1.1rem; }
.article-page.is-visual .vz-faq details[open] summary { color: var(--vz-teal-dk); }

/* ---------- closer band ---------- */
.vz-closer-wrap { margin-top: 3rem; }
.vz-closer {
  background: var(--vz-navy); color: #e4e9f2; border-radius: var(--vz-radius);
  display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 0; overflow: hidden; margin: 0 0 2.5rem;
}
.vz-closer__text { padding: 2rem 2.25rem; align-self: center; }
.article-page.is-visual .vz-closer h2 { color: var(--vz-gold); font-family: var(--font-serif); font-weight: 600; font-size: clamp(2.1rem, 3.4vw, 3rem); line-height: 1.02; margin: 0 0 0.9rem; }
.article-page.is-visual .vz-closer p { color: #e4e9f2; font-size: 1.15rem; margin: 0; }
.vz-closer__photo { position: relative; min-height: 240px; aspect-ratio: 3 / 2; }
/* The photo cell keeps the photo's own 3:2 shape so the band grows with it; a
   text-height cell turned the photo into a thin strip on 1000-1200 px screens
   and cut people's heads off (2026-10-23). Any crop that remains favours the top. */
.vz-closer__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 20%); margin: 0; border-radius: 0; }
@media (max-width: 760px) { .vz-closer { grid-template-columns: 1fr; } .vz-closer__photo { order: -1; aspect-ratio: 16 / 9; min-height: 0; } }

/* ---------- references ---------- */
.article-page.is-visual .vz-refs ol { padding-left: 1.4rem; }
.article-page.is-visual .vz-refs li { font-size: 0.98rem; line-height: 1.5; color: var(--vz-muted); margin-bottom: 0.5rem; }

/* ---------- long hero titles (visual.longTitle) ---------- */
.article-page.is-visual .vz-hero--long h1 { font-size: clamp(2.5rem, 4.3vw, 4rem); line-height: 1.02; }

/* ---------- print-edition pill inside the V2 band ---------- */
.article-page.is-visual > a.print-edition {
  display: flex; width: fit-content; box-sizing: border-box;
  padding: 0.4rem 0.75rem 0.4rem 0.6rem;
  margin: 0 0 1.25rem max(var(--space-8), calc((100% - var(--width-content)) / 2 + var(--space-8)));
}
@media (max-width: 800px) {
  .article-page.is-visual > a.print-edition { margin-left: var(--space-6); padding: 0.35rem 0.6rem 0.35rem 0.5rem; }
}

/* ---------- heart toggle: normal vs stiff (first used on /hfpef/) ---------- */
.vz-heartswap__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1.4rem; align-items: center; }
.vz-heartswap__stage { position: relative; aspect-ratio: 1560 / 892; background: #f6f2ea; border-radius: var(--vz-radius-sm); overflow: hidden; }
.vz-heartswap__stage picture, .vz-heartswap__stage img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: 0 50%;
  margin: 0; border-radius: 0; transition: opacity 0.5s ease;
}
.vz-hs--hfpef { opacity: 0; }
.vz-heartswap[data-state="hfpef"] .vz-hs--hfpef { opacity: 1; }
.vz-heartswap[data-state="hfpef"] .vz-hs--normal { opacity: 0; }
.article-page.is-visual .vz-meter { margin: 0; display: grid; gap: 0.55rem; }
.vz-meter__row {
  background: #fff; border-radius: var(--vz-radius-sm); padding: 0.7rem 0.95rem 0.75rem;
  border-left: 6px solid var(--vz-teal-dk); transition: border-color 0.35s ease, background 0.35s ease;
}
.article-page.is-visual .vz-meter dt { font-family: var(--font-sans); font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--vz-muted); }
.article-page.is-visual .vz-meter dd { margin: 0.15rem 0 0; font-family: var(--font-sans); font-weight: 700; font-size: 1.12rem; line-height: 1.3; color: var(--vz-navy); }
.vz-heartswap[data-state="hfpef"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.vz-heartswap[data-state="hfpef"] .vz-meter__row--change dd { color: #9b2d23; }
@media (max-width: 900px) { .vz-heartswap__grid { grid-template-columns: 1fr; } }

/* ---------- echo-report sorter (first used on /hfpef/) ---------- */
.vz-dx { background: var(--vz-slate-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-dx__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.vz-dx__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr); gap: 1.25rem; align-items: stretch; }
.vz-dx__opts { display: grid; gap: 0.7rem; align-content: start; }
.vz-dx .vz-opt { border-color: rgba(20, 33, 61, 0.3); }
.article-page.is-visual .vz-dx .vz-opt[aria-pressed="true"] { border-color: var(--vz-navy); background: #fff; }
.article-page.is-visual .vz-dx .vz-opt[aria-pressed="true"] .vz-opt__mark { background: var(--vz-navy); border-color: var(--vz-navy); }
.vz-dx .vz-opt__mark { border-color: var(--vz-navy); }
.vz-dx__result {
  background: var(--vz-navy); color: #e9edf4; border-radius: var(--vz-radius-sm);
  padding: 1.3rem 1.4rem; display: flex; flex-direction: column; justify-content: center; transition: background 0.3s ease;
}
.vz-dx[data-result="dd"] .vz-dx__result { background: var(--vz-teal-dk); }
.vz-dx[data-result="unclear"] .vz-dx__result { background: var(--vz-amber); }
.vz-dx[data-result="hfpef"] .vz-dx__result { background: #7c3524; }
.vz-tiers--top { align-items: start; }
.article-page.is-visual .vz-dx__label { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-gold); margin: 0 0 0.35rem; font-weight: 700; }
.article-page.is-visual .vz-dx__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.6rem, 2.4vw, 2.1rem); line-height: 1.1; letter-spacing: -0.015em; color: #fff; margin: 0 0 0.5rem; }
.article-page.is-visual .vz-dx__why { font-size: 1.05rem; line-height: 1.45; color: #f1f3f7; margin: 0; }
.article-page.is-visual .vz-dx__note { margin: 1.1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 760px) { .vz-dx__grid { grid-template-columns: 1fr; } }

/* ---------- big-number cards (trial results) ---------- */
.article-page.is-visual .vz-card p.vz-card__big { font-family: var(--vz-num); font-weight: 800; font-size: 2.6rem; line-height: 1; color: var(--vz-teal-dk); margin: 0.2rem 0 0.5rem; }
.article-page.is-visual .vz-card p.vz-card__trial { font-family: var(--font-sans); font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--vz-orange); margin: 0; }

/* ---------- heart toggle, extra states (echocardiogram-guide: relaxed / squeezed) ---------- */
.vz-hs--squeezed { opacity: 0; }
.vz-heartswap[data-state="squeezed"] .vz-hs--squeezed { opacity: 1; }
.vz-heartswap[data-state="squeezed"] .vz-hs--relaxed { opacity: 0; }
.vz-heartswap[data-state="squeezed"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.vz-heartswap[data-state="squeezed"] .vz-meter__row--change dd { color: #9b2d23; }

/* ---------- ejection-fraction decoder ---------- */
.vz-ef { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.4rem 1.5rem 1.3rem; margin: 1.5rem 0 2rem; }
.vz-efscale { position: relative; margin: 0.4rem 0 2.6rem; }
.vz-efscale__bar { display: flex; height: 26px; border-radius: 999px; overflow: hidden; }
.vz-efscale__bar span { display: block; height: 100%; }
.vz-efscale__ticks { position: relative; height: 1.4rem; margin-top: 0.35rem; font-family: var(--font-sans); font-size: 0.95rem; font-weight: 600; color: var(--vz-muted); }
.vz-efscale__ticks span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.vz-efscale__mark {
  position: absolute; top: -10px; width: 6px; height: 46px; margin-left: -3px; border-radius: 3px;
  background: var(--vz-navy); box-shadow: 0 0 0 3px #fff; transition: left 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.vz-ef__result { background: #fff; border-radius: var(--vz-radius-sm); padding: 1.1rem 1.25rem; border-left: 8px solid var(--vz-teal-dk); transition: border-color 0.3s ease; }
.vz-ef[data-band="mild"] .vz-ef__result { border-left-color: #b8841f; }
.vz-ef[data-band="moderate"] .vz-ef__result { border-left-color: #d0612e; }
.vz-ef[data-band="severe"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual .vz-ef__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.5rem, 2.3vw, 2rem); line-height: 1.15; color: var(--vz-navy); margin: 0 0 0.4rem; }
.article-page.is-visual .vz-ef__why { font-size: 1.08rem; line-height: 1.5; margin: 0; }
.article-page.is-visual .vz-ef__note { margin: 1rem 0 0; font-size: 1rem; color: var(--vz-muted); }

/* ---------- exam-day step-through ---------- */
.vz-daytl .vz-timeline { margin-top: 0.25rem; }
.article-page.is-visual .vz-daytl .vz-timeline li { min-height: 170px; }
.article-page.is-visual .vz-daytl .vz-timeline li.vz-tl--day { border-top-color: var(--vz-orange); }
@media (max-width: 760px) { .article-page.is-visual .vz-daytl .vz-timeline li { min-height: 0; } }

/* ---------- two-up cards and photo focus in splits (echocardiogram-guide) ---------- */
.vz-cards--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) { .vz-cards--two { grid-template-columns: 1fr; } }
.vz-split .vz-photo img { object-position: var(--pos, 50% 35%); }
/* Phones crop the hero to 16:10: keep heads in frame (2026-10-23 photo audit). */
@media (max-width: 900px) { .vz-hero__photo picture, .vz-hero__photo img { object-position: 60% 22%; } }

/* ---------- habit checker (mediterranean-diet) ---------- */
.vz-habits { background: var(--vz-teal-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-habits__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.vz-habits__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr); gap: 1.25rem; align-items: start; }
.vz-habits__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.vz-habits__result { position: sticky; top: 1rem; background: var(--vz-navy); color: #e9edf4; border-radius: var(--vz-radius-sm); padding: 1.3rem 1.4rem; }
.article-page.is-visual .vz-habits__count { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-gold); margin: 0 0 0.35rem; font-weight: 700; }
.article-page.is-visual .vz-habits__next { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.4rem, 2.1vw, 1.8rem); line-height: 1.15; color: #fff; margin: 0 0 0.5rem; }
.article-page.is-visual .vz-habits__why { font-size: 1.05rem; line-height: 1.45; color: #e9edf4; margin: 0; }
.article-page.is-visual .vz-habits__note { margin: 1.1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
.vz-habits[data-count="9"] .vz-habits__result { background: var(--vz-teal-dk); }
@media (max-width: 900px) { .vz-habits__grid { grid-template-columns: 1fr; } .vz-habits__result { position: static; } }
@media (max-width: 560px) { .vz-habits__opts { grid-template-columns: 1fr; } }

/* ---------- results timeline strip (mediterranean-diet) ---------- */
.article-page.is-visual .vz-when { list-style: none; padding: 0; margin: 1.5rem 0 1.75rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
.article-page.is-visual .vz-when li { margin: 0; background: #fff; border-radius: var(--vz-radius-sm); padding: 1rem 1.05rem; border-top: 6px solid var(--c, var(--vz-teal)); }
.article-page.is-visual .vz-when b { display: block; font-family: var(--vz-num); font-weight: 800; font-size: 1.45rem; line-height: 1.1; color: var(--vz-navy); margin-bottom: 0.35rem; }
.article-page.is-visual .vz-when span { display: block; font-size: 1.02rem; line-height: 1.4; }
@media (max-width: 760px) { .article-page.is-visual .vz-when { grid-template-columns: 1fr 1fr; } }

/* ---------- trusted outside resources box ---------- */
.vz-resources { background: var(--vz-cream); border: 1px solid var(--vz-line); border-radius: var(--vz-radius); padding: 1.3rem 1.5rem 1.1rem; margin: 2rem 0 1rem; }
.article-page.is-visual .vz-resources h2 { font-size: clamp(1.5rem, 2.2vw, 1.9rem); margin: 0 0 0.3rem; }
.article-page.is-visual .vz-resources__note { font-size: 1rem; color: var(--vz-muted); margin: 0 0 0.9rem; }
.article-page.is-visual .vz-resources ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.article-page.is-visual .vz-resources li { margin: 0; }
.article-page.is-visual .vz-resources a { display: block; height: 100%; box-sizing: border-box; background: #fff; border: 1px solid var(--vz-line); border-radius: var(--vz-radius-sm); padding: 0.85rem 1rem; text-decoration: none; }
.article-page.is-visual .vz-resources a:hover, .article-page.is-visual .vz-resources a:focus-visible { border-color: var(--vz-ink); }
.article-page.is-visual .vz-resources a:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 2px; }
.article-page.is-visual .vz-resources__src { display: block; font-family: var(--font-sans); font-size: 0.82rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--vz-teal-dk); }
.article-page.is-visual .vz-resources__title { display: block; font-family: var(--font-sans); font-weight: 700; font-size: 1.08rem; color: var(--vz-navy); margin-top: 0.15rem; }
.article-page.is-visual .vz-resources__title::after { content: " \2197"; font-weight: 600; color: var(--vz-muted); }
@media (max-width: 700px) { .article-page.is-visual .vz-resources ul { grid-template-columns: 1fr; } }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .article-page.is-visual *, .article-page.is-visual *::before, .article-page.is-visual *::after {
    animation: none !important; transition: none !important;
  }
  .vz-bars.vz-pre .vz-bar__fill { width: var(--w); }
}

/* === symptom sorter, 911 tier, feeling decoder, wide figure (palpitations, 2026-10-24) === */
.article-page.is-visual .vz-911 { margin: 1.5rem 0 1rem; border-left: 8px solid var(--vz-red); }
.article-page.is-visual .vz-sx { background: var(--vz-slate-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1rem 0 2rem; }
.article-page.is-visual .vz-sx__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .vz-sx__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr); gap: 1.25rem; align-items: start; }
.article-page.is-visual .vz-sx__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.article-page.is-visual .vz-sx .vz-opt { border-color: rgba(20, 33, 61, 0.3); }
.article-page.is-visual .vz-sx .vz-opt__mark { border-color: var(--vz-navy); }
.article-page.is-visual .vz-sx .vz-opt[aria-pressed="true"] { border-color: var(--vz-navy); background: #fff; }
.article-page.is-visual .vz-sx .vz-opt[aria-pressed="true"] .vz-opt__mark { background: var(--vz-navy); border-color: var(--vz-navy); }
.article-page.is-visual .vz-sx__result { position: sticky; top: 1rem; background: var(--vz-teal-dk); color: #eef6f4; border-radius: var(--vz-radius-sm); padding: 1.3rem 1.4rem; transition: background 0.3s ease; }
.article-page.is-visual .vz-sx[data-result="day"] .vz-sx__result { background: var(--vz-amber); }
.article-page.is-visual .vz-sx[data-result="911"] .vz-sx__result { background: var(--vz-red); }
.article-page.is-visual .vz-sx__label { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: #fff; opacity: 0.9; margin: 0 0 0.35rem; font-weight: 700; }
.article-page.is-visual .vz-sx__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.45rem, 2.2vw, 1.9rem); line-height: 1.15; color: #fff; margin: 0 0 0.5rem; }
.article-page.is-visual .vz-sx__why, .article-page.is-visual .vz-sx__picked { font-size: 1.05rem; line-height: 1.45; color: #fff; margin: 0; }
.article-page.is-visual .vz-sx__picked:not(:empty) { margin-top: 0.7rem; padding-top: 0.6rem; border-top: 1px solid rgba(255, 255, 255, 0.35); }
.article-page.is-visual .vz-sx__note { margin: 1.1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 1000px) { .article-page.is-visual .vz-sx__opts { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .article-page.is-visual .vz-sx__grid { grid-template-columns: 1fr; } .article-page.is-visual .vz-sx__result { position: static; } }
.article-page.is-visual .vz-feel__lead { margin: 0 0 1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .vz-feel .vz-segs--stack .vz-seg { flex: 1 1 260px; }
.article-page.is-visual .vz-figscroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.article-page.is-visual .vz-figscroll img { display: block; width: 100%; height: auto; margin: 0; }
.article-page.is-visual .vz-figscroll:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 3px; }
@media (max-width: 760px) { .article-page.is-visual .vz-figscroll img { width: 760px; max-width: none; } }
.article-page.is-visual .vz-resources__why { display: block; font-family: var(--font-sans); font-size: 0.98rem; line-height: 1.4; color: var(--vz-text); margin-top: 0.3rem; }
.article-page.is-visual .vz-figscroll__hint { display: none; }
@media (max-width: 760px) {
  .article-page.is-visual .vz-figscroll__hint { display: block; font-size: 0.95rem; color: var(--vz-muted); margin: 0 0 0.5rem; }
  .article-page.is-visual .vz-sx__result { position: sticky; top: auto; bottom: 0.5rem; padding: 0.9rem 1rem; z-index: 2; }
  .article-page.is-visual .vz-sx__title { font-size: 1.3rem; }
  .article-page.is-visual .vz-sx__why { font-size: 0.98rem; }
  .article-page.is-visual .vz-sx__picked { display: none; }
}
/* === CAC plaque pair, scan-day stepper, score decoder (coronary-artery-calcium-score, 2026-10-24) === */
.article-page.is-visual .vz-cacpair [hidden], .article-page.is-visual .vz-stepper [hidden], .article-page.is-visual .vz-decoder [hidden] { display: none !important; }
.article-page.is-visual .vz-cacpair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
.article-page.is-visual .vz-cacpair .vz-figure__read { grid-column: 1 / -1; }
.article-page.is-visual .vz-cacpair__item { margin: 0; }
.article-page.is-visual .vz-cacpair__item img { display: block; width: 100%; height: auto; margin: 0; border-radius: var(--vz-radius-sm); }
.article-page.is-visual .vz-cacpair__item figcaption { font-family: var(--font-sans); font-size: 1.05rem; line-height: 1.4; margin-top: 0.55rem; padding-left: 0.75rem; border-left: 6px solid var(--vz-teal-dk); color: var(--vz-text); }
.article-page.is-visual .vz-cacpair__item--missed figcaption { border-left-color: var(--vz-red); }
.article-page.is-visual .vz-cacpair__item figcaption b { color: var(--vz-navy); }
@media (max-width: 760px) { .article-page.is-visual .vz-cacpair { grid-template-columns: 1fr; } }

.article-page.is-visual .vz-stepper__list { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; counter-reset: none; }
.article-page.is-visual .vz-stepper__list li { margin: 0; padding: 0; }
.article-page.is-visual .vz-stepper__list li::before { content: none; }
.article-page.is-visual .vz-stepper__btn { appearance: none; cursor: pointer; width: 100%; height: 100%; min-height: 64px; display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 0.75rem; border: 2px solid var(--vz-ink); border-radius: var(--vz-radius-sm); background: #fff; color: var(--vz-ink); font-family: var(--font-sans); font-size: 1.02rem; font-weight: 600; line-height: 1.2; text-align: left; transition: background 0.15s ease, color 0.15s ease; }
.article-page.is-visual .vz-stepper__btn:hover { background: var(--vz-tile); }
.article-page.is-visual .vz-stepper__btn[aria-pressed="true"] { background: var(--vz-ink); color: #fff; }
.article-page.is-visual .vz-stepper__n { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 999px; background: var(--vz-teal-bg); color: var(--vz-teal-dk); font-family: var(--vz-num); font-weight: 800; font-size: 1rem; }
.article-page.is-visual .vz-stepper__btn[aria-pressed="true"] .vz-stepper__n { background: var(--vz-gold); color: var(--vz-navy); }
.article-page.is-visual .vz-stepper__panel { background: #fff; border-radius: var(--vz-radius-sm); border-left: 8px solid var(--vz-orange); padding: 1.05rem 1.25rem; min-height: 9.5rem; }
.article-page.is-visual .vz-stepper__when { font-family: var(--font-sans); font-size: 0.85rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--vz-muted); font-weight: 700; margin: 0 0 0.35rem; }
.article-page.is-visual .vz-stepper__what { font-family: var(--font-sans); font-weight: 700; font-size: 1.3rem; line-height: 1.25; color: var(--vz-navy); margin: 0 0 0.4rem; }
.article-page.is-visual .vz-stepper__note { font-size: 1.08rem; line-height: 1.5; margin: 0; }
.article-page.is-visual .vz-stepper__nav { display: flex; gap: 0.6rem; justify-content: flex-end; margin-top: 0.9rem; }
.article-page.is-visual .vz-stepper__nav button, .article-page.is-visual .vz-decoder__go { appearance: none; cursor: pointer; min-height: 48px; padding: 0.55rem 1.2rem; border: 2px solid var(--vz-ink); border-radius: 999px; background: #fff; color: var(--vz-ink); font-family: var(--font-sans); font-size: 1.04rem; font-weight: 600; }
.article-page.is-visual .vz-stepper__nav .vz-stepper__next, .article-page.is-visual .vz-decoder__go { background: var(--vz-ink); color: #fff; }
.article-page.is-visual .vz-stepper__nav button:disabled { opacity: 0.4; cursor: default; }
.article-page.is-visual .vz-stepper__btn:focus-visible, .article-page.is-visual .vz-stepper__nav button:focus-visible, .article-page.is-visual .vz-decoder__go:focus-visible, .article-page.is-visual .vz-decoder__input:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 3px; }
@media (max-width: 900px) { .article-page.is-visual .vz-stepper__list { grid-template-columns: 1fr; } .article-page.is-visual .vz-stepper__btn { min-height: 52px; } .article-page.is-visual .vz-stepper__panel { min-height: 0; } }

.vz-decoder { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.4rem 1.5rem 1.3rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-decoder__segs { margin-bottom: 0.9rem; }
.article-page.is-visual .vz-decoder__entry { margin: 0 0 1.2rem; }
.article-page.is-visual .vz-decoder__entry label { display: block; font-family: var(--font-sans); font-weight: 700; font-size: 1.05rem; color: var(--vz-navy); margin-bottom: 0.4rem; }
.article-page.is-visual .vz-decoder__row { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.article-page.is-visual .vz-decoder__input { min-height: 48px; width: 14rem; max-width: 100%; box-sizing: border-box; padding: 0.5rem 0.9rem; border: 2px solid var(--vz-ink); border-radius: var(--vz-radius-sm); background: #fff; color: var(--vz-navy); font-family: var(--vz-num); font-size: 1.25rem; font-weight: 700; }
.article-page.is-visual .vz-decoder__msg { margin: 0.5rem 0 0; font-size: 1.02rem; color: var(--vz-text); min-height: 1.2em; }
.article-page.is-visual .vz-decoder__msg.is-error { color: var(--vz-red); font-weight: 600; }
.vz-decoder__scale { position: relative; margin: 0.4rem 0 1.4rem; }
.vz-decoder__bar { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); height: 26px; border-radius: 999px; overflow: hidden; }
.vz-decoder__bar span { display: block; height: 100%; }
.vz-decoder__ticks { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 0.35rem; font-family: var(--font-sans); font-size: 0.95rem; font-weight: 600; color: var(--vz-muted); text-align: center; }
.vz-decoder__mark { position: absolute; top: -7px; width: 6px; height: 40px; margin-left: -3px; background: var(--vz-navy); border: 2px solid #fff; border-radius: 4px; transition: left 0.35s ease; }
.vz-decoder__result { background: #fff; border-radius: var(--vz-radius-sm); padding: 1.1rem 1.25rem; border-left: 8px solid #12998a; transition: border-color 0.3s ease; }
.vz-decoder[data-band="mild"] .vz-decoder__result { border-left-color: #4e8f6a; }
.vz-decoder[data-band="moderate"] .vz-decoder__result { border-left-color: #b8841f; }
.vz-decoder[data-band="severe"] .vz-decoder__result { border-left-color: #d0612e; }
.vz-decoder[data-band="extreme"] .vz-decoder__result { border-left-color: #a82e27; }
.article-page.is-visual .vz-decoder__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.5rem, 2.3vw, 2rem); line-height: 1.15; color: var(--vz-navy); margin: 0 0 0.4rem; }
.article-page.is-visual .vz-decoder__means { font-size: 1.12rem; line-height: 1.5; font-weight: 600; margin: 0 0 0.8rem; }
.article-page.is-visual .vz-decoder__nextlabel { font-family: var(--font-sans); font-size: 0.85rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--vz-orange); font-weight: 700; margin: 0 0 0.25rem; }
.article-page.is-visual .vz-decoder__next { font-size: 1.08rem; line-height: 1.5; margin: 0; }
.article-page.is-visual .vz-decoder__note { margin: 1rem 0 0; font-size: 1.02rem; color: var(--vz-muted); }
.article-page.is-visual .vz-decoder__tools { margin: 0.9rem 0 0; padding-top: 0.9rem; border-top: 1px solid var(--vz-line); font-size: 1.02rem; line-height: 1.5; }
.article-page.is-visual .vz-decoder__tools a { font-weight: 600; }
.article-page.is-visual .vz-ext { font-weight: 400; color: var(--vz-muted); }
@media (max-width: 600px) { .vz-decoder { padding: 1.1rem 1rem 1.1rem; } .vz-decoder__ticks { font-size: 0.78rem; } .article-page.is-visual .vz-decoder__segs .vz-seg { flex: 1 1 40%; text-align: center; } }
.article-page.is-visual .vz-cards--one { grid-template-columns: 1fr; margin-top: 0; }

/* === bp-averager (hypertension-guide, 2026-10-24) === */
.article-page.is-visual .vz-bpavg { background: var(--vz-teal-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-bpavg__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .vz-bpavg__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 1fr); gap: 1.25rem; align-items: start; }
.article-page.is-visual .vz-bpavg__head,
.article-page.is-visual .vz-bpavg__row { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr) 1.2rem minmax(0, 1fr); gap: 0.5rem; align-items: center; }
.article-page.is-visual .vz-bpavg__head { align-items: end; margin: 0 0 0.4rem; font-family: var(--font-sans); font-size: 0.95rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--vz-muted); }
.article-page.is-visual .vz-bpavg__head span:first-child { grid-column: 2; }
.article-page.is-visual .vz-bpavg__head span:last-child { grid-column: 4; }
.article-page.is-visual ol.vz-bpavg__rows { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.article-page.is-visual .vz-bpavg__row { margin: 0; }
.article-page.is-visual .vz-bpavg__n { font-family: var(--vz-num); font-weight: 800; font-size: 1.05rem; color: var(--vz-muted); text-align: center; }
.article-page.is-visual .vz-bpavg__slash { font-family: var(--vz-num); font-weight: 800; font-size: 1.6rem; color: var(--vz-muted); text-align: center; }
.article-page.is-visual .vz-bpavg input {
  box-sizing: border-box; width: 100%; min-height: 56px; padding: 0.4rem 0.8rem; margin: 0;
  font-family: var(--vz-num); font-weight: 800; font-size: 1.6rem; color: var(--vz-navy); text-align: center;
  background: #fff; border: 2px solid rgba(14, 124, 111, 0.4); border-radius: var(--vz-radius-sm);
}
.article-page.is-visual .vz-bpavg input:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 2px; border-color: var(--vz-teal-dk); }
.article-page.is-visual .vz-bpavg input[aria-invalid="true"] { border-color: var(--vz-red); background: var(--vz-red-bg); }
.article-page.is-visual .vz-bpavg__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0.9rem 0 0; }
.article-page.is-visual .vz-bpavg__actions button {
  appearance: none; cursor: pointer; min-height: 48px; padding: 0.55rem 1.1rem; border-radius: 999px;
  font-family: var(--font-sans); font-size: 1.05rem; font-weight: 700; color: var(--vz-navy);
  background: #fff; border: 2px solid var(--vz-navy);
}
.article-page.is-visual .vz-bpavg__actions .vz-bpavg__clear { border-color: rgba(20, 33, 61, 0.3); color: var(--vz-muted); }
.article-page.is-visual .vz-bpavg__actions button:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 2px; }
.article-page.is-visual .vz-bpavg__actions button:disabled { cursor: default; opacity: 0.55; }
.article-page.is-visual .vz-bpavg:not(.is-live) .vz-bpavg__actions { display: none; }
.article-page.is-visual .vz-bpavg__result { position: sticky; top: 1rem; background: var(--vz-navy); color: #e9edf4; border-radius: var(--vz-radius-sm); padding: 1.3rem 1.4rem 1.2rem; border-top: 10px solid #8a93a3; }
.article-page.is-visual .vz-bpavg[data-band="normal"] .vz-bpavg__result { border-top-color: #12998a; }
.article-page.is-visual .vz-bpavg[data-band="elevated"] .vz-bpavg__result { border-top-color: #e0a12e; }
.article-page.is-visual .vz-bpavg[data-band="htn"] .vz-bpavg__result { border-top-color: #d0612e; }
.article-page.is-visual .vz-bpavg__count { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-gold); margin: 0 0 0.2rem; font-weight: 700; }
.article-page.is-visual .vz-bpavg__avg { font-family: var(--vz-num); font-weight: 800; font-size: clamp(2.6rem, 5vw, 3.6rem); line-height: 1.05; color: #fff; margin: 0 0 0.3rem; }
.article-page.is-visual .vz-bpavg__avg small { font-size: 1rem; font-weight: 600; color: #c9d0db; margin-left: 0.3rem; }
.article-page.is-visual .vz-bpavg__band { font-family: var(--vz-num); font-weight: 800; font-size: 1.4rem; line-height: 1.2; color: #fff; margin: 0 0 0.4rem; }
.article-page.is-visual .vz-bpavg__band:empty { display: none; }
.article-page.is-visual .vz-bpavg__why { font-size: 1.05rem; line-height: 1.45; color: #e9edf4; margin: 0 0 0.9rem; }
.article-page.is-visual .vz-bpavg__scale { position: relative; margin: 0 0 1.9rem; }
.article-page.is-visual .vz-bpavg__bar { display: flex; height: 14px; border-radius: 999px; overflow: hidden; }
.article-page.is-visual .vz-bpavg__bar span { flex: 1; display: block; }
.article-page.is-visual .vz-bpavg__ticks { display: flex; margin-top: 0.3rem; font-family: var(--font-sans); font-size: 0.85rem; font-weight: 600; color: #c9d0db; }
.article-page.is-visual .vz-bpavg__ticks span { flex: 1; text-align: center; }
.article-page.is-visual .vz-bpavg__mark { position: absolute; top: -6px; width: 6px; height: 26px; margin-left: -3px; border-radius: 3px; background: #fff; transition: left 0.3s ease; }
.article-page.is-visual .vz-bpavg[data-band=""] .vz-bpavg__mark { display: none; }
.article-page.is-visual .vz-bpavg__goal { font-size: 1.02rem; line-height: 1.45; color: #e9edf4; margin: 0 0 0.8rem; padding-top: 0.8rem; border-top: 1px solid rgba(255, 255, 255, 0.18); }
.article-page.is-visual .vz-bpavg__alert { font-size: 1.05rem; line-height: 1.45; font-weight: 700; margin: 0 0 0.8rem; padding: 0.75rem 0.9rem; border-radius: 8px; background: #fcf0d9; color: #4a3305; }
.article-page.is-visual .vz-bpavg[data-alert="911"] .vz-bpavg__alert { background: var(--vz-red); color: #fff; }
.article-page.is-visual .vz-bpavg__alert[hidden] { display: none; }
.article-page.is-visual .vz-bpavg__plan { font-size: 1.02rem; line-height: 1.45; color: #fff; font-weight: 600; margin: 0; }
.article-page.is-visual .vz-bpavg__note { margin: 1.1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
.article-page.is-visual .vz-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 900px) { .article-page.is-visual .vz-bpavg__grid { grid-template-columns: 1fr; } .article-page.is-visual .vz-bpavg__result { position: static; } }
@media (max-width: 480px) {
  .article-page.is-visual .vz-bpavg { padding: 1.2rem 1rem 1.1rem; }
  .article-page.is-visual .vz-bpavg__head, .article-page.is-visual .vz-bpavg__row { grid-template-columns: 1.6rem minmax(0, 1fr) 0.9rem minmax(0, 1fr); gap: 0.4rem; }
}

/* === risk staircase + resource notes (hypertension-guide, 2026-10-24) === */
.article-page.is-visual .vz-stairs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.6rem; align-items: end; height: 260px; margin: 0.5rem 0 0.4rem; padding: 0 0.2rem; border-bottom: 2px solid #a89f8c; }
.article-page.is-visual .vz-stairs__col { display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
.article-page.is-visual .vz-stairs__bar { height: var(--h); background: var(--c); border-radius: 8px 8px 0 0; display: flex; align-items: flex-start; justify-content: center; padding-top: 0.45rem; box-sizing: border-box; }
.article-page.is-visual .vz-stairs__bar b { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1rem, 2.2vw, 1.5rem); color: #fff; }
.article-page.is-visual .vz-stairs__labels { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.6rem; padding: 0 0.2rem; }
.article-page.is-visual .vz-stairs__labels span { text-align: center; font-family: var(--font-sans); font-weight: 700; font-size: 0.98rem; color: var(--vz-navy); line-height: 1.25; padding-top: 0.35rem; }
.article-page.is-visual .vz-stairs__axis { text-align: center; font-family: var(--font-sans); font-size: 0.95rem; color: var(--vz-muted); margin: 0.3rem 0 0.6rem; }
@media (max-width: 560px) { .article-page.is-visual .vz-stairs { height: 200px; gap: 0.35rem; } .article-page.is-visual .vz-stairs__labels { gap: 0.35rem; } .article-page.is-visual .vz-stairs__labels span { font-size: 0.85rem; } }
.article-page.is-visual .vz-resources__why { display: block; font-family: var(--font-sans); font-size: 1rem; line-height: 1.4; color: var(--vz-text); margin-top: 0.3rem; }

/* === video (watchman, 2026-10-24) === */
.article-page.is-visual .vz-video { margin: 1.75rem 0 2rem; padding: 0; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); column-gap: 1.75rem; align-items: center; }
.article-page.is-visual .vz-video__frame { grid-column: 1; grid-row: 1 / span 2; }
.article-page.is-visual .vz-video__cap { grid-column: 2; align-self: end; }
.article-page.is-visual .vz-video__sum { grid-column: 2; align-self: start; }
@media (max-width: 900px) {
  .article-page.is-visual .vz-video { display: block; }
}
.article-page.is-visual .vz-video__frame { position: relative; aspect-ratio: 16 / 9; background: var(--vz-sand); border: 1px solid var(--vz-line); border-radius: var(--vz-radius); overflow: hidden; }
.article-page.is-visual .vz-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.article-page.is-visual .vz-video__poster {
  appearance: none; position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 1.25rem;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem;
  background: var(--vz-sand); border: 0; cursor: pointer; text-align: center; text-decoration: none; color: var(--vz-navy); font: inherit;
}
.article-page.is-visual .vz-video__play {
  width: 92px; height: 92px; border-radius: 50%; background: var(--vz-navy); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; transition: background 0.15s ease;
}
.article-page.is-visual .vz-video__play svg { width: 44px; height: 44px; margin-left: 6px; }
.article-page.is-visual .vz-video__poster:hover .vz-video__play { background: var(--vz-teal-dk); }
.article-page.is-visual .vz-video__poster:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: -6px; }
.article-page.is-visual .vz-video__meta { display: flex; flex-direction: column; align-items: center; gap: 0.2rem; }
.article-page.is-visual .vz-video__kicker { font-family: var(--font-sans); font-size: 0.86rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--vz-orange); }
.article-page.is-visual .vz-video__title { font-family: var(--vz-serif); font-weight: 600; font-size: clamp(1.45rem, 2.6vw, 2.1rem); line-height: 1.15; color: var(--vz-navy); }
.article-page.is-visual .vz-video__pub { font-family: var(--font-sans); font-size: 1.02rem; color: var(--vz-muted); }
.article-page.is-visual .vz-video__cap { font-size: 1.02rem; line-height: 1.5; color: var(--vz-muted); margin: 0.75rem 0 0; }
.article-page.is-visual .vz-video__sum { font-size: 1.1rem; margin: 0.5rem 0 0; color: var(--vz-text); border-left: 4px solid var(--vz-teal); padding-left: 0.9rem; }
@media (max-width: 560px) {
  .article-page.is-visual .vz-video__play { width: 68px; height: 68px; }
  .article-page.is-visual .vz-video__play svg { width: 34px; height: 34px; }
  .article-page.is-visual .vz-video__poster { gap: 0.6rem; padding: 0.75rem; }
  .article-page.is-visual .vz-video__title { font-size: 1.3rem; }
}

/* === strokerisk (watchman, 2026-10-24) === */
.article-page.is-visual .vz-strokerisk { background: var(--vz-slate-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-strokerisk__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .vz-strokerisk__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(270px, 2fr); gap: 1.25rem; align-items: start; }
.article-page.is-visual .vz-strokerisk__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.article-page.is-visual .vz-strokerisk .vz-opt { grid-template-columns: 34px minmax(0, 1fr) auto; border-color: rgba(20, 33, 61, 0.3); }
.article-page.is-visual .vz-strokerisk .vz-opt__mark { border-color: var(--vz-navy); }
.article-page.is-visual .vz-strokerisk .vz-opt[aria-pressed="true"] { border-color: var(--vz-navy); background: #fff; }
.article-page.is-visual .vz-strokerisk .vz-opt[aria-pressed="true"] .vz-opt__mark { background: var(--vz-navy); }
.article-page.is-visual .vz-strokerisk__pts { font-family: var(--vz-num); font-weight: 800; font-size: 1.05rem; color: var(--vz-navy); background: var(--vz-tile); border-radius: 999px; padding: 0.2rem 0.55rem; }
.article-page.is-visual .vz-strokerisk__result { position: sticky; top: 1rem; background: var(--vz-navy); color: #e9edf4; border-radius: var(--vz-radius-sm); padding: 1.3rem 1.4rem; transition: background 0.3s ease; }
.article-page.is-visual .vz-strokerisk[data-band="mid"] .vz-strokerisk__result { background: #7a5410; }
.article-page.is-visual .vz-strokerisk[data-band="high"] .vz-strokerisk__result { background: var(--vz-teal-dk); }
.article-page.is-visual .vz-strokerisk__count { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-gold); margin: 0 0 0.35rem; font-weight: 700; }
.article-page.is-visual .vz-strokerisk__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.45rem, 2.2vw, 1.9rem); line-height: 1.15; color: #fff; margin: 0 0 0.5rem; }
.article-page.is-visual .vz-strokerisk__why { font-size: 1.05rem; line-height: 1.45; color: #f1f3f7; margin: 0 0 0.6rem; }
.article-page.is-visual .vz-strokerisk__va { font-size: 0.98rem; line-height: 1.4; color: #dfe5ee; margin: 0; }
.article-page.is-visual .vz-strokerisk__plan { font-family: var(--font-sans); font-weight: 700; font-size: 1.02rem; line-height: 1.4; color: #fff; margin: 0.9rem 0 0; padding-top: 0.8rem; border-top: 1px solid rgba(255, 255, 255, 0.28); }
.article-page.is-visual .vz-strokerisk__note { margin: 1.1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .vz-strokerisk__grid { grid-template-columns: 1fr; } .article-page.is-visual .vz-strokerisk__result { position: static; } }
@media (max-width: 560px) { .article-page.is-visual .vz-strokerisk__opts { grid-template-columns: 1fr; } }

/* === laa figure, four-step timeline, resource notes (watchman, 2026-10-24) === */
.article-page.is-visual .vz-laa img { width: 100%; height: auto; margin: 0; border-radius: var(--vz-radius-sm); display: block; }
.article-page.is-visual .vz-laa__steps { display: none; list-style: none; padding: 0; margin: 0; }
@media (max-width: 700px) {
  .article-page.is-visual .vz-laa__full { display: none; }
  .article-page.is-visual .vz-laa__steps { display: grid; gap: 0.75rem; }
  .article-page.is-visual .vz-laa__steps li { margin: 0; }
  .article-page.is-visual .vz-laa__steps li:nth-child(odd) img { max-width: 78%; margin: 0 auto; }
}
.article-page.is-visual .vz-daytl--four .vz-timeline { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .article-page.is-visual .vz-daytl--four .vz-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .article-page.is-visual .vz-daytl--four .vz-timeline { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-resources__why { display: block; font-family: var(--font-sans); font-size: 0.98rem; line-height: 1.4; color: var(--vz-muted); margin-top: 0.3rem; }
.article-page.is-visual .vz-bars--verdict .vz-barrow__delta { font-size: 1.2rem; line-height: 1.15; }
@media (min-width: 761px) { .article-page.is-visual .vz-bars--verdict .vz-barrow { grid-template-columns: minmax(150px, 0.9fr) minmax(0, 2.4fr) 150px; } .article-page.is-visual .vz-bars--verdict .vz-bar { grid-template-columns: minmax(0, 1fr) 4rem; } }
.article-page.is-visual p.vz-disclaimer { font-size: 0.95rem; color: var(--vz-muted); }
@media (min-width: 901px) { .article-page.is-visual .vz-tiers--stickyred > .vz-tier--red { position: sticky; top: 1rem; } }
.article-page.is-visual a.vz-laa__zoom { display: block; text-decoration: none; }
.article-page.is-visual .vz-laa__zoomhint { display: block; text-align: center; font-family: var(--font-sans); font-size: 0.95rem; font-weight: 600; color: var(--vz-teal-dk); margin-top: 0.3rem; }
/* === lab report reader (ldl-cholesterol, 2026-10-24) === */
.article-page.is-visual .vz-labread { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.4rem 1.5rem 1.3rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-labread__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .vz-labread__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1.5rem; align-items: start; }
.article-page.is-visual .vz-labread__field label,
.article-page.is-visual .vz-labread__grouplabel { display: block; font-family: var(--font-sans); font-weight: 700; font-size: 1.05rem; color: var(--vz-navy); margin: 0 0 0.45rem; }
.article-page.is-visual .vz-labread__grouplabel { margin-top: 1.1rem; }
.article-page.is-visual .vz-labread__inrow { display: flex; align-items: center; gap: 0.7rem; }
.article-page.is-visual .vz-labread__input {
  width: 8rem; min-height: 60px; box-sizing: border-box; padding: 0.3rem 0.85rem;
  font-family: var(--vz-num); font-weight: 800; font-size: 1.7rem; color: var(--vz-navy);
  background: #fff; border: 2px solid var(--vz-ink); border-radius: var(--vz-radius-sm); margin: 0;
}
.article-page.is-visual .vz-labread__input:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 3px; }
.article-page.is-visual .vz-labread__unit { font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem; color: var(--vz-muted); }
.article-page.is-visual .vz-labread .vz-segs { flex-direction: column; flex-wrap: nowrap; }
.article-page.is-visual .vz-labread .vz-seg { flex: 0 0 auto; width: 100%; border-radius: var(--vz-radius-sm); min-height: 56px; }
.article-page.is-visual .vz-labread .vz-seg small { display: block; font-weight: 500; font-size: 0.92rem; opacity: 0.85; margin-top: 0.1rem; }
.article-page.is-visual .vz-labread__note { margin: 0.8rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
.article-page.is-visual .vz-lrscale { position: relative; padding-top: 2.1rem; margin: 0 0 1rem; }
.article-page.is-visual .vz-lrscale__track { position: relative; height: 26px; border-radius: 999px; overflow: hidden; background: #f3d9a4; }
.article-page.is-visual .vz-lrscale__zone { position: absolute; left: 0; top: 0; bottom: 0; background: #9fd6c9; transition: width 0.45s cubic-bezier(0.2, 0.7, 0.2, 1); }
.article-page.is-visual .vz-lrscale__goal { position: absolute; top: 2.1rem; width: 4px; height: 26px; margin-left: -2px; background: var(--vz-teal-dk); transition: left 0.45s cubic-bezier(0.2, 0.7, 0.2, 1); }
.article-page.is-visual .vz-lrscale__goallabel { position: absolute; top: 30px; left: 2px; transform: translateX(-50%); white-space: nowrap; font-family: var(--font-sans); font-weight: 700; font-size: 0.95rem; color: var(--vz-teal-dk); }
.article-page.is-visual .vz-lrscale__you { position: absolute; top: calc(2.1rem - 10px); width: 6px; height: 46px; margin-left: -3px; border-radius: 3px; background: var(--vz-navy); box-shadow: 0 0 0 3px #fff; transition: left 0.45s cubic-bezier(0.2, 0.7, 0.2, 1); }
.article-page.is-visual .vz-lrscale__you[hidden] { display: none; }
.article-page.is-visual .vz-lrscale__youlabel { position: absolute; bottom: 50px; left: 3px; transform: translateX(-50%); white-space: nowrap; font-family: var(--vz-num); font-weight: 800; font-size: 1rem; color: var(--vz-navy); }
.article-page.is-visual .vz-lrscale .is-left { transform: translateX(-6px); }
.article-page.is-visual .vz-lrscale .is-right { transform: translateX(calc(-100% + 6px)); }
.article-page.is-visual .vz-lrscale__ticks { position: relative; height: 1.4rem; margin-top: 1.9rem; font-family: var(--font-sans); font-size: 0.9rem; font-weight: 600; color: var(--vz-muted); border-top: 1px solid var(--vz-line); padding-top: 0.2rem; }
.article-page.is-visual .vz-lrscale__ticks span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.article-page.is-visual .vz-lrscale__ticks span:first-child { transform: none; }
.article-page.is-visual .vz-lrscale__ticks span:last-child { transform: translateX(-100%); }
.article-page.is-visual .vz-labread__result { background: #fff; border-radius: var(--vz-radius-sm); padding: 1.1rem 1.25rem; border-left: 8px solid #8a93a3; transition: border-color 0.3s ease; }
.article-page.is-visual .vz-labread[data-state="below"] .vz-labread__result { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .vz-labread[data-state="at"] .vz-labread__result,
.article-page.is-visual .vz-labread[data-state="above"] .vz-labread__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-labread__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.35rem, 2.1vw, 1.8rem); line-height: 1.18; color: var(--vz-navy); margin: 0 0 0.45rem; }
.article-page.is-visual .vz-labread__gap { font-size: 1.08rem; line-height: 1.5; margin: 0 0 0.5rem; }
.article-page.is-visual .vz-labread__why { font-size: 1rem; line-height: 1.45; color: var(--vz-muted); margin: 0; }
.article-page.is-visual .vz-labread__flag { margin: 0.7rem 0 0; padding: 0.6rem 0.8rem; background: var(--vz-amber-bg); border-radius: 8px; font-size: 1rem; line-height: 1.45; color: #5c4210; }
.article-page.is-visual .vz-labread__flag[hidden] { display: none; }
.article-page.is-visual .vz-labread__plan { margin: 0.8rem 0 0; font-family: var(--font-sans); font-weight: 700; font-size: 1.02rem; color: var(--vz-teal-dk); }
@media (max-width: 900px) {
  /* phones: situation first, then the number box right above the result, so the readout is in view while typing */
  .article-page.is-visual .vz-labread__grid { display: flex; flex-direction: column; gap: 0.9rem; }
  .article-page.is-visual .vz-labread__controls { display: contents; }
  .article-page.is-visual .vz-labread__grouplabel { order: 1; margin: 0 0 -0.4rem; }
  .article-page.is-visual .vz-labread .vz-segs { order: 2; }
  .article-page.is-visual .vz-labread__note { order: 3; margin: 0; }
  .article-page.is-visual .vz-labread__field { order: 4; }
  .article-page.is-visual .vz-labread__out { order: 5; }
}
@media (max-width: 560px) { .article-page.is-visual .vz-labread { padding: 1.1rem 1rem 1rem; } }

/* === paired bars, risk and single-series variants (ldl-cholesterol, 2026-10-24) === */
.article-page.is-visual .vz-bars--risk .vz-bar--e .vz-bar__fill,
.article-page.is-visual .vz-bars--risk .vz-bars__legend .vz-sw--e { background: #b5302a; }
.article-page.is-visual .vz-bars--risk .vz-barrow__delta { color: #b5302a; }
.article-page.is-visual .vz-bars--single .vz-bar { grid-template-columns: minmax(0, 1fr); }
.article-page.is-visual .vz-bars--single .vz-bar__fill { background: var(--c, #0b8a78); height: 28px; }

/* === setup figure, 911 panel (home-blood-pressure-monitoring, 2026-10-24) === */
.article-page.is-visual .vz-hbpm-fig picture, .article-page.is-visual .vz-hbpm-fig img { display: block; width: 100%; height: auto; margin: 0; border-radius: var(--vz-radius-sm); }
.article-page.is-visual .vz-hbpm-fig { margin-bottom: 1rem; }

/* === stent figure and DAPT length cards (heart-catheterization-stenting, 2026-10-24) === */
.article-page.is-visual .vz-stentfig img { width: 100%; height: auto; margin: 0; border-radius: var(--vz-radius-sm); display: block; }
.article-page.is-visual .vz-stentfig__steps { display: none; list-style: none; padding: 0; margin: 0; }
@media (max-width: 700px) {
  .article-page.is-visual .vz-stentfig__full { display: none; }
  .article-page.is-visual .vz-stentfig__steps { display: grid; gap: 0.75rem; }
  .article-page.is-visual .vz-stentfig__steps li { margin: 0; padding: 0; }
}
.article-page.is-visual .vz-dapt .vz-card { border-top: 5px solid var(--vz-teal-dk); }
.article-page.is-visual .vz-dapt .vz-dapt__card--navy { border-top-color: var(--vz-navy); }
.article-page.is-visual .vz-dapt .vz-dapt__card--amber { border-top-color: var(--vz-amber); }
.article-page.is-visual .vz-card p.vz-dapt__why { font-family: var(--font-sans); font-size: 0.86rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--vz-muted); margin: 0 0 0.5rem; }
.article-page.is-visual .vz-card p.vz-dapt__len { font-family: var(--font-sans); font-size: 1.3rem; font-weight: 700; line-height: 1.3; color: var(--vz-navy); margin: 0; }
.article-page.is-visual .vz-card p.vz-dapt__note { font-size: 1rem; line-height: 1.45; color: var(--vz-text); margin: 0.5rem 0 0; }


/* === valve toggle and stage decoder colours (aortic-stenosis, 2026-10-24) === */
.article-page.is-visual .vz-valveswap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .vz-valveswap .vz-heartswap__stage { aspect-ratio: 1600 / 592; width: 100%; max-width: 860px; margin: 0 auto; }
.article-page.is-visual .vz-valveswap .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) {
  .article-page.is-visual .vz-valveswap .vz-meter { grid-template-columns: 1fr; }
  /* Phones: show the valve itself large; the rows below carry the labels. */
  .article-page.is-visual .vz-valveswap .vz-heartswap__stage { aspect-ratio: 1 / 1; max-width: 340px; }
  .article-page.is-visual .vz-valveswap .vz-heartswap__stage img { object-fit: cover; object-position: 4.8% 50%; }
}
.article-page.is-visual .vz-valveswap .vz-hs--narrowed { opacity: 0; }
.article-page.is-visual .vz-valveswap[data-state="narrowed"] .vz-hs--narrowed { opacity: 1; }
.article-page.is-visual .vz-valveswap[data-state="narrowed"] .vz-hs--healthy { opacity: 0; }
.article-page.is-visual .vz-valveswap[data-state="narrowed"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-valveswap[data-state="narrowed"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-ef--as .vz-ef__result { border-left-color: #12998a; }
.article-page.is-visual .vz-ef--as[data-band="moderate"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef--as[data-band="severe"] .vz-ef__result { border-left-color: #d0612e; }
.article-page.is-visual .vz-ef--as[data-band="vsevere"] .vz-ef__result { border-left-color: #a82e27; }
@media (max-width: 600px) { .article-page.is-visual .vz-ef--as .vz-segs .vz-seg { flex: 1 1 40%; text-align: center; } }

/* === stand-up vitals checker, criteria cards, drug cards (pots, 2026-10-24) === */
.article-page.is-visual .vz-standup { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-standup__safety { display: flex; gap: 0.8rem; align-items: flex-start; margin: 0 0 1.2rem; padding: 1rem 1.15rem; border-radius: var(--vz-radius-sm); background: var(--vz-red); color: #fff; font-size: 1.12rem; line-height: 1.45; font-weight: 600; }
.article-page.is-visual .vz-standup__safety svg { flex: 0 0 auto; width: 30px; height: 30px; margin-top: 0.1rem; }
.article-page.is-visual .vz-standup__safety strong { color: #fff; }
.article-page.is-visual .vz-standup__lead { margin: 0 0 1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .vz-standup__age { margin: 0 0 1rem; }
.article-page.is-visual .vz-standup__age p { margin: 0 0 0.4rem; font-family: var(--font-sans); font-weight: 700; color: var(--vz-ink); }
.article-page.is-visual .vz-standup__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, 1fr); gap: 1.4rem; align-items: start; }
.article-page.is-visual .vz-standup__head,
.article-page.is-visual .vz-standup__row { display: grid; grid-template-columns: 6.2rem repeat(3, minmax(0, 1fr)) 3.6rem; gap: 0.45rem; align-items: center; }
.article-page.is-visual .vz-standup__head { align-items: end; margin: 0 0 0.35rem; font-family: var(--font-sans); font-size: 0.9rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--vz-muted); line-height: 1.2; }
.article-page.is-visual .vz-standup__head span { text-align: center; }
.article-page.is-visual ol.vz-standup__rows { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.4rem; }
.article-page.is-visual .vz-standup__row { margin: 0; padding: 0.25rem 0.3rem; border-radius: 8px; }
.article-page.is-visual .vz-standup__row--lying { background: #ece4d2; margin-bottom: 0.4rem; }
.article-page.is-visual .vz-standup__row.is-now { background: var(--vz-amber-bg); outline: 3px solid #e0a12e; }
.article-page.is-visual .vz-standup__when { font-family: var(--font-sans); font-weight: 700; font-size: 1rem; color: var(--vz-ink); line-height: 1.2; }
.article-page.is-visual .vz-standup input {
  box-sizing: border-box; width: 100%; min-height: 52px; padding: 0.3rem 0.4rem; margin: 0;
  font-family: var(--vz-num); font-weight: 800; font-size: 1.4rem; color: var(--vz-navy); text-align: center;
  background: #fff; border: 2px solid rgba(20, 33, 61, 0.28); border-radius: var(--vz-radius-sm);
}
.article-page.is-visual .vz-standup input:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 2px; border-color: var(--vz-navy); }
.article-page.is-visual .vz-standup input[aria-invalid="true"] { border-color: var(--vz-red); background: var(--vz-red-bg); }
.article-page.is-visual .vz-standup__delta { font-family: var(--vz-num); font-weight: 800; font-size: 1.05rem; color: var(--vz-muted); text-align: center; }
.article-page.is-visual .vz-standup__delta.is-hit { color: var(--vz-orange); }
.article-page.is-visual .vz-standup__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 0.9rem; margin: 0 0 1rem; }
.article-page.is-visual .vz-standup__tools button,
.article-page.is-visual .vz-standup__actions button {
  appearance: none; cursor: pointer; min-height: 48px; padding: 0.55rem 1.1rem; border-radius: 999px;
  font-family: var(--font-sans); font-size: 1.05rem; font-weight: 700; color: var(--vz-navy);
  background: #fff; border: 2px solid var(--vz-navy);
}
.article-page.is-visual .vz-standup__tools button[aria-pressed="true"] { background: var(--vz-navy); color: #fff; }
.article-page.is-visual .vz-standup__tools button:focus-visible,
.article-page.is-visual .vz-standup__actions button:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 2px; }
.article-page.is-visual .vz-standup__clock { font-family: var(--vz-num); font-weight: 800; font-size: 1.6rem; color: var(--vz-navy); min-width: 3.2em; }
.article-page.is-visual .vz-standup__cue { flex: 1 1 14rem; margin: 0; font-size: 1.05rem; font-weight: 600; color: var(--vz-ink); }
.article-page.is-visual .vz-standup__actions { margin: 0.9rem 0 0; }
.article-page.is-visual .vz-standup__actions .vz-standup__clear { border-color: rgba(20, 33, 61, 0.3); color: var(--vz-muted); }
.article-page.is-visual .vz-standup:not(.is-live) .vz-standup__tools,
.article-page.is-visual .vz-standup:not(.is-live) .vz-standup__actions,
.article-page.is-visual .vz-standup:not(.is-live) .vz-standup__age { display: none; }
.article-page.is-visual .vz-standup__result { position: sticky; top: 1rem; background: var(--vz-navy); color: #e9edf4; border-radius: var(--vz-radius-sm); padding: 1.3rem 1.4rem 1.2rem; border-top: 10px solid #8a93a3; }
.article-page.is-visual .vz-standup[data-result="hr"] .vz-standup__result { border-top-color: var(--vz-orange); }
.article-page.is-visual .vz-standup[data-result="bp"] .vz-standup__result { border-top-color: #e0a12e; }
.article-page.is-visual .vz-standup[data-result="early"] .vz-standup__result,
.article-page.is-visual .vz-standup[data-result="once"] .vz-standup__result { border-top-color: var(--vz-gold); }
.article-page.is-visual .vz-standup[data-result="none"] .vz-standup__result { border-top-color: #12998a; }
.article-page.is-visual .vz-standup__kick { font-family: var(--font-sans); font-size: 0.92rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-gold); margin: 0 0 0.3rem; font-weight: 700; }
.article-page.is-visual .vz-standup__title { font-family: var(--vz-num); font-weight: 800; font-size: 1.45rem; line-height: 1.2; color: #fff; margin: 0 0 0.5rem; }
.article-page.is-visual .vz-standup__why { font-size: 1.05rem; line-height: 1.45; color: #e9edf4; margin: 0 0 0.7rem; }
.article-page.is-visual .vz-standup__stats { font-family: var(--font-sans); font-size: 1rem; font-weight: 700; color: var(--vz-gold); margin: 0 0 0.8rem; }
.article-page.is-visual .vz-standup__stats:empty { display: none; }
.article-page.is-visual .vz-standup__plan { font-size: 1.02rem; line-height: 1.45; color: #fff; font-weight: 600; margin: 0; padding-top: 0.8rem; border-top: 1px solid rgba(255, 255, 255, 0.18); }
.article-page.is-visual .vz-standup__note { margin: 1.1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .vz-standup__grid { grid-template-columns: 1fr; } .article-page.is-visual .vz-standup__result { position: static; } }
@media (max-width: 520px) {
  .article-page.is-visual .vz-standup { padding: 1.2rem 0.8rem 1.1rem; }
  .article-page.is-visual .vz-standup__head, .article-page.is-visual .vz-standup__row { grid-template-columns: 3.9rem repeat(3, minmax(0, 1fr)) 2.5rem; gap: 0.3rem; }
  .article-page.is-visual .vz-standup__head { font-size: 0.74rem; letter-spacing: 0; }
  .article-page.is-visual .vz-standup__when { font-size: 0.9rem; }
  .article-page.is-visual .vz-standup input { font-size: 1.2rem; padding: 0.2rem; min-height: 48px; }
  .article-page.is-visual .vz-standup__delta { font-size: 0.92rem; }
}
.article-page.is-visual .vz-criteria .vz-card p.vz-crit__big { display: block; font-family: var(--vz-num); font-weight: 800; font-size: 2.2rem; line-height: 1.1; color: var(--vz-orange); margin: 0.2rem 0 0.4rem; }
.article-page.is-visual .vz-stand svg { display: block; width: 100%; height: auto; }
.article-page.is-visual .vz-stand .vz-stand__tall { display: none; max-width: 520px; margin: 0 auto; }
@media (max-width: 640px) { .article-page.is-visual .vz-stand .vz-stand__wide { display: none; } .article-page.is-visual .vz-stand .vz-stand__tall { display: block; } }
.article-page.is-visual .vz-card p.vz-card__what { font-weight: 600; color: var(--vz-ink); }
/* === heart toggle, extra states + decoder bands (hfref, 2026-10-24) === */
.article-page.is-visual .vz-hs--hfref { opacity: 0; }
.article-page.is-visual .vz-heartswap[data-state="hfref"] .vz-hs--hfref { opacity: 1; }
.article-page.is-visual .vz-heartswap[data-state="hfref"] .vz-hs--normal { opacity: 0; }
.article-page.is-visual .vz-heartswap[data-state="hfref"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-heartswap[data-state="hfref"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-ef[data-band="hfref"] .vz-ef__result,
.article-page.is-visual .vz-ef[data-band="c4"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual .vz-ef[data-band="hfmref"] .vz-ef__result,
.article-page.is-visual .vz-ef[data-band="c2"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef[data-band="c3"] .vz-ef__result { border-left-color: #d0612e; }
.article-page.is-visual .vz-ef[data-band="hfpef"] .vz-ef__result,
.article-page.is-visual .vz-ef[data-band="hfimpef"] .vz-ef__result,
.article-page.is-visual .vz-ef[data-band="c1"] .vz-ef__result { border-left-color: var(--vz-teal-dk); }
/* === heart attack 911 panel + figure hero (heart-attack-guide, 2026-10-24) === */
.article-page.is-visual .vz-hero__photo img[src^="/visual/heart-attack-guide/"] { object-fit: contain; object-position: 50% 50%; }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/heart-attack-guide/"])::before { display: none; }
.article-page.is-visual .ha-911-sec { margin-top: 0.5rem; }
.article-page.is-visual .ha-911 { margin: 0 0 1rem; }
.article-page.is-visual .ha-911 .vz-tier__head h3 { font-size: 1.3rem; color: var(--vz-red); }
.article-page.is-visual .ha-911 .vz-tier__legend { color: var(--vz-ink); font-size: 1.08rem; }
.article-page.is-visual .ha-911 dl { columns: 2; column-gap: 2.5rem; }
.article-page.is-visual .ha-911 dt { break-after: avoid; break-inside: avoid; }
.article-page.is-visual .ha-911 dd { break-inside: avoid; }
.article-page.is-visual .ha-911 dt:first-of-type { padding-top: 0.7rem; border-top: 1px solid rgba(20, 33, 61, 0.1); }
.article-page.is-visual .ha-911 dl > dt:first-child { border-top: 0; padding-top: 0; }
.article-page.is-visual .ha-911__do { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin: 0 0 2rem; }
.article-page.is-visual .ha-911__step { background: #fff; border-radius: var(--vz-radius-sm); border-top: 6px solid var(--vz-red); padding: 1rem 1.1rem; }
.article-page.is-visual .ha-911__step b { display: block; font-family: var(--font-sans); font-weight: 700; font-size: 1.15rem; color: var(--vz-navy); margin-bottom: 0.3rem; }
.article-page.is-visual .ha-911__step span { display: block; font-size: 1.05rem; line-height: 1.5; }
.article-page.is-visual .ha-dapt { margin: 0 0 1.75rem; border-left: 8px solid var(--vz-red); }
@media (max-width: 800px) {
  .article-page.is-visual .ha-911 dl { columns: 1; }
  .article-page.is-visual .ha-911__do { grid-template-columns: 1fr; }
}

/* === rhythm toggle, hero figure, 3-up statline, tier stack (atrial-flutter-vs-afib, 2026-10-24) === */
.article-page.is-visual .vz-hero__photo img[src^="/visual/atrial-flutter-vs-afib/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-rhythmswap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1.1rem; }
.article-page.is-visual .vz-rhythmswap .vz-heartswap__stage { aspect-ratio: 2160 / 280; background: #fdf1ef; }
.article-page.is-visual .vz-rhythmswap .vz-heartswap__stage img { object-fit: cover; object-position: 0 50%; }
.article-page.is-visual .vz-rhythmswap .vz-hs--flutter { opacity: 0; }
.article-page.is-visual .vz-rhythmswap[data-state="flutter"] .vz-hs--flutter { opacity: 1; }
.article-page.is-visual .vz-rhythmswap[data-state="flutter"] .vz-hs--afib { opacity: 0; }
.article-page.is-visual .vz-rhythmswap .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .vz-rhythmswap .vz-meter__row--change { border-left-color: var(--vz-red); }
.article-page.is-visual .vz-rhythmswap[data-state="flutter"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #fff; }
.article-page.is-visual .vz-rhythmswap[data-state="flutter"] .vz-meter__row--change dd { color: var(--vz-navy); }
.article-page.is-visual .vz-rhythmswap .vz-meter__row:not(.vz-meter__row--change) { border-left-color: var(--vz-slate-bg); }
.article-page.is-visual p.vz-rhythmswap__note { margin: 0.6rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
@media (max-width: 1000px) { .article-page.is-visual .vz-rhythmswap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .article-page.is-visual .vz-rhythmswap .vz-meter { grid-template-columns: 1fr; }
  .article-page.is-visual .vz-rhythmswap .vz-heartswap__stage { aspect-ratio: 2.2 / 1; }
}
.article-page.is-visual .vz-statline--afl3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-statline--afl3 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-afl-stack { display: grid; gap: 1rem; align-content: start; }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/atrial-flutter-vs-afib/"])::before { display: none; }
.article-page.is-visual .vz-rhythmswap .vz-meter__row:last-child { grid-column: 1 / -1; }

/* === plaque toggle and risk-factor counter (coronary-artery-disease, 2026-10-24) === */
.article-page.is-visual .vz-plaqueswap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .vz-plaqueswap .vz-heartswap__stage { aspect-ratio: 1600 / 592; width: 100%; }
.article-page.is-visual .vz-plaqueswap .vz-meter { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .article-page.is-visual .vz-plaqueswap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  /* Phones: the whole drawing stays in frame (a crop cut the labels); the rows below repeat them in large type. */
  .article-page.is-visual .vz-plaqueswap .vz-meter { grid-template-columns: 1fr; }
}
.article-page.is-visual .vz-plaqueswap .vz-hs--vulnerable { opacity: 0; }
.article-page.is-visual .vz-plaqueswap[data-state="vulnerable"] .vz-hs--vulnerable { opacity: 1; }
.article-page.is-visual .vz-plaqueswap[data-state="vulnerable"] .vz-hs--stable { opacity: 0; }
.article-page.is-visual .vz-plaqueswap[data-state="vulnerable"] .vz-meter__row--change { border-left-color: var(--vz-red); background: var(--vz-red-bg, #f9e1dc); }
.article-page.is-visual .vz-plaqueswap[data-state="vulnerable"] .vz-meter__row--change dd { color: #9b2d23; }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-plaqueswap .vz-heartswap__stage img { transition: none; } }

.article-page.is-visual .vz-rfcount { background: var(--vz-teal-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-rfcount__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .vz-rfcount__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr); gap: 1.25rem; align-items: start; }
.article-page.is-visual .vz-rfcount__groups { display: grid; gap: 1.25rem; }
.article-page.is-visual .vz-rfcount__group { border-left: 6px solid var(--vz-teal-dk); padding-left: 0.9rem; }
.article-page.is-visual .vz-rfcount__group--fixed { border-left-color: var(--vz-navy); }
.article-page.is-visual .vz-rfcount__group--newer { border-left-color: var(--vz-amber); }
.article-page.is-visual .vz-rfcount h3.vz-rfcount__gh { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--vz-ink); margin: 0 0 0.2rem; }
.article-page.is-visual .vz-rfcount p.vz-rfcount__act { margin: 0 0 0.7rem; font-size: 1.02rem; color: var(--vz-muted); }
.article-page.is-visual .vz-rfcount__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; }
.article-page.is-visual .vz-rfcount .vz-opt { min-height: 56px; font-size: 1.06rem; }
.article-page.is-visual .vz-rfcount__group--fixed .vz-opt { border-color: rgba(20, 33, 61, 0.3); }
.article-page.is-visual .vz-rfcount__group--fixed .vz-opt__mark { border-color: var(--vz-navy); }
.article-page.is-visual .vz-rfcount__group--fixed .vz-opt[aria-pressed="true"] { border-color: var(--vz-navy); background: #fff; }
.article-page.is-visual .vz-rfcount__group--fixed .vz-opt[aria-pressed="true"] .vz-opt__mark { background: var(--vz-navy); }
.article-page.is-visual .vz-rfcount__group--newer .vz-opt { border-color: rgba(154, 106, 18, 0.4); }
.article-page.is-visual .vz-rfcount__group--newer .vz-opt__mark { border-color: var(--vz-amber); }
.article-page.is-visual .vz-rfcount__group--newer .vz-opt[aria-pressed="true"] { border-color: var(--vz-amber); background: #fffaf0; }
.article-page.is-visual .vz-rfcount__group--newer .vz-opt[aria-pressed="true"] .vz-opt__mark { background: var(--vz-amber); }
.article-page.is-visual .vz-rfcount__result { position: sticky; top: 1rem; background: var(--vz-navy); color: #e9edf4; border-radius: var(--vz-radius-sm); padding: 1.3rem 1.4rem; }
.article-page.is-visual .vz-rfcount p.vz-rfcount__count { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-gold); margin: 0 0 0.35rem; font-weight: 700; }
.article-page.is-visual .vz-rfcount p.vz-rfcount__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.15; color: #fff; margin: 0 0 0.75rem; }
.article-page.is-visual .vz-rfcount ul.vz-rfcount__split { list-style: none; padding: 0; margin: 0 0 0.8rem; display: grid; gap: 0.3rem; }
.article-page.is-visual .vz-rfcount ul.vz-rfcount__split li { margin: 0; padding: 0; font-size: 1.02rem; color: #b9c3d3; }
.article-page.is-visual .vz-rfcount ul.vz-rfcount__split li::before { content: none; }
.article-page.is-visual .vz-rfcount ul.vz-rfcount__split li b { display: inline-block; min-width: 1.6rem; font-family: var(--vz-num); font-weight: 800; color: #fff; }
.article-page.is-visual .vz-rfcount ul.vz-rfcount__split li.is-on { color: #fff; }
.article-page.is-visual .vz-rfcount p.vz-rfcount__why { font-size: 1.05rem; line-height: 1.45; color: #e9edf4; margin: 0 0 0.8rem; }
.article-page.is-visual .vz-rfcount p.vz-rfcount__plan { font-size: 1rem; line-height: 1.4; color: var(--vz-gold); margin: 0; border-top: 1px solid rgba(255, 255, 255, 0.18); padding-top: 0.7rem; }
@media (max-width: 900px) { .article-page.is-visual .vz-rfcount__grid { grid-template-columns: 1fr; } .article-page.is-visual .vz-rfcount__result { position: static; } }
@media (max-width: 560px) { .article-page.is-visual .vz-rfcount__opts { grid-template-columns: 1fr; } .article-page.is-visual .vz-rfcount { padding: 1.2rem 1rem; } }
/* === illustration hero (tavr, 2026-10-24) === */
/* The tavr hero is a handout drawing with labels, not a photo: show all of it (contain, never
   cover) on the hero cream, and drop the left-edge fade so the labels stay crisp. Scoped to
   images under /visual/tavr/ so no other hero changes. */
.article-page.is-visual .vz-hero__photo img[src*="/visual/tavr/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src*="/visual/tavr/"])::before { display: none; }
@media (max-width: 900px) { .article-page.is-visual .vz-hero__photo img[src*="/visual/tavr/"] { object-position: 50% 50%; } }
/* Timeline column counts for this page's five-stop trial history and six-stop recovery (tavr). */
.article-page.is-visual .vz-when.vz-when--tavr5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.article-page.is-visual .vz-when.vz-when--tavr3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .article-page.is-visual .vz-when.vz-when--tavr5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .article-page.is-visual .vz-when.vz-when--tavr5, .article-page.is-visual .vz-when.vz-when--tavr3 { grid-template-columns: 1fr 1fr; } }
/* === leaky-valve toggle, grade decoder, treatment comparison (mitral-regurgitation, 2026-10-24) === */
.article-page.is-visual .vz-mrswap .vz-heartswap__stage { aspect-ratio: 1600 / 964; }
.article-page.is-visual .vz-mrswap .vz-heartswap__stage img { object-position: 50% 50%; }
.article-page.is-visual .vz-mrswap .vz-hs--leaky { opacity: 0; }
.article-page.is-visual .vz-mrswap[data-state="leaky"] .vz-hs--leaky { opacity: 1; }
.article-page.is-visual .vz-mrswap[data-state="leaky"] .vz-hs--closed { opacity: 0; }
.article-page.is-visual .vz-mrswap[data-state="leaky"] .vz-meter__row--change { border-left-color: #c2412d; background: #fbeae4; }
.article-page.is-visual .vz-mrswap[data-state="leaky"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-mrswap__note { margin: 0.6rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
@media (max-width: 760px) {
  .article-page.is-visual .vz-mrswap .vz-heartswap__stage { aspect-ratio: 800 / 900; max-width: 360px; width: 100%; margin: 0 auto; }
}
.article-page.is-visual .vz-ef--mr { border-top: 6px solid var(--vz-navy); }
.article-page.is-visual .vz-mrdec__ask { font-family: var(--font-sans); font-weight: 700; font-size: 0.86rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--vz-orange); margin: 0 0 0.7rem; }
.article-page.is-visual .vz-ef--mr .vz-ef__result { border-left-color: #5aa89c; }
.article-page.is-visual .vz-ef--mr[data-band="mild"] .vz-ef__result { border-left-color: #12998a; }
.article-page.is-visual .vz-ef--mr[data-band="moderate"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef--mr[data-band="severe"] .vz-ef__result { border-left-color: #a82e27; }
@media (max-width: 600px) { .article-page.is-visual .vz-ef--mr .vz-segs .vz-seg { flex: 1 1 40%; text-align: center; } }
.article-page.is-visual .vz-mrtx { border-top: 6px solid var(--vz-teal-dk); transition: border-color 0.35s ease; }
.article-page.is-visual .vz-mrtx[data-state="replace"] { border-top-color: var(--vz-navy); }
.article-page.is-visual .vz-mrtx[data-state="teer"] { border-top-color: #b8841f; }
.article-page.is-visual .vz-mrtx .vz-segs .vz-seg { flex: 1 1 200px; text-align: center; }
.article-page.is-visual .vz-mrtx .vz-meter__row { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); gap: 0.2rem 1.2rem; align-items: baseline; }
.article-page.is-visual .vz-mrtx .vz-meter dd { margin: 0; font-weight: 600; font-size: 1.1rem; line-height: 1.45; }
.article-page.is-visual .vz-mrtx[data-state="replace"] .vz-meter__row { border-left-color: var(--vz-navy); }
.article-page.is-visual .vz-mrtx[data-state="teer"] .vz-meter__row { border-left-color: #b8841f; background: #fffaf0; }
.article-page.is-visual .vz-mrtx__note { margin: 0.6rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 700px) { .article-page.is-visual .vz-mrtx .vz-meter__row { grid-template-columns: 1fr; } }
@media (min-width: 761px) { .article-page.is-visual .vz-mistakes--mr li:last-child { grid-column: 1 / -1; } }

/* === chest pain: ranked sorter, pain decoder, 911 panel extras (chest-pain-cardiac, 2026-10-24) === */
.article-page.is-visual .cp-sx[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .cp-sx[data-result="days"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .cp-sx[data-result="week"] .vz-sx__result { background: #3f5573; }
.article-page.is-visual .cp-sx[data-result="hours"] .vz-sx__result { background: var(--vz-amber); }
.article-page.is-visual .cp-sx[data-result="911"] .vz-sx__result { background: var(--vz-red); }
.article-page.is-visual .cp-feel[data-band="classic"] .vz-ef__result { border-left-color: #d0612e; }
.article-page.is-visual .cp-feel[data-band="tear"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual .cp-911-sec .vz-tier__head h3 { font-size: 1.3rem; }
.article-page.is-visual .cp-911__time { margin: 0 0 2rem; font-family: var(--vz-serif); font-size: clamp(1.25rem, 2vw, 1.55rem); color: var(--vz-red); }
.article-page.is-visual .cp-danger th[scope="row"] { color: var(--vz-red); }
.article-page.is-visual .cp-cac { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 640px) { .article-page.is-visual .cp-cac { grid-template-columns: 1fr; } }
/* === air-sac toggle, 911 panel footnote, numbered chain (shortness-of-breath-cardiac, 2026-10-24) === */
.article-page.is-visual .vz-sacswap .vz-heartswap__stage { aspect-ratio: 240 / 136; background: #f6f2ea; }
.article-page.is-visual .vz-sacswap .vz-heartswap__stage svg.vz-hs { position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease; }
.article-page.is-visual .vz-sacswap .vz-hs--backed { opacity: 0; }
.article-page.is-visual .vz-sacswap[data-state="backed"] .vz-hs--backed { opacity: 1; }
.article-page.is-visual .vz-sacswap[data-state="backed"] .vz-hs--normal { opacity: 0; }
.article-page.is-visual .vz-sacswap[data-state="backed"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-sacswap[data-state="backed"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-911 dl + .vz-tier__legend { margin: 0.9rem 0 0; padding-top: 0.7rem; border-top: 1px solid rgba(181, 48, 42, 0.25); color: var(--vz-ink); }
.article-page.is-visual #how-it-feels .vz-when b { font-size: 1.25rem; }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-sacswap .vz-heartswap__stage svg.vz-hs { transition: none; } }
/* === four-way leak figure, pitting check, one-leg/both-legs decoder, fix steps (leg-swelling-edema, 2026-10-24) === */
.article-page.is-visual .vz-leak__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem; }
.article-page.is-visual .vz-leak__item { margin: 0; background: #fff; border-radius: var(--vz-radius-sm); padding: 0.8rem 0.8rem 1rem; }
.article-page.is-visual .vz-leak__item img { display: block; width: 100%; height: auto; margin: 0; border-radius: 8px; }
.article-page.is-visual .vz-leak__item figcaption { padding: 0.75rem 0.35rem 0; }
.article-page.is-visual .vz-leak__item h3 { display: flex; align-items: center; gap: 0.6rem; margin: 0 0 0.45rem; font-size: 1.35rem; }
.article-page.is-visual .vz-leak__n { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 999px; background: var(--vz-navy); color: #fff; font-family: var(--vz-num); font-weight: 800; font-size: 1.05rem; }
.article-page.is-visual .vz-leak__item p { font-size: 1.08rem; line-height: 1.5; margin: 0 0 0.5rem; }
.article-page.is-visual .vz-leak__item p.vz-leak__seen { margin: 0; padding-left: 0.75rem; border-left: 4px solid var(--vz-teal-dk); color: var(--vz-ink); }
@media (max-width: 760px) { .article-page.is-visual .vz-leak__grid { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-pit__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.article-page.is-visual .vz-pit__cell { background: #fff; border-radius: var(--vz-radius-sm); padding: 0.8rem 0.9rem 0.9rem; }
.article-page.is-visual .vz-pit__svg { display: block; width: 100%; height: auto; max-width: 300px; margin: 0 auto; }
.article-page.is-visual .vz-pit__cap { margin: 0.6rem 0 0; font-size: 1.05rem; line-height: 1.45; }
.article-page.is-visual .vz-pit__cap b { display: block; font-family: var(--font-sans); color: var(--vz-navy); font-size: 1.1rem; margin-bottom: 0.15rem; }
@media (max-width: 700px) {
  .article-page.is-visual .vz-pit__grid { grid-template-columns: 1fr; }
  .article-page.is-visual .vz-pit__cell { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 0.8rem; align-items: center; }
  .article-page.is-visual .vz-pit__cap { margin: 0; }
}
.article-page.is-visual .vz-ef--pit[data-band="nopit"] .vz-ef__result { border-left-color: var(--vz-amber); }
.article-page.is-visual .vz-legs__cols { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1.25rem; }
.article-page.is-visual .vz-legs__group { display: flex; align-items: center; gap: 0.3rem; margin: 0 0 0.6rem; font-family: var(--font-sans); font-weight: 800; font-size: 1.15rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-navy); }
.article-page.is-visual .vz-legs__group svg { width: 26px; height: 26px; color: var(--vz-teal-dk); }
.article-page.is-visual .vz-legs .vz-segs { flex-direction: column; flex-wrap: nowrap; }
.article-page.is-visual .vz-legs .vz-segs .vz-seg { flex: 0 0 auto; text-align: left; }
.article-page.is-visual .vz-legs[data-band="clot"] .vz-ef__result,
.article-page.is-visual .vz-legs[data-band="skin"] .vz-ef__result,
.article-page.is-visual .vz-legs[data-band="heart"] .vz-ef__result,
.article-page.is-visual .vz-legs[data-band="organs"] .vz-ef__result { border-left-color: var(--vz-amber); }
.article-page.is-visual .vz-legs[data-band="limb"] .vz-ef__result { border-left-color: var(--vz-red); background: var(--vz-red-bg); }
@media (max-width: 760px) { .article-page.is-visual .vz-legs__cols { grid-template-columns: 1fr; } }
.article-page.is-visual ol.vz-steps4 { list-style: none; padding: 0; margin: 1rem 0 1.5rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; counter-reset: vzs4; }
.article-page.is-visual ol.vz-steps4 li { margin: 0; counter-increment: vzs4; background: var(--vz-teal-bg); border-radius: var(--vz-radius-sm); padding: 1rem 1.15rem 1.05rem 3.6rem; position: relative; }
.article-page.is-visual ol.vz-steps4 li::before { content: counter(vzs4); position: absolute; left: 1rem; top: 0.95rem; width: 1.9rem; height: 1.9rem; border-radius: 999px; background: var(--vz-teal-dk); color: #fff; font-family: var(--vz-num); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.article-page.is-visual ol.vz-steps4 h4 { margin: 0.15rem 0 0.35rem; font-family: var(--font-sans); font-size: 1.15rem; color: var(--vz-navy); }
.article-page.is-visual ol.vz-steps4 p { margin: 0; font-size: 1.08rem; line-height: 1.5; }
@media (max-width: 760px) { .article-page.is-visual ol.vz-steps4 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-callout--hf { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .vz-callout--preg { border-left-color: var(--vz-red); }
/* Hero: the reader sits left of centre in the source; pull her out of the left-edge sand fade on desktop (leg-swelling-edema). */
@media (min-width: 901px) { .article-page.is-visual .vz-hero__photo img[src^="/visual/leg-swelling-edema/"] { object-position: 22% 50%; } }
@media (max-width: 900px) { .article-page.is-visual .vz-hero__photo img[src^="/visual/leg-swelling-edema/"] { object-position: 40% 30%; } }
/* === ECG figure, Valsalva stepper notes, safety list (supraventricular-tachycardia-svt, 2026-10-24) === */
.article-page.is-visual .vz-svt-ecg picture { display: block; }
.article-page.is-visual .vz-svt-ecg img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 2250 / 475; object-fit: contain; margin: 0; border-radius: var(--vz-radius-sm); }
.article-page.is-visual .vz-svt-steps .vz-stepper__nav { margin-bottom: 0.4rem; }
.article-page.is-visual p.vz-svt-steps__plan { margin: 0.6rem 0 0; font-size: 1.02rem; color: var(--vz-muted); }
.article-page.is-visual .vz-svt-safety ul { margin: 0; padding-left: 1.25rem; }
.article-page.is-visual .vz-svt-safety li { margin: 0.25rem 0; }
@media (max-width: 600px) { .article-page.is-visual .vz-svt-ecg { padding-left: 0.6rem; padding-right: 0.6rem; } }
/* === 3-stop timing line, 3-up statline, 911 panel, BP figure (orthostatic-hypotension, 2026-10-24) === */
.article-page.is-visual .vz-when.vz-when--oh3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.vz-when--oh3 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-statline.vz-statline--oh3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-statline.vz-statline--oh3 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-oh-911 { margin: 1.5rem 0 1rem; }
.article-page.is-visual .vz-oh-911 + .vz-tiers { margin-top: 0; }
.article-page.is-visual .vz-ohbp .vz-stand__tall { max-width: 400px; }

/* === plaque toggle plan line, three-up evidence scorecard (statin-benefits-beyond-cholesterol, 2026-10-24) === */
.article-page.is-visual p.vz-statin-plan { margin: 0.5rem 0 0; font-size: 1.02rem; color: var(--vz-muted); }
@media (min-width: 1001px) { .article-page.is-visual .vz-tiers.vz-statin-tiers3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* === four-step statin trial stepper, single-column tier, symptom bars (statins-muscle-pain-myalgia-myth, 2026-10-24) === */
@media (min-width: 901px) { .article-page.is-visual .vz-smp-steps .vz-stepper__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.article-page.is-visual p.vz-smp-steps__plan { margin: 0.9rem 0 0.4rem; font-size: 1.02rem; color: var(--vz-muted); }
.article-page.is-visual .vz-smp-steps__all { margin-top: 0.4rem; }
.article-page.is-visual .vz-smp-steps__all ol { margin: 0.4rem 0 0.2rem; padding-left: 1.4rem; }
.article-page.is-visual .vz-smp-steps__all li { margin: 0 0 0.6rem; font-size: 1.05rem; line-height: 1.5; }
.article-page.is-visual .vz-smp-one { grid-template-columns: 1fr; margin-top: 0; }


/* === receptor toggle (pcsk9-inhibitors, 2026-10-24) === */
.article-page.is-visual .vz-pcskswap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .vz-pcskswap .vz-heartswap__stage { aspect-ratio: 1600 / 592; width: 100%; }
.article-page.is-visual .vz-pcskswap .vz-meter { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .article-page.is-visual .vz-pcskswap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .article-page.is-visual .vz-pcskswap .vz-meter { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-pcskswap .vz-hs--with { opacity: 0; }
.article-page.is-visual .vz-pcskswap[data-state="with"] .vz-hs--with { opacity: 1; }
.article-page.is-visual .vz-pcskswap[data-state="with"] .vz-hs--without { opacity: 0; }
.article-page.is-visual .vz-pcskswap[data-state="without"] .vz-meter__row--change { border-left-color: var(--vz-red); background: #f9e1dc; }
.article-page.is-visual .vz-pcskswap[data-state="without"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-pcskswap[data-state="with"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #e3f2ee; }
.article-page.is-visual .vz-pcskswap[data-state="with"] .vz-meter__row--change dd { color: var(--vz-navy); }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-pcskswap .vz-heartswap__stage img { transition: none; } }
@media (min-width: 761px) { .article-page.is-visual .vz-bars--pcsk .vz-barrow { grid-template-columns: minmax(150px, 0.9fr) minmax(0, 2.4fr) 190px; } }
.article-page.is-visual .vz-bars--pcsk .vz-barrow__delta { font-size: 1.6rem; line-height: 1.1; white-space: nowrap; }
.article-page.is-visual .vz-bars--pcsk .vz-barrow__delta small { white-space: normal; }
.article-page.is-visual .vz-checklist.vz-pcsk-gap { margin-bottom: 1.6rem; }
.article-page.is-visual .vz-hero__photo img[src^="/visual/pcsk9-inhibitors/"] { object-position: 50% 12%; }
/* === lab report reader, unit bands; particle figure; range chart (lipoprotein-a, 2026-10-24) === */
.article-page.is-visual .vz-labread--bands .vz-lrscale__track { background: #e9ecf1; }
.article-page.is-visual .vz-labread--bands .vz-lrscale__band { position: absolute; top: 0; bottom: 0; transition: left 0.45s cubic-bezier(0.2, 0.7, 0.2, 1), width 0.45s cubic-bezier(0.2, 0.7, 0.2, 1); }
.article-page.is-visual .vz-labread--bands .vz-lrscale__band + .vz-lrscale__band { box-shadow: inset 2px 0 0 #fff; }
.article-page.is-visual .vz-labread--bands .vz-lrscale__ticks { margin-top: 0.5rem; }
.article-page.is-visual .vz-labread--bands[data-state="low"] .vz-labread__result { border-left-color: #12998a; }
.article-page.is-visual .vz-labread--bands[data-state="border"] .vz-labread__result { border-left-color: #4e8f6a; }
.article-page.is-visual .vz-labread--bands[data-state="elev"] .vz-labread__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-labread--bands[data-state="vhigh"] .vz-labread__result { border-left-color: #d0612e; }
.article-page.is-visual .vz-labread--bands[data-state="extreme"] .vz-labread__result { border-left-color: #a82e27; }
.article-page.is-visual .vz-labread--bands[data-state="range"] .vz-labread__result { border-left-color: #8a93a3; }
.article-page.is-visual .lpa-fig picture, .article-page.is-visual .lpa-fig img { display: block; width: 100%; height: auto; margin: 0; border-radius: var(--vz-radius-sm); }
.article-page.is-visual .lpa-fig__parts { display: none; }
@media (max-width: 700px) {
  .article-page.is-visual .lpa-fig picture.lpa-fig__full { display: none; }
  .article-page.is-visual .lpa-fig__parts { display: grid; gap: 0.6rem; }
}
.article-page.is-visual ul.lpa-range { list-style: none; padding: 0; margin: 0.3rem 0 0; display: grid; gap: 0.85rem; }
.article-page.is-visual ul.lpa-range li { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr) minmax(0, 9.5rem); gap: 1rem; align-items: center; margin: 0; padding: 0; }
.article-page.is-visual .lpa-range__label { margin: 0; font-family: var(--font-sans); font-weight: 700; font-size: 1.05rem; line-height: 1.25; color: var(--vz-navy); }
.article-page.is-visual .lpa-range__label small { display: block; font-weight: 500; font-size: 0.92rem; color: var(--vz-muted); }
.article-page.is-visual .lpa-range__track { position: relative; height: 22px; border-radius: 999px; background: #e9ecf1; }
.article-page.is-visual .lpa-range__bar { position: absolute; top: 0; bottom: 0; border-radius: 999px; min-width: 10px; }
.article-page.is-visual .lpa-range__val { margin: 0; font-family: var(--vz-num); font-weight: 800; font-size: 1.05rem; line-height: 1.2; }
.article-page.is-visual .lpa-range__axis { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr) minmax(0, 9.5rem); gap: 1rem; margin: 0.4rem 0 0.2rem; font-family: var(--font-sans); font-size: 0.9rem; font-weight: 600; color: var(--vz-muted); }
.article-page.is-visual .lpa-range__axis span:nth-child(1) { grid-column: 2; justify-self: start; grid-row: 1; }
.article-page.is-visual .lpa-range__axis span:nth-child(2) { grid-column: 2; justify-self: center; grid-row: 1; }
.article-page.is-visual .lpa-range__axis span:nth-child(3) { grid-column: 2; justify-self: end; grid-row: 1; }
@media (max-width: 700px) {
  .article-page.is-visual ul.lpa-range li { grid-template-columns: minmax(0, 1fr) auto; gap: 0.35rem 0.8rem; }
  .article-page.is-visual .lpa-range__track { grid-column: 1 / -1; grid-row: 2; }
  .article-page.is-visual .lpa-range__val { grid-column: 2; grid-row: 1; text-align: right; }
  .article-page.is-visual .lpa-range__axis { grid-template-columns: 1fr; }
  .article-page.is-visual .lpa-range__axis span:nth-child(n) { grid-column: 1; }
}
.article-page.is-visual .vz-hero__photo img[src^="/visual/lipoprotein-a/"] { object-position: 45% 0%; }
/* === kidney toggle, 3-stop timing line, single red tier (sglt2-inhibitors, 2026-10-24) === */
.article-page.is-visual .vz-sglt2swap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .vz-sglt2swap .vz-heartswap__stage { aspect-ratio: 270 / 132; width: 100%; max-width: 900px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .vz-sglt2swap .vz-heartswap__stage svg.vz-hs { position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease; }
.article-page.is-visual .vz-sglt2swap .vz-hs--blocked { opacity: 0; }
.article-page.is-visual .vz-sglt2swap[data-state="blocked"] .vz-hs--blocked { opacity: 1; }
.article-page.is-visual .vz-sglt2swap[data-state="blocked"] .vz-hs--normal { opacity: 0; }
.article-page.is-visual .vz-sglt2swap .vz-meter { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.article-page.is-visual .vz-sglt2swap[data-state="blocked"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-sglt2swap[data-state="blocked"] .vz-meter__row--change dd { color: #9b2d23; }
@media (max-width: 1000px) { .article-page.is-visual .vz-sglt2swap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .article-page.is-visual .vz-sglt2swap .vz-meter { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-sglt2swap .vz-heartswap__stage svg.vz-hs { transition: none; } }
.article-page.is-visual .vz-when.vz-when--sg3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.vz-when--sg3 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-tiers.vz-tiers--sgone { grid-template-columns: 1fr; }
@media (max-width: 900px) { .article-page.is-visual .vz-hero__photo img[src^="/visual/sglt2-inhibitors/"] { object-position: 62% 0%; } }
.article-page.is-visual .vz-closer__photo img[src^="/visual/sglt2-inhibitors/"] { object-position: 50% 4%; }
/* === perfusion toggle, two-path test-day stepper, risk-group decoder (nuclear-stress-test, 2026-10-24) === */
.article-page.is-visual .vz-nstperf .vz-heartswap__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.article-page.is-visual .vz-nstperf__stage { aspect-ratio: 360 / 190; background: #f6f2ea; }
.article-page.is-visual .vz-nstperf__stage svg.vz-hs { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .vz-nstperf[data-state="normal"] .vz-hs--normal,
.article-page.is-visual .vz-nstperf[data-state="fixed"] .vz-hs--fixed,
.article-page.is-visual .vz-nstperf[data-state="reversible"] .vz-hs--reversible { opacity: 1; }
.article-page.is-visual .vz-nstperf .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #fff; }
.article-page.is-visual .vz-nstperf[data-state="fixed"] .vz-meter__row--change { border-left-color: #5f5a4d; background: #f1efe9; }
.article-page.is-visual .vz-nstperf[data-state="reversible"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-nstperf[data-state="normal"] .vz-meter__row--change dd,
.article-page.is-visual .vz-nstperf[data-state="fixed"] .vz-meter__row--change dd { color: var(--vz-navy); }
.article-page.is-visual .vz-nstperf[data-state="reversible"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual p.vz-nstperf__legend { display: flex; align-items: center; gap: 0.6rem; margin: 0.6rem 0 0; font-family: var(--font-sans); font-size: 0.95rem; color: var(--vz-muted); }
.article-page.is-visual .vz-nstperf__grad { flex: none; width: 72px; height: 10px; border-radius: 999px; background: linear-gradient(90deg, #2a3150, #d8532d 45%, #ef8a3a 75%, #f9c45c); }
@media (max-width: 900px) { .article-page.is-visual .vz-nstperf .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-nstperf__stage svg.vz-hs { transition: none; } }
.article-page.is-visual .vz-nststeps .vz-stepper__paths { margin: 0 0 1rem; }
.article-page.is-visual .vz-nststeps p.vz-stepper__pathlabel { margin: 0 0 0.45rem; font-family: var(--font-sans); font-size: 0.85rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--vz-muted); }
.article-page.is-visual .vz-nststeps p.vz-stepper__pathread { margin: 0.5rem 0 0; font-size: 1rem; color: var(--vz-muted); }
.article-page.is-visual .vz-nststeps p.vz-nststeps__plan { margin: 0.9rem 0 0; font-size: 1rem; color: var(--vz-muted); }
.article-page.is-visual .vz-nststeps [hidden] { display: none !important; }
.article-page.is-visual .vz-ef--nst .vz-ef__result { border-left-color: #12998a; }
.article-page.is-visual .vz-ef--nst[data-band="intermediate"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef--nst[data-band="high"] .vz-ef__result { border-left-color: #a82e27; }
@media (max-width: 600px) { .article-page.is-visual .vz-ef--nst .vz-segs .vz-seg { flex: 1 1 100%; text-align: center; } }
/* === hero EKG figure, pattern strips, burden decoder, trigger checklist, anxiety cycle (pvcs-premature-ventricular-contractions, 2026-10-24) === */
.article-page.is-visual .vz-hero__photo img[src^="/visual/pvcs-premature-ventricular-contractions/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/pvcs-premature-ventricular-contractions/"])::before { display: none; }
.article-page.is-visual .vz-pvc-ecg picture { display: block; }
.article-page.is-visual .vz-pvc-ecg img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 2250 / 490; object-fit: contain; margin: 0; border-radius: var(--vz-radius-sm); }
@media (max-width: 600px) { .article-page.is-visual .vz-pvc-ecg { padding-left: 0.6rem; padding-right: 0.6rem; } }
.article-page.is-visual p.vz-pvcpat { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 0.8rem; }
.article-page.is-visual .vz-pvcpat span, .article-page.is-visual .vz-pvcpat__key i { display: inline-block; width: 18px; height: 18px; border-radius: 50%; }
.article-page.is-visual .vz-pvcpat__n { background: var(--vz-navy); }
.article-page.is-visual .vz-pvcpat__v { background: var(--vz-orange); width: 22px !important; border-radius: 6px !important; }
.article-page.is-visual p.vz-pvcpat__key { display: flex; flex-wrap: wrap; gap: 1.25rem; margin: 0.4rem 0 0; font-family: var(--font-sans); font-size: 1rem; font-weight: 600; color: var(--vz-muted); }
.article-page.is-visual .vz-pvcpat__key span { display: inline-flex; align-items: center; gap: 0.45rem; }
.article-page.is-visual .vz-cards.vz-pvctypes--vt { grid-template-columns: 1fr; margin-top: -0.75rem; }
.article-page.is-visual .vz-pvctypes--vt .vz-card { border-left: 8px solid var(--vz-red); }
.article-page.is-visual p.vz-pvcdec__lead { margin: 0 0 0.9rem; font-size: 1.12rem; color: var(--vz-ink); }
.vz-habits.vz-pvctrig[data-count="7"] .vz-habits__result { background: var(--vz-teal-dk); }
.article-page.is-visual ol.vz-pvccycle__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; counter-reset: none; }
.article-page.is-visual .vz-pvccycle__list li { position: relative; margin: 0; padding: 1rem 1.1rem; background: #fff; border-radius: var(--vz-radius-sm); border-top: 6px solid var(--vz-amber); font-family: var(--font-sans); font-weight: 700; font-size: 1.08rem; line-height: 1.3; color: var(--vz-navy); }
.article-page.is-visual .vz-pvccycle__list li:last-child { border-top-color: var(--vz-orange); }
.article-page.is-visual .vz-pvccycle__list li:not(:last-child)::after { content: "\2192"; position: absolute; right: -0.55rem; top: 50%; transform: translate(50%, -50%); color: var(--vz-muted); font-size: 1.3rem; z-index: 1; }
@media (max-width: 760px) {
  .article-page.is-visual ol.vz-pvccycle__list { grid-template-columns: 1fr; gap: 1.1rem; }
  .article-page.is-visual .vz-pvccycle__list li:not(:last-child)::after { content: "\2193"; right: auto; left: 50%; top: auto; bottom: -1.05rem; transform: translateX(-50%); }
}



/* === hero figure, 911 panel, VT-words decoder, treatment cards (ventricular-tachycardia, 2026-10-24) === */
.article-page.is-visual .vz-hero__photo img[src^="/visual/ventricular-tachycardia/vt-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/ventricular-tachycardia/vt-hero"])::before { display: none; }
.article-page.is-visual .vz-vt911 { margin: 1rem 0 0.75rem; }
.article-page.is-visual .vz-vt911 .vz-tier--red { border-left: 8px solid var(--vz-red); }
.article-page.is-visual .vz-vt911 .vz-tier__head h3 { font-size: 1.3rem; }
.article-page.is-visual .vz-vt911 .vz-tier__legend { color: var(--vz-ink); font-size: 1.08rem; }
.article-page.is-visual .vz-vt911 dl { columns: 2; column-gap: 2.5rem; }
.article-page.is-visual .vz-vt911 dt { break-after: avoid; break-inside: avoid; }
.article-page.is-visual .vz-vt911 dd { break-inside: avoid; }
.article-page.is-visual .vz-vt911 dl > dt:nth-of-type(3) { border-top: 0; padding-top: 0; }
.article-page.is-visual p.vz-vt911__more { font-size: 1.02rem; color: var(--vz-muted); margin: 0.4rem 0 0; }
.article-page.is-visual .vz-vtwords .vz-segs { flex-wrap: wrap; }
.article-page.is-visual .vz-vtwords .vz-ef__result { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .vz-vtwords[data-band="sus"] .vz-ef__result,
.article-page.is-visual .vz-vtwords[data-band="poly"] .vz-ef__result,
.article-page.is-visual .vz-vtwords[data-band="scar"] .vz-ef__result { border-left-color: var(--vz-red); }
.article-page.is-visual .vz-vt-tx .vz-card p.vz-vt-tx__go { margin: 0.4rem 0 0; font-weight: 700; }
.article-page.is-visual .vz-vt-tx .vz-card p.vz-vt-tx__go a { display: inline-block; min-height: 44px; padding: 0.55rem 0; }
.article-page.is-visual .vz-vt-living .vz-card:last-child { grid-column: 1 / -1; }
.article-page.is-visual .vz-vt-workup li span b { color: var(--vz-navy); }
@media (max-width: 800px) {
  .article-page.is-visual .vz-vt911 dl { columns: 1; }
  .article-page.is-visual .vz-vt911 dl > dt:nth-of-type(3) { border-top: 1px solid rgba(20, 33, 61, 0.1); padding-top: 0.7rem; }
}
/* === platelets toggle, aspirin sorter, figure hero (aspirin-primary-prevention-2026, 2026-10-24) === */
.article-page.is-visual .vz-hero__photo img[src^="/visual/aspirin-primary-prevention-2026/"] { object-fit: contain; object-position: 50% 50%; background: #f6f2ea; }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/aspirin-primary-prevention-2026/"])::before { display: none; }
.article-page.is-visual .asp-platelets .vz-heartswap__stage { aspect-ratio: 945 / 580; }
.article-page.is-visual .asp-platelets .vz-heartswap__stage img { object-position: 50% 50%; }
.article-page.is-visual .asp-platelets .vz-hs--on { opacity: 0; }
.article-page.is-visual .asp-platelets[data-state="on"] .vz-hs--on { opacity: 1; }
.article-page.is-visual .asp-platelets[data-state="on"] .vz-hs--without { opacity: 0; }
.article-page.is-visual .asp-platelets[data-state="on"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .asp-platelets[data-state="on"] .vz-meter__row--change dd { color: #9b2d23; }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .asp-platelets .vz-heartswap__stage img { transition: none; } }
.article-page.is-visual .asp-sx[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .asp-sx[data-result="younger"] .vz-sx__result,
.article-page.is-visual .asp-sx[data-result="older"] .vz-sx__result,
.article-page.is-visual .asp-sx[data-result="bleed"] .vz-sx__result { background: var(--vz-amber); }
.article-page.is-visual .asp-sx[data-result="gray"] .vz-sx__result { background: #3f5573; }
.article-page.is-visual .asp-sx[data-result="stay"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .asp-sx__never { display: flex; gap: 0.75rem; align-items: flex-start; margin: 0 0 1.1rem; padding: 0.9rem 1.1rem; background: var(--vz-red-bg); border-left: 6px solid var(--vz-red); border-radius: var(--vz-radius-sm); font-size: 1.08rem; line-height: 1.45; color: var(--vz-ink); }
.article-page.is-visual .asp-sx__never svg { flex: 0 0 auto; width: 28px; height: 28px; color: var(--vz-red); margin-top: 0.1rem; }
.article-page.is-visual .asp-sx__never b { color: #8f241f; }
.article-page.is-visual .asp-never { margin: 0 0 1.75rem; }
.article-page.is-visual .vz-tiers.asp-one { grid-template-columns: 1fr; }
.article-page.is-visual .vz-statline.asp-cac { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-statline.asp-cac { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-when.asp-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.asp-when3 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-disclaimer { font-size: 0.95rem; color: var(--vz-muted); }

/* === figure hero, qualifier colours, Borg scale, five-stop flow, session figure (cardiac-rehabilitation, 2026-10-24) === */
.article-page.is-visual .vz-hero__photo img[src^="/visual/cardiac-rehabilitation/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/cardiac-rehabilitation/"])::before { display: none; }
.article-page.is-visual .cr-qual[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .cr-qual[data-result="day"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual p.cr-borg__lead { margin: 0 0 0.9rem; font-size: 1.12rem; color: var(--vz-ink); font-weight: 600; }
.article-page.is-visual .cr-borg .vz-segs { margin-bottom: 1.4rem; }
.article-page.is-visual .cr-borg[data-band="none"] .vz-ef__result, .article-page.is-visual .cr-borg[data-band="max"] .vz-ef__result { border-left-color: #5f6b7a; }
.article-page.is-visual .cr-borg[data-band="start"] .vz-ef__result { border-left-color: #12998a; }
.article-page.is-visual .cr-borg[data-band="later"] .vz-ef__result { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .cr-borg .vz-efscale__bar span + span { border-left: 1px solid rgba(255, 255, 255, 0.55); }
@media (max-width: 600px) { .article-page.is-visual .cr-borg .vz-segs .vz-seg { flex: 1 1 40%; text-align: center; } }
.article-page.is-visual .vz-when.cr-when5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1100px) { .article-page.is-visual .vz-when.cr-when5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .article-page.is-visual .vz-when.cr-when5 { grid-template-columns: 1fr; } }
.article-page.is-visual .cr-session picture, .article-page.is-visual .cr-session img { display: block; width: 100%; height: auto; margin: 0; }
@media (max-width: 700px) { .article-page.is-visual .cr-session img { max-width: 420px; margin: 0 auto; } }

/* ---- cardioversion-explainer (batch 3, 2026-10-24) ---- */
/* Synchronized vs unsynchronized shock figure: two hand-drawn strips with HTML labels above. */
.article-page.is-visual .vz-cvsync__row { margin: 0 0 1.1rem; }
.article-page.is-visual .vz-cvsync__label { margin: 0 0 0.4rem; font-size: 1.05rem; color: var(--vz-text, #32302a); }
.article-page.is-visual .vz-cvsync__label b { color: var(--vz-teal-dk, #0e7c6f); }
.article-page.is-visual .vz-cvsync__label--b b { color: var(--vz-navy, #14213d); }
.article-page.is-visual .vz-cvsync__svg { display: block; width: 100%; height: auto; max-height: 170px; background: #faf6ec; border-radius: 10px; border: 1px solid rgba(28,43,64,.14); }
@media (max-width: 600px) { .article-page.is-visual .vz-cvsync__label { font-size: 1rem; } }
/* ---- coumadin (batch 3, 2026-10-24) ---- */
/* "Who still needs warfarin" sorter (ranked .vz-sx) and INR reader (.vz-labread--bands) colours. */
.article-page.is-visual .cou-sx[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .cou-sx[data-result="cost"] .vz-sx__result { background: #3f5573; }
.article-page.is-visual .cou-sx[data-result="switch"] .vz-sx__result { background: var(--vz-amber); }
.article-page.is-visual .cou-sx[data-result="lean"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .cou-sx[data-result="warf"] .vz-sx__result { background: #8a4b2a; }
.article-page.is-visual .cou-inr[data-state="under"] .vz-labread__result { border-left-color: #3f5573; }
.article-page.is-visual .cou-inr[data-state="in"] .vz-labread__result { border-left-color: #12998a; }
.article-page.is-visual .cou-inr[data-state="over"] .vz-labread__result { border-left-color: #b8841f; }

/* ---- glp1-weight-loss (batch 3, 2026-10-24) ---- */
@media (min-width: 761px) { .article-page.is-visual .vz-bars--glp1wl .vz-barrow { grid-template-columns: minmax(150px, 0.9fr) minmax(0, 2.4fr) 190px; } }
.article-page.is-visual .vz-bars--glp1wl .vz-barrow__delta { font-size: 1.6rem; line-height: 1.1; white-space: nowrap; }
.article-page.is-visual .vz-bars--glp1wl .vz-barrow__delta small { white-space: normal; }
.article-page.is-visual .vz-checklist.vz-glpwl-gap { margin-bottom: 1.6rem; }
.article-page.is-visual .vz-ef--glp1wl .vz-segs { margin-bottom: 1.2rem; }
.article-page.is-visual .vz-ef--glp1wl[data-band="withcond"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef--glp1wl[data-band="nocond"] .vz-ef__result,
.article-page.is-visual .vz-ef--glp1wl[data-band="under27"] .vz-ef__result { border-left-color: #5b6b86; }
.article-page.is-visual .vz-glpwl-steps .vz-figure__read { margin-top: 0.9rem; }
@media (min-width: 701px) { .article-page.is-visual .vz-mistakes.vz-glpwl-myths li:last-child { grid-column: 1 / -1; } }
/* ---- pulmonary-embolism (batch 3, 2026-10-24) ---- */
/* figure hero (hand-drawn clot journey) */
.article-page.is-visual .vz-hero__photo img[src^="/visual/pulmonary-embolism/pe-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/pulmonary-embolism/pe-hero"])::before { display: none; }
/* clot-journey step-through: .vz-stepper (CAC JS) beside the drawing; CSS shows the stage for data-step */
.article-page.is-visual .vz-pej__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1.5rem; align-items: center; }
.article-page.is-visual .vz-pej__art { background: #fff; border-radius: var(--vz-radius-sm); padding: 0.75rem; }
.article-page.is-visual .vz-pej__svg { display: block; width: 100%; height: auto; max-height: 540px; margin: 0 auto; }
.article-page.is-visual .vz-pej .vz-stepper__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.article-page.is-visual .vz-pej .pej-s1, .article-page.is-visual .vz-pej .pej-s2, .article-page.is-visual .vz-pej .pej-s3, .article-page.is-visual .vz-pej .pej-s4 { opacity: 0; transition: opacity 0.35s ease; }
.article-page.is-visual .vz-pej[data-step="0"] .pej-s1, .article-page.is-visual .vz-pej[data-step="1"] .pej-s2, .article-page.is-visual .vz-pej[data-step="2"] .pej-s3, .article-page.is-visual .vz-pej[data-step="3"] .pej-s4 { opacity: 1; }
.article-page.is-visual .vz-pej__noscript { margin: 1rem 0 0; }
@media (max-width: 900px) {
  .article-page.is-visual .vz-pej__grid { grid-template-columns: 1fr; gap: 1rem; }
  .article-page.is-visual .vz-pej__svg { max-height: 360px; }
  .article-page.is-visual .vz-pej .vz-stepper__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) { .article-page.is-visual .vz-pej .vz-stepper__list { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-pej .pej-s1, .article-page.is-visual .vz-pej .pej-s2, .article-page.is-visual .vz-pej .pej-s3, .article-page.is-visual .vz-pej .pej-s4 { transition: none; } }
/* symptom frequency bars (.vz-freq, CSS only): solid to --lo, lighter band from --lo to --hi */
.article-page.is-visual p.vz-freq__legend { margin: 0 0 0.6rem; font-family: var(--font-sans); font-size: 0.86rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--vz-muted); }
.article-page.is-visual ul.vz-freq__list { list-style: none; padding: 0; margin: 0 0 0.6rem; }
.article-page.is-visual ul.vz-freq__list li { display: grid; grid-template-columns: minmax(0, 2.3fr) minmax(0, 3fr) 6.2rem; gap: 0.9rem; align-items: center; margin: 0; padding: 0.65rem 0; border-bottom: 1px solid var(--vz-line); }
.article-page.is-visual ul.vz-freq__list li::before { content: none; }
.article-page.is-visual .vz-freq__label { font-size: 1.08rem; line-height: 1.35; color: var(--vz-ink); font-weight: 600; }
.article-page.is-visual .vz-freq__track { position: relative; height: 24px; border-radius: 999px; background: var(--vz-tile); overflow: hidden; }
.article-page.is-visual .vz-freq__track::before, .article-page.is-visual .vz-freq__track::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; border-radius: 999px; }
.article-page.is-visual .vz-freq__track::before { width: var(--hi); background: #8fcfc3; }
.article-page.is-visual .vz-freq__track::after { width: var(--lo); background: #0b8a78; }
.article-page.is-visual .vz-freq__val { font-family: var(--vz-num); font-weight: 800; font-size: 1.15rem; color: var(--vz-navy); text-align: right; white-space: nowrap; }
@media (max-width: 700px) {
  .article-page.is-visual ul.vz-freq__list li { grid-template-columns: minmax(0, 1fr) 5.6rem; gap: 0.35rem 0.75rem; }
  .article-page.is-visual .vz-freq__label { grid-column: 1 / -1; }
}
/* decoder band colours */
.article-page.is-visual .vz-ef--pedx[data-band="lowmod"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef--pedx[data-band="high"] .vz-ef__result { border-left-color: #d0612e; }
.article-page.is-visual .vz-ef--pesev[data-band="moderate"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef--pesev[data-band="severe"] .vz-ef__result { border-left-color: #a82e27; }
/* ---- hcm (batch 3, 2026-10-24): pattern toggle (inline SVG states), family-screening decoder, three-up statline ---- */
.article-page.is-visual .vz-hcmswap .vz-heartswap__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.article-page.is-visual .vz-hcmswap .vz-heartswap__stage { aspect-ratio: 640 / 440; }
.article-page.is-visual .vz-hcmswap .vz-hcmfig { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .vz-hcmfig .vz-hs { opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .vz-hcmswap[data-state="normal"] .vz-hcmfig .vz-hs--normal,
.article-page.is-visual .vz-hcmswap[data-state="obstructive"] .vz-hcmfig .vz-hs--obstructive,
.article-page.is-visual .vz-hcmswap[data-state="nonobstructive"] .vz-hcmfig .vz-hs--nonobstructive,
.article-page.is-visual .vz-hcmswap[data-state="apical"] .vz-hcmfig .vz-hs--apical { opacity: 1; }
.article-page.is-visual .vz-hcmfig__lab { font-family: var(--font-sans); font-size: 19px; font-weight: 700; fill: #1c2b40; }
.article-page.is-visual .vz-hcmfig__call { font-family: var(--font-sans); font-size: 19px; font-weight: 700; fill: #b5302a; }
.article-page.is-visual .vz-hcmswap:not([data-state="normal"]) .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-hcmswap:not([data-state="normal"]) .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-hcmswap .vz-meter dd { font-size: 1.05rem; }
.article-page.is-visual .vz-hcmswap .vz-segs { flex-wrap: wrap; }
.article-page.is-visual .vz-hcmswap .vz-seg { flex: 1 1 150px; }
@media (max-width: 900px) { .article-page.is-visual .vz-hcmswap .vz-heartswap__grid { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-hcmfam .vz-segs { flex-wrap: wrap; margin-bottom: 1.1rem; }
.article-page.is-visual .vz-hcmfam .vz-ef__result { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .vz-statline.hcm-stat3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-statline.hcm-stat3 { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-hcmfig .vz-hs { transition: none; } }
@media (min-width: 901px) { .article-page.is-visual .vz-hero__photo img[src^="/visual/hcm/hcm-hero"] { object-position: 18% 50%; } }
@media (max-width: 600px) { .article-page.is-visual .vz-hcmfig__lab, .article-page.is-visual .vz-hcmfig__call { font-size: 25px; } }
/* ---- glp1-cardioprotection (batch 3, 2026-10-24) ---- */
/* Effects stack toggle (.vz-heartswap reused, states off / on, inline SVG stage), tier finder
   (.vz-ef reused without a scale), single-panel tiers. */
.article-page.is-visual .vz-glp1swap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .vz-glp1swap .vz-heartswap__stage { aspect-ratio: 560 / 320; width: 100%; max-width: 760px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .vz-glp1swap .vz-heartswap__stage svg.vz-hs { position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease; }
.article-page.is-visual .vz-glp1swap .vz-hs--on { opacity: 0; }
.article-page.is-visual .vz-glp1swap[data-state="on"] .vz-hs--on { opacity: 1; }
.article-page.is-visual .vz-glp1swap[data-state="on"] .vz-hs--off { opacity: 0; }
.article-page.is-visual .vz-glp1swap .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .vz-glp1swap .vz-meter__row--change { border-left-color: #b3ab95; }
.article-page.is-visual .vz-glp1swap[data-state="on"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #e3f2ee; }
.article-page.is-visual .vz-glp1swap[data-state="on"] .vz-meter__row--change dd { color: #0b5f55; }
@media (max-width: 1000px) { .article-page.is-visual .vz-glp1swap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .article-page.is-visual .vz-glp1swap .vz-meter { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-glp1swap .vz-heartswap__stage svg.vz-hs { transition: none; } }
.article-page.is-visual p.glp-tier__lead { margin: 0 0 0.9rem; font-size: 1.12rem; color: var(--vz-ink); font-weight: 600; }
.article-page.is-visual .glp-tier .vz-segs { margin-bottom: 1.2rem; }
.article-page.is-visual .glp-tier .vz-segs--stack .vz-seg { flex: 1 1 300px; text-align: left; border-radius: 12px; padding: 0.75rem 1rem; line-height: 1.3; min-height: 56px; }
.article-page.is-visual .glp-tier[data-band="hfref"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .glp-tier[data-band="other"] .vz-ef__result { border-left-color: #5f6b7a; }
.article-page.is-visual .vz-tiers.glp-one { grid-template-columns: 1fr; }
.article-page.is-visual .vz-hero__photo img[src^="/visual/glp1-cardioprotection/"] { object-position: 74% 40%; }

/* ---- amiodarone-risks-benefits (batch 3, 2026-10-24) ---- */
/* Organ explorer reuses .vz-daytl (six organ buttons); days-to-recurrence bars; class tags; 4/5-stop timelines; 3-up statline. */
.article-page.is-visual p.amio-organs__lead { margin: 0 0 0.9rem; font-size: 1.1rem; color: var(--vz-ink); font-weight: 600; }
.article-page.is-visual .amio-organs .vz-segs .vz-seg { flex: 1 1 140px; text-align: center; }
@media (max-width: 600px) { .article-page.is-visual .amio-organs .vz-segs .vz-seg { flex: 1 1 40%; } }
.article-page.is-visual .amio-days__title { margin: 0 0 1rem; font-family: var(--font-sans); font-weight: 700; font-size: 1.12rem; color: var(--vz-navy); }
.article-page.is-visual .amio-days__row { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) 6.5rem; gap: 0.8rem; align-items: center; margin: 0 0 0.75rem; }
.article-page.is-visual .amio-days__label { font-family: var(--font-sans); font-weight: 600; font-size: 1.05rem; color: var(--vz-ink); }
.article-page.is-visual .amio-days__track { display: block; height: 30px; background: #fff; border-radius: 6px; border: 1px solid rgba(28,43,64,.14); overflow: hidden; }
.article-page.is-visual .amio-days__fill { display: block; height: 100%; width: max(var(--w), 6px); background: #b3ab95; }
.article-page.is-visual .amio-days__fill--drug { background: #0b8a78; }
.article-page.is-visual .amio-days__val { font-family: var(--vz-num); font-weight: 800; font-size: 1.15rem; color: var(--vz-navy); text-align: right; }
@media (max-width: 600px) {
  .article-page.is-visual .amio-days__row { grid-template-columns: 1fr auto; gap: 0.3rem 0.6rem; }
  .article-page.is-visual .amio-days__track { grid-column: 1 / -1; grid-row: 2; }
}
.article-page.is-visual .vz-card p.amio-classes__tag { margin: 0 0 0.3rem; font-family: var(--font-sans); font-size: 0.86rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--vz-orange); }
.article-page.is-visual .vz-when.amio-when5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1100px) { .article-page.is-visual .vz-when.amio-when5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .article-page.is-visual .vz-when.amio-when5 { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .article-page.is-visual .vz-when.amio-when4 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-statline.amio-stat3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-statline.amio-stat3 { grid-template-columns: 1fr; } }
/* ---- dapt-after-pci (batch 3, 2026-10-24) ---- */
/* DAPT course timeline (.vz-course): one panel per scenario, two lanes (default / alternative),
   bars positioned by --a / --b (percent of a track whose first year is stretched to 62%). */
.article-page.is-visual .vz-course .vz-segs { margin-bottom: 1rem; }
.article-page.is-visual .vz-course .vz-segs[hidden] { display: none; }
.article-page.is-visual .vz-course__legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1.4rem; margin: 0 0 0.75rem; font-family: var(--font-sans); font-size: 1rem; color: var(--vz-muted); }
.article-page.is-visual .vz-course__legend span { display: inline-flex; align-items: center; gap: 0.5rem; }
.vz-course__sw { display: inline-block; width: 22px; height: 14px; border-radius: 3px; }
.vz-course__sw--dapt, .vz-course__seg--dapt { background: var(--vz-navy); }
.vz-course__sw--win, .vz-course__seg--win { background: repeating-linear-gradient(135deg, var(--vz-navy) 0 5px, #c9cfdb 5px 10px); }
.vz-course__sw--one, .vz-course__seg--one { background: var(--vz-teal); }
.article-page.is-visual .vz-course__panel { background: #fff; border-radius: var(--vz-radius-sm); padding: 1rem 1.2rem 0.9rem; margin: 0 0 1rem; }
.article-page.is-visual .vz-course__panel[hidden] { display: none; }
.article-page.is-visual .vz-course__name { font-family: var(--font-sans); font-size: 1.2rem; font-weight: 700; color: var(--vz-navy); margin: 0 0 0.5rem; }
.vz-course__lane { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 0.3rem 1rem; align-items: center; margin: 0 0 0.85rem; }
.article-page.is-visual .vz-course__lab { font-family: var(--font-sans); font-weight: 700; font-size: 1rem; color: var(--vz-ink); }
.vz-course__track { position: relative; height: 28px; background: var(--vz-panel); border-radius: 6px; overflow: hidden; }
.vz-course__seg { position: absolute; top: 0; bottom: 0; left: var(--a); width: calc(var(--b) - var(--a)); }
.vz-course__seg + .vz-course__seg { border-left: 2px solid #fff; }
.article-page.is-visual .vz-course__txt { grid-column: 2; margin: 0; font-size: 1.05rem; line-height: 1.45; }
.vz-course__lane--axis { margin-bottom: 0.4rem; }
.vz-course__axis { position: relative; height: 1.4rem; border-bottom: 1.5px solid var(--vz-line); }
.article-page.is-visual .vz-course__tick { position: absolute; bottom: 0.15rem; left: var(--x); transform: translateX(-50%); font-family: var(--vz-num); font-weight: 700; font-size: 0.9rem; color: var(--vz-muted); }
.article-page.is-visual .vz-course__tick--first { transform: none; }
.article-page.is-visual .vz-course__tick--last { transform: translateX(-100%); }
.vz-course__brk { position: absolute; bottom: -6px; left: var(--x); width: 10px; height: 12px; margin-left: -5px; border-left: 2px solid var(--vz-muted); border-right: 2px solid var(--vz-muted); transform: skewX(-20deg); background: var(--vz-panel); }
.article-page.is-visual .vz-course__unit { grid-column: 2; margin: 0; font-size: 0.9rem; color: var(--vz-muted); font-family: var(--font-sans); }
.article-page.is-visual .vz-course__note { margin: 0.4rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 640px) {
  .vz-course__lane { grid-template-columns: minmax(0, 1fr); }
  .article-page.is-visual .vz-course__txt, .article-page.is-visual .vz-course__unit { grid-column: 1; }
  .vz-course__lane--axis .vz-course__lab { display: none; }
  .article-page.is-visual .vz-course__panel { padding: 0.9rem 0.9rem 0.8rem; }
}
/* Platelet figure: drawing plus a numbered key. */
.article-page.is-visual .vz-plt__svg { display: block; width: 100%; max-width: 640px; height: auto; margin: 0 auto 1rem; }
.article-page.is-visual .vz-plt__key { margin: 0 0 1rem; padding-left: 1.6rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem 2rem; }
.article-page.is-visual .vz-plt__key li { margin: 0; }
.article-page.is-visual .vz-plt__key li::marker { font-family: var(--vz-num); font-weight: 800; color: var(--vz-orange); }
@media (max-width: 760px) { .article-page.is-visual .vz-plt__key { grid-template-columns: 1fr; } }
/* Guideline cards with a colour rule, and P2Y12 drug cards with a brand line. */
.article-page.is-visual .vz-gl { border-top: 6px solid var(--vz-teal); }
.article-page.is-visual .vz-gl--navy { border-top-color: var(--vz-navy); }
.article-page.is-visual .vz-gl--amber { border-top-color: var(--vz-amber); }
.article-page.is-visual .vz-gl--red { border-top-color: var(--vz-red); }
.article-page.is-visual .vz-gl ul, .article-page.is-visual .vz-p2y12 ul { margin: 0.4rem 0 0; padding-left: 1.2rem; }
.article-page.is-visual .vz-gl li, .article-page.is-visual .vz-p2y12 li { margin: 0 0 0.5rem; }
.article-page.is-visual .vz-card p.vz-p2y12__brand { margin: 0; font-family: var(--font-sans); font-size: 0.86rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--vz-orange); }
.article-page.is-visual .vz-callout--dapt { border-left-color: var(--vz-red); background: var(--vz-red-bg); }
.article-page.is-visual .vz-when.vz-when--dapt3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.vz-when--dapt3 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-course .vz-segs--stack .vz-seg { flex: 1 1 150px; }
.article-page.is-visual #complex .vz-checklist { margin-bottom: 1.75rem; }
@media (max-width: 640px) {
  .article-page.is-visual .vz-course .vz-segs--stack .vz-seg { flex: 1 1 130px; }
  .article-page.is-visual .vz-course__tick--first { display: none; }
}

/* ---- leqvio-inclisiran (batch 3, 2026-10-24) ---- */
/* PCSK9 message toggle: reuses .vz-heartswap + .vz-pcskswap state rules; the two layers are inline SVG. */
.article-page.is-visual .vz-leqswap .vz-heartswap__stage { aspect-ratio: 1200 / 640; width: 100%; max-width: 920px; margin: 0 auto; }
.article-page.is-visual .vz-leqswap .vz-hs { position: absolute; inset: 0; transition: opacity 0.5s ease; }
.article-page.is-visual .vz-leqswap .vz-hs svg { display: block; width: 100%; height: 100%; }
/* Schedule stepper drawing: the stepper's data-step lights the matching marker. */
.article-page.is-visual .vz-leqtl__draw { margin: 0 0 0.5rem; }
.article-page.is-visual .vz-leqtl__svg { display: block; width: 100%; height: auto; border-radius: var(--vz-radius-sm); }
.article-page.is-visual .vz-leqtl__svg--compact { display: none; }
@media (max-width: 640px) {
  .article-page.is-visual .vz-leqtl__svg--wide { display: none; }
  .article-page.is-visual .vz-leqtl__svg--compact { display: block; }
}
.article-page.is-visual .vz-leqtl__key { font-family: var(--font-sans); font-size: 0.98rem; color: var(--vz-muted); margin: 0 0 1rem; }
.article-page.is-visual .vz-leqtl .lq-mark { opacity: 0.45; transition: opacity 0.3s ease; }
.article-page.is-visual .vz-leqtl .lq-mark > :first-child { transition: stroke 0.3s ease; }
.article-page.is-visual .vz-leqtl[data-step="0"] .lq-s0,
.article-page.is-visual .vz-leqtl[data-step="1"] .lq-s1,
.article-page.is-visual .vz-leqtl[data-step="2"] .lq-s2,
.article-page.is-visual .vz-leqtl[data-step="3"] .lq-s3,
.article-page.is-visual .vz-leqtl[data-step="4"] .lq-s4 { opacity: 1; }
.article-page.is-visual .vz-leqtl[data-step="0"] .lq-s0 > :first-child,
.article-page.is-visual .vz-leqtl[data-step="1"] .lq-s1 > :first-child,
.article-page.is-visual .vz-leqtl[data-step="2"] .lq-s2 > :first-child,
.article-page.is-visual .vz-leqtl[data-step="3"] .lq-s3 > :first-child,
.article-page.is-visual .vz-leqtl[data-step="4"] .lq-s4 > :first-child { stroke: #f2c14e; stroke-width: 8px; }
/* A single tier panel spans the band instead of leaving half a row empty. */
.article-page.is-visual .vz-tiers--solo { grid-template-columns: 1fr; }
@media (prefers-reduced-motion: reduce) {
  .article-page.is-visual .vz-leqswap .vz-hs, .article-page.is-visual .vz-leqtl .lq-mark, .article-page.is-visual .vz-leqtl .lq-mark > :first-child { transition: none; }
}

/* ---- ezetimibe (batch 3, 2026-10-24) ---- */
/* figure hero: hand-drawn gut-and-liver drawing, shown whole on the cream, no left fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/ezetimibe/ezetimibe-hero"] { object-fit: contain; object-position: 50% 50%; background: #f6f2ea; }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/ezetimibe/ezetimibe-hero"])::before { display: none; }
/* gut-or-liver toggle: .vz-heartswap (shared JS) with an inline SVG stage and four states */
.article-page.is-visual .vz-ezswap .vz-heartswap__stage { aspect-ratio: 4 / 3; }
.article-page.is-visual .vz-ezswap .vz-heartswap__stage svg { display: block; width: 100%; height: 100%; }
@media (max-width: 560px) { .article-page.is-visual .vz-ezswap .vz-segs { display: grid; grid-template-columns: 1fr 1fr; } }
.article-page.is-visual .vz-ezswap .vz-ez__note { margin: 0.4rem 0 0; font-size: 0.95rem; color: #5f5a4d; }
.article-page.is-visual .vz-ezswap[data-state="none"] .vz-meter__row--change { border-left-color: var(--vz-red); background: #f9e1dc; }
.article-page.is-visual .vz-ezswap[data-state="none"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-ezswap:not([data-state="none"]) .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #e3f2ee; }
.article-page.is-visual .vz-ezswap:not([data-state="none"]) .vz-meter__row--change dd { color: var(--vz-navy); }
.article-page.is-visual .vz-ezswap .ez-statin, .article-page.is-visual .vz-ezswap .ez-eze { opacity: 0; transition: opacity .45s ease; }
.article-page.is-visual .vz-ezswap .ez-liverflow, .article-page.is-visual .vz-ezswap .ez-gutflow, .article-page.is-visual .vz-ezswap .ez-qs, .article-page.is-visual .vz-ezswap .ez-qe, .article-page.is-visual .vz-ezswap .ez-qx { transition: opacity .45s ease; }
.article-page.is-visual .vz-ezswap[data-state="statin"] .ez-statin, .article-page.is-visual .vz-ezswap[data-state="both"] .ez-statin { opacity: 1; }
.article-page.is-visual .vz-ezswap[data-state="eze"] .ez-eze, .article-page.is-visual .vz-ezswap[data-state="both"] .ez-eze { opacity: 1; }
.article-page.is-visual .vz-ezswap[data-state="statin"] .ez-liverflow, .article-page.is-visual .vz-ezswap[data-state="both"] .ez-liverflow { opacity: .22; }
.article-page.is-visual .vz-ezswap[data-state="eze"] .ez-gutflow, .article-page.is-visual .vz-ezswap[data-state="both"] .ez-gutflow { opacity: .15; }
/* LDL dots: ezetimibe alone removes 3 of 14, a statin 7, both 9 (direction and rough proportion, not amounts) */
.article-page.is-visual .vz-ezswap[data-state="statin"] .ez-qs, .article-page.is-visual .vz-ezswap[data-state="statin"] .ez-qx { opacity: 0; }
.article-page.is-visual .vz-ezswap[data-state="eze"] .ez-qe, .article-page.is-visual .vz-ezswap[data-state="eze"] .ez-qx { opacity: 0; }
.article-page.is-visual .vz-ezswap[data-state="both"] .ez-qs, .article-page.is-visual .vz-ezswap[data-state="both"] .ez-qe, .article-page.is-visual .vz-ezswap[data-state="both"] .ez-qx { opacity: 0; }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-ezswap svg * { transition: none !important; } }
/* IMPROVE-IT paired bars: wider value column, small heads between the two bar groups */
@media (min-width: 761px) { .article-page.is-visual .vz-bars--ez .vz-barrow { grid-template-columns: minmax(150px, 0.9fr) minmax(0, 2.4fr) 190px; } }
.article-page.is-visual .vz-bars--ez .vz-barrow__delta { font-size: 1.6rem; line-height: 1.1; }
.article-page.is-visual .vz-figure h3.vz-ez__fighead { margin: 0.4rem 0 0.6rem; font-size: 1.15rem; }
.article-page.is-visual .vz-statline.vz-ez__trialstats { margin: 1.4rem 0 0.6rem; }
/* ---- spironolactone-eplerenone (batch 3, 2026-10-24): aldosterone toggle + receptor toggle (inline SVG states on the shared heart toggle) ---- */
.article-page.is-visual .vz-mraswap .vz-heartswap__grid,
.article-page.is-visual .vz-mrapick .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .vz-mraswap .vz-heartswap__stage { aspect-ratio: 640 / 320; width: 100%; max-width: 860px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .vz-mrapick .vz-heartswap__stage { aspect-ratio: 640 / 236; width: 100%; max-width: 860px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .vz-mraswap .vz-heartswap__stage svg.vz-hs,
.article-page.is-visual .vz-mrapick .vz-heartswap__stage svg.vz-hs { position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease; }
.article-page.is-visual .vz-mraswap .vz-hs--blocked,
.article-page.is-visual .vz-mrapick .vz-hs--eple { opacity: 0; }
.article-page.is-visual .vz-mraswap[data-state="blocked"] .vz-hs--blocked,
.article-page.is-visual .vz-mrapick[data-state="eple"] .vz-hs--eple { opacity: 1; }
.article-page.is-visual .vz-mraswap[data-state="blocked"] .vz-hs--on,
.article-page.is-visual .vz-mrapick[data-state="eple"] .vz-hs--spiro { opacity: 0; }
.article-page.is-visual .vz-mraswap .vz-meter,
.article-page.is-visual .vz-mrapick .vz-meter { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.article-page.is-visual .vz-mraswap[data-state="blocked"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-mraswap[data-state="blocked"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-mrapick[data-state="eple"] .vz-meter__row--change { border-left-color: var(--vz-navy); background: #eef1f6; }
@media (max-width: 1000px) {
  .article-page.is-visual .vz-mraswap .vz-meter,
  .article-page.is-visual .vz-mrapick .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .article-page.is-visual .vz-mraswap .vz-meter,
  .article-page.is-visual .vz-mrapick .vz-meter { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .article-page.is-visual .vz-mraswap .vz-heartswap__stage svg.vz-hs,
  .article-page.is-visual .vz-mrapick .vz-heartswap__stage svg.vz-hs { transition: none; }
}

/* ---- arb-vs-ace-inhibitor-comparison (batch 3, 2026-10-24) ---- */
/* .vz-raas: the hormone chain, three states (none / ace / arb), built on the cascade pattern */
.vz-raas__stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px minmax(0, 1fr) 132px minmax(0, 1.25fr);
  align-items: stretch; gap: 0.5rem; padding: 0.75rem 0 0.5rem;
}
.vz-raas__node {
  border-radius: 12px; padding: 1.1rem 1rem; display: flex; flex-direction: column; justify-content: center;
  transition: opacity 0.45s ease, background 0.45s ease, filter 0.45s ease;
}
.vz-raas__node--sig { background: var(--vz-slate-bg); }
.vz-raas__node--hor { background: #f3e4d7; }
.vz-raas__node--eff { background: var(--vz-red-bg); }
.article-page.is-visual .vz-raas__node strong { font-family: var(--font-sans); font-size: 1.25rem; line-height: 1.2; display: block; color: var(--vz-navy); }
.article-page.is-visual .vz-raas__node--hor strong { color: #8a4b2a; }
.article-page.is-visual .vz-raas__node--eff strong { color: var(--vz-red); }
.article-page.is-visual .vz-raas__node span { display: block; font-size: 1.02rem; line-height: 1.4; color: var(--vz-text); margin-top: 0.35rem; }
.article-page.is-visual .vz-raas ul.vz-raas__effl { list-style: disc; margin: 0.45rem 0 0; padding-left: 1.15rem; }
.article-page.is-visual .vz-raas ul.vz-raas__effl li { font-size: 1.02rem; line-height: 1.4; margin: 0 0 0.25rem; padding: 0; }
.article-page.is-visual .vz-raas ul.vz-raas__effl li::before { content: none; }
.vz-raas__link { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.vz-raas__link svg { width: 84px; height: 42px; display: block; overflow: visible; }
.vz-raas__flow { fill: none; stroke: var(--vz-navy); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 7 7; }
.vz-raas__head { fill: var(--vz-navy); }
.vz-raas__stop { fill: none; stroke: var(--vz-orange); stroke-width: 7; stroke-linecap: round; opacity: 0; transition: opacity 0.35s ease; }
.article-page.is-visual .vz-raas__lbl { display: block; font-size: 0.9rem; line-height: 1.25; font-weight: 600; color: var(--vz-muted); margin-top: 0.25rem; }
.article-page.is-visual .vz-raas__blk { display: none; font-size: 0.95rem; line-height: 1.25; font-weight: 700; color: var(--vz-orange); margin-top: 0.2rem; }
.article-page.is-visual p.vz-raas__side { background: var(--vz-cream); border: 1px solid var(--vz-line); border-radius: var(--vz-radius-sm); padding: 0.85rem 1.1rem; margin: 0.75rem 0 0.5rem; font-size: 1.05rem; }
.vz-raas[data-state="ace"] p.vz-raas__side { border-left: 6px solid var(--vz-amber); }
.vz-raas[data-state="arb"] p.vz-raas__side { border-left: 6px solid var(--vz-teal-dk); }
.article-page.is-visual p.vz-raas__note { font-size: 0.98rem; color: var(--vz-muted); margin: 0.35rem 0 0; }
@keyframes vz-raas-flow { to { stroke-dashoffset: -28; } }
.vz-raas[data-state="none"] .vz-raas__flow { animation: vz-raas-flow 1.1s linear infinite; }
/* ACE inhibitor: blocked at the making step */
.vz-raas[data-state="ace"] .vz-raas__link--make .vz-raas__stop,
.vz-raas[data-state="arb"] .vz-raas__link--rec .vz-raas__stop { opacity: 1; }
.vz-raas[data-state="ace"] .vz-raas__link--make .vz-raas__blk,
.vz-raas[data-state="arb"] .vz-raas__link--rec .vz-raas__blk { display: block; }
.vz-raas[data-state="ace"] .vz-raas__link--make .vz-raas__flow,
.vz-raas[data-state="arb"] .vz-raas__link--rec .vz-raas__flow { stroke-dasharray: 3 7; }
.vz-raas[data-state="ace"] .vz-raas__link--rec,
.vz-raas[data-state="ace"] .vz-raas__node--hor { opacity: 0.5; filter: grayscale(0.5); }
.vz-raas[data-state="ace"] .vz-raas__node--eff,
.vz-raas[data-state="arb"] .vz-raas__node--eff { background: var(--vz-teal-bg); }
.article-page.is-visual .vz-raas[data-state="ace"] .vz-raas__node--eff strong,
.article-page.is-visual .vz-raas[data-state="arb"] .vz-raas__node--eff strong { color: var(--vz-teal-dk); }
@media (prefers-reduced-motion: reduce) {
  .vz-raas[data-state="none"] .vz-raas__flow { animation: none; }
  .vz-raas__node, .vz-raas__stop { transition: none; }
}
@media (max-width: 860px) {
  .vz-raas__stage { grid-template-columns: 1fr; gap: 0.3rem; }
  .vz-raas__link { display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 0.6rem; align-items: center; justify-items: start; padding: 0.15rem 0; text-align: left; }
  .vz-raas__link svg { grid-row: 1 / span 2; transform: rotate(90deg); width: 64px; height: 32px; }
  .article-page.is-visual .vz-raas__link > span { grid-column: 2; margin-top: 0; }
}
.article-page.is-visual .vz-arbace-help .vz-tier--red { border-left: 8px solid var(--vz-red); }
.article-page.is-visual .vz-hero__photo img[src^="/visual/arb-vs-ace-inhibitor-comparison/"] { object-position: 30% 40%; }

/* ---------- beta-blocker-selection-guide (batch 3, 2026-10-24) ---------- */
/* receptor toggle: reuses .vz-heartswap with an inline SVG and three states (none / sel / non) */
.article-page.is-visual .bb-rx .vz-heartswap__stage { aspect-ratio: 640 / 320; background: #f6f2ea; }
.article-page.is-visual .bb-rx .bb-rx__svg { display: block; width: 100%; height: 100%; }
.article-page.is-visual .bb-rx .bb-blk { opacity: 0; transition: opacity 0.4s ease; }
.article-page.is-visual .bb-rx .bb-adr path { transition: opacity 0.4s ease; }
.article-page.is-visual .bb-rx[data-state="sel"] .bb-blk--1,
.article-page.is-visual .bb-rx[data-state="non"] .bb-blk--1,
.article-page.is-visual .bb-rx[data-state="non"] .bb-blk--2 { opacity: 1; }
.article-page.is-visual .bb-rx[data-state="sel"] .bb-adr--1,
.article-page.is-visual .bb-rx[data-state="non"] .bb-adr--1,
.article-page.is-visual .bb-rx[data-state="non"] .bb-adr--2 { opacity: 0.22; }
.article-page.is-visual .bb-rx .vz-meter__row--change { border-left-color: #b3ab95; }
.article-page.is-visual .bb-rx[data-state="sel"] .vz-meter__row--change,
.article-page.is-visual .bb-rx[data-state="non"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #e3f2ee; }
.article-page.is-visual .bb-rx[data-state="non"] .vz-meter__row--change:last-child { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .bb-rx[data-state="non"] .vz-meter__row--change:last-child dd { color: #9b2d23; }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .bb-rx .bb-blk, .article-page.is-visual .bb-rx .bb-adr path { transition: none; } }

/* which one fits (.vz-fit) */
.article-page.is-visual .vz-fit { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.4rem 1.5rem 1.3rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-fit .vz-segs--stack .vz-seg { flex: 1 1 240px; text-align: left; border-radius: 12px; padding: 0.75rem 1rem; line-height: 1.3; min-height: 56px; }
.article-page.is-visual .vz-fit__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.2rem; align-items: start; margin-top: 0.4rem; }
.article-page.is-visual .vz-fit__result { background: #fff; border-radius: var(--vz-radius-sm); padding: 1.1rem 1.25rem; border-left: 8px solid var(--vz-teal-dk); }
.article-page.is-visual p.vz-fit__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.35rem, 2.1vw, 1.8rem); line-height: 1.2; color: var(--vz-navy); margin: 0 0 0.5rem; }
.article-page.is-visual p.vz-fit__why { font-size: 1.08rem; line-height: 1.55; margin: 0; }
.article-page.is-visual ul.vz-fit__drugs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
.article-page.is-visual ul.vz-fit__drugs li { margin: 0; padding: 0.55rem 0.75rem; border-radius: 10px; background: #fff; border: 2px solid rgba(20, 33, 61, 0.12); color: var(--vz-muted); font-family: var(--font-sans); transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease; }
.article-page.is-visual .vz-fit__name { display: block; font-weight: 700; font-size: 1.05rem; line-height: 1.25; }
.article-page.is-visual .vz-fit__name small { display: block; font-weight: 600; font-size: 0.85rem; color: var(--vz-muted); }
.article-page.is-visual .vz-fit__tag { display: block; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; min-height: 1em; margin-top: 0.15rem; }
.article-page.is-visual ul.vz-fit__drugs li.is-fit { background: #e3f2ee; border-color: var(--vz-teal-dk); color: var(--vz-navy); }
.article-page.is-visual ul.vz-fit__drugs li.is-fit .vz-fit__tag { color: #0b5f55; }
.article-page.is-visual ul.vz-fit__drugs li.is-alt { background: #fcf0d9; border-color: #b8841f; color: var(--vz-navy); }
.article-page.is-visual ul.vz-fit__drugs li.is-alt .vz-fit__tag { color: #7a520c; }
.article-page.is-visual ul.vz-fit__drugs li.is-care { background: #f9e1dc; border-color: #b5302a; border-style: dashed; color: var(--vz-navy); }
.article-page.is-visual ul.vz-fit__drugs li.is-care .vz-fit__tag { color: #9b2d23; }
.article-page.is-visual p.vz-fit__note { margin: 1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .vz-fit__grid { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .article-page.is-visual ul.vz-fit__drugs { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual ul.vz-fit__drugs li { transition: none; } }

/* comparison table caption and card subtitle */
.article-page.is-visual .bb-table caption.bb-table__cap { caption-side: top; text-align: left; font-family: var(--font-sans); font-size: 1rem; color: var(--vz-muted); padding: 0 0 0.6rem; }
.article-page.is-visual .vz-card p.bb-card__sub { font-family: var(--font-sans); font-weight: 700; font-size: 0.9rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vz-teal-dk); margin: -0.2rem 0 0.4rem; }
/* help tiers: three across on desktop so the routine panel does not sit alone */
@media (min-width: 1000px) { .article-page.is-visual .vz-tiers.bb-help { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.article-page.is-visual .vz-hero__photo img[src^="/visual/beta-blocker-selection-guide/"] { object-position: 40% 35%; }
/* ---- nsaids-and-the-heart (batch 3, 2026-10-24) ---- */
/* Hero figure (contain, no fade), COX-2 balance toggle (.vz-heartswap reused, states without / with,
   inline SVG stage), NSAID picker (.vz-ef reused with stacked buttons and end labels), the
   "your situation" sorter (.vz-nsx, new), five-step pain ladder (.vz-when variant). */
.article-page.is-visual .vz-hero__photo img[src^="/visual/nsaids-and-the-heart/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/nsaids-and-the-heart/"])::before { display: none; }
.article-page.is-visual .vz-nsaidswap .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1.2rem; }
.article-page.is-visual .vz-nsaidswap .vz-heartswap__stage { aspect-ratio: 800 / 430; background: #f6f2ea; }
.article-page.is-visual .vz-nsaidswap .vz-heartswap__stage svg.vz-hs { position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease; }
.article-page.is-visual .vz-nsaidswap .vz-hs--with { opacity: 0; }
.article-page.is-visual .vz-nsaidswap[data-state="with"] .vz-hs--with { opacity: 1; }
.article-page.is-visual .vz-nsaidswap[data-state="with"] .vz-hs--without { opacity: 0; }
.article-page.is-visual .vz-nsaidswap .vz-meter__row--change { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .vz-nsaidswap[data-state="with"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-nsaidswap[data-state="with"] .vz-meter__row--change dd { color: #9b2d23; }
@media (max-width: 900px) { .article-page.is-visual .vz-nsaidswap .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-nsaidswap .vz-heartswap__stage svg.vz-hs { transition: none; } }
.article-page.is-visual p.vz-nsaidpick__lead { margin: 0 0 0.9rem; font-size: 1.12rem; color: var(--vz-ink); font-weight: 600; }
.article-page.is-visual .vz-nsaidpick .vz-segs { margin-bottom: 1.2rem; }
.article-page.is-visual .vz-nsaidpick .vz-segs--stack .vz-seg { flex: 1 1 300px; text-align: left; border-radius: 12px; padding: 0.75rem 1rem; line-height: 1.3; min-height: 56px; }
.article-page.is-visual .vz-nsaidpick .vz-efscale { margin: 0.4rem 0 0.4rem; }
.article-page.is-visual p.vz-nsaidpick__ends { display: flex; justify-content: space-between; gap: 1rem; margin: 0 0 1.1rem; font-family: var(--font-sans); font-size: 0.95rem; font-weight: 700; }
.article-page.is-visual p.vz-nsaidpick__ends span:first-child { color: #9b2d23; }
.article-page.is-visual p.vz-nsaidpick__ends span:last-child { color: var(--vz-teal-dk); }
.article-page.is-visual .vz-nsaidpick .vz-ef__result { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .vz-nsaidpick[data-band="ketorolac"] .vz-ef__result,
.article-page.is-visual .vz-nsaidpick[data-band="diclofenac"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual .vz-nsaidpick[data-band="ibuprofen"] .vz-ef__result { border-left-color: #d0612e; }
.article-page.is-visual .vz-nsaidpick[data-band="celecoxib"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-nsaidpick .vz-efscale__mark { transition: left 0.4s ease; }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-nsaidpick .vz-efscale__mark { transition: none; } }
.article-page.is-visual .vz-nsx { background: var(--vz-slate-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1rem 0 2rem; }
.article-page.is-visual p.vz-nsx__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .vz-nsx__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(280px, 2fr); gap: 1.25rem; align-items: start; }
.article-page.is-visual .vz-nsx__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.article-page.is-visual .vz-nsx .vz-opt { border-color: rgba(20, 33, 61, 0.3); }
.article-page.is-visual .vz-nsx .vz-opt__mark { border-color: var(--vz-navy); }
.article-page.is-visual .vz-nsx .vz-opt[aria-pressed="true"] { border-color: var(--vz-navy); background: #fff; }
.article-page.is-visual .vz-nsx .vz-opt[aria-pressed="true"] .vz-opt__mark { background: var(--vz-navy); border-color: var(--vz-navy); }
.article-page.is-visual .vz-nsx__result { position: sticky; top: 1rem; background: var(--vz-navy); color: #eef2f7; border-radius: var(--vz-radius-sm); padding: 1.3rem 1.4rem; transition: background 0.3s ease; }
.article-page.is-visual .vz-nsx[data-result="risk"] .vz-nsx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .vz-nsx[data-result="decide"] .vz-nsx__result { background: var(--vz-amber); }
.article-page.is-visual .vz-nsx[data-result="avoid"] .vz-nsx__result { background: var(--vz-red); }
.article-page.is-visual p.vz-nsx__label { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: #fff; opacity: 0.9; margin: 0 0 0.35rem; font-weight: 700; }
.article-page.is-visual p.vz-nsx__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.45rem, 2.2vw, 1.9rem); line-height: 1.15; color: #fff; margin: 0 0 0.5rem; }
.article-page.is-visual p.vz-nsx__why { font-size: 1.05rem; line-height: 1.45; color: #fff; margin: 0; }
.article-page.is-visual ul.vz-nsx__lines { list-style: none; margin: 0.8rem 0 0; padding: 0.7rem 0 0; border-top: 1px solid rgba(255, 255, 255, 0.35); display: grid; gap: 0.55rem; }
.article-page.is-visual ul.vz-nsx__lines[hidden] { display: none; }
.article-page.is-visual ul.vz-nsx__lines li { margin: 0; padding: 0; font-size: 1rem; line-height: 1.42; color: #fff; }
.article-page.is-visual ul.vz-nsx__lines li::before { content: none; }
.article-page.is-visual ul.vz-nsx__lines b { color: #fff; }
.article-page.is-visual p.vz-nsx__note { margin: 1.1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 1000px) { .article-page.is-visual .vz-nsx__opts { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .article-page.is-visual .vz-nsx__grid { grid-template-columns: 1fr; } .article-page.is-visual .vz-nsx__result { position: static; } .article-page.is-visual .vz-nsx { padding: 1.2rem 1rem 1.1rem; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-nsx__result { transition: none; } }
.article-page.is-visual .vz-when.vz-when--nsaid5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.article-page.is-visual .vz-when.vz-when--nsaid5 b { font-size: 1.2rem; }
@media (max-width: 1100px) { .article-page.is-visual .vz-when.vz-when--nsaid5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .article-page.is-visual .vz-when.vz-when--nsaid5 { grid-template-columns: 1fr; } }
@media (min-width: 761px) { .article-page.is-visual .vz-closer:has(img[src^="/visual/nsaids-and-the-heart/"]) .vz-closer__photo { aspect-ratio: auto; } }

/* ---- hypertriglyceridemia (batch 3, 2026-10-24) ---- */
/* Heart-or-pancreas toggle: the generic heart toggle (.vz-heartswap, data-swap rows)
   with two inline drawn SVG stages instead of handout crops. States: artery, pancreas. */
.article-page.is-visual .vz-tgswap .vz-heartswap__stage { aspect-ratio: 1000 / 500; }
.article-page.is-visual .vz-tgswap .vz-heartswap__stage svg {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease;
}
.article-page.is-visual .vz-tgswap .vz-hs--pancreas { opacity: 0; }
.article-page.is-visual .vz-tgswap[data-state="pancreas"] .vz-hs--pancreas { opacity: 1; }
.article-page.is-visual .vz-tgswap[data-state="pancreas"] .vz-hs--artery { opacity: 0; }
.article-page.is-visual .vz-tgswap[data-state="pancreas"] .vz-meter__row--change { border-left-color: var(--vz-red, #b5302a); background: #f9e1dc; }
.article-page.is-visual .vz-tgswap[data-state="pancreas"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-tgswap[data-state="artery"] .vz-meter__row--change { border-left-color: #b8841f; background: #fcf0d9; }
/* Non-HDL sum: three plain chips joined by minus and equals */
.article-page.is-visual .vz-tgsum {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.6rem 0.9rem;
  background: #f6f2ea; border-radius: var(--vz-radius, 14px); padding: 1.1rem 1.2rem; margin: 1.2rem 0 1.4rem;
}
.article-page.is-visual .vz-tgsum span {
  font-family: var(--font-sans); font-weight: 700; font-size: 1.15rem; color: var(--vz-navy, #14213d);
  background: #fff; border-radius: 10px; padding: 0.55rem 0.95rem; line-height: 1.25; text-align: center;
}
.article-page.is-visual .vz-tgsum span.vz-tgsum__res { background: var(--vz-teal-dk, #0e7c6f); color: #fff; }
.article-page.is-visual .vz-tgsum b { font-family: Inter, var(--font-sans); font-weight: 800; font-size: 1.6rem; color: var(--vz-orange, #e0572e); }
@media (prefers-reduced-motion: reduce) {
  .article-page.is-visual .vz-tgswap .vz-heartswap__stage svg { transition: none; }
}
/* ---- myocarditis (batch 3, 2026-10-24) ---- */
/* Two decoders reuse .vz-ef (tests, treatment situations); 3-stop follow-up timeline; red + amber tiers side by side. */
.article-page.is-visual .vz-ef--myotest .vz-segs, .article-page.is-visual .vz-ef--myotx .vz-segs { flex-wrap: wrap; margin-bottom: 1.1rem; }
.article-page.is-visual .vz-ef--myotest .vz-segs--stack .vz-seg, .article-page.is-visual .vz-ef--myotx .vz-segs--stack .vz-seg { flex: 1 1 240px; min-height: 56px; line-height: 1.3; }
.article-page.is-visual .vz-ef--myotx[data-band="weak"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef--myotx[data-band="hosp"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual .vz-ef--myotx[data-band="immune"] .vz-ef__result { border-left-color: #5f6b7a; }
.article-page.is-visual .vz-when.myo-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.myo-when3 { grid-template-columns: 1fr; } }
/* figure hero (hand-drawn inflamed heart muscle), shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/myocarditis/myo-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/myocarditis/myo-hero"])::before { display: none; }
/* ---- pericarditis (batch 3, 2026-10-24) ---- */
/* Sac toggle and posture decoder (.vz-heartswap reused, inline SVG states), two-of-four
   findings counter (.vz-nofm, new), three-up effusion statline. */
.article-page.is-visual .pc-swap .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.article-page.is-visual .pc-sacswap .vz-heartswap__stage { aspect-ratio: 640 / 480; }
.article-page.is-visual .pc-postureswap .vz-heartswap__stage { aspect-ratio: 640 / 360; }
.article-page.is-visual .pc-swap .pc-fig { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .pc-fig .vz-hs { opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .pc-swap[data-state="normal"] .pc-fig .vz-hs--normal,
.article-page.is-visual .pc-swap[data-state="inflamed"] .pc-fig .vz-hs--inflamed,
.article-page.is-visual .pc-swap[data-state="effusion"] .pc-fig .vz-hs--effusion,
.article-page.is-visual .pc-swap[data-state="flat"] .pc-fig .vz-hs--flat,
.article-page.is-visual .pc-swap[data-state="forward"] .pc-fig .vz-hs--forward { opacity: 1; }
.article-page.is-visual .pc-fig .pc-lab { font-family: var(--font-sans); font-size: 19px; font-weight: 700; fill: #1c2b40; }
.article-page.is-visual .pc-fig .pc-call { font-family: var(--font-sans); font-size: 19px; font-weight: 700; fill: #b5302a; }
.article-page.is-visual .pc-sacswap:not([data-state="normal"]) .vz-meter__row--change,
.article-page.is-visual .pc-postureswap[data-state="flat"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .pc-sacswap:not([data-state="normal"]) .vz-meter__row--change dd,
.article-page.is-visual .pc-postureswap[data-state="flat"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .pc-postureswap[data-state="forward"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #e3f2ee; }
.article-page.is-visual .pc-postureswap[data-state="forward"] .vz-meter__row--change dd { color: #0b5f55; }
.article-page.is-visual .pc-swap .vz-meter dd { font-size: 1.05rem; }
.article-page.is-visual .pc-swap .vz-segs { flex-wrap: wrap; }
.article-page.is-visual .pc-swap .vz-seg { flex: 1 1 150px; }
@media (max-width: 900px) { .article-page.is-visual .pc-swap .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .article-page.is-visual .pc-fig .pc-lab, .article-page.is-visual .pc-fig .pc-call { font-size: 30px; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .pc-fig .vz-hs { transition: none; } }
.vz-nofm { background: var(--vz-slate-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-nofm__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.vz-nofm__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr); gap: 1.25rem; align-items: stretch; }
.vz-nofm__opts { display: grid; gap: 0.7rem; align-content: start; }
.article-page.is-visual .vz-nofm .vz-opt { border-color: rgba(20, 33, 61, 0.3); }
.article-page.is-visual .vz-nofm .vz-opt__mark { border-color: var(--vz-navy); }
.article-page.is-visual .vz-nofm .vz-opt[aria-pressed="true"] { border-color: var(--vz-navy); background: #fff; }
.article-page.is-visual .vz-nofm .vz-opt[aria-pressed="true"] .vz-opt__mark { background: var(--vz-navy); border-color: var(--vz-navy); }
.vz-nofm__result { background: var(--vz-navy); color: #e9edf4; border-radius: var(--vz-radius-sm); padding: 1.3rem 1.4rem; display: flex; flex-direction: column; justify-content: center; transition: background 0.3s ease; }
.vz-nofm[data-result="below"] .vz-nofm__result { background: var(--vz-amber); }
.vz-nofm[data-result="met"] .vz-nofm__result { background: var(--vz-teal-dk); }
.article-page.is-visual .vz-nofm[data-result="below"] .vz-nofm__count,
.article-page.is-visual .vz-nofm[data-result="met"] .vz-nofm__count { color: #fff; }
.article-page.is-visual .vz-nofm__count { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-gold); margin: 0 0 0.35rem; font-weight: 700; }
.article-page.is-visual .vz-nofm__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.6rem, 2.4vw, 2.1rem); line-height: 1.1; letter-spacing: -0.015em; color: #fff; margin: 0 0 0.5rem; }
.article-page.is-visual .vz-nofm__why { font-size: 1.05rem; line-height: 1.45; color: #f1f3f7; margin: 0; }
.article-page.is-visual .vz-nofm__note { margin: 1.1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 760px) { .vz-nofm__grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .vz-nofm__result { transition: none; } }
.article-page.is-visual .vz-statline.pc-stat3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-statline.pc-stat3 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-closer__photo img[src^="/visual/pericarditis/"] { object-position: 50% 8%; }

/* ---- fatigue-cardiac (batch 3, 2026-10-24) ---- */
/* ranked sorters reuse the chest-pain-cardiac JS; colours per result key */
.article-page.is-visual .fat-sx[data-result="none"] .vz-sx__result,
.article-page.is-visual .fat-up[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .fat-sx[data-result="weeks"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .fat-sx[data-result="soon"] .vz-sx__result,
.article-page.is-visual .fat-up[data-result="up"] .vz-sx__result { background: var(--vz-amber); }
.article-page.is-visual .fat-sx[data-result="911"] .vz-sx__result { background: var(--vz-red); }
.article-page.is-visual .fat-up { margin-top: 0.5rem; }
/* three help tiers side by side on wide screens so none sits alone */
@media (min-width: 1000px) { .article-page.is-visual .vz-tiers.fat-tiers { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.article-page.is-visual .fat-cards .vz-card p.vz-card__dose b { display: block; font-family: var(--font-sans); font-size: 0.86rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-teal-dk); margin-bottom: 0.15rem; }
.article-page.is-visual .fat-split .vz-callout { margin: 0; align-self: center; }
.article-page.is-visual .fat-cards .vz-card p.vz-card__dose { font-weight: 400; color: var(--vz-text, #32302a); }
/* hero is a hand-drawn figure (independent review, 2026-10-24): show it whole, no fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/fatigue-cardiac/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/fatigue-cardiac/"])::before { display: none; }


/* ---- cabg-bypass-surgery (batch 3, 2026-10-24) ----
   Drawn hero (contain, no fade), graft explorer (.vz-cabgfig, reuses the heart-toggle JS:
   data-heart buttons, data-swap text, data-state on the figure), six-stop recovery timeline. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/cabg-bypass-surgery/cabg-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/cabg-bypass-surgery/cabg-hero"])::before { display: none; }
.article-page.is-visual .vz-cabgfig .vz-segs { margin-bottom: 1.1rem; }
.article-page.is-visual .cabgfig__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.article-page.is-visual .cabgfig__stage { background: #fff; border-radius: var(--vz-radius-sm); padding: 0.75rem 0.75rem 0.5rem; }
.article-page.is-visual .cabgfig__svg { display: block; width: 100%; height: auto; max-height: 520px; }
.article-page.is-visual .vz-cabgfig .cabg-graft, .article-page.is-visual .vz-cabgfig .cabg-after, .article-page.is-visual .vz-cabgfig .cabg-starve { transition: opacity 0.35s ease; }
.article-page.is-visual .vz-cabgfig .cabg-starve { opacity: 0; }
.article-page.is-visual .vz-cabgfig[data-state="blocked"] .cabg-starve { opacity: 1; }
.article-page.is-visual .vz-cabgfig[data-state="blocked"] .cabg-after { opacity: 0.3; }
.article-page.is-visual .vz-cabgfig[data-state="blocked"] .cabg-graft { opacity: 0; }
.article-page.is-visual .vz-cabgfig[data-state="lima"] .cabg-graft:not(.cabg-graft--lima),
.article-page.is-visual .vz-cabgfig[data-state="radial"] .cabg-graft:not(.cabg-graft--radial),
.article-page.is-visual .vz-cabgfig[data-state="vein"] .cabg-graft:not(.cabg-graft--vein) { opacity: 0.28; }
.article-page.is-visual .cabgfig__key { list-style: none; margin: 0.6rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem 1.1rem; font-size: 0.98rem; color: var(--vz-muted, #5f5a4d); }
.article-page.is-visual .cabgfig__key li { margin: 0; display: flex; align-items: center; gap: 0.45rem; }
.article-page.is-visual .cabgfig__sw { display: inline-block; width: 26px; height: 8px; border-radius: 4px; }
.article-page.is-visual .cabgfig__sw--lima { background: #0e7c6f; }
.article-page.is-visual .cabgfig__sw--radial { background: #b07a12; }
.article-page.is-visual .cabgfig__sw--vein { background: #3f5f9e; }
.article-page.is-visual .cabgfig__sw--block { width: 18px; height: 14px; border-radius: 50%; background: #f2c14e; border: 3px solid #e0572e; }
.article-page.is-visual .cabgfig__info h3.cabgfig__name { margin: 0 0 0.75rem; font-size: 1.45rem; }
.article-page.is-visual .cabgfig__info p.cabgfig__row { margin: 0 0 0.7rem; padding: 0.7rem 0.9rem; background: #fff; border-radius: var(--vz-radius-sm); border-left: 5px solid #0e7c6f; }
.article-page.is-visual .vz-cabgfig[data-state="blocked"] p.cabgfig__row { border-left-color: #e0572e; }
.article-page.is-visual .vz-cabgfig[data-state="radial"] p.cabgfig__row { border-left-color: #b07a12; }
.article-page.is-visual .vz-cabgfig[data-state="vein"] p.cabgfig__row { border-left-color: #3f5f9e; }
.article-page.is-visual .cabgfig__info p.cabgfig__row b { color: var(--vz-navy, #14213d); }
.article-page.is-visual .vz-cabgfig p.cabgfig__note { margin: 0.4rem 0 0; font-size: 0.98rem; font-style: italic; color: var(--vz-muted, #5f5a4d); }
@media (max-width: 900px) { .article-page.is-visual .cabgfig__grid { grid-template-columns: 1fr; } .article-page.is-visual .cabgfig__svg { max-height: 400px; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-cabgfig .cabg-graft, .article-page.is-visual .vz-cabgfig .cabg-after, .article-page.is-visual .vz-cabgfig .cabg-starve { transition: none; } }
.article-page.is-visual .vz-when.cabg-when6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.cabg-when6 { grid-template-columns: 1fr; } }
/* ---- stress-imaging-decision-tree (batch 3, 2026-10-24) ---- */
/* Decision tree (.vz-tree): questions revealed one at a time, one outcome card. Without JS the
   questions hide and every outcome shows as a list with its path line. */
.article-page.is-visual .vz-tree { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.4rem 1.5rem 1.3rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-tree [hidden] { display: none !important; }
.article-page.is-visual .vz-tree:not(.is-js) .vz-tree__q { display: none; }
.article-page.is-visual .vz-tree.is-js .vz-tree__nojs { display: none; }
.article-page.is-visual .vz-tree__nojs { font-size: 1.05rem; color: var(--vz-muted); margin: 0 0 1rem; }
.article-page.is-visual .vz-tree__q { padding: 0 0 1rem; margin: 0 0 1rem; border-bottom: 1px solid var(--vz-line); }
.article-page.is-visual .vz-tree__num { font-family: var(--font-sans); font-size: 0.86rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--vz-orange); margin: 0 0 0.2rem; }
.article-page.is-visual .vz-tree__ask { margin: 0 0 0.35rem; font-size: clamp(1.3rem, 2vw, 1.6rem); color: var(--vz-navy); }
.article-page.is-visual .vz-tree__hint { font-size: 1.02rem; color: var(--vz-muted); margin: 0 0 0.8rem; }
.article-page.is-visual .vz-tree .vz-segs { margin-bottom: 0; }
.article-page.is-visual .vz-tree .vz-seg { border-radius: var(--vz-radius-sm); min-height: 56px; flex: 1 1 240px; }
.article-page.is-visual .vz-tree .vz-seg small { display: block; font-weight: 500; font-size: 0.93rem; line-height: 1.35; opacity: 0.85; margin-top: 0.15rem; }
.article-page.is-visual .vz-tree__outs { display: grid; gap: 0.9rem; }
.article-page.is-visual .vz-tree__out { background: #fff; border-radius: var(--vz-radius-sm); padding: 1.1rem 1.25rem; border-left: 8px solid var(--vz-teal-dk); }
.article-page.is-visual .vz-tree__out[data-out="none"] { border-left-color: #5f6b7a; }
.article-page.is-visual .vz-tree__out[data-out="functional"],
.article-page.is-visual .vz-tree__out[data-out="known"] { border-left-color: #b8841f; }
.article-page.is-visual .vz-tree__label { font-family: var(--font-sans); font-size: 0.86rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--vz-teal-dk); margin: 0 0 0.2rem; }
.article-page.is-visual .vz-tree__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.4rem, 2.2vw, 1.85rem); line-height: 1.15; color: var(--vz-navy); margin: 0 0 0.45rem; }
.article-page.is-visual .vz-tree__when { font-size: 1rem; font-weight: 600; color: var(--vz-muted); margin: 0 0 0.45rem; }
.article-page.is-visual .vz-tree__why { font-size: 1.08rem; line-height: 1.5; margin: 0; }
.article-page.is-visual .vz-tree__read { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.article-page.is-visual .vz-tree__plan { margin: 1rem 0 0; font-size: 1.02rem; color: var(--vz-text); }
.article-page.is-visual .vz-tree__reset {
  appearance: none; cursor: pointer; margin-top: 0.9rem; min-height: 48px; padding: 0.55rem 1.2rem;
  border: 2px solid var(--vz-ink); border-radius: 999px; background: transparent; color: var(--vz-ink);
  font-family: var(--font-sans); font-size: 1.02rem; font-weight: 600;
}
.article-page.is-visual .vz-tree__reset:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 3px; }
.article-page.is-visual .vz-cards--stackone { grid-template-columns: 1fr; margin: 0; }
/* CAD-RADS decoder reuses .vz-ef; six grade colours */
.article-page.is-visual .vz-ef--cadrads .vz-ef__result { border-left-color: #12998a; }
.article-page.is-visual .vz-ef--cadrads[data-band="cr1"] .vz-ef__result { border-left-color: #4f9f72; }
.article-page.is-visual .vz-ef--cadrads[data-band="cr2"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef--cadrads[data-band="cr3"] .vz-ef__result { border-left-color: #d0612e; }
.article-page.is-visual .vz-ef--cadrads[data-band="cr4"] .vz-ef__result { border-left-color: #b5302a; }
.article-page.is-visual .vz-ef--cadrads[data-band="cr5"] .vz-ef__result { border-left-color: #7e211d; }
@media (max-width: 600px) {
  .article-page.is-visual .vz-tree { padding: 1.1rem 1rem; }
  .article-page.is-visual .vz-ef--cadrads .vz-segs .vz-seg { flex: 1 1 40%; text-align: center; }
}
/* hero crop: keep the woman centred in the narrow mid-width crop */
.article-page.is-visual .vz-hero__photo img[src^="/visual/stress-imaging-decision-tree/sidt-hero-fig"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/stress-imaging-decision-tree/sidt-hero-fig"])::before { display: none; }

/* ---- rhythm-monitoring-comparison (batch 3, 2026-10-24) ---- */
/* event-monitor toggle: reuses .vz-heartswap (JS block 7) with an inline schematic SVG, three states */
.article-page.is-visual .rm-ev .vz-heartswap__stage { aspect-ratio: 640 / 260; background: #fff; }
.article-page.is-visual .rm-ev .rm-ev__svg { display: block; width: 100%; height: 100%; font-family: var(--font-sans); }
.article-page.is-visual p.rm-ev__title { font-family: var(--vz-serif); font-weight: 600; font-size: 1.45rem; color: var(--vz-ink); margin: 0 0 0.7rem; }
.article-page.is-visual p.rm-ev__note { font-size: 0.95rem; color: var(--vz-muted); margin: 0.4rem 0 0; }
.article-page.is-visual .rm-ev .rm-win rect { fill: #e3f2ee; stroke: #0e7c6f; stroke-width: 3; }
.article-page.is-visual .rm-ev .rm-win text { fill: #0b5f55; font-size: 22px; font-weight: 700; }
.article-page.is-visual .rm-ev .rm-win, .article-page.is-visual .rm-ev .rm-miss, .article-page.is-visual .rm-ev .rm-sent { opacity: 0; transition: opacity 0.4s ease; }
.article-page.is-visual .rm-ev .rm-press { transition: opacity 0.4s ease; }
.article-page.is-visual .rm-ev[data-state="loop"] .rm-win--loop,
.article-page.is-visual .rm-ev[data-state="post"] .rm-win--post,
.article-page.is-visual .rm-ev[data-state="post"] .rm-miss,
.article-page.is-visual .rm-ev[data-state="mct"] .rm-win--mct,
.article-page.is-visual .rm-ev[data-state="mct"] .rm-sent { opacity: 1; }
.article-page.is-visual .rm-ev[data-state="mct"] .rm-press { opacity: 0.18; }
.article-page.is-visual .rm-ev .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #e3f2ee; }
@media (max-width: 600px) { .article-page.is-visual .rm-ev .vz-heartswap__stage { aspect-ratio: auto; } .article-page.is-visual .rm-ev .rm-ev__svg { height: auto; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .rm-ev .rm-win, .article-page.is-visual .rm-ev .rm-miss, .article-page.is-visual .rm-ev .rm-sent, .article-page.is-visual .rm-ev .rm-press { transition: none; } }
/* which monitor fits: question line above the reused .vz-fit control */
.article-page.is-visual p.rm-fit__q { font-family: var(--vz-serif); font-weight: 600; font-size: 1.45rem; color: var(--vz-ink); margin: 0 0 0.7rem; }
/* wear-time bars (log scale, static, no JS) */
.article-page.is-visual p.rm-wear__title { font-family: var(--vz-serif); font-weight: 600; font-size: 1.45rem; color: var(--vz-ink); margin: 0 0 1rem; }
.article-page.is-visual .rm-wear__rows { display: grid; gap: 0.9rem; }
.article-page.is-visual .rm-wear__row { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr) minmax(0, 11rem); gap: 1rem; align-items: center; }
.article-page.is-visual p.rm-wear__label { margin: 0; font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem; line-height: 1.25; color: var(--vz-navy); }
.article-page.is-visual p.rm-wear__label small { display: block; font-weight: 600; font-size: 0.9rem; color: var(--vz-muted); }
.article-page.is-visual .rm-wear__track { position: relative; height: 34px; background: #fff; border-radius: 8px; }
.article-page.is-visual .rm-wear__grid { position: absolute; top: -4px; bottom: -4px; width: 0; border-left: 1px dashed rgba(28, 43, 64, 0.28); z-index: 1; }
.article-page.is-visual .rm-wear__max, .article-page.is-visual .rm-wear__min { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 8px; }
.article-page.is-visual .rm-wear__max { background: repeating-linear-gradient(135deg, #7fc8bc 0 8px, #a9dbd2 8px 16px); }
.article-page.is-visual .rm-wear__max--solid, .article-page.is-visual .rm-wear__min { background: #0b8a78; }
.article-page.is-visual p.rm-wear__val { margin: 0; font-family: var(--vz-num); font-weight: 800; font-size: 1.05rem; color: var(--vz-navy); }
.article-page.is-visual .rm-wear__axis { position: relative; height: 1.6rem; }
.article-page.is-visual .rm-wear__axis span { position: absolute; top: 0; transform: translateX(-50%); font-family: var(--font-sans); font-size: 0.85rem; color: var(--vz-muted); white-space: nowrap; }
.article-page.is-visual .rm-wear__axis span:last-child { transform: translateX(-80%); }
@media (max-width: 760px) {
  .article-page.is-visual .rm-wear__row { grid-template-columns: minmax(0, 1fr); gap: 0.35rem; }
  .article-page.is-visual .rm-wear__row--axis p { display: none; }
  .article-page.is-visual .rm-wear__axis span { font-size: 0.78rem; }
}
/* hand-drawn figure hero: show the whole drawing, labels included */
.article-page.is-visual .vz-hero__photo img[src^="/visual/rhythm-monitoring-comparison/"] { object-fit: contain; object-position: 50% 50%; background: #f6f2ea; }
/* help tiers three across on desktop */
@media (min-width: 1000px) { .article-page.is-visual .vz-tiers.rm-help { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* ---- aortic-regurgitation (batch 3, 2026-10-24) ---- */
/* Leaky-valve toggle (.vz-arswap on the heart-toggle engine), grade decoder (.vz-ef--ar),
   repair / valve-type comparison (.vz-artx), six-card myths grid (.vz-mistakes--ar). */
.article-page.is-visual .vz-arswap .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.article-page.is-visual .vz-arswap .vz-heartswap__stage { aspect-ratio: 1600 / 900; }
.article-page.is-visual .vz-arswap .vz-heartswap__stage img { object-position: 50% 50%; }
.article-page.is-visual .vz-arswap .vz-hs--leaky { opacity: 0; }
.article-page.is-visual .vz-arswap[data-state="leaky"] .vz-hs--leaky { opacity: 1; }
.article-page.is-visual .vz-arswap[data-state="leaky"] .vz-hs--sealed { opacity: 0; }
.article-page.is-visual .vz-arswap[data-state="leaky"] .vz-meter__row--change { border-left-color: #c2412d; background: #fbeae4; }
.article-page.is-visual .vz-arswap[data-state="leaky"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-arswap__note { margin: 0.6rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .vz-arswap .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .article-page.is-visual .vz-arswap .vz-heartswap__stage { aspect-ratio: 1 / 1; max-width: 360px; width: 100%; margin: 0 auto; }
}
.article-page.is-visual .vz-ef--ar { border-top: 6px solid var(--vz-navy); }
.article-page.is-visual .vz-ardec__ask { font-family: var(--font-sans); font-weight: 700; font-size: 0.86rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--vz-orange); margin: 0 0 0.7rem; }
.article-page.is-visual .vz-ef--ar .vz-ef__result { border-left-color: #12998a; }
.article-page.is-visual .vz-ef--ar[data-band="moderate"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef--ar[data-band="severe"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual .vz-ef--ar .vz-segs .vz-seg { flex: 1 1 30%; text-align: center; }
.article-page.is-visual .vz-artx { border-top: 6px solid var(--vz-teal-dk); transition: border-color 0.35s ease; }
.article-page.is-visual .vz-artx[data-state="mech"] { border-top-color: var(--vz-navy); }
.article-page.is-visual .vz-artx[data-state="tissue"] { border-top-color: #b8841f; }
.article-page.is-visual .vz-artx .vz-segs .vz-seg { flex: 1 1 200px; text-align: center; }
.article-page.is-visual .vz-artx .vz-meter__row { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); gap: 0.2rem 1.2rem; align-items: baseline; }
.article-page.is-visual .vz-artx .vz-meter dd { margin: 0; font-weight: 600; font-size: 1.1rem; line-height: 1.45; }
.article-page.is-visual .vz-artx[data-state="mech"] .vz-meter__row { border-left-color: var(--vz-navy); }
.article-page.is-visual .vz-artx[data-state="tissue"] .vz-meter__row { border-left-color: #b8841f; background: #fffaf0; }
.article-page.is-visual .vz-artx__note { margin: 0.6rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 700px) { .article-page.is-visual .vz-artx .vz-meter__row { grid-template-columns: 1fr; } }
@media (min-width: 761px) { .article-page.is-visual .vz-mistakes--ar li:last-child { grid-column: 1 / -1; } }

/* ---- cardiac-mri-guide (batch 3, 2026-10-24) ---- */
/* Scar-pattern reader: the generic heart toggle (.vz-heartswap, data-swap rows) with six
   inline drawn short-axis slices. States: none, mi, myocarditis, sarcoid, amyloid, hcm. */
.article-page.is-visual .vz-lgeswap .vz-heartswap__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.article-page.is-visual .vz-lgeswap__stage { aspect-ratio: 360 / 300; background: #1c2236; }
.article-page.is-visual .vz-lgeswap__stage svg.vz-hs { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .vz-lgeswap[data-state="none"] .vz-hs--none,
.article-page.is-visual .vz-lgeswap[data-state="mi"] .vz-hs--mi,
.article-page.is-visual .vz-lgeswap[data-state="myocarditis"] .vz-hs--myocarditis,
.article-page.is-visual .vz-lgeswap[data-state="sarcoid"] .vz-hs--sarcoid,
.article-page.is-visual .vz-lgeswap[data-state="amyloid"] .vz-hs--amyloid,
.article-page.is-visual .vz-lgeswap[data-state="hcm"] .vz-hs--hcm { opacity: 1; }
.article-page.is-visual .vz-lgeswap .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-lgeswap[data-state="none"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #fff; }
.article-page.is-visual .vz-lgeswap .vz-meter__row--change dd { color: var(--vz-navy); }
.article-page.is-visual .vz-lgeswap .vz-segs .vz-seg { flex: 1 1 150px; }
.article-page.is-visual p.vz-lgeswap__legend { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem 0.6rem; margin: 0.6rem 0 0; font-family: var(--font-sans); font-size: 0.95rem; color: var(--vz-muted); }
.article-page.is-visual .vz-lgeswap__key { flex: none; width: 22px; height: 14px; border-radius: 4px; }
.article-page.is-visual .vz-lgeswap__key--dark { background: #0c0f1e; }
.article-page.is-visual .vz-lgeswap__key--bright { background: #fff4cf; border: 1px solid #b8841f; margin-left: 0.5rem; }
.article-page.is-visual p.vz-lgeswap__plan { margin: 0.9rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .vz-lgeswap .vz-heartswap__grid { grid-template-columns: 1fr; } .article-page.is-visual .vz-lgeswap__stage { max-width: 460px; margin: 0 auto; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-lgeswap__stage svg.vz-hs { transition: none; } }
/* Scan-day stepper with three paths (reuses .vz-stepper and the path switch) */
.article-page.is-visual .vz-cmr-steps .vz-stepper__paths { margin: 0 0 1rem; }
.article-page.is-visual .vz-cmr-steps p.vz-stepper__pathlabel { margin: 0 0 0.45rem; font-family: var(--font-sans); font-size: 0.85rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--vz-muted); }
.article-page.is-visual .vz-cmr-steps p.vz-stepper__pathread { margin: 0.5rem 0 0; font-size: 1rem; color: var(--vz-muted); }
.article-page.is-visual .vz-cmr-steps p.vz-cmr-steps__plan { margin: 0.9rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (min-width: 901px) { .article-page.is-visual .vz-cmr-steps .vz-stepper__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.article-page.is-visual .vz-when.vz-when--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.vz-when--three { grid-template-columns: 1fr; } }
/* Prep checker (.vz-prep): tap what applies, the matching instructions show. No JS: all listed. */
.article-page.is-visual .vz-prep { background: var(--vz-teal-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1.2rem 0 1.8rem; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.article-page.is-visual .vz-prep [hidden] { display: none !important; }
.article-page.is-visual p.vz-prep__lead { margin: 0 0 0.9rem; font-size: 1.1rem; color: var(--vz-ink); font-weight: 600; }
.article-page.is-visual .vz-prep__opts { display: grid; gap: 0.6rem; }
.article-page.is-visual .vz-prep__out { background: #fff; border-radius: var(--vz-radius-sm); border-left: 8px solid var(--vz-teal-dk); padding: 1.1rem 1.25rem; }
.article-page.is-visual .vz-prep__pick[hidden] + .vz-prep__out { grid-column: 1 / -1; }
.article-page.is-visual p.vz-prep__count { margin: 0 0 0.6rem; font-family: var(--font-sans); font-size: 0.9rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--vz-teal-dk); }
.article-page.is-visual p.vz-prep__empty { font-size: 1.08rem; margin: 0 0 0.8rem; }
.article-page.is-visual ul.vz-prep__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.75rem; }
.article-page.is-visual ul.vz-prep__list li { margin: 0; padding: 0 0 0.75rem; border-bottom: 1px solid var(--vz-line); font-size: 1.06rem; line-height: 1.5; }
.article-page.is-visual ul.vz-prep__list li::before { content: none; }
.article-page.is-visual ul.vz-prep__list li b { display: block; color: var(--vz-navy); font-family: var(--font-sans); font-size: 1.1rem; margin-bottom: 0.15rem; }
.article-page.is-visual p.vz-prep__plan { margin: 0.9rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .vz-prep { grid-template-columns: 1fr; padding: 1.2rem 1.1rem; } }
@media (min-width: 1000px) { .article-page.is-visual .vz-tiers.vz-tiers--cmr3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }


/* ---- lightheadedness-vs-syncope (batch 3, 2026-10-24) ---- */
/* "How a faint unfolds" toggle: an inline SVG in the .vz-heartswap stage (heart toggle JS, states near / faint / sudden). */
.article-page.is-visual .ls-faint__lead { margin: 0 0 0.9rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .ls-faint .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); margin-top: 1rem; }
.article-page.is-visual .ls-faint .vz-heartswap__stage { aspect-ratio: 800 / 500; background: #f6f2ea; }
.article-page.is-visual .ls-faint .vz-heartswap__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ls-faint .lsf text { font-family: var(--font-sans, "Source Sans 3", system-ui, sans-serif); font-size: 25px; }
.ls-faint .lsf .lsf-lab { font-size: 30px; }
.ls-faint .lsf-g { transition: opacity 0.45s ease; }
.ls-faint[data-state="near"] .lsf-g--faint, .ls-faint[data-state="near"] .lsf-g--sudden { opacity: 0; }
.ls-faint[data-state="faint"] .lsf-g--near, .ls-faint[data-state="faint"] .lsf-g--sudden { opacity: 0; }
.ls-faint[data-state="sudden"] .lsf-g--build, .ls-faint[data-state="sudden"] .lsf-g--near, .ls-faint[data-state="sudden"] .lsf-g--faint { opacity: 0; }
.ls-faint .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #fff; }
.ls-faint[data-state="faint"] .vz-meter__row--change { border-left-color: var(--vz-navy); background: #fff; }
.ls-faint[data-state="sudden"] .vz-meter__row--change { border-left-color: var(--vz-red); background: #fdf1ec; }
.ls-faint[data-state="sudden"] .vz-meter__row--change dd { color: #9b2d23; }
@media (max-width: 900px) { .article-page.is-visual .ls-faint .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .ls-faint .lsf text { font-size: 34px; }
  .ls-faint .lsf .lsf-lab { font-size: 36px; }
  .ls-faint .lsf .lsf-lab--build { transform: translateX(-45px); }
  .ls-faint .lsf .lsf-axis, .ls-faint .lsf .lsf-sub--build, .ls-faint .lsf .lsf-sub--near, .ls-faint .lsf .lsf-sub--faint, .ls-faint .lsf .lsf-sub--sudden { display: none; }
}
@media (prefers-reduced-motion: reduce) { .ls-faint .lsf-g { transition: none; } }
/* Ranked sorter colours (three levels) and the history-clue decoder borders. */
.article-page.is-visual .ls-sx[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .ls-sx[data-result="routine"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .ls-sx[data-result="sameday"] .vz-sx__result { background: var(--vz-amber); }
.article-page.is-visual .ls-sx[data-result="911"] .vz-sx__result { background: var(--vz-red); }
.article-page.is-visual .ls-hist[data-band="standing"] .vz-ef__result,
.article-page.is-visual .ls-hist[data-band="racing"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .ls-hist[data-band="exertion"] .vz-ef__result,
.article-page.is-visual .ls-hist[data-band="nowarn"] .vz-ef__result,
.article-page.is-visual .ls-hist[data-band="lying"] .vz-ef__result,
.article-page.is-visual .ls-hist[data-band="palp"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual .ls-back { margin: 1rem 0 0; font-weight: 600; }
.article-page.is-visual .ls-ortho .vz-statline { margin: 1rem 0; }
/* Drawn hero: show the whole chart, no fade over the axis label. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/lightheadedness-vs-syncope/"] { object-fit: contain; object-position: 50% 50%; background: #f6f2ea; }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/lightheadedness-vs-syncope/"])::before { display: none; }
.article-page.is-visual .ls-act { display: grid; gap: 0.9rem; align-content: start; }

/* ---- icd-vs-pacemaker-comparison (batch 3, 2026-10-24) ---- */
/* pacemaker / ICD strip toggle (reuses the heart toggle; inline SVG strips + numbered key) */
.article-page.is-visual .vz-devswap .vz-heartswap__grid { align-items: start; }
.article-page.is-visual .vz-devswap .vz-heartswap__stage { aspect-ratio: 800 / 520; background: #fbf6ee; }
.article-page.is-visual .vz-devswap .vz-heartswap__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease; }
.article-page.is-visual .vz-devswap .vz-hs--icd { opacity: 0; }
.article-page.is-visual .vz-devswap[data-state="icd"] .vz-hs--icd { opacity: 1; }
.article-page.is-visual .vz-devswap[data-state="icd"] .vz-hs--pacer { opacity: 0; }
.article-page.is-visual .vz-devswap[data-state="icd"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-devswap[data-state="icd"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual ol.vz-devswap__key { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0.55rem; }
.article-page.is-visual ol.vz-devswap__key li { margin: 0; display: grid; grid-template-columns: 2.1rem minmax(0, 1fr); gap: 0.7rem; align-items: start; font-size: 1.05rem; line-height: 1.45; }
.article-page.is-visual ol.vz-devswap__key li b { width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--vz-ink); color: #fff; display: grid; place-items: center; font-family: var(--vz-num); font-weight: 800; font-size: 1rem; }
.article-page.is-visual ol.vz-devswap__key--icd { display: none; }
.article-page.is-visual .vz-devswap[data-state="icd"] ol.vz-devswap__key--icd { display: grid; }
.article-page.is-visual .vz-devswap[data-state="icd"] ol.vz-devswap__key--pacer { display: none; }
.article-page.is-visual p.vz-devswap__note { margin: 0.6rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-devswap .vz-heartswap__stage svg { transition: none; } }
/* paired video player */
.article-page.is-visual .vz-vidpair { margin: 1rem 0 2rem; }
.article-page.is-visual .vz-vidpair > .vz-segs { display: none; }
.article-page.is-visual .vz-vidpair.is-live > .vz-segs { display: flex; }
.article-page.is-visual .vz-vidpair .vz-video[hidden] { display: none !important; }
.article-page.is-visual .vz-vidpair .vz-video { margin-top: 1rem; }
/* yes / no cells in the device table */
.article-page.is-visual .vz-yn { font-weight: 700; }
.article-page.is-visual .vz-yn--y { color: var(--vz-teal-dk); }
.article-page.is-visual .vz-yn--n { color: var(--vz-muted); }
.article-page.is-visual .vz-devfinal > p { margin-top: 0; }
/* 911 panel sits in a two-up tier row: keep its top edge level with the amber panel (review 2026-10-24) */
.article-page.is-visual #when-to-call .vz-tiers .vz-911 { margin: 0; }
/* ---- bicuspid-aortic-valve (batch 3, 2026-10-24): three vs two leaflet toggle (inline SVG states on the shared heart toggle), finding decoder (.vz-ef, no scale), one-in-ten family figure ---- */
.article-page.is-visual .vz-bavswap .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.article-page.is-visual .vz-bavswap .vz-heartswap__stage { aspect-ratio: 640 / 320; background: #f6f2ea; }
.article-page.is-visual .vz-bavswap .vz-bavfig { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .vz-bavfig .vz-hs { opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .vz-bavswap[data-state="three"] .vz-bavfig .vz-hs--three,
.article-page.is-visual .vz-bavswap[data-state="two"] .vz-bavfig .vz-hs--two { opacity: 1; }
.article-page.is-visual .vz-bavfig__lab { font-family: var(--font-sans); font-size: 21px; font-weight: 700; fill: #1c2b40; }
.article-page.is-visual .vz-bavfig__n { font-family: var(--vz-num); font-size: 24px; font-weight: 800; fill: #0e7c6f; }
.article-page.is-visual .vz-bavswap[data-state="two"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-bavswap[data-state="two"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-bavswap .vz-segs { flex-wrap: wrap; }
.article-page.is-visual .vz-bavswap .vz-seg { flex: 1 1 200px; }
@media (max-width: 900px) { .article-page.is-visual .vz-bavswap .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .article-page.is-visual .vz-bavfig__lab { font-size: 30px; } .article-page.is-visual .vz-bavfig__n { font-size: 32px; } }
.article-page.is-visual .vz-bavwatch__q { font-family: var(--font-sans); font-weight: 700; font-size: 1.15rem; color: var(--vz-navy); margin: 0 0 0.8rem; }
.article-page.is-visual .vz-bavwatch .vz-segs { margin-bottom: 1.1rem; }
.article-page.is-visual .vz-bavwatch .vz-ef__result { border-left-color: #0e7c6f; }
.article-page.is-visual .vz-bavwatch[data-band="moderate"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-bavwatch[data-band="severe"] .vz-ef__result,
.article-page.is-visual .vz-bavwatch[data-band="aorta5"] .vz-ef__result { border-left-color: #d0612e; }
.article-page.is-visual .vz-bavwatch[data-band="aorta4"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-bavwatch[data-band="symptoms"] .vz-ef__result { border-left-color: #b5302a; }
.article-page.is-visual .vz-bavkidsfig .vz-bavkids { display: block; width: 100%; max-width: 760px; height: auto; margin: 0 auto 0.6rem; }
.article-page.is-visual .vz-when.bav-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.bav-when3 { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .article-page.is-visual .vz-when.bav-when4 { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-bavfig .vz-hs { transition: none; } }
/* ---- attr-older-adults (batch 3, 2026-10-24) ---- */
/* Stabilizer / silencer toggle: one inline SVG with three state layers on the shared heart toggle. */
.article-page.is-visual .vz-attrswap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .vz-attrswap .vz-heartswap__stage { aspect-ratio: 760 / 330; width: 100%; max-width: 900px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .vz-attrswap .vz-heartswap__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .vz-attrswap .vz-hs { opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .vz-attrswap[data-state="none"] .vz-hs--none,
.article-page.is-visual .vz-attrswap[data-state="stab"] .vz-hs--stab,
.article-page.is-visual .vz-attrswap[data-state="sil"] .vz-hs--sil { opacity: 1; }
.article-page.is-visual .vz-attrfig__lab { font-family: var(--font-sans); font-size: 24px; font-weight: 700; fill: #1c2b40; }
.article-page.is-visual .vz-attrswap .vz-meter { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.article-page.is-visual .vz-attrswap[data-state="none"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-attrswap[data-state="none"] .vz-meter__row--change dd { color: #9b2d23; }
@media (max-width: 1000px) { .article-page.is-visual .vz-attrswap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .article-page.is-visual .vz-attrswap .vz-meter { grid-template-columns: 1fr; } .article-page.is-visual .vz-attrfig__lab { font-size: 30px; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-attrswap .vz-hs { transition: none; } }
/* Workup sorter colours (reuses .vz-dx): abnormal AL tests = slow down (red-brown), confirmed ATTR = teal. */
.article-page.is-visual .vz-attrdx[data-result="dd"] .vz-dx__result,
.article-page.is-visual .vz-attrdx[data-result="hfpef"] .vz-dx__result { background: #7c3524; }
.article-page.is-visual .vz-attrdx[data-result="unclear"] .vz-dx__result { background: var(--vz-teal-dk); }
/* Two-group clue counter (.vz-clues), same family as .vz-rfcount. */
.article-page.is-visual .vz-clues { background: var(--vz-teal-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-clues p.vz-clues__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .vz-clues__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr); gap: 1.25rem; align-items: start; }
.article-page.is-visual .vz-clues__groups { display: grid; gap: 1.25rem; }
.article-page.is-visual .vz-clues__group { border-left: 6px solid var(--vz-navy); padding-left: 0.9rem; }
.article-page.is-visual .vz-clues__group--heart { border-left-color: var(--vz-amber); }
.article-page.is-visual .vz-clues h3.vz-clues__gh { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--vz-ink); margin: 0 0 0.2rem; }
.article-page.is-visual .vz-clues p.vz-clues__act { margin: 0 0 0.7rem; font-size: 1.02rem; color: var(--vz-muted); }
.article-page.is-visual .vz-clues__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; }
.article-page.is-visual .vz-clues .vz-opt { min-height: 56px; font-size: 1.06rem; border-color: rgba(20, 33, 61, 0.3); }
.article-page.is-visual .vz-clues .vz-opt__mark { border-color: var(--vz-navy); }
.article-page.is-visual .vz-clues .vz-opt[aria-pressed="true"] { border-color: var(--vz-navy); background: #fff; }
.article-page.is-visual .vz-clues .vz-opt[aria-pressed="true"] .vz-opt__mark { background: var(--vz-navy); }
.article-page.is-visual .vz-clues__group--heart .vz-opt { border-color: rgba(154, 106, 18, 0.4); }
.article-page.is-visual .vz-clues__group--heart .vz-opt__mark { border-color: var(--vz-amber); }
.article-page.is-visual .vz-clues__group--heart .vz-opt[aria-pressed="true"] { border-color: var(--vz-amber); background: #fffaf0; }
.article-page.is-visual .vz-clues__group--heart .vz-opt[aria-pressed="true"] .vz-opt__mark { background: var(--vz-amber); }
.article-page.is-visual .vz-clues__result { position: sticky; top: 1rem; background: var(--vz-navy); color: #e9edf4; border-radius: var(--vz-radius-sm); padding: 1.3rem 1.4rem; transition: background 0.3s ease; }
.article-page.is-visual .vz-clues[data-result="both"] .vz-clues__result { background: #7c3524; }
.article-page.is-visual .vz-clues p.vz-clues__count { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-gold); margin: 0 0 0.35rem; font-weight: 700; }
.article-page.is-visual .vz-clues p.vz-clues__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.15; color: #fff; margin: 0 0 0.75rem; }
.article-page.is-visual .vz-clues p.vz-clues__why { font-size: 1.05rem; line-height: 1.45; color: #e9edf4; margin: 0 0 0.8rem; }
.article-page.is-visual .vz-clues p.vz-clues__plan { font-size: 1rem; line-height: 1.4; color: var(--vz-gold); margin: 0; border-top: 1px solid rgba(255, 255, 255, 0.18); padding-top: 0.7rem; }
@media (max-width: 900px) { .article-page.is-visual .vz-clues__grid { grid-template-columns: 1fr; } .article-page.is-visual .vz-clues__result { position: static; } }
@media (max-width: 560px) { .article-page.is-visual .vz-clues__opts { grid-template-columns: 1fr; } .article-page.is-visual .vz-clues { padding: 1.2rem 1rem; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-clues__result { transition: none; } }
.article-page.is-visual .vz-hero__photo img[src^="/visual/attr-older-adults/"] { object-position: 62% 30%; }
@media (max-width: 560px) { .article-page.is-visual .vz-when.vz-when--attr { grid-template-columns: 1fr; } }
/* ---- smoking-cessation (batch 3, 2026-10-24) ---- */
/* Recovery timeline: reuses .vz-stepper; earlier stops stay tinted so the time adds up */
.article-page.is-visual .smk-tl p.smk-tl__lead { margin: 0 0 0.9rem; font-family: var(--font-sans); font-weight: 700; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .smk-tl .vz-stepper__list li:has(~ li .vz-stepper__btn[aria-pressed="true"]) .vz-stepper__btn { background: var(--vz-teal-bg); border-color: var(--vz-teal-dk); }
.article-page.is-visual .smk-tl .vz-stepper__list li:has(~ li .vz-stepper__btn[aria-pressed="true"]) .vz-stepper__n { background: var(--vz-teal-dk); color: #fff; }
.article-page.is-visual .smk-tl .vz-stepper__panel { border-left-color: var(--vz-teal); }
.article-page.is-visual .smk-tl p.smk-tl__foot { margin: 1rem 0 0; font-size: 1.05rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .smk-tl .vz-stepper__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Statlines with 3 or 4 numbers */
.article-page.is-visual .vz-statline.smk-stat4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.article-page.is-visual .vz-statline.smk-stat3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .article-page.is-visual .vz-statline.smk-stat4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .article-page.is-visual .vz-statline.smk-stat4, .article-page.is-visual .vz-statline.smk-stat3 { grid-template-columns: 1fr; } }
/* Medication card set */
.smk-meds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 0.75rem; }
.smk-med { background: #fff; border: 1px solid var(--vz-line); border-top: 6px solid var(--vz-slate, #6b778a); border-radius: var(--vz-radius); padding: 1.25rem 1.35rem 1.1rem; }
.smk-med--first { border-top-color: var(--vz-teal-dk); }
.smk-med__head { display: flex; gap: 0.8rem; align-items: center; margin-bottom: 0.6rem; }
.smk-med__icon { flex: none; display: inline-flex; width: 48px; height: 48px; border-radius: 999px; background: var(--vz-teal-bg); color: var(--vz-teal-dk); align-items: center; justify-content: center; }
.smk-med__icon svg { width: 28px; height: 28px; }
.article-page.is-visual .smk-med p.smk-med__tag { margin: 0; font-family: var(--font-sans); font-size: 0.82rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--vz-orange); }
.article-page.is-visual .smk-med h3 { margin: 0.1rem 0 0; font-size: 1.35rem; line-height: 1.2; }
.article-page.is-visual .smk-med p.smk-med__big { margin: 0 0 0.8rem; font-size: 1.05rem; color: var(--vz-muted); }
.article-page.is-visual .smk-med p.smk-med__big b { font-family: var(--vz-num); font-weight: 800; font-size: 1.7rem; color: var(--vz-teal-dk); margin-right: 0.25rem; }
.article-page.is-visual .smk-med dl { margin: 0; }
.article-page.is-visual .smk-med dt { font-family: var(--font-sans); font-weight: 700; font-size: 0.98rem; color: var(--vz-ink); margin: 0.6rem 0 0.15rem; }
.article-page.is-visual .smk-med dd { margin: 0; font-size: 1.04rem; line-height: 1.5; }
.article-page.is-visual p.smk-meds__note { font-size: 1rem; color: var(--vz-muted); margin: 0 0 1.5rem; }
@media (max-width: 800px) { .smk-meds { grid-template-columns: 1fr; } }
/* Timelines with 3 stops; first-weeks timeline with long text in two columns */
.article-page.is-visual .vz-when.smk-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .vz-when.smk-weeks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.smk-when3, .article-page.is-visual .vz-when.smk-weeks { grid-template-columns: 1fr; } }
/* Quit-plan checker: all 8 done */
.vz-habits.smk-plan[data-count="8"] .vz-habits__result { background: var(--vz-teal-dk); }
/* 4 D's cards inside the half-width split */
.article-page.is-visual .vz-split .vz-cards--two { margin: 0 0 1.2rem; }
.article-page.is-visual .vz-split .vz-cards--two .vz-card { padding: 1rem 1.05rem; }
.article-page.is-visual .vz-split .vz-cards--two .vz-card svg { width: 34px; height: 34px; margin-bottom: 0.4rem; }
/* Hero: the person stands left of centre in the source; keep her clear of the left fade on wide screens */
@media (min-width: 901px) { .article-page.is-visual .vz-hero__photo img[src^="/visual/smoking-cessation/"] { object-position: 4% 50%; } }
@media (max-width: 900px) { .article-page.is-visual .vz-hero__photo img[src^="/visual/smoking-cessation/"] { object-position: 30% 22%; } }
/* ---- ascending-aortic-aneurysm-ectasia (batch 3, 2026-10-24) ---- */
/* Hero is a hand-drawn figure: show it whole, no photo fade. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/ascending-aortic-aneurysm-ectasia/aa-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/ascending-aortic-aneurysm-ectasia/aa-hero"])::before { display: none; }
/* 911 panel extras */
.article-page.is-visual .aa-911-sec { padding-top: 0; }
.article-page.is-visual .aa-911 .aa-911__also { margin: 0.9rem 0 0.4rem; padding-top: 0.7rem; border-top: 1px solid rgba(181, 48, 42, 0.25); color: var(--vz-ink); font-weight: 700; }
.article-page.is-visual .aa-911 ul.aa-911__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.4rem 1.2rem; }
.article-page.is-visual .aa-911 ul.aa-911__list li { margin: 0; padding-left: 1.3rem; position: relative; font-size: 1.08rem; line-height: 1.45; }
.article-page.is-visual .aa-911 ul.aa-911__list li::before { content: ''; position: absolute; left: 0.1rem; top: 0.55em; width: 0.55rem; height: 0.55rem; border-radius: 999px; background: var(--vz-red); }
@media (max-width: 700px) { .article-page.is-visual .aa-911 ul.aa-911__list { grid-template-columns: 1fr; } }
/* Aorta toggle (reuses the heart-toggle JS) */
.article-page.is-visual .aa-swap .vz-heartswap__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.article-page.is-visual .aa-swap .vz-heartswap__stage { aspect-ratio: auto; padding: 0.6rem 0; }
.article-page.is-visual .aa-fig { display: block; width: 100%; max-width: 360px; height: auto; margin: 0 auto; }
.article-page.is-visual .aa-swap .vz-hs { transition: opacity 0.35s ease; }
.article-page.is-visual .aa-swap .vz-hs--ectasia, .article-page.is-visual .aa-swap .vz-hs--aneurysm { opacity: 0; }
.article-page.is-visual .aa-swap[data-state="ectasia"] .vz-hs--normal, .article-page.is-visual .aa-swap[data-state="aneurysm"] .vz-hs--normal { opacity: 0; }
.article-page.is-visual .aa-swap[data-state="ectasia"] .vz-hs--ectasia, .article-page.is-visual .aa-swap[data-state="aneurysm"] .vz-hs--aneurysm { opacity: 1; }
.article-page.is-visual .aa-fig__note { margin: 0.4rem 0 0; font-size: 0.95rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .aa-swap .vz-heartswap__grid { grid-template-columns: 1fr; } .article-page.is-visual .aa-fig { max-width: 280px; } }
/* Size decoder */
.aa-size { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.4rem 1.5rem 1.3rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .aa-size__step { margin: 0 0 0.5rem; font-family: var(--font-sans); font-weight: 700; font-size: 1.05rem; color: var(--vz-navy); }
.article-page.is-visual .aa-size .vz-segs--stack .vz-seg { flex: 1 1 150px; }
.article-page.is-visual .aa-size__profs .vz-seg { flex: 1 1 190px; }
.article-page.is-visual .aa-size__entry { margin: 0 0 1.2rem; }
.article-page.is-visual .aa-size__entry label { display: block; font-family: var(--font-sans); font-weight: 600; font-size: 1.02rem; color: var(--vz-ink); margin-bottom: 0.4rem; }
.article-page.is-visual .aa-size__row { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; }
.article-page.is-visual .aa-size__row .vz-segs { margin: 0; flex-wrap: nowrap; }
.article-page.is-visual .aa-size__units .vz-seg { min-width: 56px; }
.article-page.is-visual .aa-size__input { min-height: 48px; width: 11rem; max-width: 100%; box-sizing: border-box; padding: 0.5rem 0.9rem; border: 2px solid var(--vz-ink); border-radius: var(--vz-radius-sm); background: #fff; color: var(--vz-navy); font-family: var(--vz-num); font-size: 1.25rem; font-weight: 700; }
.article-page.is-visual .aa-size__go { appearance: none; cursor: pointer; min-height: 48px; padding: 0.55rem 1.2rem; border: 2px solid var(--vz-ink); border-radius: 999px; background: var(--vz-ink); color: #fff; font-family: var(--font-sans); font-size: 1.04rem; font-weight: 600; }
.article-page.is-visual .aa-size__go:focus-visible, .article-page.is-visual .aa-size__input:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 3px; }
.article-page.is-visual .aa-size__msg { margin: 0.5rem 0 0; font-size: 1.02rem; color: var(--vz-text); min-height: 1.2em; }
.article-page.is-visual .aa-size__msg.is-error { color: var(--vz-red); font-weight: 600; }
.aa-size__scale { position: relative; margin: 2.1rem 0 1.6rem; }
.aa-size__bar { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); height: 26px; border-radius: 999px; overflow: hidden; }
.aa-size__bar span { display: block; height: 100%; }
.aa-size__ticks { position: relative; height: 1.4rem; margin-top: 0.35rem; font-family: var(--font-sans); font-size: 0.95rem; font-weight: 600; color: var(--vz-muted); }
.aa-size__ticks span { position: absolute; top: 0; transform: translateX(-50%); }
.aa-size__ticks em { position: absolute; right: 0; top: 0; font-style: normal; }
.aa-size__mark { position: absolute; top: -7px; width: 6px; height: 40px; margin-left: -3px; background: var(--vz-navy); border: 2px solid #fff; border-radius: 4px; transition: left 0.35s ease; }
.aa-size__zone { position: absolute; top: -6px; height: 38px; border: 3px solid var(--vz-red); border-radius: 6px; box-sizing: border-box; background: rgba(181, 48, 42, 0.12); transition: left 0.35s ease, width 0.35s ease; }
.aa-size__zone.is-line { width: 0 !important; border-width: 0 0 0 4px; border-style: dashed; border-radius: 0; margin-left: -2px; background: none; }
.aa-size__zone span { position: absolute; bottom: 100%; left: 0; margin-bottom: 4px; white-space: nowrap; transform: translateX(-50%); font-family: var(--font-sans); font-size: 0.88rem; font-weight: 700; color: var(--vz-red); }
.aa-size__result { background: #fff; border-radius: var(--vz-radius-sm); padding: 1.1rem 1.25rem; border-left: 8px solid #b3ab95; transition: border-color 0.3s ease; }
.aa-size[data-band="m"] .aa-size__result { border-left-color: #129a8a; }
.aa-size[data-band="e"] .aa-size__result { border-left-color: #b8841f; }
.aa-size[data-band="a"] .aa-size__result { border-left-color: #c9742c; }
.aa-size[data-band="l"] .aa-size__result { border-left-color: #e0572e; }
.aa-size[data-band="s"] .aa-size__result { border-left-color: #b5302a; }
.article-page.is-visual .aa-size__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.45rem, 2.2vw, 1.9rem); line-height: 1.15; color: var(--vz-navy); margin: 0 0 0.4rem; }
.article-page.is-visual .aa-size__means, .article-page.is-visual .aa-size__img, .article-page.is-visual .aa-size__line, .article-page.is-visual .aa-size__cmp { margin: 0 0 0.5rem; font-size: 1.1rem; line-height: 1.5; }
.article-page.is-visual .aa-size__lab { margin: 0.7rem 0 0.15rem; font-family: var(--font-sans); font-size: 0.86rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-orange); }
.article-page.is-visual .aa-size__cmp { font-weight: 700; color: var(--vz-navy); background: var(--vz-red-bg); border-radius: 8px; padding: 0.5rem 0.75rem; margin-top: 0.6rem; }
.article-page.is-visual .aa-size__note { margin: 0.9rem 0 0; font-size: 0.98rem; color: var(--vz-muted); line-height: 1.5; }
@media (max-width: 600px) { .aa-size { padding: 1.1rem 1rem; } .aa-size__ticks { font-size: 0.8rem; } .article-page.is-visual .aa-size .vz-segs--stack .vz-seg { flex: 1 1 40%; } .article-page.is-visual .aa-size__input { width: 8rem; } }
@media (prefers-reduced-motion: reduce) { .aa-size__mark, .aa-size__zone, .article-page.is-visual .aa-swap .vz-hs { transition: none; } }
/* Drugs-to-avoid panel and step list spacing */
.article-page.is-visual .aa-avoid { margin: 0.5rem 0 1.5rem; }
.article-page.is-visual .aa-avoid p { margin: 0.4rem 0 0; }
/* ---- sleep-apnea-heart-failure (batch 3, 2026-10-24) ---- */
/* Airway toggle: the generic heart toggle (.vz-heartswap, data-swap rows) with three inline
   drawn SVG stages. States: osa (obstructive pause), csa (central pause), cpap. */
.article-page.is-visual .vz-osaswap .vz-heartswap__stage { aspect-ratio: 1000 / 520; }
.article-page.is-visual .vz-osaswap .vz-heartswap__stage svg {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease;
}
.article-page.is-visual .vz-osaswap .vz-hs--csa,
.article-page.is-visual .vz-osaswap .vz-hs--cpap { opacity: 0; }
.article-page.is-visual .vz-osaswap[data-state="csa"] .vz-hs--osa,
.article-page.is-visual .vz-osaswap[data-state="cpap"] .vz-hs--osa { opacity: 0; }
.article-page.is-visual .vz-osaswap[data-state="csa"] .vz-hs--csa,
.article-page.is-visual .vz-osaswap[data-state="cpap"] .vz-hs--cpap { opacity: 1; }
.article-page.is-visual .vz-osaswap[data-state="osa"] .vz-meter__row--change { border-left-color: var(--vz-red, #b5302a); background: #f9e1dc; }
.article-page.is-visual .vz-osaswap[data-state="osa"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-osaswap[data-state="csa"] .vz-meter__row--change { border-left-color: #b8841f; background: #fcf0d9; }
.article-page.is-visual .vz-osaswap[data-state="cpap"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk, #0e7c6f); background: #e3f2ee; }
.article-page.is-visual .vz-osaswap .vz-segs { flex-wrap: wrap; }
/* Cheyne-Stokes drawing (static) */
.article-page.is-visual .vz-csr { margin: 1.4rem 0 1.6rem; }
.article-page.is-visual .vz-csr__svg { display: block; width: 100%; height: auto; border-radius: var(--vz-radius-sm, 10px); }
/* AFib-after-ablation bars heading; AHI decoder lead and wrapping buttons */
.article-page.is-visual .vz-osabars__head { font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem; color: var(--vz-navy, #14213d); margin: 0 0 0.8rem; }
.article-page.is-visual .vz-ef--ahi .vz-ef__lead { margin: 0 0 0.8rem; font-size: 1.05rem; color: var(--vz-muted, #5f5a4d); }
.article-page.is-visual .vz-ef--ahi .vz-segs { flex-wrap: wrap; margin-bottom: 1.1rem; }
@media (max-width: 600px) { .article-page.is-visual .vz-ef--ahi .vz-segs .vz-seg { flex: 1 1 100%; text-align: center; } }
@media (prefers-reduced-motion: reduce) {
  .article-page.is-visual .vz-osaswap .vz-heartswap__stage svg { transition: none; }
}
/* text-only closer (no photo cell): one column; review 2026-10-24 dropped the reused spaniel photo */
.article-page.is-visual .vz-closer--text { grid-template-columns: 1fr; }
.article-page.is-visual .vz-closer--text .vz-closer__text { max-width: 60rem; padding: 2.25rem 2.5rem; }
@media (max-width: 600px) { .article-page.is-visual .vz-closer--text .vz-closer__text { padding: 1.6rem 1.4rem; } }
@media (max-width: 600px) {
  .article-page.is-visual .vz-osaswap .vz-heartswap__stage svg text:not(.vz-osa-box) { font-size: 56px; }
  .article-page.is-visual .vz-osaswap .vz-heartswap__stage svg .vz-osa-minor { display: none; }
  .article-page.is-visual .vz-csr__svg text { font-size: 56px; }
}
/* ---- bicuspid-aortic-valve follow-up (2026-10-24) ---- */
/* figure hero (hand-drawn heart, aorta and two-leaflet valve), shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/bicuspid-aortic-valve/bav-hero-figure"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/bicuspid-aortic-valve/bav-hero-figure"])::before { display: none; }

/* ---- lipfendra-enlicitide (batch 3, 2026-10-24) ---- */
/* figure hero (hand-drawn tablet, glass of water and 30-minute clock), shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/lipfendra-enlicitide/lip-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/lipfendra-enlicitide/lip-hero"])::before { display: none; }
/* PCSK9 toggle reuses .vz-heartswap + .vz-pcskswap + .vz-leqswap (inline SVG layers, 1200x640). Morning routine reuses .vz-stepper (5 steps). */
/* ---- minoca (batch 3, 2026-10-24) ---- */
/* Five cause cards (odd last card spans the row), six-step workup stepper (.vz-stepper),
   treatment-by-cause decoder (.vz-ef), question tracker (.vz-habits, 5 items), figure hero. */
.article-page.is-visual .mn-causes .vz-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.article-page.is-visual .vz-card p.mn-find { margin-top: 0.8rem; padding: 0.7rem 0.9rem; background: var(--vz-teal-bg); border-radius: var(--vz-radius-sm); font-size: 1.05rem; line-height: 1.5; }
.article-page.is-visual .vz-card p.mn-find b { color: var(--vz-teal-dk); }
.article-page.is-visual .mn-workup .vz-stepper__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .article-page.is-visual .mn-workup .vz-stepper__list { grid-template-columns: 1fr; } }
.article-page.is-visual .mn-steps-nojs { margin: 0; padding-left: 1.4rem; }
.article-page.is-visual .vz-ef.mn-tx .vz-segs { flex-wrap: wrap; margin-bottom: 1.1rem; }
.article-page.is-visual .vz-ef.mn-tx .vz-segs--stack .vz-seg { flex: 1 1 180px; min-height: 56px; line-height: 1.3; }
.article-page.is-visual .vz-ef.mn-tx[data-band="spasm"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef.mn-tx[data-band="micro"] .vz-ef__result { border-left-color: #5f6b7a; }
.article-page.is-visual .vz-ef.mn-tx[data-band="scad"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual .vz-ef.mn-tx[data-band="clot"] .vz-ef__result { border-left-color: #14213d; }
.vz-habits.mn-ask[data-count="5"] .vz-habits__result { background: var(--vz-teal-dk); }
.article-page.is-visual .vz-hero__photo img[src^="/visual/minoca/minoca-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/minoca/minoca-hero"])::before { display: none; }
/* ---- metabolic-syndrome (batch 4, 2026-10-24) ---- */
/* figure hero (hand-drawn insulin-resistance hub and the five criteria), shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/metabolic-syndrome/ms-hero-figure"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/metabolic-syndrome/ms-hero-figure"])::before { display: none; }
/* the insulin-resistance loop drawing (static) */
.article-page.is-visual .vz-figure svg.ms-loop { display: block; width: 100%; max-width: 560px; height: auto; margin: 0 auto 0.6rem; }
.ms-loop .ms-loop__t { font-family: var(--font-sans, sans-serif); font-size: 29px; font-weight: 700; }
.ms-loop .ms-loop__c { font-family: var(--font-serif, serif); font-size: 34px; font-weight: 600; fill: #1c2b40; }
.ms-loop .ms-loop__c2 { font-family: var(--font-sans, sans-serif); font-size: 24px; fill: #5f5a4d; }
/* habit checker with five long items: one column of options, teal when all five are ticked */
.article-page.is-visual .vz-habits.ms-habits .vz-habits__opts { grid-template-columns: 1fr; }
.vz-habits.ms-habits[data-count="5"] .vz-habits__result { background: var(--vz-teal-dk); }
/* ---- doac-reversal-eliquis-xarelto-pradaxa (batch 4, 2026-10-24) ---- */
/* figure hero (hand-drawn pills wired to their reversal vials), shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/doac-reversal-eliquis-xarelto-pradaxa/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/doac-reversal-eliquis-xarelto-pradaxa/"])::before { display: none; }
/* question line above the reused .vz-fit control */
.article-page.is-visual p.drv-fit__q { font-family: var(--vz-serif); font-weight: 600; font-size: 1.45rem; color: var(--vz-ink); margin: 0 0 0.7rem; }
/* bleeding sorter: result colours for its four ranks (reuses the ranked .vz-sx) */
.article-page.is-visual .drv-sx[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .drv-sx[data-result="home"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .drv-sx[data-result="day"] .vz-sx__result { background: var(--vz-amber); }
.article-page.is-visual .drv-sx[data-result="er"] .vz-sx__result { background: #8a2a22; }
.article-page.is-visual .drv-sx[data-result="911"] .vz-sx__result { background: var(--vz-red); }
.article-page.is-visual p.drv-after { margin-top: 1.4rem; }
/* ---- takotsubo-cardiomyopathy (batch 4, 2026-10-24) ---- */
/* Heart-shape toggle (normal vs apical ballooning) and four-pattern toggle, both reuse
   .vz-heartswap with inline SVG states (.tt-fig). Figure hero shown whole. */
.article-page.is-visual .tt-swap .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.article-page.is-visual .tt-swap .vz-heartswap__stage { aspect-ratio: 640 / 480; }
.article-page.is-visual .tt-swap .tt-fig { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .tt-fig .vz-hs { opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .tt-swap[data-state="normal"] .tt-fig .vz-hs--normal,
.article-page.is-visual .tt-swap[data-state="tako"] .tt-fig .vz-hs--tako,
.article-page.is-visual .tt-swap[data-state="apical"] .tt-fig .vz-hs--apical,
.article-page.is-visual .tt-swap[data-state="mid"] .tt-fig .vz-hs--mid,
.article-page.is-visual .tt-swap[data-state="basal"] .tt-fig .vz-hs--basal,
.article-page.is-visual .tt-swap[data-state="focal"] .tt-fig .vz-hs--focal { opacity: 1; }
.article-page.is-visual .tt-fig .tt-lab { font-family: var(--font-sans); font-size: 20px; font-weight: 700; fill: #1c2b40; }
.article-page.is-visual .tt-fig .tt-ok { font-family: var(--font-sans); font-size: 20px; font-weight: 700; fill: #0e7c6f; }
.article-page.is-visual .tt-fig .tt-call { font-family: var(--font-sans); font-size: 20px; font-weight: 700; fill: #b5302a; }
.article-page.is-visual .tt-heartswap[data-state="tako"] .vz-meter__row--change,
.article-page.is-visual .tt-patternswap .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .tt-heartswap[data-state="tako"] .vz-meter__row--change dd,
.article-page.is-visual .tt-patternswap .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .tt-heartswap[data-state="normal"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #e3f2ee; }
.article-page.is-visual .tt-heartswap[data-state="normal"] .vz-meter__row--change dd { color: #0b5f55; }
.article-page.is-visual .tt-swap .vz-meter dd { font-size: 1.05rem; }
.article-page.is-visual .tt-swap .vz-segs { flex-wrap: wrap; }
.article-page.is-visual .tt-swap .vz-seg { flex: 1 1 150px; }
@media (max-width: 900px) { .article-page.is-visual .tt-swap .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .article-page.is-visual .tt-fig .tt-lab, .article-page.is-visual .tt-fig .tt-ok, .article-page.is-visual .tt-fig .tt-call { font-size: 26px; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .tt-fig .vz-hs { transition: none; } }
.article-page.is-visual .vz-hero__photo img[src^="/visual/takotsubo-cardiomyopathy/tt-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/takotsubo-cardiomyopathy/tt-hero"])::before { display: none; }
.article-page.is-visual .vz-when.tt-when b { font-size: 1.25rem; }
@media (max-width: 760px) { .article-page.is-visual .vz-when.tt-when { grid-template-columns: 1fr; } }
/* ---- secondary-hypertension (batch 3, 2026-10-24) ---- */
/* Cause clue counter (.vz-causeclue), same family as .vz-clues / .vz-rfcount; one colour per group. */
.article-page.is-visual .vz-causeclue { background: var(--vz-teal-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.4rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-causeclue p.vz-causeclue__lead { margin: 0 0 1.1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .vz-causeclue__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr); gap: 1.25rem; align-items: start; }
.article-page.is-visual .vz-causeclue__groups { display: grid; gap: 1.25rem; }
.article-page.is-visual .vz-causeclue__group { --g: var(--vz-navy); --gbg: #fff; border-left: 6px solid var(--g); padding-left: 0.9rem; }
.article-page.is-visual .vz-causeclue__group--adrenaline { --g: #c2410c; --gbg: #fdf1ec; }
.article-page.is-visual .vz-causeclue__group--aldosterone { --g: var(--vz-amber); --gbg: #fffaf0; }
.article-page.is-visual .vz-causeclue__group--sleep { --g: var(--vz-teal-dk); --gbg: #fff; }
.article-page.is-visual .vz-causeclue h3.vz-causeclue__gh { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--vz-ink); margin: 0 0 0.2rem; }
.article-page.is-visual .vz-causeclue p.vz-causeclue__act { margin: 0 0 0.7rem; font-size: 1.02rem; color: var(--vz-muted); }
.article-page.is-visual .vz-causeclue__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; }
.article-page.is-visual .vz-causeclue .vz-opt { min-height: 56px; font-size: 1.06rem; border-color: rgba(20, 33, 61, 0.3); }
.article-page.is-visual .vz-causeclue .vz-opt__mark { border-color: var(--g); }
.article-page.is-visual .vz-causeclue .vz-opt[aria-pressed="true"] { border-color: var(--g); background: var(--gbg); }
.article-page.is-visual .vz-causeclue .vz-opt[aria-pressed="true"] .vz-opt__mark { background: var(--g); }
.article-page.is-visual .vz-causeclue__result { position: sticky; top: 1rem; background: var(--vz-navy); color: #e9edf4; border-radius: var(--vz-radius-sm); padding: 1.3rem 1.4rem; }
.article-page.is-visual .vz-causeclue p.vz-causeclue__count { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-gold); margin: 0 0 0.35rem; font-weight: 700; }
.article-page.is-visual .vz-causeclue p.vz-causeclue__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.15; color: #fff; margin: 0 0 0.75rem; }
.article-page.is-visual .vz-causeclue ul.vz-causeclue__split { list-style: none; padding: 0; margin: 0 0 0.8rem; display: grid; gap: 0.3rem; }
.article-page.is-visual .vz-causeclue ul.vz-causeclue__split li { margin: 0; padding: 0; font-size: 1.02rem; color: #b9c3d3; }
.article-page.is-visual .vz-causeclue ul.vz-causeclue__split li::before { content: none; }
.article-page.is-visual .vz-causeclue ul.vz-causeclue__split li b { display: inline-block; min-width: 1.6rem; font-family: var(--vz-num); font-weight: 800; color: #fff; }
.article-page.is-visual .vz-causeclue ul.vz-causeclue__split li.is-on { color: #fff; }
.article-page.is-visual .vz-causeclue p.vz-causeclue__why { font-size: 1.05rem; line-height: 1.45; color: #e9edf4; margin: 0 0 0.8rem; }
.article-page.is-visual .vz-causeclue p.vz-causeclue__plan { font-size: 1rem; line-height: 1.4; color: var(--vz-gold); margin: 0; border-top: 1px solid rgba(255, 255, 255, 0.18); padding-top: 0.7rem; }
@media (max-width: 900px) { .article-page.is-visual .vz-causeclue__grid { grid-template-columns: 1fr; } .article-page.is-visual .vz-causeclue__result { position: static; } }
@media (max-width: 560px) { .article-page.is-visual .vz-causeclue__opts { grid-template-columns: 1fr; } .article-page.is-visual .vz-causeclue { padding: 1.2rem 1rem; } }
/* Cause explorer: one inline SVG on the shared heart toggle; the chosen cause stays bright. */
.article-page.is-visual .vz-shswap .vz-heartswap__stage { aspect-ratio: 500 / 550; max-width: 380px; width: 100%; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .vz-shswap .vz-heartswap__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .vz-shswap .shx-part { opacity: 0.22; transition: opacity 0.4s ease; }
.article-page.is-visual .vz-shswap[data-state="kidney"] .shx-part--kidney,
.article-page.is-visual .vz-shswap[data-state="adrenal"] .shx-part--adrenal,
.article-page.is-visual .vz-shswap[data-state="sleep"] .shx-part--sleep,
.article-page.is-visual .vz-shswap[data-state="meds"] .shx-part--meds { opacity: 1; }
.article-page.is-visual .vz-shswap .vz-meter__row { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .vz-shswap .vz-meter dd { font-weight: 600; font-size: 1.08rem; }
@media (max-width: 900px) { .article-page.is-visual .vz-shswap .vz-heartswap__stage { max-width: 300px; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-shswap .shx-part { transition: none; } }
.article-page.is-visual .vz-shswap .vz-heartswap__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 900px) { .article-page.is-visual .vz-shswap .vz-heartswap__grid { grid-template-columns: 1fr; } }
/* figure hero (hand-drawn body outline with the cause sites), shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/secondary-hypertension/sh-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/secondary-hypertension/sh-hero"])::before { display: none; }
/* ---- scad-spontaneous-coronary-dissection (batch 3, 2026-10-24) ---- */
/* artery toggle and angiogram type decoder: inline SVG states on the shared heart toggle (.vz-heartswap), figure above the rows */
.article-page.is-visual .sc-swap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .sc-arteryswap .vz-heartswap__stage { aspect-ratio: 800 / 400; width: 100%; max-width: 920px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .sc-typeswap .vz-heartswap__stage { aspect-ratio: 800 / 300; width: 100%; max-width: 920px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .sc-swap .sc-fig { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .sc-fig .vz-hs { opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .sc-swap[data-state="healthy"] .sc-fig .vz-hs--healthy,
.article-page.is-visual .sc-swap[data-state="plaque"] .sc-fig .vz-hs--plaque,
.article-page.is-visual .sc-swap[data-state="scad"] .sc-fig .vz-hs--scad,
.article-page.is-visual .sc-swap[data-state="healed"] .sc-fig .vz-hs--healed,
.article-page.is-visual .sc-swap[data-state="type1"] .sc-fig .vz-hs--type1,
.article-page.is-visual .sc-swap[data-state="type2"] .sc-fig .vz-hs--type2,
.article-page.is-visual .sc-swap[data-state="type3"] .sc-fig .vz-hs--type3,
.article-page.is-visual .sc-swap[data-state="type4"] .sc-fig .vz-hs--type4 { opacity: 1; }
.article-page.is-visual .sc-fig text { font-family: var(--font-sans); font-size: 25px; font-weight: 700; }
.article-page.is-visual .sc-fig .sc-lab { fill: #1c2b40; }
.article-page.is-visual .sc-fig .sc-call { fill: #b5302a; }
.article-page.is-visual .sc-fig .sc-call--teal { fill: #0e7c6f; }
.article-page.is-visual .sc-fig .sc-in { fill: #ffffff; }
.article-page.is-visual .sc-swap .vz-segs { flex-wrap: wrap; }
.article-page.is-visual .sc-swap .vz-seg { flex: 1 1 150px; }
.article-page.is-visual .sc-swap .vz-meter dd { font-size: 1.05rem; }
.article-page.is-visual .sc-arteryswap[data-state="plaque"] .vz-meter__row--change,
.article-page.is-visual .sc-arteryswap[data-state="scad"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .sc-arteryswap[data-state="scad"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .sc-arteryswap[data-state="healed"] .vz-meter__row--change { border-left-color: var(--vz-teal); background: var(--vz-teal-wash, #e3f2ee); }
.article-page.is-visual .sc-note { font-size: 0.95rem; color: var(--vz-muted); margin: 0.4rem 0 0; }
@media (max-width: 600px) { .article-page.is-visual .sc-fig text { font-size: 34px; } .article-page.is-visual .sc-swap .vz-seg { flex: 1 1 40%; text-align: center; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .sc-fig .vz-hs { transition: none; } }
/* three always-visible "when to call" tiers side by side on wide screens */
@media (min-width: 1000px) { .article-page.is-visual .sc-tiers3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 801px) and (max-width: 999px) { .article-page.is-visual .sc-tiers3 > .vz-tier--red { grid-column: 1 / -1; } }
/* figure hero, shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/scad-spontaneous-coronary-dissection/scad-hero-figure"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/scad-spontaneous-coronary-dissection/scad-hero-figure"])::before { display: none; }
/* ---- troponin (batch 3, 2026-10-24) ---- */
/* Pattern toggle on the generic heart toggle (.vz-tropswap: acute / chronic / low, drawn SVG stage),
   two-question reader on the generic sorter (.vz-tropdx colours), 99th-percentile bar figure, 3-up .vz-when. */
.article-page.is-visual .vz-tropswap .vz-heartswap__stage { aspect-ratio: 1000 / 500; }
.article-page.is-visual .vz-tropswap .vz-heartswap__stage svg {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease;
}
.article-page.is-visual .vz-tropswap .vz-hs--chronic,
.article-page.is-visual .vz-tropswap .vz-hs--low { opacity: 0; }
.article-page.is-visual .vz-tropswap[data-state="chronic"] .vz-hs--chronic,
.article-page.is-visual .vz-tropswap[data-state="low"] .vz-hs--low { opacity: 1; }
.article-page.is-visual .vz-tropswap[data-state="chronic"] .vz-hs--acute,
.article-page.is-visual .vz-tropswap[data-state="low"] .vz-hs--acute { opacity: 0; }
.article-page.is-visual .vz-tropswap[data-state="acute"] .vz-meter__row--change { border-left-color: var(--vz-red, #b5302a); background: #f9e1dc; }
.article-page.is-visual .vz-tropswap[data-state="acute"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-tropswap[data-state="chronic"] .vz-meter__row--change { border-left-color: #b8841f; background: #fcf0d9; }
.article-page.is-visual .vz-tropswap[data-state="chronic"] .vz-meter__row--change dd { color: #6f4c0d; }
.article-page.is-visual .vz-tropswap[data-state="low"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk, #0e7c6f); background: #e3f2ee; }
.article-page.is-visual .vz-tropdx[data-result="none"] .vz-dx__result { background: var(--vz-navy); }
.article-page.is-visual .vz-tropdx[data-result="dd"] .vz-dx__result { background: var(--vz-amber); }
.article-page.is-visual .vz-tropdx[data-result="unclear"] .vz-dx__result { background: #6a5a2a; }
.article-page.is-visual .vz-tropdx[data-result="hfpef"] .vz-dx__result { background: #7c3524; }
.article-page.is-visual .vz-troppct__svg { display: block; width: 100%; max-width: 820px; height: auto; margin: 0 auto; border-radius: var(--vz-radius-sm); }
.article-page.is-visual .vz-when.vz-when--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) {
  .article-page.is-visual .vz-when.vz-when--3 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .article-page.is-visual .vz-tropswap .vz-heartswap__stage svg text { font-size: 48px; }
  .article-page.is-visual .vz-troppct__svg text { font-size: 46px; }
}
/* figure hero, shown whole without the photo fade (same approach as bicuspid-aortic-valve) */
.article-page.is-visual .vz-hero__photo img[src^="/visual/troponin/troponin-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/troponin/troponin-hero"])::before { display: none; }
@media (prefers-reduced-motion: reduce) {
  .article-page.is-visual .vz-tropswap .vz-heartswap__stage svg { transition: none; }
}
/* ---- a1c-diabetes-report-card (batch 3, 2026-10-24) ---- */
/* figure hero (hand-drawn report card), shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/a1c-diabetes-report-card/a1c-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/a1c-diabetes-report-card/a1c-hero"])::before { display: none; }
/* report-card decoder: grade colours on the result border, letter ticks */
.article-page.is-visual .a1c-grade[data-band="a"] .vz-ef__result { border-left-color: #12998a; }
.article-page.is-visual .a1c-grade[data-band="b"] .vz-ef__result { border-left-color: #3f8f5f; }
.article-page.is-visual .a1c-grade[data-band="c"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .a1c-grade[data-band="d"] .vz-ef__result { border-left-color: #d0612e; }
.article-page.is-visual .a1c-grade[data-band="f"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual .a1c-grade .vz-segs { flex-wrap: wrap; margin-bottom: 1.1rem; }
.article-page.is-visual .a1c-grade .vz-efscale__ticks { font-family: var(--vz-serif); font-size: 1.25rem; font-weight: 700; color: var(--vz-navy); }
@media (max-width: 600px) { .article-page.is-visual .a1c-grade .vz-segs .vz-seg { flex: 1 1 30%; text-align: center; } }
/* drawn figures */
.article-page.is-visual .a1c-figure { margin: 0; }
.article-page.is-visual .a1c-figure svg.a1c-fig { display: block; width: 100%; height: auto; }
.article-page.is-visual .a1c-figure + p, .article-page.is-visual .a1c-figure + .vz-statline { margin-top: 1.25rem; }
.article-page.is-visual h3.a1c-h3 { font-family: var(--vz-serif); font-weight: 600; font-size: 1.6rem; color: var(--vz-navy); margin: 2rem 0 0.6rem; }
.article-page.is-visual .a1c-when { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual #measures .vz-bars + p { margin-top: 1.25rem; }
@media (max-width: 760px) { .article-page.is-visual .a1c-when { grid-template-columns: 1fr; } }
/* A1C to average glucose converter */
.article-page.is-visual .a1c-eag { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.3rem; margin: 1.5rem 0 2rem; border-top: 6px solid var(--vz-navy); }
.article-page.is-visual p.a1c-eag__lead { margin: 0 0 1.1rem; font-size: 1.1rem; color: var(--vz-ink); }
.article-page.is-visual p.a1c-eag__nojs { margin: 0 0 1rem; font-weight: 600; color: var(--vz-muted); }
.article-page.is-visual .a1c-eag__nojs[hidden], .article-page.is-visual .a1c-eag__entry[hidden], .article-page.is-visual .a1c-eag [hidden] { display: none; }
.article-page.is-visual .a1c-eag__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1.5rem; align-items: start; }
.article-page.is-visual .a1c-eag__entry label { display: block; font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem; color: var(--vz-navy); margin: 0 0 0.4rem; }
.article-page.is-visual .a1c-eag__inrow { display: flex; align-items: center; gap: 0.6rem; margin: 0 0 0.8rem; }
.article-page.is-visual .a1c-eag__input {
  width: 7rem; min-height: 60px; box-sizing: border-box; padding: 0.3rem 0.85rem;
  font-family: var(--vz-num); font-weight: 800; font-size: 1.7rem; color: var(--vz-navy);
  background: #fff; border: 2px solid var(--vz-ink); border-radius: var(--vz-radius-sm); margin: 0;
}
.article-page.is-visual .a1c-eag__input:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 3px; }
.article-page.is-visual .a1c-eag__unit { font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem; color: var(--vz-muted); }
.article-page.is-visual .a1c-eag__go {
  min-height: 56px; padding: 0.6rem 1.3rem; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--vz-navy); color: #fff; font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem;
}
.article-page.is-visual .a1c-eag__go:hover { background: var(--vz-ink); }
.article-page.is-visual .a1c-eag__go:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 3px; }
.article-page.is-visual p.a1c-eag__msg { margin: 0.8rem 0 0; font-size: 1.02rem; min-height: 1.2em; }
.article-page.is-visual p.a1c-eag__msg.is-error { color: var(--vz-red); font-weight: 600; }
.article-page.is-visual .a1c-eag__out { background: #fff; border-radius: var(--vz-radius-sm); padding: 1.1rem 1.25rem; border-left: 8px solid var(--vz-slate-bg); }
.article-page.is-visual .a1c-eag[data-band="normal"] .a1c-eag__out { border-left-color: #12998a; }
.article-page.is-visual .a1c-eag[data-band="pre"] .a1c-eag__out { border-left-color: #b8841f; }
.article-page.is-visual .a1c-eag[data-band="dm"] .a1c-eag__out { border-left-color: #a82e27; }
.article-page.is-visual p.a1c-eag__big { margin: 0 0 0.3rem; display: flex; align-items: baseline; gap: 0.6rem; flex-wrap: wrap; }
.article-page.is-visual .a1c-eag__big b { font-family: var(--vz-num); font-weight: 800; font-size: clamp(2.6rem, 5vw, 3.4rem); line-height: 1; color: var(--vz-navy); }
.article-page.is-visual .a1c-eag__big span { font-family: var(--font-sans); font-weight: 700; font-size: 1.05rem; color: var(--vz-muted); }
.article-page.is-visual .a1c-eag__out p { margin: 0.35rem 0 0; font-size: 1.05rem; line-height: 1.5; }
.article-page.is-visual p.a1c-eag__line { font-weight: 600; color: var(--vz-ink); }
.article-page.is-visual .a1c-eag__scale { position: relative; margin: 1.6rem 0 0.4rem; padding-top: 1.4rem; }
.article-page.is-visual .a1c-eag__track { position: relative; height: 22px; border-radius: 999px; overflow: hidden; background: var(--vz-tile); }
.article-page.is-visual .a1c-eag__track span { position: absolute; top: 0; bottom: 0; }
.article-page.is-visual .a1c-eag__ticks { position: relative; height: 1.5rem; margin-top: 0.35rem; font-family: var(--vz-num); font-size: 0.95rem; font-weight: 700; color: var(--vz-muted); }
.article-page.is-visual .a1c-eag__ticks span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.article-page.is-visual .a1c-eag__ticks span:last-child { transform: translateX(-100%); }
.article-page.is-visual .a1c-eag__you { position: absolute; top: 0; width: 0; height: calc(1.4rem + 22px); border-left: 4px solid var(--vz-navy); transform: translateX(-2px); transition: left 0.35s ease; }
.article-page.is-visual .a1c-eag__you::before { content: ""; position: absolute; top: -2px; left: -10px; width: 16px; height: 16px; border-radius: 50%; background: var(--vz-navy); }
.article-page.is-visual p.a1c-eag__legend { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; margin: 0.4rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
.article-page.is-visual .a1c-eag__legend i { display: inline-block; width: 14px; height: 14px; border-radius: 3px; margin-right: 0.4rem; vertical-align: -1px; }
.article-page.is-visual p.a1c-eag__caveat { margin: 1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
.article-page.is-visual p.a1c-eag__plan { margin: 0.8rem 0 0; font-weight: 700; color: var(--vz-navy); font-size: 1.05rem; }
@media (max-width: 760px) { .article-page.is-visual .a1c-eag__grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .article-page.is-visual .a1c-eag { padding: 1.2rem 1.1rem; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .a1c-eag__you { transition: none; } }
/* ---- young-heart-attack-workup (batch 3, 2026-10-24) ---- */
/* Drawn hero (four artery sections, contain, no fade); cause toggle reusing .vz-heartswap with
   five inline-SVG states (.ya-swap); workup list reusing .vz-habits; three-stop .vz-when. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/young-heart-attack-workup/ya-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/young-heart-attack-workup/ya-hero"])::before { display: none; }
.article-page.is-visual .ya-swap .vz-heartswap__grid { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; }
.article-page.is-visual .ya-swap .vz-heartswap__stage { aspect-ratio: 640 / 320; width: 100%; max-width: 860px; margin: 0 auto; background: #ffffff; }
.article-page.is-visual .ya-swap .ya-fig { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .ya-swap .vz-hs { opacity: 0; transition: opacity .35s ease; }
.article-page.is-visual .ya-swap[data-state="plaque"] .vz-hs--plaque,
.article-page.is-visual .ya-swap[data-state="tear"] .vz-hs--tear,
.article-page.is-visual .ya-swap[data-state="spasm"] .vz-hs--spasm,
.article-page.is-visual .ya-swap[data-state="clot"] .vz-hs--clot,
.article-page.is-visual .ya-swap[data-state="minoca"] .vz-hs--minoca { opacity: 1; }
.article-page.is-visual .ya-swap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.article-page.is-visual .ya-swap .vz-segs--stack .vz-seg { flex: 1 1 180px; min-height: 52px; line-height: 1.25; }
@media (max-width: 700px) { .article-page.is-visual .ya-swap .vz-meter { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .ya-swap .vz-hs { transition: none; } }
.article-page.is-visual .vz-when.ya-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.ya-when3 { grid-template-columns: minmax(0, 1fr); } }
.article-page.is-visual .ya-floor ul { columns: 2; column-gap: 2rem; }
.article-page.is-visual .ya-floor li { break-inside: avoid; }
@media (max-width: 700px) { .article-page.is-visual .ya-floor ul { columns: 1; } }

/* ---- arbs-how-they-work (batch 3, 2026-10-24) ---- */
/* figure hero (hand-drawn AT1 / AT2 receptor drawing) */
.article-page.is-visual .vz-hero__photo img[src^="/visual/arbs-how-they-work/arb-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/arbs-how-they-work/arb-hero"])::before { display: none; }
/* .vz-arbstack: what gets layered on top of the ARB, two columns, foundation at the bottom */
.article-page.is-visual .vz-arbstack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem; background: var(--vz-figure, #f6f2ea); border-radius: var(--vz-radius, 14px); padding: 1.5rem; margin: 1.5rem 0; }
.article-page.is-visual .vz-arbstack__col h3 { font-family: var(--font-sans, inherit); font-size: 1.15rem; line-height: 1.3; margin: 0 0 0.75rem; color: var(--vz-navy); }
.article-page.is-visual ol.vz-arbstack__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.article-page.is-visual ol.vz-arbstack__list li { margin: 0; padding: 0.75rem 1rem; border-radius: 10px; background: #fff; border: 1px solid var(--vz-line); font-size: 1.05rem; line-height: 1.35; color: var(--vz-text); text-align: center; }
.article-page.is-visual ol.vz-arbstack__list li::before { content: none; }
.article-page.is-visual ol.vz-arbstack__list li.vz-arbstack__base { background: var(--vz-teal-dk); border-color: var(--vz-teal-dk); color: #fff; font-weight: 700; padding: 1rem; }
.article-page.is-visual p.vz-arbstack__note { grid-column: 1 / -1; margin: 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 700px) { .article-page.is-visual .vz-arbstack { grid-template-columns: 1fr; padding: 1.1rem; } }
.article-page.is-visual .vz-bars--arbs .vz-barrow__delta { font-size: 1.05rem; line-height: 1.25; }
.article-page.is-visual .vz-closer--arbs .vz-closer__text p + p { margin-top: 0.9rem; }
/* ---- apical-hypertrophic-cardiomyopathy (batch 4, 2026-10-24): figure hero, aneurysm toggle state, test decoder, scar scale ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/apical-hypertrophic-cardiomyopathy/"] { object-fit: contain; object-position: 50% 50%; background: #faf6ec; }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/apical-hypertrophic-cardiomyopathy/"])::before { display: none; }
.article-page.is-visual .vz-hcmswap[data-state="aneurysm"] .vz-hcmfig .vz-hs--aneurysm { opacity: 1; }
.article-page.is-visual .aphcm-tests .vz-segs { flex-wrap: wrap; margin-bottom: 1.1rem; }
.article-page.is-visual .aphcm-tests .vz-ef__result { border-left-color: var(--vz-teal-dk); }
@media (max-width: 600px) { .article-page.is-visual .aphcm-tests .vz-segs .vz-seg { flex: 1 1 40%; text-align: center; } }
.article-page.is-visual p.aphcm-scar__head { font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem; color: var(--vz-ink); margin: 0 0 1.4rem; }
.article-page.is-visual .aphcm-scar__bar { position: relative; height: 26px; border-radius: 999px; background: #e9ecf1; margin: 0 0.6rem; }
.article-page.is-visual .aphcm-scar__band { position: absolute; top: 0; bottom: 0; left: 25%; width: 50%; background: #fcf0d9; border: 2px solid #b8841f; border-radius: 6px; }
.article-page.is-visual .aphcm-scar__bar i { position: absolute; top: -9px; width: 6px; height: 44px; margin-left: -3px; border-radius: 3px; }
.article-page.is-visual .aphcm-scar__m9 { left: 45%; background: #d0612e; }
.article-page.is-visual .aphcm-scar__m15 { left: 75%; background: #a82e27; }
.article-page.is-visual .aphcm-scar__ticks { position: relative; height: 1.6rem; margin: 0.5rem 0.6rem 1.4rem; font-family: var(--font-sans); font-size: 0.98rem; font-weight: 700; color: var(--vz-muted); }
.article-page.is-visual .aphcm-scar__ticks span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.article-page.is-visual .aphcm-scar__ticks span:first-child { transform: none; }
.article-page.is-visual ul.aphcm-scar__key { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.9rem; }
.article-page.is-visual ul.aphcm-scar__key li { margin: 0; padding: 0.8rem 1rem; background: #fff; border-radius: 10px; border-left: 6px solid #b8841f; }
.article-page.is-visual ul.aphcm-scar__key li.aphcm-scar__k15 { border-left-color: #a82e27; }
.article-page.is-visual ul.aphcm-scar__key li.aphcm-scar__k9 { border-left-color: #d0612e; }
.article-page.is-visual ul.aphcm-scar__key b { display: block; font-family: var(--font-sans); font-size: 1.08rem; color: var(--vz-ink); margin-bottom: 0.25rem; }
.article-page.is-visual ul.aphcm-scar__key span { display: block; font-size: 1.02rem; line-height: 1.5; }
@media (max-width: 760px) { .article-page.is-visual ul.aphcm-scar__key { grid-template-columns: 1fr; } }

/* ---- alcohol-no-safe-amount (batch 3, 2026-10-24) ---- */
/* hero is a hand-drawn figure: show it whole, no fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/alcohol-no-safe-amount/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/alcohol-no-safe-amount/"])::before { display: none; }
/* J-curve toggle: inline SVG stage on the heartswap module */
.article-page.is-visual .alc-jc .vz-heartswap__stage { aspect-ratio: 640 / 400; }
.article-page.is-visual .alc-jc__svg { display: block; width: 100%; height: 100%; }
.alc-jc__lab { font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif; font-size: 22px; font-weight: 700; fill: #5f5a4d; }
.alc-jc__lab--old { fill: #5f5a4d; }
.alc-jc__lab--now { fill: #b5302a; }
.alc-jc__old, .alc-jc__now, .alc-jc__ghost { transition: opacity 0.45s ease; }
.alc-jc__now, .alc-jc__ghost { opacity: 0; }
.alc-jc[data-state="now"] .alc-jc__old { opacity: 0; }
.alc-jc[data-state="now"] .alc-jc__now, .alc-jc[data-state="now"] .alc-jc__ghost { opacity: 1; }
.article-page.is-visual .alc-jc .vz-meter__row--change { border-left-color: #9c947e; }
.article-page.is-visual .alc-jc[data-state="now"] .vz-meter__row--change { border-left-color: var(--vz-red); background: #fdf1ec; }
.article-page.is-visual .alc-jc[data-state="now"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .alc-jc .vz-meter dd { font-size: 1.06rem; }
/* dose explorer */
.article-page.is-visual p.alc-dose__lead { font-weight: 600; color: var(--vz-ink); margin: 0 0 0.8rem; }
.article-page.is-visual .alc-dose__segs { margin-bottom: 1.1rem; }
.article-page.is-visual .alc-dose__segs[hidden] { display: none; }
.alc-dose__scale { margin: 0 0 1.2rem; }
.alc-dose__bar { position: relative; height: 26px; border-radius: 999px; overflow: visible; background: var(--vz-tile); }
.alc-dose__z { position: absolute; top: 0; bottom: 0; }
.alc-dose__z--low { background: #8fcfc3; border-radius: 999px 0 0 999px; }
.alc-dose__z--mod { background: #ecc77f; }
.alc-dose__z--high { background: #e6a397; border-radius: 0 999px 999px 0; }
.alc-dose__mark { position: absolute; top: -7px; width: 14px; height: 40px; margin-left: -7px; border-radius: 7px; background: var(--vz-navy); border: 3px solid #fff; transition: left 0.35s ease; }
.alc-dose__ticks { position: relative; height: 1.5rem; margin-top: 0.35rem; font-family: var(--vz-num); font-weight: 700; font-size: 0.95rem; color: var(--vz-muted); }
.alc-dose__ticks span { position: absolute; top: 0; transform: translateX(-50%); }
.alc-dose__ticks span:first-child { transform: none; }
.article-page.is-visual p.alc-dose__unit { margin: 0.2rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
.alc-dose__panels { display: grid; gap: 0.9rem; }
.alc-dose.is-js .alc-dose__panel { display: none; }
.alc-dose.is-js .alc-dose__panel.is-on { display: block; }
.alc-dose__panel { background: #fff; border-radius: var(--vz-radius-sm); padding: 1rem 1.2rem 0.6rem; border-left: 6px solid var(--vz-navy); }
.alc-dose__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem 0.9rem; margin-bottom: 0.4rem; }
.article-page.is-visual .alc-dose__head h3 { margin: 0; font-size: 1.3rem; }
.alc-dose__band { font-family: var(--font-sans); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.2rem 0.65rem; border-radius: 999px; }
.alc-dose__band--low { background: var(--vz-teal-bg); color: var(--vz-teal-dk); }
.alc-dose__band--mod { background: var(--vz-amber-bg); color: var(--vz-amber); }
.alc-dose__band--high { background: var(--vz-red-bg); color: #9b2d23; }
.article-page.is-visual .alc-dose__panel dl { margin: 0; display: grid; grid-template-columns: minmax(0, 10rem) minmax(0, 1fr); gap: 0.35rem 1.1rem; }
.article-page.is-visual .alc-dose__panel dt { font-family: var(--font-sans); font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--vz-muted); padding-top: 0.25rem; }
.article-page.is-visual .alc-dose__panel dd { margin: 0 0 0.5rem; font-size: 1.1rem; line-height: 1.5; color: var(--vz-ink); }
.article-page.is-visual p.alc-dose__note { margin: 1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 700px) {
  .article-page.is-visual .alc-dose__panel dl { grid-template-columns: 1fr; gap: 0.1rem; }
  .article-page.is-visual .alc-dose .vz-seg { flex: 1 1 140px; }
}
/* cancer chips */
.article-page.is-visual ul.alc-chips { list-style: none; padding: 0; margin: 0 0 1.4rem; display: flex; flex-wrap: wrap; gap: 0.55rem; }
.article-page.is-visual ul.alc-chips li { margin: 0; padding: 0.45rem 1rem; border-radius: 999px; background: var(--vz-red-bg); color: #9b2d23; font-family: var(--font-sans); font-weight: 700; font-size: 1.05rem; }
.article-page.is-visual ul.alc-chips li::before { content: none; }
@media (prefers-reduced-motion: reduce) {
  .alc-jc__old, .alc-jc__now, .alc-jc__ghost, .alc-dose__mark { transition: none; }
}
.article-page.is-visual .vz-checklist + p.alc-after { margin-top: 1.35rem; }
.article-page.is-visual .alc-bp ul.vz-freq__list li { grid-template-columns: minmax(0, 2.3fr) minmax(0, 3fr) 8.2rem; }
@media (max-width: 700px) { .article-page.is-visual .alc-bp ul.vz-freq__list li { grid-template-columns: minmax(0, 1fr) 7.6rem; } }
/* ---- blood-pressure-death-risk (batch 3, 2026-10-24) ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/blood-pressure-death-risk/bpdr-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/blood-pressure-death-risk/bpdr-hero"])::before { display: none; }
.article-page.is-visual .vz-ef--bpt[data-band="cad"] .vz-ef__result { border-left-color: #0e7c6f; }
.article-page.is-visual .vz-ef--bpt[data-band="healthy"] .vz-ef__result { border-left-color: #12998a; }
.article-page.is-visual .vz-ef--bpt[data-band="dizzy"] .vz-ef__result { border-left-color: #12998a; }
.article-page.is-visual .vz-ef--bpt[data-band="older"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-dx--bp[data-result="hfpef"] .vz-dx__result { background: #a82e27; }
.article-page.is-visual .vz-stairs--bpdr { height: 380px; }
@media (max-width: 560px) { .article-page.is-visual .vz-stairs--bpdr { height: 320px; } }
.article-page.is-visual .vz-stairs--bpdr .vz-stairs__bar b { text-align: center; line-height: 1.15; padding: 0 0.2rem; }
/* ---- camzyos-mavacamten (batch 4, 2026-10-24): grip toggle (.vz-heartswap reused, states hcm / mava, inline SVG stage), echo-checkpoint decoder (.vz-ef reused, no scale), medicine-list sorter (.vz-nsx reused) ---- */
.article-page.is-visual .vz-mavaswap .vz-heartswap__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.article-page.is-visual .vz-mavaswap .vz-heartswap__stage { aspect-ratio: 1000 / 360; }
.article-page.is-visual .vz-mavaswap .vz-cmzfig { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .vz-cmzfig .vz-hs { opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .vz-mavaswap[data-state="hcm"] .vz-cmzfig .vz-hs--hcm,
.article-page.is-visual .vz-mavaswap[data-state="mava"] .vz-cmzfig .vz-hs--mava { opacity: 1; }
.article-page.is-visual .vz-cmzfig__lab { font-family: var(--font-sans); font-size: 22px; font-weight: 700; fill: #4a5568; }
.article-page.is-visual .vz-cmzfig__rod { font-family: var(--font-sans); font-size: 20px; font-weight: 700; fill: #ffffff; }
.article-page.is-visual .vz-mavaswap[data-state="hcm"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-mavaswap[data-state="hcm"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-mavaswap[data-state="mava"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #e3f2ee; }
.article-page.is-visual .vz-mavaswap[data-state="mava"] .vz-meter__row--change dd { color: var(--vz-navy); }
.article-page.is-visual .vz-mavaswap .vz-meter dd { font-size: 1.05rem; }
@media (max-width: 900px) { .article-page.is-visual .vz-mavaswap .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .article-page.is-visual .vz-cmzfig__lab { font-size: 30px; } .article-page.is-visual .vz-cmzfig__rod { font-size: 26px; } }
.article-page.is-visual .vz-cmzecho .vz-segs { flex-wrap: wrap; margin-bottom: 1.1rem; }
.article-page.is-visual .vz-cmzecho .vz-seg { flex: 1 1 200px; }
.article-page.is-visual .vz-cmzecho[data-band="low"] .vz-ef__result { border-left-color: var(--vz-red); }
.article-page.is-visual .vz-cmzecho[data-band="ill"] .vz-ef__result { border-left-color: var(--vz-amber); }
.article-page.is-visual .vz-cmzecho[data-band="start"] .vz-ef__result,
.article-page.is-visual .vz-cmzecho[data-band="up"] .vz-ef__result,
.article-page.is-visual .vz-cmzecho[data-band="hold"] .vz-ef__result { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .vz-cmznsx[data-result="care"] .vz-nsx__result { background: var(--vz-amber); }
.article-page.is-visual .vz-cmznsx[data-result="avoid"] .vz-nsx__result { background: #7c3524; }
.article-page.is-visual .vz-cmznsx[data-result="no"] .vz-nsx__result { background: var(--vz-red); }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-cmzfig .vz-hs { transition: none; } }
.article-page.is-visual .vz-hero__photo img[src^="/visual/camzyos-mavacamten/cmz-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/camzyos-mavacamten/cmz-hero"])::before { display: none; }
.article-page.is-visual .vz-tiers.vz-cmzone { grid-template-columns: 1fr; }
/* ---- cardio-oncology (batch 4, 2026-10-24) ---- */
/* figure hero (hand-drawn balance scale), shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/cardio-oncology/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/cardio-oncology/"])::before { display: none; }
/* question line above the reused .vz-fit finder and .vz-daytl timeline */
.article-page.is-visual p.co-fit__q { font-family: var(--vz-serif); font-weight: 600; font-size: 1.45rem; color: var(--vz-ink); margin: 0 0 0.7rem; }
/* tier rows that are a bare symptom name carry no dd text */
.article-page.is-visual .co-tiers dd:empty { display: none; }
.article-page.is-visual .co-tiers { grid-template-columns: minmax(0, 1fr); }
.article-page.is-visual .co-tiers3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .article-page.is-visual .co-tiers3 { grid-template-columns: minmax(0, 1fr); } }

/* ---- alcohol-heart-health (batch 3, 2026-10-24): statement selector (.vz-course reuse), standard drinks counter (.alc-sdc), stat rows, figure hero ---- */
.article-page.is-visual .alc-course__lead { margin: 0 0 0.9rem; font-family: var(--font-sans); font-weight: 600; font-size: 1.1rem; color: var(--vz-ink); }
.article-page.is-visual .alc-course .vz-seg { flex: 1 1 170px; }
.article-page.is-visual .alc-course__txt { margin: 0; font-size: 1.15rem; line-height: 1.5; color: var(--vz-text); }
.article-page.is-visual .alc-course .vz-course__panel { border-left: 6px solid var(--vz-teal); }
.article-page.is-visual .vz-statline.alc-stat3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .vz-statline.alc-stat2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.article-page.is-visual .vz-statline.alc-stat1 { grid-template-columns: 1fr; margin: 0; }
.article-page.is-visual .vz-statline.alc-stat--stack { grid-template-columns: 1fr; margin: 0; }
@media (max-width: 760px) { .article-page.is-visual .vz-statline.alc-stat3, .article-page.is-visual .vz-statline.alc-stat2 { grid-template-columns: 1fr; } }
.article-page.is-visual .alc-tiers3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .article-page.is-visual .alc-tiers3 { grid-template-columns: 1fr; } }
.article-page.is-visual .alc-meds th[scope="row"] { min-width: 11rem; }
.article-page.is-visual .alc-sdc { background: var(--vz-teal-bg); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.3rem; margin: 1rem 0 2rem; }
.article-page.is-visual .alc-sdc__lead { margin: 0 0 1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .alc-sdc__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, 1fr); gap: 1.4rem; align-items: start; }
.article-page.is-visual .alc-sdc__step { margin: 0 0 0.6rem; font-family: var(--font-sans); font-size: 0.95rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-orange); }
.article-page.is-visual .alc-sdc__step ~ .alc-sdc__step { margin-top: 1.3rem; }
.article-page.is-visual .alc-sdc__drinks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin-bottom: 0.9rem; }
.article-page.is-visual .alc-sdc__drinks .vz-seg { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
@media (max-width: 480px) { .article-page.is-visual .alc-sdc__drinks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.article-page.is-visual .alc-sdc__drinks .vz-seg small { font-weight: 600; font-size: 0.9rem; opacity: 0.85; }
.article-page.is-visual .alc-sdc__pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.8rem; margin: 0 0 0.8rem; }
.article-page.is-visual .alc-sdc__f { display: flex; flex-direction: column; gap: 0.35rem; margin: 0; }
.article-page.is-visual .alc-sdc__f span { font-family: var(--font-sans); font-size: 1rem; font-weight: 700; color: var(--vz-ink); line-height: 1.25; }
.article-page.is-visual .alc-sdc input {
  box-sizing: border-box; width: 100%; min-height: 56px; padding: 0.4rem 0.8rem; margin: 0;
  font-family: var(--vz-num); font-weight: 800; font-size: 1.5rem; color: var(--vz-navy); text-align: center;
  background: #fff; border: 2px solid rgba(14, 124, 111, 0.4); border-radius: var(--vz-radius-sm);
}
.article-page.is-visual .alc-sdc input:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 2px; border-color: var(--vz-teal-dk); }
.article-page.is-visual .alc-sdc input[aria-invalid="true"] { border-color: var(--vz-red); background: var(--vz-red-bg); }
.article-page.is-visual .alc-sdc__per { margin: 0 0 0.2rem; font-size: 1.15rem; color: var(--vz-ink); min-height: 1.6em; }
.article-page.is-visual .alc-sdc__per b { font-family: var(--vz-num); font-weight: 800; font-size: 1.35rem; color: var(--vz-teal-dk); }
.article-page.is-visual .alc-sdc .vz-segs[role="group"]:last-child { margin-top: 0.2rem; }
.article-page.is-visual .alc-sdc__out { position: sticky; top: 1rem; background: var(--vz-navy); color: #e9edf4; border-radius: var(--vz-radius-sm); padding: 1.3rem 1.4rem 1.2rem; border-top: 10px solid #8a93a3; }
.article-page.is-visual .alc-sdc[data-band="mod"] .alc-sdc__out { border-top-color: #12998a; }
.article-page.is-visual .alc-sdc[data-band="above"] .alc-sdc__out { border-top-color: #e0a12e; }
.article-page.is-visual .alc-sdc[data-band="heavy"] .alc-sdc__out { border-top-color: #d0612e; }
.article-page.is-visual .alc-sdc__count { font-family: var(--font-sans); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-gold); margin: 0 0 0.2rem; font-weight: 700; }
.article-page.is-visual .alc-sdc__total { margin: 0 0 0.2rem; color: #fff; line-height: 1.05; }
.article-page.is-visual .alc-sdc__w { font-family: var(--vz-num); font-weight: 800; font-size: clamp(2.6rem, 5vw, 3.6rem); }
.article-page.is-visual .alc-sdc__total small { font-size: 1.05rem; font-weight: 600; color: #c9d0db; margin-left: 0.4rem; }
.article-page.is-visual .alc-sdc__dayline { margin: 0 0 0.8rem; font-size: 1.05rem; color: #e9edf4; }
.article-page.is-visual .alc-sdc__dayline b { font-family: var(--vz-num); font-weight: 800; color: #fff; }
.article-page.is-visual .alc-sdc__title { font-family: var(--vz-num); font-weight: 800; font-size: 1.35rem; line-height: 1.2; color: #fff; margin: 0 0 0.4rem; }
.article-page.is-visual .alc-sdc__why { font-size: 1.05rem; line-height: 1.45; color: #e9edf4; margin: 0 0 0.8rem; }
.article-page.is-visual .alc-sdc__alert { font-size: 1.05rem; line-height: 1.45; font-weight: 700; margin: 0 0 0.7rem; padding: 0.7rem 0.9rem; border-radius: 8px; background: #fcf0d9; color: #4a3305; }
.article-page.is-visual .alc-sdc__wd { background: var(--vz-red); color: #fff; }
.article-page.is-visual .alc-sdc__alert[hidden], .article-page.is-visual .alc-sdc__target[hidden] { display: none; }
.article-page.is-visual .alc-sdc__target { font-size: 1.02rem; line-height: 1.45; color: #e9edf4; margin: 0 0 0.8rem; padding-top: 0.8rem; border-top: 1px solid rgba(255, 255, 255, 0.18); }
.article-page.is-visual .alc-sdc__plan { font-size: 1.02rem; line-height: 1.45; color: #fff; font-weight: 600; margin: 0; }
.article-page.is-visual .alc-sdc__note { margin: 1.1rem 0 0; font-size: 1rem; color: var(--vz-muted); }
.article-page.is-visual .alc-sdc:not(.is-live) .alc-sdc__in input { pointer-events: none; }
@media (max-width: 900px) { .article-page.is-visual .alc-sdc__grid { grid-template-columns: 1fr; } .article-page.is-visual .alc-sdc__out { position: static; } }
@media (max-width: 480px) { .article-page.is-visual .alc-sdc { padding: 1.2rem 1rem 1.1rem; } .article-page.is-visual .alc-sdc__pair { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-hero__photo img[src^="/visual/alcohol-heart-health/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/alcohol-heart-health/"])::before { display: none; }
@media (max-width: 900px) { .article-page.is-visual .vz-hero__photo img[src^="/visual/alcohol-heart-health/"] { object-position: 50% 50%; } }
/* ---- bp-kidney-damage (batch 4, 2026-10-24) ---- */
/* Hero is a hand-drawn figure: show it whole, no photo fade. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/bp-kidney-damage/bk-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/bp-kidney-damage/bk-hero"])::before { display: none; }
/* Kidney-filter toggle (reuses the heart-toggle JS, block 7): four drawn states in one inline SVG */
.article-page.is-visual .bk-swap .vz-heartswap__stage { aspect-ratio: auto; padding: 0.8rem 0.6rem; background: #fff; }
.article-page.is-visual .bk-kf { display: block; width: 100%; height: auto; }
.article-page.is-visual .bk-swap .bk-st { opacity: 0; transition: opacity 0.35s ease; }
.article-page.is-visual .bk-swap[data-state="normal"] .bk-st--normal,
.article-page.is-visual .bk-swap[data-state="starved"] .bk-st--starved,
.article-page.is-visual .bk-swap[data-state="overworked"] .bk-st--overworked,
.article-page.is-visual .bk-swap[data-state="raas"] .bk-st--raas { opacity: 1; }
.article-page.is-visual .bk-swap .vz-segs .vz-seg { flex: 1 1 140px; }
.article-page.is-visual .bk-swap[data-state="starved"] .vz-meter__row,
.article-page.is-visual .bk-swap[data-state="overworked"] .vz-meter__row,
.article-page.is-visual .bk-swap[data-state="raas"] .vz-meter__row { border-left-color: var(--vz-orange); background: #fdf1ec; }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .bk-swap .bk-st { transition: none; } }
/* Lab-band cards (eGFR stages, UACR categories) */
.article-page.is-visual ol.bk-bands { list-style: none; margin: 1rem 0 1.6rem; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.6rem; }
.article-page.is-visual ol.bk-bands:has(> li:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual ol.bk-bands > li.bk-band { margin: 0; padding: 0.9rem 0.95rem 1rem; background: var(--vz-panel); border-radius: var(--vz-radius-sm); border-top: 8px solid var(--bk-c, #8a93a3); }
.article-page.is-visual .bk-band p { margin: 0; }
.article-page.is-visual .bk-band p.bk-band__name { font-family: var(--font-sans); font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--vz-muted); }
.article-page.is-visual .bk-band p.bk-band__range { font-family: var(--vz-num); font-weight: 800; font-size: 1.35rem; line-height: 1.2; color: var(--bk-c, var(--vz-navy)); margin: 0.25rem 0 0.45rem; }
.article-page.is-visual .bk-band p.bk-band__txt { font-size: 1rem; line-height: 1.45; color: var(--vz-text); }
.article-page.is-visual .bk-band p.bk-band__txt + p.bk-band__txt { margin-top: 0.35rem; }
.bk-band--g1, .bk-band--a1 { --bk-c: #0e7c6f; }
.bk-band--g2 { --bk-c: #3f7a58; }
.bk-band--g3a { --bk-c: #8a6d10; }
.bk-band--g3b, .bk-band--a2 { --bk-c: #9a6a12; }
.bk-band--g4 { --bk-c: #b8461f; }
.bk-band--g5, .bk-band--a3 { --bk-c: #a82e27; }
@media (max-width: 1100px) { .article-page.is-visual ol.bk-bands { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .article-page.is-visual ol.bk-bands, .article-page.is-visual ol.bk-bands:has(> li:nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr); } }
/* Single-test lab readers: one unit per box, so the unit button is hidden */
.article-page.is-visual .bk-reader .vz-labread__grouplabel, .article-page.is-visual .bk-reader .vz-segs { display: none; }
.article-page.is-visual .bk-reader[data-state="g1"] .vz-labread__result, .article-page.is-visual .bk-reader[data-state="a1"] .vz-labread__result { border-left-color: #12998a; }
.article-page.is-visual .bk-reader[data-state="g2"] .vz-labread__result { border-left-color: #4e8f6a; }
.article-page.is-visual .bk-reader[data-state="g3a"] .vz-labread__result { border-left-color: #c9a227; }
.article-page.is-visual .bk-reader[data-state="g3b"] .vz-labread__result, .article-page.is-visual .bk-reader[data-state="a2"] .vz-labread__result { border-left-color: #b8841f; }
.article-page.is-visual .bk-reader[data-state="g4"] .vz-labread__result { border-left-color: #d0612e; }
.article-page.is-visual .bk-reader[data-state="g5"] .vz-labread__result, .article-page.is-visual .bk-reader[data-state="a3"] .vz-labread__result { border-left-color: #a82e27; }
/* Blood pressure targets */
.article-page.is-visual .bk-targets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.9rem; margin: 1.2rem 0 1.8rem; }
.article-page.is-visual .bk-target { background: var(--vz-panel); border-radius: var(--vz-radius-sm); padding: 1.1rem 1.2rem; border-left: 8px solid var(--bk-t, var(--vz-navy)); }
.article-page.is-visual .bk-target p { margin: 0; font-size: 1.05rem; line-height: 1.5; }
.article-page.is-visual .bk-target p.bk-target__num { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.15; color: var(--bk-t, var(--vz-navy)); margin-bottom: 0.4rem; }
.article-page.is-visual .bk-target p.bk-target__num small { font-size: 0.55em; font-weight: 700; }
.bk-target--teal { --bk-t: #0e7c6f; }
.bk-target--navy { --bk-t: #14213d; }
.bk-target--amber { --bk-t: #9a6a12; }
@media (max-width: 800px) { .article-page.is-visual .bk-targets { grid-template-columns: minmax(0, 1fr); } }

/* ---- cardiac-sarcoidosis (batch 4, 2026-10-24) ---- */
/* Figure hero shown whole (no crop, no fade). */
.article-page.is-visual .vz-hero__photo img[src^="/visual/cardiac-sarcoidosis/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/cardiac-sarcoidosis/"])::before { display: none; }
/* "Three ways it shows up": the generic heart toggle with one inline SVG; groups shown per state (block / vt / pump). */
.article-page.is-visual .cs-ways .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; }
.article-page.is-visual .cs-ways__stage { aspect-ratio: 880 / 640; background: #f6f2ea; }
.article-page.is-visual .cs-ways__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.cs-ways .csw-g { transition: opacity 0.4s ease; }
.cs-ways[data-state="block"] .csw-g--vt, .cs-ways[data-state="block"] .csw-g--pump { opacity: 0; }
.cs-ways[data-state="vt"] .csw-g--block, .cs-ways[data-state="vt"] .csw-g--pump { opacity: 0; }
.cs-ways[data-state="pump"] .csw-g--block, .cs-ways[data-state="pump"] .csw-g--vt, .cs-ways[data-state="pump"] .csw-g--base { opacity: 0; }
.article-page.is-visual .cs-ways .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .cs-ways .vz-meter__row--change dd { color: var(--vz-navy); font-weight: 600; }
.article-page.is-visual .cs-ways .vz-segs .vz-seg { flex: 1 1 150px; }
.article-page.is-visual p.cs-ways__plan, .article-page.is-visual p.cs-dx__plan { margin: 0.9rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .cs-ways .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .cs-ways .csw text { font-size: 30px; } }
@media (prefers-reduced-motion: reduce) { .cs-ways .csw-g { transition: none; } }
/* Diagnosis step-through: six steps, three per row on desktop. */
@media (min-width: 901px) { .article-page.is-visual .cs-dx .vz-stepper__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* PET pair: sugar-burning heart vs fat-adapted heart, two drawn slices side by side. */
.article-page.is-visual .cs-pet__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; max-width: 760px; margin: 0 auto; }
.article-page.is-visual figure.cs-pet__cell { margin: 0; }
.article-page.is-visual .cs-pet__svg { display: block; width: 100%; height: auto; border-radius: var(--vz-radius-sm); }
.article-page.is-visual .cs-pet figcaption { margin-top: 0.55rem; font-family: var(--font-sans); font-size: 1.04rem; line-height: 1.4; color: var(--vz-ink); }
.article-page.is-visual .cs-pet figcaption b { display: block; color: var(--vz-navy); font-size: 1.12rem; }
@media (max-width: 600px) { .article-page.is-visual .cs-pet__grid { grid-template-columns: 1fr; } .article-page.is-visual .cs-pet__svg { max-width: 360px; } }
/* Prednisone taper steps (static bars, heights from the doses). */
.article-page.is-visual p.cs-taper__title { margin: 0 0 1rem; font-family: var(--font-sans); font-weight: 700; font-size: 1.15rem; color: var(--vz-navy); }
.article-page.is-visual ol.cs-taper__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.5rem; align-items: end; }
.article-page.is-visual ol.cs-taper__list li { margin: 0; padding: 0; display: grid; grid-template-rows: 10rem auto 1fr; align-items: start; }
.article-page.is-visual ol.cs-taper__list li::before { content: none; }
.article-page.is-visual .cs-taper__bar { display: block; align-self: end; height: calc(var(--h) * 0.1rem); min-height: 4px; background: var(--vz-teal); border-radius: 6px 6px 0 0; }
.article-page.is-visual ol.cs-taper__list b { display: block; margin-top: 0.4rem; font-family: var(--vz-num); font-weight: 800; font-size: 1.45rem; line-height: 1.1; color: var(--vz-navy); }
.article-page.is-visual .cs-taper__cap { display: block; font-size: 0.95rem; line-height: 1.3; color: var(--vz-muted); }
@media (max-width: 700px) {
  .article-page.is-visual ol.cs-taper__list { grid-template-columns: 1fr; gap: 0.35rem; }
  .article-page.is-visual ol.cs-taper__list li { min-height: 0; display: grid; grid-template-columns: 4.2rem minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 0.75rem; align-items: center; }
  .article-page.is-visual .cs-taper__bar { grid-column: 2; grid-row: 1; align-self: center; width: calc(var(--h) * 1%); height: 14px; border-radius: 0 6px 6px 0; }
  .article-page.is-visual ol.cs-taper__list b { grid-column: 1; grid-row: 1 / span 2; margin: 0; }
  .article-page.is-visual .cs-taper__cap { grid-column: 2; grid-row: 2; }
}
/* One-panel tier and the three-level "when to call" row. */
.article-page.is-visual .vz-tiers.cs-one { grid-template-columns: 1fr; }
@media (min-width: 1000px) { .article-page.is-visual .vz-tiers.cs-call { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.article-page.is-visual .vz-statline.cs-stat1 { grid-template-columns: 1fr; }
/* ---- channelopathies-long-qt-brugada-cpvt (batch 3, 2026-10-24) ---- */
/* Drawn hero (three strips, contain, no fade); three-state rhythm toggle reusing .vz-heartswap
   + .vz-rhythmswap (.vz-chanswap, phone strips folded onto two rows via <picture media>);
   two red tiers side by side (.vz-chan911, reuses .vz-vt911); long QT decoder reuses .vz-vtwords. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/channelopathies-long-qt-brugada-cpvt/chan-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/channelopathies-long-qt-brugada-cpvt/chan-hero"])::before { display: none; }
.article-page.is-visual .vz-chanswap .vz-heartswap__stage { aspect-ratio: 1600 / 352; background: #fdf1ef; }
.article-page.is-visual .vz-chanswap .vz-heartswap__stage img { object-fit: contain; object-position: 50% 50%; }
.article-page.is-visual .vz-chanswap .vz-hs { opacity: 0; }
.article-page.is-visual .vz-chanswap[data-state="lqt"] .vz-hs--lqt,
.article-page.is-visual .vz-chanswap[data-state="brugada"] .vz-hs--brugada,
.article-page.is-visual .vz-chanswap[data-state="cpvt"] .vz-hs--cpvt { opacity: 1; }
.article-page.is-visual .vz-chanswap .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #fff; }
.article-page.is-visual .vz-chanswap[data-state="brugada"] .vz-meter__row--change { border-left-color: var(--vz-amber); }
.article-page.is-visual .vz-chanswap[data-state="cpvt"] .vz-meter__row--change { border-left-color: var(--vz-red); }
.article-page.is-visual .vz-chanswap .vz-meter__row--change dd { color: var(--vz-navy); }
.article-page.is-visual .vz-chanswap .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .vz-chanswap .vz-meter__row:last-child { grid-column: 1 / -1; }
@media (max-width: 1000px) { .article-page.is-visual .vz-chanswap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .article-page.is-visual .vz-chanswap .vz-heartswap__stage { aspect-ratio: 800 / 728; background: #faf6ec; }
  .article-page.is-visual .vz-chanswap .vz-meter { grid-template-columns: minmax(0, 1fr); }
}
.article-page.is-visual .vz-chan911 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.article-page.is-visual .vz-chan911 dl { columns: 1; }
.article-page.is-visual .vz-chan911 dl > dt:nth-of-type(3) { border-top: 1px solid rgba(20, 33, 61, 0.1); padding-top: 0.7rem; }
@media (max-width: 900px) { .article-page.is-visual .vz-chan911 { grid-template-columns: minmax(0, 1fr); } }
.article-page.is-visual .vz-lqtwords .vz-ef__result { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .vz-when.vz-chanvisit b { font-size: 1.25rem; }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-chanswap .vz-hs { transition: none; } }
@media (max-width: 560px) { .article-page.is-visual .vz-when.vz-chanvisit { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 761px) { .article-page.is-visual:has(.vz-chanswap) .vz-tile__num { font-size: clamp(2rem, 2.7vw, 2.6rem); white-space: nowrap; } }
/* ---- coq10-heart (batch 3, 2026-10-24) ---- */
/* figure hero: hand-drawn heart-and-mitochondrion drawing, shown whole on the cream, no left fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/coq10-heart/coq10-hero"] { object-fit: contain; object-position: 50% 50%; background: #f6f2ea; }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/coq10-heart/coq10-hero"])::before { display: none; }
/* production-line toggle: .vz-heartswap (shared JS) with an inline SVG stage, states off / statin */
.article-page.is-visual .vz-q10swap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .vz-q10swap .vz-heartswap__stage { aspect-ratio: 1200 / 660; width: 100%; max-width: 860px; margin: 0 auto; }
.article-page.is-visual .vz-q10swap .vz-heartswap__stage svg { display: block; width: 100%; height: 100%; }
.article-page.is-visual .vz-q10swap .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-q10swap .vz-meter { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-q10swap .q-statin { opacity: 0; transition: opacity .45s ease; }
.article-page.is-visual .vz-q10swap .q-flow { transition: opacity .45s ease; }
.article-page.is-visual .vz-q10swap[data-state="statin"] .q-statin { opacity: 1; }
.article-page.is-visual .vz-q10swap[data-state="statin"] .q-flow { opacity: .3; }
.article-page.is-visual .vz-q10swap[data-state="statin"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-q10swap[data-state="statin"] .vz-meter__row--change dd { color: #9b2d23; }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-q10swap svg * { transition: none !important; } }
/* evidence cards by claim (.vz-claims): what people hear, the verdict, what the trials show */
.article-page.is-visual ul.vz-claims { list-style: none; padding: 0; margin: 1.25rem 0 1.75rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }
.article-page.is-visual ul.vz-claims > li.vz-claim { margin: 0; background: var(--vz-cream); border-radius: var(--vz-radius-sm); border-top: 8px solid var(--c, var(--vz-teal-dk)); padding: 1.1rem 1.25rem 1rem; }
.article-page.is-visual ul.vz-claims > li.vz-claim:first-child { grid-column: 1 / -1; }
.article-page.is-visual .vz-claim--teal { --c: #0e7c6f; --cw: #e3f2ee; --ct: #0b5f55; }
.article-page.is-visual .vz-claim--red { --c: #b5302a; --cw: #f9e1dc; --ct: #9b2d23; }
.article-page.is-visual .vz-claim--amber { --c: #9a6a12; --cw: #fcf0d9; --ct: #7a520c; }
.article-page.is-visual .vz-claim--slate { --c: #5b6b86; --cw: #e9ecf1; --ct: #3d4a60; }
.article-page.is-visual p.vz-claim__said { font-family: var(--vz-serif); font-weight: 600; font-size: 1.35rem; line-height: 1.25; color: var(--vz-ink); margin: 0 0 0.55rem; }
.article-page.is-visual p.vz-claim__verdict { display: inline-block; margin: 0 0 0.6rem; padding: 0.25rem 0.8rem; border-radius: 999px; background: var(--cw); color: var(--ct); font-family: var(--font-sans); font-weight: 800; font-size: 1rem; letter-spacing: 0.04em; text-transform: uppercase; }
.article-page.is-visual ul.vz-claim__ev { list-style: disc; margin: 0 0 0.6rem 1.2rem; padding: 0; }
.article-page.is-visual ul.vz-claim__ev li { margin: 0 0 0.35rem; font-size: 1.05rem; line-height: 1.5; }
.article-page.is-visual p.vz-claim__src { margin: 0; font-size: 0.86rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-muted); }
@media (max-width: 760px) { .article-page.is-visual ul.vz-claims { grid-template-columns: 1fr; } }
/* study timeline (six stops) and the four-step statin-aches plan */
.article-page.is-visual .vz-when.vz-when--q10 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.vz-when--q10 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .article-page.is-visual .vz-when.vz-when--q10, .article-page.is-visual .vz-when.vz-when--q10steps { grid-template-columns: 1fr; } }
/* Q-SYMBIO bars: wider value column */
@media (min-width: 761px) { .article-page.is-visual .vz-bars--q10 .vz-barrow { grid-template-columns: minmax(150px, 0.9fr) minmax(0, 2.4fr) 170px; } }
.article-page.is-visual .vz-figure h3.vz-q10__fighead { margin: 0.2rem 0 0.6rem; font-size: 1.15rem; }
/* who might consider it: question line above the reused .vz-fit control, two-column situation buttons */
.article-page.is-visual p.vz-q10fit__q { font-family: var(--vz-serif); font-weight: 600; font-size: 1.45rem; color: var(--vz-ink); margin: 0 0 0.7rem; }
.article-page.is-visual .vz-q10fit .vz-segs--stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
@media (max-width: 600px) { .article-page.is-visual .vz-q10fit .vz-segs--stack { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-q10fit ul.vz-fit__drugs { grid-template-columns: 1fr; }
/* lifestyle list as a compact grid */
.article-page.is-visual .vz-q10life ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); column-gap: 1.2rem; }
.article-page.is-visual .vz-q10life li:nth-child(-n+4) { border-top: 0; }
.article-page.is-visual .vz-q10swap p.vz-q10__note { margin: 0.4rem 0 0; font-size: 0.95rem; color: #5f5a4d; }
/* ---- constrictive-vs-restrictive (batch 4, 2026-10-24) ---- */
/* Shell-or-muscle toggle (.vz-heartswap reused, inline SVG with three states: normal / constrictive /
   restrictive), drawn figure hero shown whole, five- and six-stop .vz-when strips. */
.article-page.is-visual .cvr-swap .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.article-page.is-visual .cvr-swap .vz-heartswap__stage { aspect-ratio: 640 / 480; }
.article-page.is-visual .cvr-swap .cvr-fig { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .cvr-fig .vz-hs { opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .cvr-swap[data-state="normal"] .cvr-fig .vz-hs--normal,
.article-page.is-visual .cvr-swap[data-state="constrictive"] .cvr-fig .vz-hs--constrictive,
.article-page.is-visual .cvr-swap[data-state="restrictive"] .cvr-fig .vz-hs--restrictive { opacity: 1; }
.article-page.is-visual .cvr-fig .cr-lab { font-family: var(--font-sans); font-size: 19px; font-weight: 700; fill: #1c2b40; }
.article-page.is-visual .cvr-fig .cr-call { font-family: var(--font-sans); font-size: 19px; font-weight: 700; fill: #b5302a; }
/* Review fix 2026-10-24: only the abnormal rows turn orange; the part that is fine turns teal. */
.article-page.is-visual .cvr-swap[data-state="constrictive"] .cvr-row--sac,
.article-page.is-visual .cvr-swap[data-state="restrictive"] .cvr-row--muscle,
.article-page.is-visual .cvr-swap:not([data-state="normal"]) .cvr-row--where { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .cvr-swap[data-state="constrictive"] .cvr-row--sac dd,
.article-page.is-visual .cvr-swap[data-state="restrictive"] .cvr-row--muscle dd,
.article-page.is-visual .cvr-swap:not([data-state="normal"]) .cvr-row--where dd { color: #9b2d23; }
.article-page.is-visual .cvr-swap[data-state="constrictive"] .cvr-row--muscle,
.article-page.is-visual .cvr-swap[data-state="restrictive"] .cvr-row--sac { border-left-color: var(--vz-teal-dk); background: #e3f2ee; }
.article-page.is-visual .cvr-swap[data-state="constrictive"] .cvr-row--muscle dd,
.article-page.is-visual .cvr-swap[data-state="restrictive"] .cvr-row--sac dd { color: var(--vz-navy); }
.article-page.is-visual .cvr-swap .vz-meter dd { font-size: 1.05rem; }
.article-page.is-visual .cvr-swap .vz-segs { flex-wrap: wrap; }
.article-page.is-visual .cvr-swap .vz-seg { flex: 1 1 150px; }
@media (max-width: 900px) { .article-page.is-visual .cvr-swap .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .article-page.is-visual .cvr-fig .cr-lab, .article-page.is-visual .cvr-fig .cr-call { font-size: 30px; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .cvr-fig .vz-hs { transition: none; } }
.article-page.is-visual .vz-hero__photo img[src^="/visual/constrictive-vs-restrictive/cvr-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/constrictive-vs-restrictive/cvr-hero"])::before { display: none; }
.article-page.is-visual .vz-when.cvr-when5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.article-page.is-visual .vz-when.cvr-when6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .article-page.is-visual .vz-when.cvr-when5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .article-page.is-visual .vz-when.cvr-when5, .article-page.is-visual .vz-when.cvr-when6 { grid-template-columns: 1fr 1fr; } }
/* ---- cteph (batch 3, 2026-10-24) ---- */
/* hero is a hand-drawn figure: contain-fit on cream, no fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/cteph/cteph-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/cteph/cteph-hero"])::before { display: none; }
/* clot-fate step-through: .vz-stepper (CAC JS) beside the chest drawing; CSS shows the stage for data-step.
   A drawing piece can belong to several stages (classes ctj-s3 ctj-s4 ...). */
.article-page.is-visual .vz-ctj__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; align-items: center; }
.article-page.is-visual .vz-ctj__art { background: #fff; border-radius: var(--vz-radius-sm); padding: 0.75rem; }
.article-page.is-visual .vz-ctj__svg { display: block; width: 100%; height: auto; max-height: 520px; margin: 0 auto; }
.article-page.is-visual .vz-ctj .vz-stepper__list { grid-template-columns: 1fr; }
.article-page.is-visual .vz-ctj .vz-stepper__btn { min-height: 52px; }
.article-page.is-visual .vz-ctj .ctj-s1, .article-page.is-visual .vz-ctj .ctj-s2, .article-page.is-visual .vz-ctj .ctj-s3, .article-page.is-visual .vz-ctj .ctj-s4, .article-page.is-visual .vz-ctj .ctj-s5 { opacity: 0; transition: opacity 0.35s ease; }
.article-page.is-visual .vz-ctj[data-step="0"] .ctj-s1, .article-page.is-visual .vz-ctj[data-step="1"] .ctj-s2, .article-page.is-visual .vz-ctj[data-step="2"] .ctj-s3, .article-page.is-visual .vz-ctj[data-step="3"] .ctj-s4, .article-page.is-visual .vz-ctj[data-step="4"] .ctj-s5 { opacity: 1; }
.article-page.is-visual .vz-ctj__noscript { margin: 1rem 0 0; }
@media (max-width: 900px) {
  .article-page.is-visual .vz-ctj__grid { grid-template-columns: 1fr; gap: 1rem; }
  .article-page.is-visual .vz-ctj__svg { max-height: 340px; }
}
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-ctj .ctj-s1, .article-page.is-visual .vz-ctj .ctj-s2, .article-page.is-visual .vz-ctj .ctj-s3, .article-page.is-visual .vz-ctj .ctj-s4, .article-page.is-visual .vz-ctj .ctj-s5 { transition: none; } }
/* treatment-path map reuses .vz-tree; the "no surgery" outcome gets the amber edge */
.article-page.is-visual .vz-tree--cteph .vz-tree__out[data-out="inop"] { border-left-color: #b8841f; }
/* cteph: workup order (.vz-when) goes to one column on phones so "catheterization" fits */
.article-page.is-visual .vz-when--cteph b { overflow-wrap: break-word; }
@media (max-width: 760px) { .article-page.is-visual .vz-when.vz-when--cteph { grid-template-columns: minmax(0, 1fr); } }
/* ---- coffee-and-heart-health (batch 3, 2026-10-24) ---- */
/* Cup counter (.cof-cups): cup type, cups a day, extras; schematic J curve, caffeine bar with the
   200 mg (pregnancy) and 400 mg (limit) lines. */
.article-page.is-visual .cof-cups { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.6rem 1.75rem 1.3rem; margin: 1.25rem 0 1.5rem; }
.article-page.is-visual .cof-cups__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 1.75rem; align-items: start; }
@media (max-width: 900px) { .article-page.is-visual .cof-cups__grid { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; } }
.article-page.is-visual .cof-cups__step { font-size: 0.86rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--vz-orange); margin: 0 0 0.55rem; }
.article-page.is-visual .cof-cups .vz-segs { margin-bottom: 1.25rem; }
.article-page.is-visual .cof-cups .vz-seg { min-height: 48px; }
.article-page.is-visual .cof-cups__kinds .vz-seg, .article-page.is-visual .cof-cups__xs .vz-seg { flex: 1 1 100%; text-align: left; }
.article-page.is-visual .cof-cups__ns { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.4rem; }
.article-page.is-visual .cof-cups__ns .vz-seg { min-width: 0; padding-left: 0; padding-right: 0; text-align: center; font-family: var(--vz-num); font-weight: 800; font-size: 1.1rem; }
@media (max-width: 420px) { .article-page.is-visual .cof-cups__ns { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.article-page.is-visual .cof-cups__out { background: #fff; border-radius: var(--vz-radius-sm); padding: 1.1rem 1.25rem 1.2rem; }
.article-page.is-visual .cof-cups__svg { display: block; width: 100%; height: auto; margin: 0 0 0.6rem; }
.cof-cups__base { stroke: #b3ab95; stroke-width: 2; stroke-dasharray: 6 6; }
.cof-cups__xaxis { stroke: rgba(28, 43, 64, 0.25); stroke-width: 2; }
.cof-cups__curve { fill: none; stroke: #0b8a78; stroke-width: 5; stroke-linecap: round; }
.cof-cups__curve--dash { stroke: #9a6a12; stroke-dasharray: 9 8; }
.cof-cups__guide { stroke: rgba(224, 87, 46, 0.45); stroke-width: 2; stroke-dasharray: 3 5; }
.cof-cups__dot { fill: #e0572e; stroke: #fff; stroke-width: 4; }
.cof-cups__xl { font: 800 17px 'Inter', sans-serif; fill: #14213d; }
.cof-cups__xt { font: 600 15px 'Source Sans 3', sans-serif; fill: #5f5a4d; }
.cof-cups__axis { font: 700 14px 'Source Sans 3', sans-serif; fill: #5f5a4d; letter-spacing: 0.04em; }
.cof-cups__lab { font: 600 15px 'Source Sans 3', sans-serif; fill: #5f5a4d; }
.cof-cups__lab--teal { fill: #0e7c6f; font-weight: 700; }
.cof-cups__lab--amber { fill: #9a6a12; font-weight: 700; }
.article-page.is-visual .cof-cups__title { font-family: var(--vz-serif); font-weight: 600; font-size: 1.5rem; line-height: 1.2; color: var(--vz-navy); margin: 0 0 0.4rem; }
.article-page.is-visual .cof-cups__why { font-size: 1.05rem; line-height: 1.5; margin: 0 0 0.9rem; }
.article-page.is-visual .cof-cups__mg { font-family: var(--vz-num); font-weight: 800; font-size: 1.35rem; line-height: 1.25; color: var(--vz-navy); margin: 0 0 1.9rem; }
.article-page.is-visual .cof-cups__bar { position: relative; height: 20px; background: var(--vz-tile); border-radius: 999px; margin: 0 0 2.1rem; }
.article-page.is-visual .cof-cups__fill { position: absolute; left: 0; top: 0; bottom: 0; width: var(--w, 0%); background: var(--vz-teal); border-radius: 999px; transition: width 0.35s ease; }
.article-page.is-visual .cof-cups__span { position: absolute; top: 0; bottom: 0; left: 0; width: 0; background: repeating-linear-gradient(135deg, rgba(18, 154, 138, 0.55) 0 5px, transparent 5px 10px); border-radius: 999px; }
.article-page.is-visual .cof-cups[data-over="2"] .cof-cups__fill { background: var(--vz-amber); }
.article-page.is-visual .cof-cups[data-over="1"] .cof-cups__span, .article-page.is-visual .cof-cups[data-over="2"] .cof-cups__span { background: repeating-linear-gradient(135deg, rgba(154, 106, 18, 0.6) 0 5px, transparent 5px 10px); }
.article-page.is-visual .cof-cups__tick { position: absolute; top: -6px; bottom: -6px; width: 3px; margin-left: -1px; background: var(--vz-navy); }
.article-page.is-visual .cof-cups__tick > span { position: absolute; left: 0; transform: translateX(-50%); font-size: 0.82rem; font-weight: 700; line-height: 1; white-space: nowrap; color: var(--vz-muted); }
.article-page.is-visual .cof-cups__tick--lim > span { bottom: calc(100% + 5px); color: var(--vz-navy); }
.article-page.is-visual .cof-cups__tick--preg > span { top: calc(100% + 5px); }
.article-page.is-visual .cof-cups__end { position: absolute; right: 0; top: calc(100% + 11px); font-size: 0.82rem; color: var(--vz-muted); line-height: 1; }
.article-page.is-visual .cof-cups__lim, .article-page.is-visual .cof-cups__preg, .article-page.is-visual .cof-cups__decaf { font-size: 1rem; line-height: 1.45; margin: 0 0 0.55rem; }
.article-page.is-visual .cof-cups[data-over="1"] .cof-cups__lim, .article-page.is-visual .cof-cups[data-over="2"] .cof-cups__lim { color: var(--vz-amber); font-weight: 600; }
.article-page.is-visual .cof-cups__plan { font-size: 1rem; font-weight: 700; color: var(--vz-teal-dk); margin: 0.8rem 0 0; }
.article-page.is-visual .cof-cups__note { font-size: 0.95rem; line-height: 1.5; color: var(--vz-muted); margin: 1.1rem 0 0; }
@media (max-width: 600px) { .cof-cups__xl { font-size: 27px; } .cof-cups__xt, .cof-cups__lab { font-size: 22px; } .cof-cups__axis { font-size: 21px; } }
@media (max-width: 600px) { .article-page.is-visual .cof-cups { padding: 1.2rem 1rem 1.1rem; } .article-page.is-visual .cof-cups__out { padding: 1rem 0.9rem 1.1rem; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .cof-cups__fill { transition: none; } }
.article-page.is-visual .vz-hero__photo img[src^="/visual/coffee-and-heart-health/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/coffee-and-heart-health/"])::before { display: none; }
/* ---- diabetes-and-cad (batch 3, 2026-10-24) ---- */
/* figure hero (hand-drawn artery and plan card), shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/diabetes-and-cad/dcad-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/diabetes-and-cad/dcad-hero"])::before { display: none; }
/* LDL goal decoder: group colours on the result border */
.article-page.is-visual .dcad-ldl[data-band="primary"] .vz-ef__result { border-left-color: #0e7c6f; }
.article-page.is-visual .dcad-ldl[data-band="multi"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .dcad-ldl[data-band="cad"] .vz-ef__result { border-left-color: #d0612e; }
.article-page.is-visual .dcad-ldl[data-band="veryhigh"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual .dcad-ldl .vz-segs { margin-bottom: 1.1rem; }
/* LDL scale: teal below the chosen goal, sand above it (review fix: no red on low LDL) */
.article-page.is-visual .dcad-ldl .vz-efscale__bar span { background: #cfc6b0; transition: background 0.3s ease; }
.article-page.is-visual .dcad-ldl .vz-efscale__bar span.dcad-s1,
.article-page.is-visual .dcad-ldl:not([data-band="veryhigh"]) .vz-efscale__bar span.dcad-s2,
.article-page.is-visual .dcad-ldl[data-band="primary"] .vz-efscale__bar span.dcad-s3 { background: #0e7c6f; }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .dcad-ldl .vz-efscale__bar span { transition: none; } }
.article-page.is-visual .dcad-ldl .vz-efscale { margin-bottom: 0.4rem; }
.article-page.is-visual p.dcad-ldl__axis { margin: 0 0 1.1rem; font-size: 0.95rem; color: var(--vz-muted); }
/* headings, figures, disclaimer */
.article-page.is-visual h3.dcad-h3 { font-family: var(--vz-serif); font-weight: 600; font-size: 1.6rem; color: var(--vz-navy); margin: 2rem 0 0.6rem; }
.article-page.is-visual .dcad-figure { margin: 1.25rem 0; }
.article-page.is-visual .dcad-figure .vz-bars { margin: 0 0 0.5rem; }
.article-page.is-visual .dcad-figure + p, .article-page.is-visual .dcad-figure + .vz-callout { margin-top: 1.25rem; }

/* ---- eccentric-hypertrophy (batch 4, 2026-10-24) ---- */
/* hero figure: contain, no fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/eccentric-hypertrophy/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/eccentric-hypertrophy/"])::before { display: none; }
/* chamber toggle and heart-cell toggle: .vz-heartswap (JS block 7) with inline hand-drawn SVG groups */
.article-page.is-visual .ehx-swap .vz-heartswap__stage { aspect-ratio: 1 / 1; width: 100%; max-width: 420px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .ehx-sarc .vz-heartswap__stage { aspect-ratio: 2 / 1; width: 100%; background: #f6f2ea; }
.article-page.is-visual .ehx-swap svg.ehx-fig, .article-page.is-visual .ehx-sarc svg.ehx-fig { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .ehx-swap g.vz-hs, .article-page.is-visual .ehx-sarc g.vz-hs { opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .ehx-swap[data-state="normal"] g.vz-hs--normal,
.article-page.is-visual .ehx-swap[data-state="ehyper"] g.vz-hs--ehyper,
.article-page.is-visual .ehx-swap[data-state="chyper"] g.vz-hs--chyper,
.article-page.is-visual .ehx-sarc[data-state="rest"] g.vz-hs--rest,
.article-page.is-visual .ehx-sarc[data-state="volume"] g.vz-hs--volume,
.article-page.is-visual .ehx-sarc[data-state="pressure"] g.vz-hs--pressure { opacity: 1; }
.article-page.is-visual .ehx-swap:not([data-state="normal"]) .vz-meter__row--change,
.article-page.is-visual .ehx-sarc:not([data-state="rest"]) .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .ehx-swap:not([data-state="normal"]) .vz-meter__row--change dd,
.article-page.is-visual .ehx-sarc:not([data-state="rest"]) .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual p.ehx-fig__note { margin: 0.6rem 0 0; font-size: 0.95rem; color: var(--vz-muted); }
.article-page.is-visual .ehx-sarc .vz-heartswap__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 900px) { .article-page.is-visual .ehx-sarc .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .ehx-swap g.vz-hs, .article-page.is-visual .ehx-sarc g.vz-hs { transition: none; } }
/* MESA bars: the eccentric row in orange */
.article-page.is-visual .ehx-mesa ul.vz-freq__list li:last-child .vz-freq__track::before,
.article-page.is-visual .ehx-mesa ul.vz-freq__list li:last-child .vz-freq__track::after { background: var(--vz-orange); }
/* lists inside cards and tiers */
.article-page.is-visual ul.ehx-list, .article-page.is-visual ul.ehx-tierlist { margin: 0.2rem 0 0.8rem; padding-left: 1.2rem; }
.article-page.is-visual ul.ehx-list li, .article-page.is-visual ul.ehx-tierlist li { margin: 0.25rem 0; }
.article-page.is-visual p.ehx-tier__foot { margin: 0.6rem 0 0; font-weight: 700; }
.article-page.is-visual p.ehx-plan { font-weight: 600; color: var(--vz-navy); border-left: 6px solid var(--vz-teal-dk); padding: 0.4rem 0 0.4rem 1rem; }
.article-page.is-visual .ehx-ask { margin: 0; }
/* ---- droxidopa-northera-neurogenic-orthostatic-hypotension (batch 3, 2026-10-24) ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/droxidopa-northera-neurogenic-orthostatic-hypotension/drx-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/droxidopa-northera-neurogenic-orthostatic-hypotension/drx-hero"])::before { display: none; }
/* three-state nerve figure (reuses the heart-toggle JS) */
.article-page.is-visual .drx-nerveswap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .drx-nerveswap .vz-heartswap__stage { aspect-ratio: 640 / 320; width: 100%; max-width: 860px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .drx-nerveswap .vz-heartswap__stage svg.vz-hs { position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease; }
.article-page.is-visual .drx-nerveswap .vz-hs--noh,
.article-page.is-visual .drx-nerveswap .vz-hs--drox { opacity: 0; }
.article-page.is-visual .drx-nerveswap[data-state="noh"] .vz-hs--noh,
.article-page.is-visual .drx-nerveswap[data-state="drox"] .vz-hs--drox { opacity: 1; }
.article-page.is-visual .drx-nerveswap[data-state="noh"] .vz-hs--healthy,
.article-page.is-visual .drx-nerveswap[data-state="drox"] .vz-hs--healthy { opacity: 0; }
.article-page.is-visual .drx-nerveswap .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .drx-nerveswap[data-state="noh"] .vz-meter__row--change { border-left-color: var(--vz-red); background: #fdf1ec; }
.article-page.is-visual .drx-nerveswap[data-state="noh"] .vz-meter__row--change dd { color: #9b2d23; }
@media (max-width: 760px) { .article-page.is-visual .drx-nerveswap .vz-meter { grid-template-columns: 1fr; } }
/* two in three */
.article-page.is-visual .drx-third__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1.5rem; align-items: center; }
.article-page.is-visual .drx-third__svg { width: 100%; max-width: 380px; height: auto; display: block; margin: 0 auto; }
.article-page.is-visual .drx-third__big { font-family: var(--vz-num); font-weight: 800; font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.05; color: var(--vz-teal-dk); margin: 0 0 0.4rem; }
.article-page.is-visual .drx-third__text p { margin: 0; }
@media (max-width: 700px) { .article-page.is-visual .drx-third__grid { grid-template-columns: 1fr; } .article-page.is-visual .drx-third__svg { max-width: 260px; } }
/* dose staircase */
.article-page.is-visual .vz-figure .drx-stairs__svg { width: 100%; max-width: 760px; height: auto; display: block; margin: 0 auto; border-radius: var(--vz-radius-sm); }
/* three-stop strips */
.article-page.is-visual .vz-when.drx-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.drx-when3 { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .article-page.is-visual .vz-when.drx-when4 { grid-template-columns: 1fr; } }
/* dosing-day timeline */
.article-page.is-visual .drx-day [hidden] { display: none !important; }
.article-page.is-visual .drx-day__q { font-weight: 700; color: var(--vz-navy); margin: 0 0 0.8rem; font-size: 1.12rem; }
.article-page.is-visual .drx-day__segs { margin-bottom: 1.2rem; }
.article-page.is-visual .drx-day__track { position: relative; height: 64px; margin: 2.2rem 0.6rem 0.4rem; border-radius: 999px; overflow: visible; }
.drx-day__awake, .drx-day__window, .drx-day__night { position: absolute; top: 18px; height: 28px; }
.drx-day__awake { left: 0; width: var(--last); background: var(--vz-teal-bg); border-radius: 999px 0 0 999px; border: 2px solid rgba(14, 124, 111, 0.35); border-right: 0; box-sizing: border-box; }
.drx-day__window { left: var(--last); width: calc(var(--bed) - var(--last)); background: var(--vz-amber-bg); border: 3px solid var(--vz-amber); box-sizing: border-box; }
.drx-day__night { left: var(--bed); right: 0; background: var(--vz-navy); border-radius: 0 999px 999px 0; }
.drx-day__awake, .drx-day__window, .drx-day__night { transition: left 0.4s ease, width 0.4s ease; }
.drx-day__dose { position: absolute; top: 9px; width: 46px; height: 46px; margin-left: -23px; border-radius: 50%; background: #fff; border: 4px solid var(--vz-teal-dk);
  display: flex; align-items: center; justify-content: center; font-family: var(--vz-num); font-weight: 800; font-size: 1.1rem; color: var(--vz-teal-dk); box-sizing: border-box; transition: left 0.4s ease; }
.drx-day__dose--1 { left: var(--d1); } .drx-day__dose--2 { left: var(--d2); } .drx-day__dose--3 { left: var(--last); background: var(--vz-teal-dk); color: #fff; }
.drx-day__peak { position: absolute; left: var(--peak); top: -14px; width: 0; height: 0; margin-left: -10px; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 16px solid var(--vz-orange); transition: left 0.4s ease; }
.drx-day__bed { position: absolute; left: var(--bed); top: 2px; width: 6px; height: 60px; margin-left: -3px; background: var(--vz-gold); border-radius: 3px; transition: left 0.4s ease; }
.drx-day__makeup { display: none; position: absolute; left: calc((var(--last) + var(--bed)) / 2); top: 9px; width: 46px; height: 46px; margin-left: -23px; border-radius: 50%; border: 4px dashed var(--vz-red); background: #fff;
  align-items: center; justify-content: center; color: var(--vz-red); font-weight: 800; font-size: 1.6rem; line-height: 1; box-sizing: border-box; }
.drx-day.is-miss .drx-day__makeup { display: flex; }
.drx-day.is-miss .drx-day__dose--2 { border-style: dashed; border-color: var(--vz-muted); color: var(--vz-muted); background: #f1ede4; }
.article-page.is-visual .drx-day__axis { position: relative; height: 1.8rem; margin: 0 0.6rem 1rem; font-weight: 700; color: var(--vz-muted); font-size: 1rem; }
.drx-day__morning { position: absolute; left: 0; top: 0; }
.drx-day__bedlabel { position: absolute; left: var(--bed); top: 0; transform: translateX(-70%); white-space: nowrap; color: var(--vz-navy); transition: left 0.4s ease; }
.article-page.is-visual .drx-day__key { list-style: none; padding: 0; margin: 0 0 1rem; display: flex; flex-wrap: wrap; gap: 0.5rem 1.4rem; font-size: 1.02rem; }
.article-page.is-visual .drx-day__key li { margin: 0; display: flex; align-items: center; gap: 0.5rem; }
.drx-k { display: inline-block; flex: none; }
.drx-k--dose { width: 20px; height: 20px; border-radius: 50%; border: 3px solid var(--vz-teal-dk); background: #fff; box-sizing: border-box; }
.drx-k--peak { width: 0; height: 0; border-left: 9px solid transparent; border-right: 9px solid transparent; border-top: 14px solid var(--vz-orange); }
.drx-k--window { width: 26px; height: 16px; background: var(--vz-amber-bg); border: 3px solid var(--vz-amber); box-sizing: border-box; }
.article-page.is-visual .drx-day__miss { max-width: 30rem; margin: 0 0 1rem; }
.article-page.is-visual .drx-day__note { font-size: 0.98rem; color: var(--vz-muted); margin: 0.6rem 0 0; }
@media (prefers-reduced-motion: reduce) {
  .drx-day__awake, .drx-day__window, .drx-day__night, .drx-day__dose, .drx-day__peak, .drx-day__bed, .drx-day__bedlabel { transition: none; }
  .article-page.is-visual .drx-nerveswap .vz-heartswap__stage svg.vz-hs { transition: none; }
}
@media (max-width: 600px) { .drx-day__dose, .drx-day__makeup { width: 38px; height: 38px; margin-left: -19px; top: 13px; font-size: 0.95rem; } }
/* Phone: the no-dose window is only about 45 px wide, so the crossed-out make-up dose drops below the track instead of covering dose 3. */
@media (max-width: 600px) {
  .article-page.is-visual .drx-day.is-miss .drx-day__track { height: 100px; }
  .drx-day.is-miss .drx-day__makeup { top: 60px; width: 34px; height: 34px; margin-left: -17px; }
}
/* ---- concentric-remodeling (batch 4, 2026-10-24) ---- */
/* Hero is a hand-drawn figure: show all of it, no fade. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/concentric-remodeling/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/concentric-remodeling/"])::before { display: none; }
/* Four-pattern wall toggle (reuses the .vz-heartswap JS; inline SVG from wall_draw.py) */
.article-page.is-visual .crw-swap .vz-heartswap__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.article-page.is-visual .crw-swap .vz-heartswap__stage { aspect-ratio: auto; padding: 0.6rem 0; }
.article-page.is-visual .crw-fig { display: block; width: 100%; max-width: 340px; height: auto; margin: 0 auto; }
.article-page.is-visual .crw-swap .vz-hs { opacity: 0; transition: opacity 0.35s ease; }
.article-page.is-visual .crw-swap[data-state="normal"] .vz-hs--normal,
.article-page.is-visual .crw-swap[data-state="remodel"] .vz-hs--remodel,
.article-page.is-visual .crw-swap[data-state="chyper"] .vz-hs--chyper,
.article-page.is-visual .crw-swap[data-state="ehyper"] .vz-hs--ehyper { opacity: 1; }
.article-page.is-visual .crw-swap:not([data-state="normal"]) .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .crw-swap:not([data-state="normal"]) .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .crw-swap .vz-segs--stack .vz-seg { flex: 1 1 200px; }
.article-page.is-visual .crw-fig__note { margin: 0.4rem 0 0; font-size: 0.95rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .crw-swap .vz-heartswap__grid { grid-template-columns: 1fr; } .article-page.is-visual .crw-fig { max-width: 260px; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .crw-swap .vz-hs { transition: none; } }
/* Bulleted lists inside tier panels, and the two-path comparison */
.article-page.is-visual .crw-tierlist { margin: 0.5rem 0 0; padding-left: 1.25rem; }
.article-page.is-visual .crw-tierlist li { margin: 0 0 0.4rem; font-size: 1.08rem; line-height: 1.45; }
.article-page.is-visual .vz-tier--red.crw-911 { margin: 1rem 0 1.5rem; }
.article-page.is-visual .crw-paths .crw-paths__lead { margin: 0 0 0.6rem; font-size: 1.05rem; }
/* Report pattern finder (.vz-geo), generic: reusable on eccentric-hypertrophy */
.vz-geo { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.4rem 1.5rem 1.3rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .vz-geo__nojs { margin: 0 0 1rem; font-size: 1.05rem; }
.article-page.is-visual .vz-geo__step { margin: 0 0 0.55rem; font-family: var(--font-sans); font-weight: 700; font-size: 1.05rem; color: var(--vz-navy); }
.article-page.is-visual .vz-geo__fields { display: flex; flex-wrap: wrap; gap: 0.8rem 1.2rem; margin: 0 0 0.75rem; }
.article-page.is-visual .vz-geo__field { display: flex; flex-direction: column; gap: 0.35rem; font-family: var(--font-sans); font-weight: 600; font-size: 1.02rem; color: var(--vz-ink); }
.article-page.is-visual .vz-geo__field input { min-height: 48px; width: 12rem; max-width: 100%; box-sizing: border-box; padding: 0.5rem 0.9rem; border: 2px solid var(--vz-ink); border-radius: var(--vz-radius-sm); background: #fff; color: var(--vz-navy); font-family: var(--vz-num); font-size: 1.25rem; font-weight: 700; }
.article-page.is-visual .vz-geo__row { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; }
.article-page.is-visual .vz-geo__row .vz-segs { margin: 0; }
.article-page.is-visual .vz-geo__sex .vz-seg { min-width: 88px; text-align: center; }
.article-page.is-visual .vz-geo__go { appearance: none; cursor: pointer; min-height: 48px; padding: 0.55rem 1.2rem; border: 2px solid var(--vz-ink); border-radius: 999px; background: var(--vz-ink); color: #fff; font-family: var(--font-sans); font-size: 1.04rem; font-weight: 600; }
.article-page.is-visual .vz-geo__go:focus-visible, .article-page.is-visual .vz-geo__field input:focus-visible, .article-page.is-visual .vz-geo__cell:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 3px; }
.article-page.is-visual .vz-geo__msg { margin: 0.55rem 0 1.1rem; font-size: 1.02rem; color: var(--vz-text); min-height: 1.2em; }
.article-page.is-visual .vz-geo__msg.is-error { color: var(--vz-red); font-weight: 600; }
.vz-geo__grid { display: grid; grid-template-columns: minmax(5.5rem, 0.7fr) minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto auto; gap: 0.6rem; margin: 0 0 1.1rem; }
.article-page.is-visual .vz-geo__ax { margin: 0; align-self: end; font-family: var(--font-sans); font-size: 0.92rem; font-weight: 700; letter-spacing: 0.04em; color: var(--vz-muted); text-align: center; }
.article-page.is-visual .vz-geo__ax--row { align-self: center; text-align: right; padding-right: 0.3rem; }
.article-page.is-visual .vz-geo__cell {
  appearance: none; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.35rem;
  min-height: 150px; padding: 0.7rem 0.6rem; border: 2px solid rgba(28, 43, 64, 0.25); border-radius: var(--vz-radius-sm);
  background: #fff; color: var(--vz-ink); font-family: var(--font-sans); font-size: 1.04rem; font-weight: 700; line-height: 1.2; text-align: center;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.article-page.is-visual .vz-geo__cell.is-on { border: 3px solid var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-geo__mini { width: 84px; height: 84px; display: block; }
.vz-geo__result { background: #fff; border-radius: var(--vz-radius-sm); padding: 1.1rem 1.25rem; border-left: 8px solid #b3ab95; transition: border-color 0.3s ease; }
.vz-geo[data-state="cr"] .vz-geo__result { border-left-color: #b8841f; }
.vz-geo[data-state="ch"] .vz-geo__result { border-left-color: #b5302a; }
.vz-geo[data-state="eh"] .vz-geo__result { border-left-color: #c9742c; }
.vz-geo[data-state="normal"] .vz-geo__result { border-left-color: #129a8a; }
.article-page.is-visual .vz-geo__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.4rem, 2.2vw, 1.85rem); line-height: 1.15; color: var(--vz-navy); margin: 0 0 0.4rem; }
.article-page.is-visual .vz-geo__why { margin: 0 0 0.5rem; font-size: 1.1rem; }
.article-page.is-visual .vz-geo__cause { margin: 0; font-size: 1.02rem; color: var(--vz-muted); font-weight: 600; }
.article-page.is-visual .vz-geo__note { margin: 0.9rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
@media (max-width: 600px) {
  .vz-geo { padding: 1.1rem 1rem 1.1rem; }
  .vz-geo__grid { grid-template-columns: minmax(4.2rem, 0.6fr) minmax(0, 1fr) minmax(0, 1fr); gap: 0.45rem; }
  .article-page.is-visual .vz-geo__cell { min-height: 128px; font-size: 0.95rem; padding: 0.55rem 0.35rem; }
  .article-page.is-visual .vz-geo__mini { width: 64px; height: 64px; }
  .article-page.is-visual .vz-geo__ax { font-size: 0.84rem; letter-spacing: 0; }
  .article-page.is-visual .vz-geo__field input { width: 100%; }
  .article-page.is-visual .vz-geo__field { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .vz-geo__result, .article-page.is-visual .vz-geo__cell { transition: none; } }

/* ---- ectopic-atrial-rhythm (batch 3, 2026-10-24) ---- */
/* drawn-strip hero shown whole; "where the beat starts" toggle (heart toggle, three states:
   sinus / ectopic / fast); tier lists; even two-card split */
.article-page.is-visual .vz-hero__photo img[src^="/visual/ectopic-atrial-rhythm/ear-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/ectopic-atrial-rhythm/ear-hero"])::before { display: none; }
.article-page.is-visual .vz-earswap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1.1rem; }
.article-page.is-visual .vz-earswap .vz-heartswap__stage { aspect-ratio: 1600 / 640; background: #f6f2ea; }
.article-page.is-visual .vz-earswap .vz-heartswap__stage img { object-fit: contain; object-position: 50% 50%; }
.article-page.is-visual .vz-earswap .vz-hs--ectopic,
.article-page.is-visual .vz-earswap .vz-hs--fast { opacity: 0; }
.article-page.is-visual .vz-earswap[data-state="ectopic"] .vz-hs--ectopic,
.article-page.is-visual .vz-earswap[data-state="fast"] .vz-hs--fast { opacity: 1; }
.article-page.is-visual .vz-earswap[data-state="ectopic"] .vz-hs--sinus,
.article-page.is-visual .vz-earswap[data-state="fast"] .vz-hs--sinus { opacity: 0; }
.article-page.is-visual .vz-earswap .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1000px) { .article-page.is-visual .vz-earswap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.article-page.is-visual .vz-earswap[data-state="ectopic"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-earswap[data-state="fast"] .vz-meter__row--change { border-left-color: var(--vz-red); background: var(--vz-red-bg); }
.article-page.is-visual .vz-earswap[data-state="fast"] .vz-meter__row--change dd { color: #9b2d23; }
@media (max-width: 640px) {
  .article-page.is-visual .vz-earswap .vz-heartswap__stage { aspect-ratio: 900 / 1265; }
  .article-page.is-visual .vz-earswap .vz-meter { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-earswap .vz-hs { transition: none; } }
.article-page.is-visual ul.ear-tierlist { list-style: none; margin: 0; padding: 0; }
.article-page.is-visual ul.ear-tierlist li { margin: 0; padding: 0.65rem 0; border-top: 1px solid rgba(20, 33, 61, 0.1); font-size: 1.05rem; line-height: 1.5; }
.article-page.is-visual ul.ear-tierlist li:first-child { border-top: 0; padding-top: 0.2rem; }
.article-page.is-visual ul.ear-tierlist li::before { content: none; }
.article-page.is-visual .vz-split--even:has(> .ear-who) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.article-page.is-visual .vz-card.ear-who { margin: 0; }
@media (max-width: 760px) { .article-page.is-visual .vz-split--even:has(> .ear-who) { grid-template-columns: 1fr; } }
.article-page.is-visual #over-time ul.vz-freq__list li { grid-template-columns: minmax(0, 2.3fr) minmax(0, 3fr) 9.4rem; }
@media (max-width: 700px) { .article-page.is-visual #over-time ul.vz-freq__list li { grid-template-columns: minmax(0, 1fr) 9.2rem; } }
/* ---- energy-drinks-heart-arrhythmia (batch 3, 2026-10-24) ---- */
/* Drawn hero (contain, no fade), caffeine counter (.ed-caf), ingredient chips, red callout. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/energy-drinks-heart-arrhythmia/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/energy-drinks-heart-arrhythmia/"])::before { display: none; }
.article-page.is-visual p.ed-caf__lead { font-weight: 600; color: var(--vz-ink); margin: 0 0 0.9rem; }
.article-page.is-visual .ed-caf__age[hidden], .article-page.is-visual .ed-caf__total[hidden], .article-page.is-visual .ed-caf__ctl[hidden] { display: none; }
.article-page.is-visual .ed-caf__age { margin-bottom: 1rem; }
.article-page.is-visual ul.ed-caf__list { list-style: none; padding: 0; margin: 0 0 1.2rem; display: grid; gap: 0.5rem; }
.article-page.is-visual .ed-caf__row { margin: 0; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) 8.5rem auto; align-items: center; gap: 0.5rem 1rem; background: #fff; border-radius: var(--vz-radius-sm); padding: 0.6rem 0.9rem; border-left: 6px solid #b3ab95; }
.article-page.is-visual .ed-caf__row--energy { border-left-color: var(--vz-orange); }
.article-page.is-visual .ed-caf__row--pre { border-left-color: var(--vz-red); }
.article-page.is-visual .ed-caf__row.is-on { background: #fffaf0; box-shadow: none; outline: 2px solid rgba(224, 87, 46, 0.35); outline-offset: -2px; }
.article-page.is-visual p.ed-caf__what { margin: 0; line-height: 1.25; }
.article-page.is-visual .ed-caf__what b { display: block; color: var(--vz-navy); font-size: 1.1rem; }
.article-page.is-visual .ed-caf__what small { display: block; color: var(--vz-muted); font-size: 0.95rem; }
.ed-caf__bar { display: block; height: 18px; border-radius: 999px; background: var(--vz-tile); overflow: hidden; }
.ed-caf__bar > span { display: block; height: 100%; width: var(--w); border-radius: 999px; background: #b3ab95; }
.ed-caf__row--energy .ed-caf__bar > span { background: var(--vz-orange); }
.ed-caf__row--pre .ed-caf__bar > span { background: var(--vz-red); }
.article-page.is-visual p.ed-caf__mg { margin: 0; font-family: var(--vz-num); font-weight: 800; font-size: 1.05rem; color: var(--vz-navy); }
.ed-caf__ctl { display: flex; align-items: center; gap: 0.35rem; }
.article-page.is-visual .ed-caf__btn { width: 48px; height: 48px; border-radius: 999px; border: 2px solid var(--vz-navy); background: #fff; color: var(--vz-navy); font: 800 1.5rem/1 var(--vz-num); cursor: pointer; padding: 0; }
.article-page.is-visual .ed-caf__btn:hover { background: var(--vz-tile); }
.article-page.is-visual .ed-caf__btn:focus-visible { outline: 3px solid var(--vz-teal); outline-offset: 2px; }
.ed-caf__n { min-width: 1.6rem; text-align: center; font-family: var(--vz-num); font-weight: 800; font-size: 1.25rem; color: var(--vz-navy); }
.article-page.is-visual .ed-caf__total { background: #fff; border-radius: var(--vz-radius-sm); padding: 0.9rem 1.1rem 0.4rem; margin-bottom: 0.9rem; }
.article-page.is-visual p.ed-caf__sum { margin: 0 0 0.5rem; font-size: 1.1rem; color: var(--vz-muted); }
.ed-caf__sum b { font-family: var(--vz-num); font-weight: 800; font-size: 2rem; color: var(--vz-navy); margin-right: 0.2rem; }
.ed-caf.is-over .ed-caf__sum b { color: var(--vz-red); }
.ed-caf__meter { position: relative; display: block; height: 24px; border-radius: 999px; background: var(--vz-tile); }
.ed-caf__fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 999px; background: var(--vz-teal); transition: width 0.35s ease; }
.ed-caf.is-over .ed-caf__fill { background: var(--vz-red); }
.ed-caf__ceil { position: absolute; left: 40%; top: -6px; bottom: -6px; width: 4px; margin-left: -2px; background: var(--vz-navy); border-radius: 2px; }
.article-page.is-visual p.ed-caf__ticks { position: relative; height: 1.6rem; margin: 0.35rem 0 0; font-family: var(--vz-num); font-weight: 700; font-size: 0.9rem; color: var(--vz-muted); }
.ed-caf__ticks span { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.ed-caf__ticks span:first-child { transform: none; }
.ed-caf__ticks span:last-child { transform: translateX(-100%); }
.article-page.is-visual p.ed-caf__read { font-size: 1.1rem; }
.article-page.is-visual p.ed-caf__plan { margin: 0.6rem 0 0; font-size: 1rem; color: var(--vz-muted); font-style: italic; }
@media (max-width: 700px) {
  .article-page.is-visual .ed-caf__row { grid-template-columns: minmax(0, 1fr) auto; }
  .article-page.is-visual .ed-caf__bar { grid-column: 1; grid-row: 2; }
  .article-page.is-visual .ed-caf__ctl { grid-column: 2; grid-row: 2; }
}
@media (prefers-reduced-motion: reduce) { .ed-caf__fill { transition: none; } }
.article-page.is-visual ul.ed-chips { list-style: none; padding: 0; margin: 1rem 0 1.4rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 0.6rem; }
.article-page.is-visual .ed-chips li { margin: 0; background: var(--vz-panel); border-radius: var(--vz-radius-sm); padding: 0.75rem 0.95rem; border-top: 5px solid var(--vz-orange); line-height: 1.35; }
.article-page.is-visual .ed-chips b { display: block; color: var(--vz-navy); font-size: 1.08rem; }
.article-page.is-visual .ed-chips span { display: block; font-size: 1rem; color: var(--vz-text); }
.article-page.is-visual .ed-chips span:empty { display: none; }
.article-page.is-visual .ed-redcall { background: var(--vz-red-bg); border-left: 8px solid var(--vz-red); }
.article-page.is-visual .ed-redcall h3 { color: #9b2d23; }
.article-page.is-visual .ed-esc .vz-tier--red { border-left: 8px solid var(--vz-red); }
.article-page.is-visual .ed-esc dd:empty { display: none; }
.article-page.is-visual #at-risk .vz-checklist { margin-bottom: 1.25rem; }
/* ---- ffr-ifr-functional-assessment (batch 3, 2026-10-24) ---- */
/* Figure hero; "same look, different flow" toggle on the generic heart toggle (.vz-ffrswap, drawn SVG
   stage: tight / mild); FFR / iFR threshold decoder (.ffr-dec, new); trial strip (.vz-when--trials). */
.article-page.is-visual .vz-hero__photo img[src^="/visual/ffr-ifr-functional-assessment/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/ffr-ifr-functional-assessment/"])::before { display: none; }
.article-page.is-visual .vz-ffrswap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .vz-ffrswap .vz-heartswap__stage { aspect-ratio: 1000 / 600; width: 100%; max-width: 900px; margin: 0 auto; }
.article-page.is-visual .vz-ffrswap .vz-heartswap__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease; }
.article-page.is-visual .vz-ffrswap .vz-hs--mild { opacity: 0; }
.article-page.is-visual .vz-ffrswap[data-state="mild"] .vz-hs--mild { opacity: 1; }
.article-page.is-visual .vz-ffrswap[data-state="mild"] .vz-hs--tight { opacity: 0; }
.article-page.is-visual .vz-ffrswap .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .vz-ffrswap[data-state="mild"] .vz-meter__row--change { border-left-color: var(--vz-red); background: #f9e1dc; }
.article-page.is-visual .vz-ffrswap[data-state="mild"] .vz-meter__row--change dd { color: #9b2d23; }
@media (max-width: 900px) { .article-page.is-visual .vz-ffrswap .vz-meter { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { .article-page.is-visual .vz-ffrswap .vz-heartswap__stage svg text { font-size: 48px; } }

.ffr-dec { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.4rem 1.5rem 1.3rem; margin: 1.5rem 0 2rem; }
.article-page.is-visual .ffr-dec [hidden] { display: none !important; }
.article-page.is-visual .ffr-dec__step { margin: 0 0 0.5rem; font-family: var(--font-sans); font-weight: 700; font-size: 1.08rem; color: var(--vz-navy); }
.article-page.is-visual .ffr-dec .vz-segs { margin: 0 0 1.1rem; }
.article-page.is-visual .ffr-dec__tests .vz-seg { min-width: 96px; text-align: center; font-weight: 700; }
.article-page.is-visual .ffr-dec__bands .vz-seg { flex: 1 1 140px; text-align: center; }
.article-page.is-visual .ffr-dec__entry { margin: 0 0 1rem; }
.article-page.is-visual .ffr-dec__entry label { display: block; font-family: var(--font-sans); font-weight: 600; font-size: 1.02rem; color: var(--vz-ink); margin-bottom: 0.4rem; }
.article-page.is-visual .ffr-dec__row { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.article-page.is-visual .ffr-dec__input { min-height: 48px; width: 12rem; max-width: 100%; box-sizing: border-box; padding: 0.5rem 0.9rem; border: 2px solid var(--vz-ink); border-radius: var(--vz-radius-sm); background: #fff; color: var(--vz-navy); font-family: var(--vz-num); font-size: 1.25rem; font-weight: 700; }
.article-page.is-visual .ffr-dec__go { appearance: none; cursor: pointer; min-height: 48px; padding: 0.55rem 1.2rem; border: 2px solid var(--vz-ink); border-radius: 999px; background: var(--vz-ink); color: #fff; font-family: var(--font-sans); font-size: 1.04rem; font-weight: 600; }
.article-page.is-visual .ffr-dec__go:focus-visible, .article-page.is-visual .ffr-dec__input:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 3px; }
.article-page.is-visual .ffr-dec__msg { margin: 0.5rem 0 0; font-size: 1.02rem; color: var(--vz-text); min-height: 1.2em; }
.article-page.is-visual .ffr-dec__msg.is-error { color: var(--vz-red); font-weight: 600; }
.ffr-dec__scale { position: relative; margin: 0.3rem 0 1.3rem; }
.ffr-dec__bar { display: flex; height: 26px; border-radius: 999px; overflow: hidden; }
.ffr-dec__seg { flex: 1 1 0; display: block; height: 100%; }
.ffr-dec__seg--severe { background: #a82e27; }
.ffr-dec__seg--clear { background: #d0612e; }
.ffr-dec__seg--border { background: #d8a43a; }
.ffr-dec__seg--fine { background: #5f6f8a; }
.ffr-dec__ticks { display: flex; margin-top: 0.35rem; font-family: var(--font-sans); font-size: 0.95rem; font-weight: 600; color: var(--vz-muted); text-align: center; }
.ffr-dec__ticks span { flex: 1 1 0; }
.ffr-dec__mark { position: absolute; top: -7px; left: 87.5%; width: 6px; height: 40px; margin-left: -3px; background: var(--vz-navy); border: 2px solid #fff; border-radius: 4px; transition: left 0.35s ease; }
.ffr-dec__result { background: #fff; border-radius: var(--vz-radius-sm); padding: 1.1rem 1.25rem; border-left: 8px solid #5f6f8a; transition: border-color 0.3s ease; }
.ffr-dec[data-band="border"] .ffr-dec__result { border-left-color: #b8841f; }
.ffr-dec[data-band="clear"] .ffr-dec__result { border-left-color: #d0612e; }
.ffr-dec[data-band="severe"] .ffr-dec__result { border-left-color: #a82e27; }
.ffr-dec[data-band="edgeffr"] .ffr-dec__result, .ffr-dec[data-band="edgeifr"] .ffr-dec__result { border-left-color: #b8841f; border-left-style: double; }
.article-page.is-visual .ffr-dec__title { font-family: var(--vz-num); font-weight: 800; font-size: clamp(1.5rem, 2.3vw, 2rem); line-height: 1.15; color: var(--vz-navy); margin: 0 0 0.4rem; }
.article-page.is-visual .ffr-dec__means { font-size: 1.12rem; line-height: 1.5; font-weight: 600; margin: 0 0 0.8rem; }
.article-page.is-visual .ffr-dec__nextlabel { font-family: var(--font-sans); font-size: 0.85rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--vz-orange); font-weight: 700; margin: 0 0 0.25rem; }
.article-page.is-visual .ffr-dec__next { font-size: 1.08rem; line-height: 1.5; margin: 0; }
.article-page.is-visual .ffr-dec__plan { margin: 1rem 0 0.6rem; font-size: 1.05rem; font-weight: 600; color: var(--vz-navy); }
.article-page.is-visual .ffr-dec__notes { margin: 0; padding: 0.8rem 0 0; border-top: 1px solid var(--vz-line); list-style: none; display: grid; gap: 0.35rem; }
.article-page.is-visual .ffr-dec__notes li { margin: 0; font-size: 1.02rem; line-height: 1.45; color: var(--vz-text); }
@media (max-width: 600px) {
  .ffr-dec { padding: 1.1rem 1rem; }
  .ffr-dec__ticks { font-size: 0.8rem; }
  .article-page.is-visual .ffr-dec__bands .vz-seg { flex: 1 1 40%; }
}
.article-page.is-visual .vz-when.vz-when--trials b { font-size: 1.25rem; }
.article-page.is-visual .ffr-dec__input::placeholder { font-family: var(--font-sans); font-size: 1.05rem; font-weight: 600; color: var(--vz-muted); }
@media (min-width: 701px) { .article-page.is-visual #numbers .vz-table td:nth-of-type(1), .article-page.is-visual #numbers .vz-table td:nth-of-type(2) { white-space: nowrap; } }
.article-page.is-visual #escalate .vz-tiers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .article-page.is-visual #escalate .vz-tiers { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) { .article-page.is-visual .vz-when.vz-when--trials { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) {
  .article-page.is-visual .vz-ffrswap .vz-heartswap__stage svg, .ffr-dec__mark, .ffr-dec__result { transition: none; }
}

/* ---- holiday-heart-syndrome (batch 3, 2026-10-24): figure hero, stat rows, week decoder lead (.vz-ef reuse), closer with two paragraphs ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/holiday-heart-syndrome/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/holiday-heart-syndrome/"])::before { display: none; }
.article-page.is-visual .vz-statline.hh-stat2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.article-page.is-visual .vz-statline.hh-stat3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .vz-statline.hh-stat2 + .vz-statline.hh-stat2 { margin-top: -0.75rem; }
@media (max-width: 760px) { .article-page.is-visual .vz-statline.hh-stat2, .article-page.is-visual .vz-statline.hh-stat3 { grid-template-columns: 1fr; } }
.article-page.is-visual .hh-week p.hh-week__lead { margin: 0 0 1rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .hh-closer .vz-closer__text p + p { margin-top: 0.9rem; }

/* ---- ep-study (batch 3, 2026-10-24) ----
   Figure hero (contain, no fade), listen / pace / ablate catheter figure (.vz-epcath, on the heart
   toggle JS block 7), cure-rate range bars (.vz-eprate, CSS only), phased procedure stepper
   (.vz-ep-steps, CAC stepper JS), plan-by-procedure planner (.vz-epplan, on .vz-daytl). */
.article-page.is-visual .vz-hero__photo img[src^="/visual/ep-study/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/ep-study/"])::before { display: none; }
.article-page.is-visual .vz-epcath .vz-heartswap__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; margin-top: 1rem; }
.article-page.is-visual .vz-epcath .vz-heartswap__stage { aspect-ratio: 880 / 1130; width: 100%; max-width: 500px; margin: 0 auto; background: #fbf6ee; }
.article-page.is-visual .vz-epcath .vz-heartswap__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .vz-epcath .ep-l { opacity: 0; transition: opacity 0.4s ease; }
.article-page.is-visual .vz-epcath[data-state="listen"] .ep-l--listen,
.article-page.is-visual .vz-epcath[data-state="pace"] .ep-l--pace,
.article-page.is-visual .vz-epcath[data-state="ablate"] .ep-l--ablate { opacity: 1; }
.article-page.is-visual .vz-epcath .ep-cath { transition: opacity 0.4s ease; }
.article-page.is-visual .vz-epcath[data-state="ablate"] .ep-cath { opacity: 0.4; }
.article-page.is-visual ol.vz-epcath__key { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.55rem; }
.article-page.is-visual ol.vz-epcath__key li { margin: 0; display: grid; grid-template-columns: 2.1rem minmax(0, 1fr); gap: 0.7rem; align-items: start; font-size: 1.05rem; line-height: 1.45; }
.article-page.is-visual ol.vz-epcath__key li::before { content: none; }
.article-page.is-visual ol.vz-epcath__key li b { width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--vz-navy); color: #fff; display: grid; place-items: center; font-family: var(--vz-num); font-weight: 800; font-size: 1rem; }
.article-page.is-visual .vz-epcath[data-state="pace"] .vz-meter__row--change,
.article-page.is-visual .vz-epcath[data-state="ablate"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual p.vz-epcath__note { margin: 0.6rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .vz-epcath .vz-heartswap__grid { grid-template-columns: 1fr; } .article-page.is-visual .vz-epcath .vz-heartswap__stage { max-width: 360px; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-epcath .ep-l, .article-page.is-visual .vz-epcath .ep-cath { transition: none; } }

.article-page.is-visual p.vz-eprate__title { margin: 0 0 0.9rem; font-family: var(--font-sans); font-size: 0.85rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--vz-muted); }
.article-page.is-visual ul.vz-eprate__list { list-style: none; margin: 0 0 0.6rem; padding: 0; display: grid; gap: 0.55rem; }
.article-page.is-visual ul.vz-eprate__list li { margin: 0; padding: 0; display: grid; grid-template-columns: 14rem minmax(0, 1fr) 11rem; gap: 0.9rem; align-items: center; }
.article-page.is-visual ul.vz-eprate__list li::before { content: none; }
.article-page.is-visual .vz-eprate__lab { font-family: var(--font-sans); font-weight: 600; font-size: 1.05rem; line-height: 1.25; color: var(--vz-navy); }
.article-page.is-visual .vz-eprate__track { position: relative; display: block; height: 1.5rem; background: var(--vz-tile); border-radius: 999px; }
.article-page.is-visual .vz-eprate__track i { position: absolute; top: 0; bottom: 0; left: var(--lo); right: calc(100% - var(--hi)); min-width: 0.9rem; border-radius: 999px; background: var(--vz-teal-dk); }
.article-page.is-visual .vz-eprate__track i.vz-eprate__fill--navy { background: var(--vz-navy); }
.article-page.is-visual .vz-eprate__track i.vz-eprate__fill--orange { background: var(--vz-orange); }
.article-page.is-visual .vz-eprate__track i.vz-eprate__fill--amber { background: #c8902a; }
.article-page.is-visual .vz-eprate__val { font-family: var(--vz-num); font-weight: 800; font-size: 1.02rem; line-height: 1.2; color: var(--vz-navy); }
.article-page.is-visual .vz-eprate__track--axis { background: none; height: 1.2rem; }
.article-page.is-visual .vz-eprate__track--axis em { position: absolute; left: var(--at); top: 0; transform: translateX(-50%); font-style: normal; font-size: 0.9rem; color: var(--vz-muted); font-family: var(--font-sans); }
.article-page.is-visual .vz-eprate__track--axis em:first-child { transform: none; }
.article-page.is-visual .vz-eprate__track--axis em:last-child { transform: translateX(-100%); }
@media (max-width: 700px) {
  .article-page.is-visual ul.vz-eprate__list li { grid-template-columns: minmax(0, 1fr) auto; gap: 0.3rem 0.7rem; }
  .article-page.is-visual ul.vz-eprate__list li .vz-eprate__track { grid-column: 1 / -1; grid-row: 2; }
  .article-page.is-visual ul.vz-eprate__list li.vz-eprate__axis > span:not(.vz-eprate__track) { display: none; }
}

.article-page.is-visual .vz-ep-phase { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: 0.8rem; align-items: start; margin: 0 0 0.75rem; }
.article-page.is-visual p.vz-ep-phase__name { margin: 0; padding-top: 1.1rem; font-family: var(--font-sans); font-size: 0.86rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700; color: var(--vz-orange); }
.article-page.is-visual .vz-ep-steps .vz-stepper__list { margin: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .vz-ep-steps .vz-ep-phase + .vz-stepper__panel { margin-top: 0.4rem; }
.article-page.is-visual p.vz-ep-steps__plan { margin: 0.9rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
@media (max-width: 900px) {
  .article-page.is-visual .vz-ep-phase { grid-template-columns: 1fr; gap: 0.35rem; }
  .article-page.is-visual p.vz-ep-phase__name { padding-top: 0.3rem; }
  .article-page.is-visual .vz-ep-steps .vz-stepper__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.article-page.is-visual p.vz-epplan__note { margin: 0.5rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
@media (min-width: 1000px) { .article-page.is-visual:has(.vz-hero__photo img[src^="/visual/ep-study/"]) #recovery .vz-when { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* ---- hrt-and-heart-disease (batch 4, 2026-10-24): timing decoder (.vz-ef reuse, .hrt-timing), pill-or-patch toggle (.vz-heartswap reuse, .hrt-route), figure hero ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/hrt-and-heart-disease/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/hrt-and-heart-disease/"])::before { display: none; }
.article-page.is-visual .hrt-timing__ask { font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem; color: var(--vz-navy); margin: 0 0 0.8rem; }
.article-page.is-visual .hrt-timing .vz-efscale { margin-top: 1.4rem; margin-bottom: 0.6rem; }
.article-page.is-visual .hrt-timing .vz-efscale__ticks span:first-child { transform: none; }
.article-page.is-visual .hrt-timing .vz-efscale__ticks span:last-child { transform: translateX(-100%); }
.article-page.is-visual .hrt-ages { display: flex; justify-content: space-between; gap: 1rem; margin: 0.4rem 0 1.3rem; font-family: var(--font-sans); font-size: 0.98rem; font-weight: 600; color: var(--vz-muted); }
.article-page.is-visual .hrt-ages span { max-width: 38%; }
.article-page.is-visual .hrt-ages__a { color: var(--vz-teal-dk); }
.article-page.is-visual .hrt-ages__b { text-align: right; color: var(--vz-amber); }
.article-page.is-visual .hrt-timing[data-band="ten"] .vz-ef__result { border-left-color: #5aa89c; }
.article-page.is-visual .hrt-timing[data-band="late"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .hrt-route .vz-heartswap__stage { aspect-ratio: auto; }
.article-page.is-visual .hrt-route__svg { display: block; width: 100%; height: auto; }
.article-page.is-visual .hrt-route .vz-hs { transition: opacity 0.35s ease; }
.article-page.is-visual .hrt-route .vz-hs--patch { opacity: 0; }
.article-page.is-visual .hrt-route[data-state="patch"] .vz-hs--patch { opacity: 1; }
.article-page.is-visual .hrt-route[data-state="patch"] .vz-hs--pill { opacity: 0; }
.article-page.is-visual .hrt-route[data-state="pill"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .hrt-route[data-state="patch"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: var(--vz-teal-bg); }
@media (max-width: 600px) { .article-page.is-visual .hrt-ages { font-size: 0.9rem; } .article-page.is-visual .hrt-ages span { max-width: 46%; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .hrt-route .vz-hs { transition: none; } }

/* ---- lbbb (batch 4, 2026-10-24) ---- */
/* hero is a drawing: show it whole, no fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/lbbb/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/lbbb/"])::before { display: none; }
/* wiring toggle: heart toggle with states normal / lbbb */
.article-page.is-visual .vz-lbbbswap .vz-heartswap__stage { aspect-ratio: 1000 / 770; background: #faf6ec; }
.article-page.is-visual .vz-lbbbswap .vz-heartswap__stage img { object-position: 50% 50%; }
.article-page.is-visual .vz-hs--lbbb { opacity: 0; }
.article-page.is-visual .vz-heartswap[data-state="lbbb"] .vz-hs--lbbb { opacity: 1; }
.article-page.is-visual .vz-heartswap[data-state="lbbb"] .vz-hs--normal { opacity: 0; }
.article-page.is-visual .vz-heartswap[data-state="lbbb"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-heartswap[data-state="lbbb"] .vz-meter__row--change dd { color: #9b2d23; }
@media (max-width: 900px) { .article-page.is-visual .vz-lbbbswap .vz-heartswap__stage { max-width: 560px; width: 100%; margin: 0 auto; } }
/* schematic EKG figure */
.article-page.is-visual .vz-lbbbekg picture, .article-page.is-visual .vz-lbbbekg img { display: block; width: 100%; height: auto; margin: 0 auto; border-radius: var(--vz-radius-sm); }
@media (max-width: 700px) { .article-page.is-visual .vz-lbbbekg img { max-width: 440px; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-lbbbswap .vz-heartswap__stage img, .article-page.is-visual .vz-lbbbswap .vz-heartswap__stage picture { transition: none; } }
/* ---- implantable-loop-recorder (batch 3, 2026-10-24) ---- */
/* hand-drawn figure hero: show the whole drawing, labels included */
.article-page.is-visual .vz-hero__photo img[src^="/visual/implantable-loop-recorder/"] { object-fit: contain; object-position: 50% 50%; background: #f6f2ea; }
/* size figure (inline SVG beside the text) */
.article-page.is-visual .ilr-size { margin: 0; align-self: center; }
.article-page.is-visual .ilr-size__svg { display: block; width: 100%; height: auto; background: #fff; border-radius: var(--vz-radius-sm); }
/* question line above the reused .vz-daytl toggle and the CRYSTAL-AF bars */
.article-page.is-visual p.ilr-flow__q { font-family: var(--vz-serif); font-weight: 600; font-size: 1.45rem; color: var(--vz-ink); margin: 0 0 0.7rem; }
/* implant-day stepper: seven steps, four across on desktop */
.article-page.is-visual .ilr-steps .vz-stepper__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .article-page.is-visual .ilr-steps .vz-stepper__list { grid-template-columns: 1fr; } }
/* follow-up and calendar stops: three across, one column on phones (long text) */
.article-page.is-visual .vz-when.ilr-when { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .vz-when.ilr-when b { font-size: 1.25rem; }
@media (max-width: 760px) { .article-page.is-visual .vz-when.ilr-when { grid-template-columns: 1fr; } }
/* a lone tier panel spans the band */
.article-page.is-visual .vz-tiers.ilr-lone { grid-template-columns: 1fr; }

/* ---- heart-supplements-magnesium-potassium-coq10 (batch 4, 2026-10-24): supplement shelf (.vz-quick.vz-supshelf, one verdict card per bottle, CSS only), bag sorter (.vz-nsx reused, colour modifier .vz-supnsx), inline figures (.vz-supbp, .vz-supwin, .vz-suplabel), hand-drawn hero ---- */
.article-page.is-visual .vz-supshelf ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .vz-supshelf li.vz-supshelf__b { display: flex; flex-direction: column; gap: 0.45rem; border-top: 8px solid var(--sup-c, var(--vz-teal)); }
.article-page.is-visual .vz-supshelf li.vz-supshelf__b strong { font-family: var(--vz-serif); font-size: 1.45rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--vz-ink); margin: 0; }
.article-page.is-visual .vz-supshelf__v { align-self: flex-start; background: var(--sup-c, var(--vz-teal)); color: #fff; font-family: var(--font-sans); font-weight: 700; font-size: 0.86rem; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 999px; padding: 0.25rem 0.8rem; }
.article-page.is-visual .vz-supshelf__t { flex: 1 1 auto; }
.article-page.is-visual a.vz-supshelf__go { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; color: var(--vz-ink); }
.article-page.is-visual .vz-supshelf__b--teal { --sup-c: #0e7c6f; }
.article-page.is-visual .vz-supshelf__b--green { --sup-c: #4f7a2a; }
.article-page.is-visual .vz-supshelf__b--amber { --sup-c: #9a6a12; }
.article-page.is-visual .vz-supshelf__b--slate { --sup-c: #5f6b7a; }
.article-page.is-visual .vz-supshelf__b--red { --sup-c: #b5302a; }
.article-page.is-visual .vz-supshelf li.vz-quick--bottom { display: flex; flex-direction: column; justify-content: center; font-size: 1.2rem; }
@media (max-width: 1000px) { .article-page.is-visual .vz-supshelf ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .article-page.is-visual .vz-supshelf ul { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-supnsx[data-result="fine"] .vz-nsx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .vz-supnsx[data-result="skip"] .vz-nsx__result { background: #4f5b6a; }
.article-page.is-visual .vz-supnsx[data-result="ask"] .vz-nsx__result { background: var(--vz-amber); }
.article-page.is-visual .vz-supnsx[data-result="stop"] .vz-nsx__result { background: var(--vz-red); }
.article-page.is-visual .vz-supbp, .article-page.is-visual .vz-supwin, .article-page.is-visual .vz-suplabel { display: block; width: 100%; height: auto; margin: 0 auto; }
.article-page.is-visual .vz-supwin { max-width: 720px; }
.article-page.is-visual .vz-supbp { max-width: 760px; }
.article-page.is-visual .vz-supfig__w { font-family: var(--font-sans); font-weight: 700; font-size: 40px; fill: #fff; }
.article-page.is-visual .vz-supfig__l { font-family: var(--font-sans); font-weight: 600; font-size: 32px; fill: var(--vz-ink); }
.article-page.is-visual .vz-supfig__t { font-family: var(--vz-num); font-weight: 600; font-size: 26px; fill: var(--vz-muted); }
.article-page.is-visual .vz-supfig__v { font-family: var(--vz-num); font-weight: 800; font-size: 34px; fill: var(--vz-ink); }
.article-page.is-visual .vz-supfig__r { font-family: var(--font-sans); font-weight: 700; font-size: 34px; fill: var(--vz-ink); }
.article-page.is-visual .vz-supfig__h { font-family: var(--font-sans); font-weight: 800; font-size: 46px; fill: var(--vz-ink); }
.article-page.is-visual .vz-supfig__s { font-family: var(--font-sans); font-weight: 600; font-size: 28px; fill: var(--vz-muted); }
.article-page.is-visual .vz-supfig__c { font-family: var(--font-sans); font-weight: 700; font-size: 34px; }
.article-page.is-visual .vz-supfig__c2 { font-family: var(--font-sans); font-weight: 600; font-size: 30px; fill: var(--vz-ink); }
.article-page.is-visual .vz-hero__photo img[src^="/visual/heart-supplements-magnesium-potassium-coq10/sup-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/heart-supplements-magnesium-potassium-coq10/sup-hero"])::before { display: none; }
.article-page.is-visual .vz-supfood ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 1.2rem; }
.article-page.is-visual .vz-supfood li:nth-child(-n+4) { border-top: 0; }
@media (max-width: 900px) { .article-page.is-visual .vz-supfood ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } .article-page.is-visual .vz-supfood li:nth-child(n+3) { border-top: 1px solid rgba(14, 124, 111, 0.18); } }
@media (max-width: 540px) { .article-page.is-visual .vz-supfood ul { grid-template-columns: 1fr; } .article-page.is-visual .vz-supfood li:nth-child(2) { border-top: 1px solid rgba(14, 124, 111, 0.18); } }
.article-page.is-visual .vz-split .vz-tiers--solo { margin-bottom: 0; }
.article-page.is-visual .vz-suplabel { max-width: 460px; }
@media (max-width: 760px) { .article-page.is-visual .vz-supnsx .vz-nsx__result { order: -1; position: sticky; top: 0.5rem; z-index: 2; max-height: 36vh; overflow-y: auto; padding: 1rem 1.1rem; } }
/* ---- ldl-death-risk (batch 4, 2026-10-24): figure hero shown whole, lifetime-burden toggle (shared heart toggle, inline SVG states low / high / treat) ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/ldl-death-risk/ldr-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/ldl-death-risk/ldr-hero"])::before { display: none; }
.article-page.is-visual .ldr-burden .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; }
.article-page.is-visual .ldr-burden__stage { aspect-ratio: 880 / 580; background: #f6f2ea; }
.article-page.is-visual .ldr-burden__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ldr-burden__svg text { font-family: Inter, Arial, sans-serif; font-size: 24px; font-weight: 600; fill: #5f5a4d; }
.ldr-burden__svg text.ldr-ax { font-size: 24px; font-weight: 700; fill: #1c2b40; }
.ldr-burden__svg text.ldr-in { font-size: 32px; font-weight: 800; fill: #14213d; }
.ldr-burden__svg text.ldr-in--orange { fill: #9b2d23; }
.ldr-burden__svg text.ldr-sm { font-size: 24px; font-weight: 700; fill: #14213d; }
.ldr-burden .ldr-g { transition: opacity 0.4s ease; }
.ldr-burden[data-state="low"] .ldr-g--high, .ldr-burden[data-state="low"] .ldr-g--treat { opacity: 0; }
.ldr-burden[data-state="high"] .ldr-g--low, .ldr-burden[data-state="high"] .ldr-g--treat { opacity: 0; }
.ldr-burden[data-state="treat"] .ldr-g--low, .ldr-burden[data-state="treat"] .ldr-g--high { opacity: 0; }
.article-page.is-visual .ldr-burden .vz-segs .vz-seg { flex: 1 1 170px; }
.article-page.is-visual .ldr-burden .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .ldr-burden[data-state="low"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #fff; }
.article-page.is-visual .ldr-burden .vz-meter__row--change dd { color: var(--vz-navy); font-weight: 600; }
.article-page.is-visual p.ldr-burden__note { margin: 0.9rem 0 0; font-size: 1rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .ldr-burden .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .ldr-burden__svg text, .ldr-burden__svg text.ldr-ax, .ldr-burden__svg text.ldr-sm { font-size: 30px; } .ldr-burden__svg text.ldr-in { font-size: 36px; } }
@media (prefers-reduced-motion: reduce) { .ldr-burden .ldr-g { transition: none; } }
/* ---- intermittent-fasting-time-restricted-eating (batch 3, 2026-10-24) ---- */
/* hero figure: contain, no fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/intermittent-fasting-time-restricted-eating/ife-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/intermittent-fasting-time-restricted-eating/ife-hero"])::before { display: none; }
/* eating-window dial (.ife-win) */
.article-page.is-visual .ife-win { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.6rem 1.75rem 1.3rem; margin: 1.25rem 0 1.5rem; }
.article-page.is-visual .ife-win [hidden] { display: none !important; }
.article-page.is-visual .ife-win__segs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; margin: 0 0 1.4rem; }
.article-page.is-visual .ife-win__segs .vz-seg { min-height: 52px; min-width: 0; text-align: center; line-height: 1.25; }
@media (max-width: 900px) { .article-page.is-visual .ife-win__segs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.article-page.is-visual .ife-win__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 1.75rem; align-items: center; }
@media (max-width: 860px) { .article-page.is-visual .ife-win__grid { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; } }
.article-page.is-visual .ife-win__stage { background: #fff; border-radius: var(--vz-radius-sm); padding: 0.8rem; }
.article-page.is-visual .ife-win__dial { display: block; width: 100%; max-width: 440px; height: auto; margin: 0 auto; }
.ife-win__fast { fill: none; stroke: #2f4360; stroke-width: 44; }
.ife-win__switch { fill: none; stroke: #e0a12e; stroke-width: 44; }
.ife-win__eat { fill: none; stroke: #129a8a; stroke-width: 44; }
.ife-win__tick { stroke: #14213d; stroke-width: 2.5; stroke-linecap: round; }
.ife-win__tick--big { stroke-width: 4; }
.ife-win__hr { font: 700 22px 'Source Sans 3', sans-serif; fill: #14213d; }
.ife-win__big { font: 800 46px 'Inter', sans-serif; fill: #14213d; }
.ife-win__l1 { font: 700 21px 'Source Sans 3', sans-serif; fill: #0e7c6f; }
.ife-win__l2 { font: 700 21px 'Source Sans 3', sans-serif; fill: #1c2b40; }
.article-page.is-visual .ife-win__days { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
.article-page.is-visual .ife-win__day { border-radius: var(--vz-radius-sm); padding: 1rem 1rem 1.1rem; min-height: 6.5rem; }
.article-page.is-visual .ife-win__day b { display: block; font-family: var(--vz-num); font-weight: 800; font-size: 1.15rem; margin: 0 0 0.3rem; }
.article-page.is-visual .ife-win__day span { display: block; font-size: 1.02rem; line-height: 1.35; }
.article-page.is-visual .ife-win__day--eat { background: #129a8a; color: #fff; }
.article-page.is-visual .ife-win__day--fast { background: #2f4360; color: #fff; }
.article-page.is-visual .ife-win__title { font-family: var(--vz-serif); font-weight: 600; font-size: 1.55rem; line-height: 1.2; color: var(--vz-navy); margin: 0 0 0.4rem; }
.article-page.is-visual .ife-win__clock { font-family: var(--vz-num); font-weight: 800; font-size: 1.12rem; line-height: 1.35; color: var(--vz-teal-dk); margin: 0 0 0.6rem; }
.article-page.is-visual .ife-win__why { font-size: 1.05rem; line-height: 1.5; margin: 0 0 1rem; }
.article-page.is-visual ul.ife-win__key { list-style: none; padding: 0; margin: 0 0 0.9rem; display: grid; gap: 0.45rem; font-size: 1rem; line-height: 1.35; }
.article-page.is-visual ul.ife-win__key li { margin: 0; display: flex; align-items: flex-start; gap: 0.6rem; }
.ife-k { flex: none; width: 22px; height: 22px; border-radius: 6px; margin-top: 0.1rem; display: inline-block; }
.ife-k--eat { background: #129a8a; } .ife-k--switch { background: #e0a12e; } .ife-k--fast { background: #2f4360; }
.article-page.is-visual .ife-win__plan { font-size: 1rem; font-weight: 700; color: var(--vz-teal-dk); margin: 0; }
.article-page.is-visual .ife-win__note { font-size: 0.95rem; line-height: 1.5; color: var(--vz-muted); margin: 1.1rem 0 0; }
@media (max-width: 600px) {
  .article-page.is-visual .ife-win { padding: 1.2rem 1rem 1.1rem; }
  .ife-win__hr { font-size: 27px; } .ife-win__l1, .ife-win__l2 { font-size: 25px; } .ife-win__big { font-size: 52px; }
}
/* who-should-be-careful sorter colours (reuses the ranked .vz-sx JS) */
.article-page.is-visual .ife-sx[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .ife-sx[data-result="weigh"] .vz-sx__result { background: #4a5568; }
.article-page.is-visual .ife-sx[data-result="bp"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .ife-sx[data-result="talk"] .vz-sx__result { background: var(--vz-amber); }
.article-page.is-visual .ife-sx[data-result="stop"] .vz-sx__result { background: var(--vz-red); }
.article-page.is-visual .ife-sx .vz-opt small { display: block; font-size: 0.92rem; color: var(--vz-muted); margin-top: 0.2rem; }
/* three-stop starting timeline */
.article-page.is-visual .vz-when.ife-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.ife-when3 { grid-template-columns: 1fr; } }

/* ---- leadless-pacemaker (batch 4, 2026-10-24) ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/leadless-pacemaker/lp-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/leadless-pacemaker/lp-hero"])::before { display: none; }
.article-page.is-visual .vz-lpswap .vz-heartswap__grid { align-items: start; }
.article-page.is-visual .vz-lpswap .vz-heartswap__stage { aspect-ratio: 800 / 640; background: #f6f2ea; }
.article-page.is-visual .vz-lpswap .vz-heartswap__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.5s ease; }
.article-page.is-visual .vz-lpswap .vz-hs--leadless { opacity: 0; }
.article-page.is-visual .vz-lpswap[data-state="leadless"] .vz-hs--leadless { opacity: 1; }
.article-page.is-visual .vz-lpswap[data-state="leadless"] .vz-hs--trad { opacity: 0; }
.article-page.is-visual .vz-lpswap .vz-meter__row--change { border-left-color: var(--vz-ink); }
.article-page.is-visual .vz-lpswap[data-state="leadless"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #e3f2ee; }
.article-page.is-visual ol.vz-lpswap__key { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0.55rem; }
.article-page.is-visual ol.vz-lpswap__key li { margin: 0; display: grid; grid-template-columns: 2.1rem minmax(0, 1fr); gap: 0.7rem; align-items: start; font-size: 1.05rem; line-height: 1.45; }
.article-page.is-visual ol.vz-lpswap__key li b { width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--vz-ink); color: #fff; display: grid; place-items: center; font-family: var(--vz-num); font-weight: 800; font-size: 1rem; }
.article-page.is-visual ol.vz-lpswap__key--leadless { display: none; }
.article-page.is-visual .vz-lpswap[data-state="leadless"] ol.vz-lpswap__key--leadless { display: grid; }
.article-page.is-visual .vz-lpswap[data-state="leadless"] ol.vz-lpswap__key--trad { display: none; }
.article-page.is-visual p.vz-lpswap__note { margin: 0.6rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
.article-page.is-visual #candidates .vz-tier dd:empty { display: none; }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-lpswap .vz-heartswap__stage svg { transition: none; } }

/* ---- multaq (batch 4, 2026-10-24) ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/multaq/mq-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/multaq/mq-hero"])::before { display: none; }
.article-page.is-visual .mq-sx[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .mq-sx[data-result="fit"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .mq-sx[data-result="first"] .vz-sx__result { background: var(--vz-amber); }
.article-page.is-visual .mq-sx[data-result="not"] .vz-sx__result { background: var(--vz-red); }
.article-page.is-visual .mq-fit .vz-tier dd:empty { display: none; }
.article-page.is-visual .mq-call .vz-tier dd:empty { display: none; }
@media (min-width: 1000px) { .article-page.is-visual .vz-tiers.mq-fit { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.article-page.is-visual .vz-tiers.mq-call { grid-template-columns: 1fr; }
/* ---- myocardial-bridging (batch 4, 2026-10-24) ---- */
/* squeeze / relax / slow-to-relax toggle: inline SVG states on the shared heart toggle (.vz-heartswap), figure above the rows */
.article-page.is-visual .mb-swap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .mb-bridgeswap .vz-heartswap__stage { aspect-ratio: 800 / 400; width: 100%; max-width: 920px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .mb-swap .mb-fig { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .mb-fig .vz-hs { opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .mb-swap[data-state="squeeze"] .mb-fig .vz-hs--squeeze,
.article-page.is-visual .mb-swap[data-state="relax"] .mb-fig .vz-hs--relax,
.article-page.is-visual .mb-swap[data-state="linger"] .mb-fig .vz-hs--linger { opacity: 1; }
.article-page.is-visual .mb-fig text { font-family: var(--font-sans); font-size: 25px; font-weight: 700; }
.article-page.is-visual .mb-fig .mb-lab { fill: #1c2b40; }
.article-page.is-visual .mb-fig .mb-call { fill: #b5302a; }
.article-page.is-visual .mb-fig .mb-call--teal { fill: #0e7c6f; }
.article-page.is-visual .mb-fig .mb-call--amber { fill: #9a6a12; }
.article-page.is-visual .mb-fig .mb-in { fill: #ffffff; }
.article-page.is-visual .mb-swap .vz-segs { flex-wrap: wrap; }
.article-page.is-visual .mb-swap .vz-seg { flex: 1 1 180px; }
.article-page.is-visual .mb-swap .vz-meter dd { font-size: 1.05rem; }
.article-page.is-visual .mb-swap[data-state="squeeze"] .vz-meter__row--change,
.article-page.is-visual .mb-swap[data-state="linger"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .mb-swap[data-state="linger"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .mb-swap[data-state="relax"] .vz-meter__row--change { border-left-color: var(--vz-teal); background: var(--vz-teal-bg); }
.article-page.is-visual .mb-note { font-size: 0.95rem; color: var(--vz-muted); margin: 0.4rem 0 0; }
@media (max-width: 600px) { .article-page.is-visual .mb-fig text { font-size: 36px; } .article-page.is-visual .mb-swap .vz-seg { flex: 1 1 100%; text-align: center; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .mb-fig .vz-hs { transition: none; } }
/* detection-rate range bars (static) */
.article-page.is-visual .mb-range { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.4rem 1.5rem 1.1rem; margin: 0 0 1.75rem; }
.article-page.is-visual .mb-range__row { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr) minmax(0, 11rem); gap: 1rem; align-items: center; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-line); }
.article-page.is-visual .mb-range__label { margin: 0; font-weight: 700; color: var(--vz-ink); font-size: 1.05rem; line-height: 1.3; }
.article-page.is-visual .mb-range__label small { display: block; font-weight: 400; color: var(--vz-muted); font-size: 0.92rem; }
.article-page.is-visual .mb-range__track { position: relative; height: 22px; background: #e4ddcc; border-radius: 999px; }
.article-page.is-visual .mb-range__fill { position: absolute; top: 0; bottom: 0; left: var(--lo); width: calc(var(--hi) - var(--lo)); min-width: 10px; background: var(--vz-teal-dk); border-radius: 999px; }
.article-page.is-visual .mb-range__val { margin: 0; font-family: var(--vz-num); font-weight: 800; color: var(--vz-navy); font-size: 1.05rem; }
.article-page.is-visual .mb-range__axis { display: flex; justify-content: space-between; margin: 0.4rem 0 0; font-size: 0.85rem; color: var(--vz-muted); }
@media (min-width: 701px) { .article-page.is-visual .mb-range__axis { margin-left: calc(15rem + 1rem); margin-right: calc(11rem + 1rem); } }
@media (max-width: 700px) {
  .article-page.is-visual .mb-range__row { grid-template-columns: 1fr; gap: 0.4rem; }
}
/* Schwarz types: type A highlighted */
.article-page.is-visual .mb-types .vz-card { border-top: 5px solid var(--vz-amber); }
.article-page.is-visual .mb-types .mb-type--a { border-top-color: var(--vz-teal-dk); background: var(--vz-teal-bg); }
.article-page.is-visual .vz-card p.mb-type__letter { font-family: var(--vz-num); font-weight: 800; font-size: 2.4rem; line-height: 1; color: var(--vz-navy); margin: 0 0 0.3rem; }
/* treatment ladder, in the article's own order */
.article-page.is-visual .mb-ladder { margin: 0.5rem 0 1.5rem; }
.article-page.is-visual .mb-ladder__group { font-size: 0.86rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--vz-orange); margin: 1.4rem 0 0.7rem; }
.article-page.is-visual .mb-ladder__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.75rem; }
.article-page.is-visual .mb-rung { margin: 0; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 1rem; align-items: start; padding: 1.1rem 1.25rem; border-radius: var(--vz-radius-sm); background: var(--vz-teal-bg); }
.article-page.is-visual .mb-rung__num { width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; background: var(--vz-teal-dk); font-family: var(--vz-num); font-weight: 800; font-size: 1.5rem; line-height: 1; }
.article-page.is-visual .mb-rung__num--x svg { width: 32px; height: 32px; }
.article-page.is-visual .mb-rung--avoid { background: var(--vz-red-bg); }
.article-page.is-visual .mb-rung--avoid .mb-rung__num { background: var(--vz-red); }
.article-page.is-visual .mb-ladder__list:last-child .mb-rung--step { background: var(--vz-amber-bg); }
.article-page.is-visual .mb-ladder__list:last-child .mb-rung--step .mb-rung__num { background: var(--vz-amber); }
.article-page.is-visual .mb-rung--no { background: var(--vz-slate-bg); }
.article-page.is-visual .mb-rung--no .mb-rung__num { background: #5f6b7d; }
.article-page.is-visual .mb-rung--or .mb-rung__num { font-size: 1.15rem; font-style: italic; }
.article-page.is-visual .mb-rung h3 { margin: 0.1rem 0 0.35rem; font-size: 1.25rem; }
.article-page.is-visual .mb-rung p { margin: 0; font-size: 1.05rem; }
.article-page.is-visual .mb-rung p.mb-rung__tag { font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-muted); margin: 0; }
@media (max-width: 600px) { .article-page.is-visual .mb-rung { grid-template-columns: 1fr; gap: 0.6rem; } }
/* figure hero, shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/myocardial-bridging/mb-hero-figure"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/myocardial-bridging/mb-hero-figure"])::before { display: none; }

/* ---- micturition-syncope (batch 4, 2026-10-24) ---- */
/* Urgent panel at the top of the body, reflex toggle (heart toggle JS, states stand / after),
   look-alike toggle (states mict / cardiac, meter only) and the drawn night-bedroom hero. */
.article-page.is-visual .ms-now-sec { margin-top: 1.5rem; }
.article-page.is-visual .ms-reflex__lead { margin: 0 0 0.9rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .ms-reflex .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); margin-top: 1rem; }
.article-page.is-visual .ms-reflex .vz-heartswap__stage { aspect-ratio: 800 / 560; background: #f6f2ea; }
.article-page.is-visual .ms-reflex .vz-heartswap__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ms-reflex .msr text { font-family: var(--font-sans, "Source Sans 3", system-ui, sans-serif); font-size: 28px; }
.ms-reflex .msr-g { transition: opacity 0.45s ease; }
.ms-reflex[data-state="stand"] .msr-g--after { opacity: 0; }
.ms-reflex[data-state="after"] .msr-g--stand { opacity: 0; }
.ms-reflex .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #fff; }
.ms-reflex[data-state="after"] .vz-meter__row--change { border-left-color: var(--vz-red); background: #fdf1ec; }
.ms-reflex[data-state="after"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .ms-alike__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.4rem; margin-top: 1rem; align-items: start; }
.article-page.is-visual .ms-alike__h { margin: 0 0 0.6rem; font-family: var(--font-sans); font-size: 0.86rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--vz-orange); }
.ms-alike .ms-alike__same .vz-meter__row { border-left-color: var(--vz-slate, #5b6b82); background: #fff; }
.ms-alike .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #fff; }
.ms-alike[data-state="cardiac"] .vz-meter__row--change { border-left-color: var(--vz-red); background: #fdf1ec; }
.ms-alike[data-state="cardiac"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .ms-back { margin: 1rem 0 0; font-weight: 600; }
.article-page.is-visual .vz-hero__photo img[src^="/visual/micturition-syncope/"] { object-fit: contain; object-position: 50% 100%; background: #1c2b40; }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/micturition-syncope/"])::before { display: none; }
@media (max-width: 900px) {
  .article-page.is-visual .ms-reflex .vz-heartswap__grid { grid-template-columns: 1fr; }
  .article-page.is-visual .ms-alike__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) { .ms-reflex .msr text { font-size: 33px; } }
@media (prefers-reduced-motion: reduce) { .ms-reflex .msr-g { transition: none; } }

/* ---- marijuana-cardiovascular-risk (batch 4, 2026-10-24) ---- */
/* Drawn hero (contain, no fade); two toggles reusing the heart toggle (.vz-heartswap, JS block 7) with
   inline SVG stages: .mj-hit (before / hour) and .mj-forms (smoked / edible / vaped / cbd); full-width
   red 911 panel (.mj-911); three-stop strip (.mj-when3); three-up statline (.mj-stat3). No new JS. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/marijuana-cardiovascular-risk/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/marijuana-cardiovascular-risk/"])::before { display: none; }
.article-page.is-visual .mj-hit .vz-heartswap__stage, .article-page.is-visual .mj-forms .vz-heartswap__stage { aspect-ratio: 800 / 430; background: #f6f2ea; }
.article-page.is-visual .mj-hit svg.vz-hs, .article-page.is-visual .mj-forms svg.vz-hs { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .mj-hit[data-state="before"] .vz-hs--before, .article-page.is-visual .mj-hit[data-state="hour"] .vz-hs--hour { opacity: 1; }
.article-page.is-visual .mj-hit[data-state="hour"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .mj-hit[data-state="hour"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .mj-forms[data-state="smoked"] .vz-hs--smoked, .article-page.is-visual .mj-forms[data-state="edible"] .vz-hs--edible,
.article-page.is-visual .mj-forms[data-state="vaped"] .vz-hs--vaped, .article-page.is-visual .mj-forms[data-state="cbd"] .vz-hs--cbd { opacity: 1; }
.article-page.is-visual .mj-forms .vz-heartswap__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.article-page.is-visual .mj-forms .vz-meter dd { font-size: 1.05rem; font-weight: 600; line-height: 1.4; }
.article-page.is-visual .mj-forms[data-state="cbd"] .vz-meter__row { border-left-color: var(--vz-teal); }
.article-page.is-visual .mj-forms .vz-datatable { margin-top: 1rem; }
@media (max-width: 900px) { .article-page.is-visual .mj-forms .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .article-page.is-visual .mj-forms .vz-segs { display: grid; grid-template-columns: 1fr 1fr; } }
.article-page.is-visual .mj-911 { margin: 1.5rem 0 1rem; }
.article-page.is-visual .mj-911 + .vz-tiers { margin-top: 0; }
.article-page.is-visual .vz-when.mj-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.mj-when3 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-statline.mj-stat3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-statline.mj-stat3 { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .mj-hit svg.vz-hs, .article-page.is-visual .mj-forms svg.vz-hs { transition: none; } }

/* ---- pitavastatin (batch 4, 2026-10-24) ---- */
/* Hero is a hand-drawn figure (roads analogy): show all of it. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/pitavastatin/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/pitavastatin/"])::before { display: none; }
/* Route toggle: reuses .vz-heartswap with an inline SVG; states most / pita. */
.article-page.is-visual .pv-route .vz-heartswap__stage { aspect-ratio: 640 / 320; background: #f6f2ea; }
.article-page.is-visual .pv-route .pv-route__svg { display: block; width: 100%; height: 100%; }
.article-page.is-visual .pv-route .pv-hw,
.article-page.is-visual .pv-route .pv-br,
.article-page.is-visual .pv-route .pv-hw__pill,
.article-page.is-visual .pv-route .pv-br__pill { transition: opacity 0.4s ease; }
.article-page.is-visual .pv-route[data-state="most"] .pv-br { opacity: 0.35; }
.article-page.is-visual .pv-route[data-state="most"] .pv-br__pill { opacity: 0; }
.article-page.is-visual .pv-route[data-state="pita"] .pv-hw { opacity: 0.35; }
.article-page.is-visual .pv-route[data-state="pita"] .pv-hw__pill { opacity: 0; }
.article-page.is-visual .pv-route .vz-meter__row--change { border-left-color: #b3ab95; }
.article-page.is-visual .pv-route[data-state="pita"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #e3f2ee; }
@media (prefers-reduced-motion: reduce) {
  .article-page.is-visual .pv-route .pv-hw, .article-page.is-visual .pv-route .pv-br,
  .article-page.is-visual .pv-route .pv-hw__pill, .article-page.is-visual .pv-route .pv-br__pill { transition: none; }
}
/* Comparison table: pitavastatin column tinted teal. */
.article-page.is-visual .pv-table caption.pv-table__cap { caption-side: bottom; text-align: left; font-size: 0.95rem; color: var(--vz-muted); padding-top: 0.6rem; }
.article-page.is-visual .pv-table td.pv-table__pita { background: #e3f2ee; color: var(--vz-navy); font-weight: 600; }
/* ---- multifocal-atrial-tachycardia (batch 3, 2026-10-24) ---- */
/* drawn-strip hero shown whole; look-alike toggle (heart toggle, three states: mat / afib / wap);
   "treat the cause" cards with a teal "What helps" line; tier lists; even two-card split */
.article-page.is-visual .vz-hero__photo img[src^="/visual/multifocal-atrial-tachycardia/mat-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/multifocal-atrial-tachycardia/mat-hero"])::before { display: none; }
.article-page.is-visual .mat-swap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1.1rem; }
.article-page.is-visual .mat-swap .vz-heartswap__stage { aspect-ratio: 1600 / 640; background: #f6f2ea; }
.article-page.is-visual .mat-swap .vz-heartswap__stage img { object-fit: contain; object-position: 50% 50%; }
.article-page.is-visual .mat-swap .vz-hs--afib,
.article-page.is-visual .mat-swap .vz-hs--wap { opacity: 0; }
.article-page.is-visual .mat-swap[data-state="afib"] .vz-hs--afib,
.article-page.is-visual .mat-swap[data-state="wap"] .vz-hs--wap { opacity: 1; }
.article-page.is-visual .mat-swap[data-state="afib"] .vz-hs--mat,
.article-page.is-visual .mat-swap[data-state="wap"] .vz-hs--mat { opacity: 0; }
.article-page.is-visual .mat-swap .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1000px) { .article-page.is-visual .mat-swap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.article-page.is-visual .mat-swap[data-state="mat"] .vz-meter__row--change { border-left-color: var(--vz-red); background: var(--vz-red-bg); }
.article-page.is-visual .mat-swap[data-state="afib"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .mat-swap[data-state="wap"] .vz-meter__row--change { border-left-color: var(--vz-teal); background: var(--vz-teal-bg); }
@media (max-width: 640px) {
  .article-page.is-visual .mat-swap .vz-heartswap__stage { aspect-ratio: 900 / 1265; }
  .article-page.is-visual .mat-swap .vz-meter { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .mat-swap .vz-hs { transition: none; } }
.article-page.is-visual .vz-card p.mat-helps { margin-top: auto; padding-top: 0.7rem; border-top: 1px solid rgba(20, 33, 61, 0.12); color: var(--vz-ink); font-size: 1.02rem; line-height: 1.5; }
.article-page.is-visual .vz-card p.mat-helps b { color: var(--vz-teal-dk); }
.article-page.is-visual .mat-causes .vz-card { display: flex; flex-direction: column; }
.article-page.is-visual ul.mat-tierlist { list-style: none; margin: 0; padding: 0; }
.article-page.is-visual ul.mat-tierlist li { margin: 0; padding: 0.65rem 0; border-top: 1px solid rgba(20, 33, 61, 0.1); font-size: 1.05rem; line-height: 1.5; }
.article-page.is-visual ul.mat-tierlist li:first-child { border-top: 0; padding-top: 0.2rem; }
.article-page.is-visual ul.mat-tierlist li::before { content: none; }
.article-page.is-visual .vz-split--even:has(> .mat-rate) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.article-page.is-visual .vz-card.mat-rate { margin: 0; }
@media (max-width: 760px) { .article-page.is-visual .vz-split--even:has(> .mat-rate) { grid-template-columns: 1fr; } }
/* ---- postmenopausal-heart-disease (batch 3, 2026-10-24) ---- */
/* figure hero, shown whole without the photo fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/postmenopausal-heart-disease/pm-hero-figure"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/postmenopausal-heart-disease/pm-hero-figure"])::before { display: none; }
/* before / after menopause toggle: inline SVG states on the shared heart toggle (.vz-heartswap), figure above, rows in a grid below */
.article-page.is-visual .pm-swap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1rem; }
.article-page.is-visual .pm-swap .vz-heartswap__stage { aspect-ratio: 800 / 510; width: 100%; max-width: 760px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .pm-swap .pm-fig { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.article-page.is-visual .pm-fig .vz-hs { opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .pm-swap[data-state="before"] .pm-fig .vz-hs--before,
.article-page.is-visual .pm-swap[data-state="after"] .pm-fig .vz-hs--after { opacity: 1; }
.article-page.is-visual .pm-fig text.pm-cap { font-family: var(--font-sans); font-size: 26px; font-weight: 700; fill: #1c2b40; }
.article-page.is-visual .pm-swap .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-page.is-visual .pm-swap .vz-meter dd { font-size: 1.05rem; }
.article-page.is-visual .pm-swap[data-state="after"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .pm-swap[data-state="after"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .pm-swap .vz-seg { flex: 1 1 200px; }
.article-page.is-visual .pm-note { font-size: 0.95rem; color: var(--vz-muted); margin: 0.4rem 0 0; }
@media (max-width: 900px) { .article-page.is-visual .pm-swap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .article-page.is-visual .pm-swap .vz-meter { grid-template-columns: minmax(0, 1fr); }
  .article-page.is-visual .pm-fig text.pm-cap { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .pm-fig .vz-hs { transition: none; } }
/* calcium-score decoder on the shared .vz-ef: the "above zero" band colour */
.article-page.is-visual .vz-ef.pm-cac[data-band="some"] .vz-ef__result { border-left-color: #b8841f; }

/* ---- pulse-field-ablation (batch 4, 2026-10-24): figure hero, heat / cold / pulsed field comparison (.vz-raas JS reuse), referral timeline, 10-step day stepper, text closer ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/pulse-field-ablation/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/pulse-field-ablation/"])::before { display: none; }
.article-page.is-visual .pf-cmp__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.25rem; align-items: start; margin-top: 1rem; }
.article-page.is-visual .pf-cmp__svg { display: block; width: 100%; height: auto; }
.article-page.is-visual p.pf-cmp__note { font-size: 0.95rem; color: var(--vz-muted); margin: 0.4rem 0 0; }
.pf-cmp__fx { opacity: 0; transition: opacity 0.4s ease; }
.pf-cmp[data-state="heat"] .pf-cmp__fx--heat,
.pf-cmp[data-state="cold"] .pf-cmp__fx--cold,
.pf-cmp[data-state="pfa"] .pf-cmp__fx--pfa { opacity: 1; }
.pf-cmp[data-state="heat"] .pf-cmp__row { border-left-color: var(--vz-orange); }
.pf-cmp[data-state="cold"] .pf-cmp__row { border-left-color: #2f6fb3; }
.pf-cmp[data-state="pfa"] .pf-cmp__row { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .pf-cmp__rows dd { font-weight: 600; font-size: 1.08rem; }
@media (max-width: 900px) { .article-page.is-visual .pf-day .vz-stepper__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.article-page.is-visual .pf-closer .vz-closer__text p + p { margin-top: 0.9rem; }
@media (min-width: 761px) { .article-page.is-visual .pf-bars .vz-barrow { grid-template-columns: minmax(150px, 0.9fr) minmax(0, 2.6fr); } }
@media (max-width: 860px) { .article-page.is-visual .pf-cmp__grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .article-page.is-visual .pf-when { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) { .article-page.is-visual .pf-when { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .pf-cmp__fx { transition: none; } }
/* ---- pregnancy-heart-health (batch 4, 2026-10-24): figure hero, red-flag list tiers, timeline (.vz-stepper reuse), preconception checker (.vz-sx reuse, .preg-sx) ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/pregnancy-heart-health/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/pregnancy-heart-health/"])::before { display: none; }
.article-page.is-visual h3.preg-h3 { font-family: var(--vz-serif); font-weight: 600; font-size: 1.6rem; color: var(--vz-navy); margin: 2.75rem 0 0.6rem; padding-top: 1.4rem; border-top: 1px solid rgba(28, 43, 64, 0.14); scroll-margin-top: 70px; }
.article-page.is-visual .preg-list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.article-page.is-visual .preg-list li { position: relative; margin: 0; padding: 0 0 0 1.35rem; font-size: 1.08rem; line-height: 1.45; }
.article-page.is-visual .preg-list li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 0.6rem; height: 0.6rem; border-radius: 999px; background: currentColor; color: var(--vz-navy); }
.article-page.is-visual .vz-tier--red.preg-list li::before { color: var(--vz-red); }
.article-page.is-visual .vz-tier--amber.preg-list li::before { color: var(--vz-amber); }
.article-page.is-visual .preg-flags .vz-tier__head h3 { font-size: 1.12rem; }
.article-page.is-visual .preg-flags .vz-tier__legend { color: var(--vz-ink); font-size: 1.05rem; }
.article-page.is-visual .preg-er { border-left: 8px solid var(--vz-red); }
.article-page.is-visual .preg-solo { margin: 1.5rem 0 1.75rem; }
.article-page.is-visual .vz-tier dt small, .article-page.is-visual .vz-table th small { display: block; font-weight: 500; font-size: 0.92rem; color: var(--vz-muted); letter-spacing: 0; text-transform: none; }
.article-page.is-visual .preg-meds { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .article-page.is-visual .preg-meds { grid-template-columns: 1fr; } }
.article-page.is-visual .preg-sx .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .preg-sx[data-result="day"] .vz-sx__result { background: var(--vz-teal-dk); }


/* ---- orthopnea-pnd-night-cough (batch 4, 2026-10-24) ---- */
/* Lying flat vs propped up: an inline SVG in the .vz-heartswap stage (heart toggle JS, states flat / propped / healthy). */
.article-page.is-visual .op-pos__lead { margin: 0 0 0.9rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .op-pos .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); margin-top: 1rem; }
.article-page.is-visual .op-pos .vz-heartswap__stage { aspect-ratio: 800 / 420; background: #f6f2ea; }
.article-page.is-visual .op-pos .vz-heartswap__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.op-pos .opf text { font-family: var(--font-sans, "Source Sans 3", system-ui, sans-serif); font-size: 25px; }
.op-pos .opf .opf-lab { font-size: 30px; }
.op-pos .opf .opf-tag { font-size: 28px; }
.op-pos .opf-g { opacity: 0; transition: opacity 0.45s ease; }
.op-pos[data-state="flat"] .opf-g--flat, .op-pos[data-state="propped"] .opf-g--propped, .op-pos[data-state="healthy"] .opf-g--healthy { opacity: 1; }
.op-pos .vz-meter__row--change { border-left-color: var(--vz-amber); background: #fdf6e8; }
.op-pos[data-state="propped"] .vz-meter__row--change, .op-pos[data-state="healthy"] .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #fff; }
@media (max-width: 900px) { .article-page.is-visual .op-pos .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .op-pos .opf text { font-size: 32px; }
  .op-pos .opf .opf-lab { font-size: 34px; }
  .op-pos .opf .opf-sub { display: none; }
}
@media (prefers-reduced-motion: reduce) { .op-pos .opf-g { transition: none; } }
/* Pillow test and night-pattern sorter: result border by where the answer points. */
.article-page.is-visual .op-pillow[data-band="two"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .op-pillow[data-band="three"] .vz-ef__result { border-left-color: #d0612e; }
.article-page.is-visual .op-pillow[data-band="none"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual .op-sort[data-band="flat"] .vz-ef__result,
.article-page.is-visual .op-sort[data-band="gasp"] .vz-ef__result,
.article-page.is-visual .op-sort[data-band="cough"] .vz-ef__result,
.article-page.is-visual .op-sort[data-band="cwheeze"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .op-sort .vz-segs--stack .vz-seg { flex: 1 1 320px; text-align: left; }
.article-page.is-visual .op-back { margin: 1rem 0 0; font-weight: 600; }
/* Drawn hero: show the whole drawing, no fade. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/orthopnea-pnd-night-cough/"] { object-fit: contain; object-position: 50% 50%; background: #f6f2ea; }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/orthopnea-pnd-night-cough/"])::before { display: none; }
.article-page.is-visual #together .vz-checklist { margin-bottom: 1.25rem; }
@media (max-width: 600px) { .article-page.is-visual #workup .vz-when { grid-template-columns: 1fr; } }
/* ---- rbbb (batch 4, 2026-10-24) ---- */
/* figure hero: show the whole drawing on the cream ground */
.article-page.is-visual .vz-hero__photo img[src^="/visual/rbbb/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/rbbb/"])::before { display: none; }
/* wiring toggle: heart toggle with states normal / rbbb */
.article-page.is-visual .vz-rbbbswap .vz-heartswap__stage { aspect-ratio: 1000 / 770; background: #faf6ec; }
.article-page.is-visual .vz-rbbbswap .vz-heartswap__stage img { object-position: 50% 50%; }
.article-page.is-visual .vz-hs--rbbb { opacity: 0; }
.article-page.is-visual .vz-heartswap[data-state="rbbb"] .vz-hs--rbbb { opacity: 1; }
.article-page.is-visual .vz-heartswap[data-state="rbbb"] .vz-hs--normal { opacity: 0; }
.article-page.is-visual .vz-heartswap[data-state="rbbb"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-heartswap[data-state="rbbb"] .vz-meter__row--change dd { color: #9b2d23; }
@media (max-width: 900px) { .article-page.is-visual .vz-rbbbswap .vz-heartswap__stage { max-width: 560px; width: 100%; margin: 0 auto; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-rbbbswap .vz-heartswap__stage img, .article-page.is-visual .vz-rbbbswap .vz-heartswap__stage picture { transition: none; } }
/* schematic EKG beat */
.article-page.is-visual .vz-rbbbekg picture, .article-page.is-visual .vz-rbbbekg img { display: block; width: 100%; height: auto; margin: 0 auto; border-radius: var(--vz-radius-sm); }
@media (max-width: 700px) { .article-page.is-visual .vz-rbbbekg img { max-width: 440px; } }
/* six-step workup stepper: three across on desktop */
@media (min-width: 901px) { .article-page.is-visual .rb-stepper .vz-stepper__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 901px) { .article-page.is-visual .vz-tiers.rb-one { grid-template-columns: 1fr; } }

/* ---- sauna-cold-plunge-heart-effects (batch 3, 2026-10-24) ---- */
/* hero figure: contain, no fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/sauna-cold-plunge-heart-effects/sc-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/sauna-cold-plunge-heart-effects/sc-hero"])::before { display: none; }
/* hot / cold / both toggle (.sc-hc, reuses the .vz-raas JS) */
.article-page.is-visual .sc-hc__segs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin: 0 0 1.3rem; }
.article-page.is-visual .sc-hc__segs .vz-seg { min-height: 52px; min-width: 0; text-align: center; line-height: 1.25; }
@media (max-width: 640px) { .article-page.is-visual .sc-hc__segs { grid-template-columns: minmax(0, 1fr); } }
.article-page.is-visual .sc-hc__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1.5rem; align-items: start; }
@media (max-width: 860px) { .article-page.is-visual .sc-hc__grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; } }
.article-page.is-visual .sc-hc__svg { display: block; width: 100%; max-width: 440px; height: auto; margin: 0 auto; }
.sc-hc__g { display: none; }
.sc-hc[data-state="hot"] .sc-hc__g--hot, .sc-hc[data-state="cold"] .sc-hc__g--cold, .sc-hc[data-state="both"] .sc-hc__g--both { display: inline; }
.sc-hc__lbl { font: 700 22px 'Source Sans 3', sans-serif; fill: #14213d; }
.sc-hc[data-state="hot"] .vz-meter__row { border-left-color: var(--vz-orange); }
.sc-hc[data-state="cold"] .vz-meter__row { border-left-color: #245d82; }
.sc-hc[data-state="both"] .vz-meter__row { border-left-color: var(--vz-amber); }
.article-page.is-visual .sc-hc .vz-meter dd { font-weight: 600; font-size: 1.08rem; line-height: 1.45; }
.article-page.is-visual p.sc-hc__plan { font-size: 1rem; font-weight: 700; color: var(--vz-teal-dk); margin: 0.6rem 0 0; }
/* a single full-width tier panel, and a three-stop timeline */
.article-page.is-visual .vz-tiers.sc-tiers1 { grid-template-columns: minmax(0, 1fr); }
.article-page.is-visual .vz-when.sc-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.sc-when3 { grid-template-columns: 1fr; } }
.article-page.is-visual p.sc-after { margin-top: 1.25rem; }
/* ---- resistance-training-cardiovascular (batch 3, 2026-10-24) ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/resistance-training-cardiovascular/rt-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/resistance-training-cardiovascular/rt-hero"])::before { display: none; }
.article-page.is-visual .rt-week { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.5rem 1.6rem 1.3rem; margin: 1rem 0 2rem; }
.article-page.is-visual .rt-week__ctl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.4rem 1.4rem; margin-bottom: 0.6rem; }
.article-page.is-visual .rt-week__ctl[hidden] { display: none; }
.article-page.is-visual .rt-week__group:last-child { grid-column: 1 / -1; }
.article-page.is-visual .rt-week__glabel { font-family: var(--font-sans); font-size: 0.86rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--vz-orange); margin: 0 0 0.5rem; }
.article-page.is-visual .rt-week .vz-seg { min-height: 48px; }
.article-page.is-visual .rt-week__grid { list-style: none; margin: 0.4rem 0 1.2rem; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.5rem; }
.article-page.is-visual .rt-week__day { margin: 0; padding: 0.6rem 0.5rem 0.7rem; background: #fff; border: 1px solid var(--vz-line); border-radius: var(--vz-radius-sm); display: flex; flex-direction: column; gap: 0.4rem; min-height: 9.5rem; }
.article-page.is-visual .rt-week__dname { margin: 0 0 0.1rem; font-family: var(--vz-num); font-weight: 800; font-size: 1.05rem; color: var(--vz-navy); text-align: center; }
.article-page.is-visual .rt-week__dname abbr { text-decoration: none; border: 0; }
.article-page.is-visual .rt-chip { display: block; border-radius: 8px; padding: 0.45rem 0.4rem; text-align: center; font-family: var(--font-sans); font-size: 0.95rem; line-height: 1.2; }
.article-page.is-visual .rt-chip[hidden] { display: none; }
.article-page.is-visual .rt-chip b { display: block; font-weight: 700; }
.article-page.is-visual .rt-chip__min { display: block; font-family: var(--vz-num); font-weight: 800; font-size: 1.02rem; }
.article-page.is-visual .rt-chip--str { background: var(--vz-navy); color: #fff; }
.article-page.is-visual .rt-chip--str b { color: #fff; }
.article-page.is-visual .rt-chip--car { background: var(--vz-teal-bg); color: var(--vz-teal-dk); }
.article-page.is-visual .rt-chip--car b { color: var(--vz-teal-dk); }
.article-page.is-visual .rt-chip--off { color: var(--vz-muted); font-size: 0.92rem; padding-top: 0.9rem; }
.article-page.is-visual .rt-week__out { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1.2rem; align-items: start; }
.article-page.is-visual .rt-week__sum { background: var(--vz-navy); color: #fff; border-radius: var(--vz-radius-sm); padding: 1.2rem 1.35rem; }
.article-page.is-visual .rt-week__line { margin: 0 0 0.6rem; font-size: 1.08rem; line-height: 1.45; color: #fff; }
.article-page.is-visual .rt-week__howlabel { margin: 1rem 0 0.25rem; padding-top: 0.8rem; border-top: 1px solid rgba(255, 255, 255, 0.3); font-size: 0.9rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--vz-gold); }
.article-page.is-visual .rt-week__howtitle { margin: 0 0 0.35rem; font-family: var(--vz-num); font-weight: 800; font-size: 1.3rem; line-height: 1.2; color: #fff; }
.article-page.is-visual .rt-week__how { margin: 0; font-size: 1.05rem; line-height: 1.5; color: #fff; }
.article-page.is-visual .rt-week__plan { margin: 0; font-size: 1.05rem; color: var(--vz-ink); font-weight: 600; border-left: 5px solid var(--vz-teal); padding: 0.3rem 0 0.3rem 0.9rem; }
.article-page.is-visual .rt-week__note { margin: 1rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
@media (max-width: 900px) {
  .article-page.is-visual .rt-week__ctl { grid-template-columns: 1fr; }
  .article-page.is-visual .rt-week__out { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .article-page.is-visual .rt-week { padding: 1.2rem 1rem 1.1rem; }
  .article-page.is-visual .rt-week__grid { grid-template-columns: 1fr; gap: 0.4rem; }
  .article-page.is-visual .rt-week__day { flex-direction: row; align-items: center; flex-wrap: wrap; min-height: 0; padding: 0.5rem 0.7rem; }
  .article-page.is-visual .rt-week__dname { width: 3rem; text-align: left; margin: 0; }
  .article-page.is-visual .rt-chip { display: inline-flex; gap: 0.4rem; align-items: baseline; padding: 0.35rem 0.6rem; }
  .article-page.is-visual .rt-chip--off { padding-top: 0.35rem; }
  .article-page.is-visual .rt-chip b, .article-page.is-visual .rt-chip__min { display: inline; }
}
.article-page.is-visual .rt-fig .rt-fig__svg { display: block; width: 100%; height: auto; margin: 0 auto; }
.article-page.is-visual .rt-sx[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .rt-sx[data-result="lift"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .rt-sx[data-result="talk"] .vz-sx__result { background: var(--vz-amber); }
.article-page.is-visual .rt-sx[data-result="later"] .vz-sx__result { background: var(--vz-red); }
.article-page.is-visual .rt-figpair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; margin: 1.2rem 0 1.6rem; align-items: stretch; }
.article-page.is-visual .rt-figpair .vz-figure { margin: 0; }
@media (max-width: 760px) { .article-page.is-visual .rt-figpair { grid-template-columns: 1fr; } }

/* ---- sglt2-inhibitors-non-diabetics (batch 4, 2026-10-24) ---- */
/* Hero is a hand-drawn figure (capsule, heart, kidneys): show all of it. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/sglt2-inhibitors-non-diabetics/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/sglt2-inhibitors-non-diabetics/"])::before { display: none; }
/* Sick-day helper: reuses the .vz-ef decoder without a scale; hold states read amber. */
.article-page.is-visual .vz-ef--sgnd[data-band="sick"] .vz-ef__result,
.article-page.is-visual .vz-ef--sgnd[data-band="surgery"] .vz-ef__result { border-left-color: #b8841f; }

/* ---- vaping-cardiovascular-risk (batch 4, 2026-10-24) ---- */
/* Drawn hero (contain, no fade); two toggles reusing the heart toggle (.vz-heartswap, JS block 7):
   .vp-layers (acute / regular / population, inline SVG stage) and .vp-who (smoke / neither / vape, rows only);
   quit-trial bars (.vz-freq reused, .vp-still); four-stop taper strip; three-stop cravings strip (.vp-when3). No new JS. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/vaping-cardiovascular-risk/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/vaping-cardiovascular-risk/"])::before { display: none; }
.article-page.is-visual .vp-layers .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1.1rem; }
.article-page.is-visual .vp-layers .vz-heartswap__stage { aspect-ratio: 800 / 330; width: 100%; max-width: 820px; margin: 0 auto; background: #f6f2ea; }
.article-page.is-visual .vp-layers .vz-heartswap__stage.vp-stage--ph { display: none; aspect-ratio: 400 / 180; max-width: 460px; }
@media (max-width: 600px) { .article-page.is-visual .vp-layers .vz-heartswap__stage.vp-stage--wide { display: none; } .article-page.is-visual .vp-layers .vz-heartswap__stage.vp-stage--ph { display: block; } }
.article-page.is-visual .vp-layers svg.vz-hs { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 0.45s ease; }
.article-page.is-visual .vp-layers[data-state="acute"] .vz-hs--acute,
.article-page.is-visual .vp-layers[data-state="regular"] .vz-hs--regular,
.article-page.is-visual .vp-layers[data-state="population"] .vz-hs--population { opacity: 1; }
.article-page.is-visual .vp-layers .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.article-page.is-visual .vp-layers .vz-meter dd { font-size: 1.05rem; font-weight: 600; line-height: 1.45; }
.article-page.is-visual .vp-layers[data-state="population"] .vz-meter__row { border-left-color: var(--vz-amber); }
.article-page.is-visual .vp-layers .vz-datatable, .article-page.is-visual .vp-who .vz-datatable { margin-top: 1rem; }
@media (max-width: 900px) { .article-page.is-visual .vp-layers .vz-meter { grid-template-columns: 1fr; } }
.article-page.is-visual .vp-who .vz-heartswap__grid { grid-template-columns: 1fr; }
.article-page.is-visual .vp-who .vz-meter dd { font-size: 1.15rem; line-height: 1.45; }
.article-page.is-visual .vp-who .vz-meter__row--change { border-left-color: var(--vz-teal); background: var(--vz-teal-bg); }
.article-page.is-visual .vp-who[data-state="neither"] .vz-meter__row--change,
.article-page.is-visual .vp-who[data-state="vape"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .vz-when.vp-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.vp-when3 { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vp-layers svg.vz-hs { transition: none; } }

/* ---- valsartan (batch 4, 2026-10-24) ---- */
/* Reuses .vz-raas (adds a third state "sv" for sacubitril-valsartan, blocked at the receptor step like "arb")
   and .vz-daytl (dose step-up by reason for taking it). Hero is a drawn figure: show it whole, no sand fade. */
.vz-raas[data-state="sv"] .vz-raas__link--rec .vz-raas__stop { opacity: 1; }
.vz-raas[data-state="sv"] .vz-raas__link--rec .vz-raas__blk { display: block; }
.vz-raas[data-state="sv"] .vz-raas__link--rec .vz-raas__flow { stroke-dasharray: 3 7; }
.vz-raas[data-state="sv"] .vz-raas__node--eff { background: var(--vz-teal-bg); }
.article-page.is-visual .vz-raas[data-state="sv"] .vz-raas__node--eff strong { color: var(--vz-teal-dk); }
.vz-raas[data-state="sv"] p.vz-raas__side { border-left: 6px solid var(--vz-teal); }
.article-page.is-visual p.vz-valdose__q { font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem; color: var(--vz-navy); margin: 0 0 0.6rem; }
.article-page.is-visual .vz-hero__photo img[src^="/visual/valsartan/val-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/valsartan/val-hero"])::before { display: none; }
/* ---- sinus-arrhythmia (batch 4, 2026-10-24): drawn breathing/heart-rate hero shown whole, swing toggle (.vz-heartswap reused, four states young / athlete / older / fast), brake cards, report sorter colours (.vz-sx ranked, visit / sooner), tier lists ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/sinus-arrhythmia/sa-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/sinus-arrhythmia/sa-hero"])::before { display: none; }
.article-page.is-visual .sa-swap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1.1rem; }
.article-page.is-visual .sa-swap .vz-heartswap__stage { aspect-ratio: 1600 / 700; background: #f6f2ea; }
.article-page.is-visual .sa-swap .vz-heartswap__stage img { object-fit: contain; object-position: 50% 50%; }
.article-page.is-visual .sa-swap .vz-hs--athlete,
.article-page.is-visual .sa-swap .vz-hs--older,
.article-page.is-visual .sa-swap .vz-hs--fast { opacity: 0; }
.article-page.is-visual .sa-swap[data-state="athlete"] .vz-hs--athlete,
.article-page.is-visual .sa-swap[data-state="older"] .vz-hs--older,
.article-page.is-visual .sa-swap[data-state="fast"] .vz-hs--fast { opacity: 1; }
.article-page.is-visual .sa-swap:not([data-state="young"]) .vz-hs--young { opacity: 0; }
.article-page.is-visual .sa-swap .vz-segs .vz-seg { flex: 1 1 150px; }
.article-page.is-visual .sa-swap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.article-page.is-visual .sa-swap .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #fff; }
.article-page.is-visual .sa-swap .vz-meter__row--change dd { color: var(--vz-navy); }
.article-page.is-visual .sa-swap[data-state="older"] .vz-meter__row--change { border-left-color: var(--vz-amber); background: var(--vz-amber-bg, #fcf0d9); }
.article-page.is-visual .sa-swap[data-state="fast"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .sa-swap[data-state="athlete"] .vz-meter__row--change { border-left-color: var(--vz-navy); }
.article-page.is-visual p.sa-swap__note { margin: 0.6rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
@media (max-width: 640px) {
  .article-page.is-visual .sa-swap .vz-heartswap__stage { aspect-ratio: 900 / 1000; }
  .article-page.is-visual .sa-swap .vz-meter { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .sa-swap .vz-hs { transition: none; } }
.article-page.is-visual .sa-brake .vz-card { border-top: 6px solid var(--vz-teal-dk); }
.article-page.is-visual .sa-brake .sa-brake--out { border-top-color: #3f5573; }
.article-page.is-visual .sa-brake .sa-brake__icon { display: inline-flex; width: 2.6rem; height: 2.6rem; color: var(--vz-teal-dk); }
.article-page.is-visual .sa-brake .sa-brake--out .sa-brake__icon { color: #3f5573; }
.article-page.is-visual .sa-brake .sa-brake__icon svg { width: 100%; height: 100%; }
.article-page.is-visual ul.sa-tierlist { list-style: none; margin: 0; padding: 0; }
.article-page.is-visual ul.sa-tierlist li { margin: 0; padding: 0.65rem 0; border-top: 1px solid rgba(20, 33, 61, 0.1); font-size: 1.05rem; line-height: 1.5; }
.article-page.is-visual ul.sa-tierlist li:first-child { border-top: 0; padding-top: 0.2rem; }
.article-page.is-visual ul.sa-tierlist li::before { content: none; }
.article-page.is-visual .sa-sx[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .sa-sx[data-result="visit"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .sa-sx[data-result="sooner"] .vz-sx__result { background: var(--vz-amber); }

/* ---- testosterone-cv-risks (batch 4, 2026-10-24): hematocrit decoder (.vz-ef reuse, .trt-hct), TRAVERSE bars (.vz-bars reuse), figure hero ---- */
.article-page.is-visual .vz-hero__photo img[src^="/visual/testosterone-cv-risks/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/testosterone-cv-risks/"])::before { display: none; }
.article-page.is-visual .trt-hct__ask { font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem; color: var(--vz-navy); margin: 0 0 0.8rem; }
.article-page.is-visual .trt-hct .vz-efscale { margin-top: 1.4rem; margin-bottom: 1.2rem; }
.article-page.is-visual .trt-hct .vz-efscale__ticks span:first-child { transform: none; }
.article-page.is-visual .trt-hct .vz-efscale__ticks span:last-child { transform: translateX(-100%); }
.article-page.is-visual .trt-hct[data-band="mid"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .trt-hct[data-band="high"] .vz-ef__result { border-left-color: var(--vz-red); }
.article-page.is-visual .vz-when.trt-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.trt-when3 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-tiers.trt-lone { grid-template-columns: 1fr; }
.article-page.is-visual .trt-bars + .vz-datatable { margin-top: 0.75rem; }
@media (min-width: 761px) { .article-page.is-visual .trt-bars .vz-barrow { grid-template-columns: minmax(150px, 0.9fr) minmax(0, 2.4fr) 170px; } }
.article-page.is-visual .trt-bars .vz-barrow__delta { font-family: var(--font-sans); font-weight: 700; font-size: 1.05rem; line-height: 1.3; color: var(--vz-navy); }
.article-page.is-visual #question .vz-checklist, .article-page.is-visual #who-studied .vz-checklist { margin-bottom: 1.5rem; }

/* ---- severe-mr-mitraclip (batch 4, 2026-10-24) ---- */
.article-page.is-visual .vz-clipswap .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.article-page.is-visual .vz-clipswap .vz-heartswap__stage { aspect-ratio: 1600 / 900; }
.article-page.is-visual .vz-clipswap .vz-heartswap__stage img { object-position: 50% 50%; }
.article-page.is-visual .vz-clipswap .vz-hs--leaky, .article-page.is-visual .vz-clipswap .vz-hs--clipped { opacity: 0; }
.article-page.is-visual .vz-clipswap[data-state="leaky"] .vz-hs--leaky, .article-page.is-visual .vz-clipswap[data-state="clipped"] .vz-hs--clipped { opacity: 1; }
.article-page.is-visual .vz-clipswap[data-state="leaky"] .vz-hs--healthy, .article-page.is-visual .vz-clipswap[data-state="clipped"] .vz-hs--healthy { opacity: 0; }
.article-page.is-visual .vz-clipswap[data-state="leaky"] .vz-meter__row--change { border-left-color: #c2412d; background: #fbeae4; }
.article-page.is-visual .vz-clipswap[data-state="leaky"] .vz-meter__row--change dd { color: #9b2d23; }
.article-page.is-visual .vz-clipswap[data-state="clipped"] .vz-meter__row--change { border-left-color: #b8841f; background: #fffaf0; }
.article-page.is-visual .vz-clipswap .vz-segs .vz-seg { flex: 1 1 160px; text-align: center; }
.article-page.is-visual .vz-clipswap__note { margin: 0.6rem 0 0; font-size: 0.98rem; color: var(--vz-muted); }
@media (max-width: 900px) { .article-page.is-visual .vz-clipswap .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .article-page.is-visual .vz-clipswap .vz-heartswap__stage { aspect-ratio: 800 / 1400; max-width: 340px; width: 100%; margin: 0 auto; }
}
.article-page.is-visual .vz-bars--coapt .vz-bar__val { white-space: normal; }
.article-page.is-visual .vz-statline.vz-statline--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-statline.vz-statline--three { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-when.vz-when--clip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.vz-when--clip { grid-template-columns: 1fr 1fr; } }
@media (max-width: 420px) { .article-page.is-visual .vz-when.vz-when--clip { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-closer--text .vz-closer__text p + p { margin-top: 0.9rem; }

/* ---- wandering-atrial-pacemaker (batch 4, 2026-10-24) ---- */
/* drawn-strip hero shown whole; two heart toggles on the shared .vz-heartswap (JS block 7):
   where each beat starts (states a / b / c) and the look-alikes (wap / ectopic / afib / mat);
   rate decoder on the shared .vz-ef (JS block 9, bands wap / gray / mat); tier lists. No new JS. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/wandering-atrial-pacemaker/wap-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/wandering-atrial-pacemaker/wap-hero"])::before { display: none; }
.article-page.is-visual .wap-swap .vz-heartswap__grid { grid-template-columns: 1fr; gap: 1.1rem; }
.article-page.is-visual .wap-swap .vz-heartswap__stage { aspect-ratio: 1600 / 640; background: #f6f2ea; }
.article-page.is-visual .wap-swap .vz-heartswap__stage img { object-fit: contain; object-position: 50% 50%; }
.article-page.is-visual .wap-swap .vz-hs { opacity: 0; }
.article-page.is-visual .wap-swap[data-state="a"] .vz-hs--a,
.article-page.is-visual .wap-swap[data-state="b"] .vz-hs--b,
.article-page.is-visual .wap-swap[data-state="c"] .vz-hs--c,
.article-page.is-visual .wap-swap[data-state="wap"] .vz-hs--wap,
.article-page.is-visual .wap-swap[data-state="ectopic"] .vz-hs--ectopic,
.article-page.is-visual .wap-swap[data-state="afib"] .vz-hs--afib,
.article-page.is-visual .wap-swap[data-state="mat"] .vz-hs--mat { opacity: 1; }
.article-page.is-visual .wap-swap .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.article-page.is-visual .wap-swap--4 .vz-meter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1000px) { .article-page.is-visual .wap-swap--4 .vz-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.article-page.is-visual .wap-swap[data-state="a"] .vz-meter__row--change,
.article-page.is-visual .wap-swap[data-state="wap"] .vz-meter__row--change { border-left-color: var(--vz-teal); background: var(--vz-teal-bg); }
.article-page.is-visual .wap-swap[data-state="b"] .vz-meter__row--change,
.article-page.is-visual .wap-swap[data-state="ectopic"] .vz-meter__row--change { border-left-color: var(--vz-orange); background: #fdf1ec; }
.article-page.is-visual .wap-swap[data-state="c"] .vz-meter__row--change { border-left-color: #b8841f; background: var(--vz-amber-bg); }
.article-page.is-visual .wap-swap[data-state="afib"] .vz-meter__row--change,
.article-page.is-visual .wap-swap[data-state="mat"] .vz-meter__row--change { border-left-color: var(--vz-red); background: var(--vz-red-bg); }
.article-page.is-visual .wap-swap--4 .vz-segs .vz-seg { flex: 1 1 200px; }
@media (max-width: 640px) {
  .article-page.is-visual .wap-swap .vz-heartswap__stage { aspect-ratio: 900 / 1265; }
  .article-page.is-visual .wap-swap .vz-meter,
  .article-page.is-visual .wap-swap--4 .vz-meter { grid-template-columns: 1fr; }
  .article-page.is-visual .wap-swap .vz-segs .vz-seg { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .wap-swap .vz-hs { transition: none; } }
.article-page.is-visual p.wap-rate__lead { margin: 0 0 0.9rem; font-size: 1.08rem; color: var(--vz-ink); }
.article-page.is-visual .vz-ef.wap-rate[data-band="wap"] .vz-ef__result { border-left-color: var(--vz-teal-dk); }
.article-page.is-visual .vz-ef.wap-rate[data-band="gray"] .vz-ef__result { border-left-color: #b8841f; }
.article-page.is-visual .vz-ef.wap-rate[data-band="mat"] .vz-ef__result { border-left-color: #a82e27; }
.article-page.is-visual ul.wap-tierlist { list-style: none; margin: 0; padding: 0; }
.article-page.is-visual ul.wap-tierlist li { margin: 0; padding: 0.65rem 0; border-top: 1px solid rgba(20, 33, 61, 0.1); font-size: 1.05rem; line-height: 1.5; }
.article-page.is-visual ul.wap-tierlist li:first-child { border-top: 0; padding-top: 0.2rem; }
.article-page.is-visual ul.wap-tierlist li::before { content: none; }

/* ---- watchman-alternatives (batch 4, 2026-10-24) ---- */
/* Figure hero (drawn, no photo): show the whole drawing, no sand fade. */
.article-page.is-visual .vz-hero__photo img[src^="/visual/watchman-alternatives/wa-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/watchman-alternatives/wa-hero"])::before { display: none; }
/* Static AFib appendage drawing */
.article-page.is-visual .vz-wa-fig__stage { max-width: 640px; margin: 0 auto; background: #f6f2ea; border-radius: var(--vz-radius-sm); }
.article-page.is-visual .vz-wa-fig__stage svg { display: block; width: 100%; height: auto; }
/* Device toggle (heart-toggle JS, data-heart = watchman | amulet | atriclip), inline SVG stage */
.article-page.is-visual .vz-laaswap .vz-heartswap__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.article-page.is-visual .vz-laaswap .vz-heartswap__stage { aspect-ratio: 420 / 300; background: #f6f2ea; }
.article-page.is-visual .vz-laaswap .vz-heartswap__stage svg.vz-hs { position: absolute; inset: 0; width: 100%; height: 100%; display: block; transition: opacity 0.4s ease; opacity: 0; }
.article-page.is-visual .vz-laaswap[data-state="watchman"] .vz-heartswap__stage svg.vz-hs--watchman,
.article-page.is-visual .vz-laaswap[data-state="amulet"] .vz-heartswap__stage svg.vz-hs--amulet,
.article-page.is-visual .vz-laaswap[data-state="atriclip"] .vz-heartswap__stage svg.vz-hs--atriclip { opacity: 1; }
.article-page.is-visual .vz-laaswap .vz-meter dd { font-weight: 600; font-size: 1.05rem; }
@media (max-width: 900px) { .article-page.is-visual .vz-laaswap .vz-heartswap__grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .article-page.is-visual .vz-laaswap .vz-heartswap__stage svg.vz-hs { transition: none; } }
.article-page.is-visual p.vz-wa-note { margin: 0.6rem 0 0; font-size: 0.95rem; color: var(--vz-muted); }
/* Three big numbers in the risks section; two checklists side by side */
.article-page.is-visual .vz-statline.vz-statline--wa3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-statline.vz-statline--wa3 { grid-template-columns: 1fr; } }
.article-page.is-visual .vz-split--even:has(> .vz-checklist) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.article-page.is-visual .vz-split--even > .vz-checklist { margin: 0; }
@media (max-width: 760px) { .article-page.is-visual .vz-split--even:has(> .vz-checklist) { grid-template-columns: 1fr; } }
/* Stroke-risk checker on this page has two bands only (below / at or above the article's LAA closure bar) */
.article-page.is-visual .vz-strokerisk--wa[data-band="mid"] .vz-strokerisk__result { background: var(--vz-navy); }
/* ---- vagal-maneuvers-svt (batch 4, 2026-10-24) ---- */
/* question line above the reused .vz-daytl (three ways to do the modified Valsalva) and .vz-fit (which maneuver fits) */
.article-page.is-visual p.vz-vm-q { font-family: var(--vz-serif); font-weight: 600; font-size: 1.45rem; color: var(--vz-ink); margin: 0 0 0.7rem; }
.article-page.is-visual p.vz-vm-plan { margin: 0.6rem 0 0; font-size: 1.02rem; color: var(--vz-muted); }
.article-page.is-visual .vz-vm-ways .vz-timeline li { min-height: 210px; }
@media (max-width: 760px) { .article-page.is-visual .vz-vm-ways .vz-timeline li { min-height: 0; } }
.article-page.is-visual .vz-vm-fit .vz-segs--stack .vz-seg { flex: 1 1 30%; }
@media (max-width: 600px) { .article-page.is-visual .vz-vm-fit .vz-segs--stack .vz-seg { flex: 1 1 100%; } }
.article-page.is-visual .vz-vm-closer .vz-closer__text p + p { margin-top: 0.9rem; }
/* drawn hero: show the whole figure, no sand fade over it */
.article-page.is-visual .vz-hero__photo img[src^="/visual/vagal-maneuvers-svt/"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/vagal-maneuvers-svt/"])::before { display: none; }
@media (max-width: 900px) { .article-page.is-visual .vz-hero__photo img[src^="/visual/vagal-maneuvers-svt/"] { object-position: 50% 50%; } }
/* ---- weight-loss-exercise-bp (batch 3, 2026-10-24) ---- */
/* hand-drawn hero shown whole */
.article-page.is-visual .vz-hero__photo img[src^="/visual/weight-loss-exercise-bp/wlbp-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/weight-loss-exercise-bp/wlbp-hero"])::before { display: none; }
/* range bars: wider value column, combined row in orange */
.article-page.is-visual .wlbp-freq ul.vz-freq__list li { grid-template-columns: minmax(0, 2.3fr) minmax(0, 3fr) 7.6rem; }
@media (max-width: 700px) { .article-page.is-visual .wlbp-freq ul.vz-freq__list li { grid-template-columns: minmax(0, 1fr) 7.2rem; } }
.article-page.is-visual .wlbp-freq ul.vz-freq__list li:last-child .vz-freq__track::after { background: var(--vz-orange); }
.article-page.is-visual .wlbp-freq ul.vz-freq__list li:last-child .vz-freq__track::before { background: #f3b49f; }
/* first-target helper */
.article-page.is-visual .wlbp-target { border-left: 6px solid var(--vz-teal); }
.article-page.is-visual p.wlbp-target__kicker { margin: 0 0 0.6rem; font-family: var(--font-sans); font-size: 0.86rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700; color: var(--vz-orange); }
.article-page.is-visual .wlbp-target__in { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; margin: 0 0 1rem; }
.article-page.is-visual .wlbp-target__in[hidden] { display: none; }
.article-page.is-visual .wlbp-target__in label { font-weight: 700; color: var(--vz-ink); font-size: 1.1rem; }
.article-page.is-visual .wlbp-target__in input { width: 9rem; min-height: 52px; padding: 0.4rem 0.8rem; font-family: var(--vz-num); font-weight: 800; font-size: 1.5rem; color: var(--vz-navy); background: #fff; border: 2px solid var(--vz-navy); border-radius: 10px; }
.article-page.is-visual .wlbp-target__in input:focus-visible { outline: 3px solid var(--vz-orange); outline-offset: 2px; }
.article-page.is-visual p.wlbp-target__big { margin: 0 0 0.6rem; font-family: var(--vz-num); font-weight: 800; font-size: clamp(2rem, 5vw, 2.8rem); line-height: 1.1; color: var(--vz-teal-dk, #0e7c6f); }
.article-page.is-visual p.wlbp-target__big[hidden] { display: none; }
.article-page.is-visual p.wlbp-target__big small { font-size: 0.5em; font-weight: 700; color: var(--vz-muted); }
.article-page.is-visual p.wlbp-target__why { margin: 0 0 0.8rem; font-size: 1.1rem; color: var(--vz-ink); }
.article-page.is-visual .wlbp-target.is-out p.wlbp-target__why { color: var(--vz-red, #b5302a); font-weight: 600; }
.article-page.is-visual p.wlbp-target__plan { margin: 0; font-size: 1rem; color: var(--vz-muted); font-style: italic; }

/* ---- tilt-table-testing (batch 4, 2026-10-24) ---- */
/* figure hero, test-day stepper with the drawn tilt table (CAC stepper JS), result-pattern toggle (heart toggle JS) */
.article-page.is-visual .vz-hero__photo img[src^="/visual/tilt-table-testing/"] { object-fit: contain; object-position: 50% 50%; background: #f6f2ea; }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/tilt-table-testing/"])::before { display: none; }
.article-page.is-visual .tt-stage { background: #f6f2ea; border-radius: var(--vz-radius-sm); margin: 0 0 1rem; padding: 0.5rem 1rem 0; }
.article-page.is-visual .tt-stage svg { display: block; width: 100%; max-width: 560px; height: auto; margin: 0 auto; }
.tt-steps .ttf text { font-family: var(--font-sans, "Source Sans 3", system-ui, sans-serif); }
.tt-steps .ttf .ttf-big { font-size: 30px; }
.tt-steps .ttf .ttf-sm { font-size: 23px; }
.tt-steps .ttf .ttf-tilt { transform-box: view-box; transform-origin: 620px 400px; transition: transform 0.9s ease; }
.tt-steps .ttf .ttf-angle, .tt-steps .ttf .ttf-lab--tilt, .tt-steps .ttf .ttf-lab--hero { opacity: 0; transition: opacity 0.4s ease; }
.tt-steps[data-step="3"] .ttf .ttf-tilt { transform: rotate(70deg); }
.tt-steps[data-step="3"] .ttf .ttf-angle, .tt-steps[data-step="3"] .ttf .ttf-lab--tilt { opacity: 1; }
.tt-steps[data-step="3"] .ttf .ttf-lab--flat { opacity: 0; }
@media (min-width: 901px) { .article-page.is-visual .tt-steps .vz-stepper__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tt-steps .ttf .ttf-big { font-size: 38px; } .tt-steps .ttf .ttf-sm { font-size: 30px; } }
.article-page.is-visual .tt-one { grid-template-columns: 1fr; }
.article-page.is-visual .vz-when.tt-when3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .article-page.is-visual .vz-when.tt-when3 { grid-template-columns: 1fr; } }
@media (min-width: 1001px) { .article-page.is-visual .tt-feel { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.article-page.is-visual .tt-cap { margin: 0.5rem 0 1.4rem; font-size: 1rem; color: var(--vz-muted); }
.article-page.is-visual .tt-feel { margin: 0.6rem 0 1.2rem; }
.article-page.is-visual .tt-pat__lead { margin: 0 0 0.9rem; font-size: 1.12rem; color: var(--vz-ink); }
.article-page.is-visual .tt-pat__note { margin: 0.6rem 0 0; font-size: 1rem; color: var(--vz-muted); }
.article-page.is-visual .tt-pat .vz-segs--stack { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; }
.article-page.is-visual .tt-pat .vz-heartswap__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); margin-top: 1rem; }
.article-page.is-visual .tt-pat .vz-heartswap__stage { aspect-ratio: 800 / 470; background: #f6f2ea; }
.article-page.is-visual .tt-pat .vz-heartswap__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.tt-pat .ttp text { font-family: var(--font-sans, "Source Sans 3", system-ui, sans-serif); }
.tt-pat .ttp .ttp-xs { font-size: 20px; }
.tt-pat .ttp .ttp-sm { font-size: 21px; }
.tt-pat .ttp .ttp-lab { font-size: 25px; font-weight: 700; }
.tt-pat .ttp-g { opacity: 0; transition: opacity 0.35s ease; }
.tt-pat[data-state="vv1"] .ttp-g--vv1 { opacity: 1; }
.tt-pat[data-state="vv2a"] .ttp-g--vv2a { opacity: 1; }
.tt-pat[data-state="vv2b"] .ttp-g--vv2b { opacity: 1; }
.tt-pat[data-state="vv3"] .ttp-g--vv3 { opacity: 1; }
.tt-pat[data-state="pots"] .ttp-g--pots { opacity: 1; }
.tt-pat[data-state="coh"] .ttp-g--coh { opacity: 1; }
.tt-pat[data-state="doh"] .ttp-g--doh { opacity: 1; }
.tt-pat[data-state="ist"] .ttp-g--ist { opacity: 1; }
.tt-pat[data-state="neg"] .ttp-g--neg { opacity: 1; }
.tt-pat .vz-meter__row--change { border-left-color: var(--vz-teal-dk); background: #fff; }
@media (max-width: 900px) { .article-page.is-visual .tt-pat .vz-heartswap__grid { grid-template-columns: 1fr; } .article-page.is-visual .tt-pat .vz-segs--stack { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .tt-pat .ttp .ttp-xs { font-size: 25px; } .tt-pat .ttp .ttp-sm { display: none; } .tt-pat .ttp .ttp-lab { font-size: 34px; } .tt-pat .ttp .ttp-key text { font-size: 24px; } }
@media (prefers-reduced-motion: reduce) { .tt-steps .ttf .ttf-tilt, .tt-steps .ttf .ttf-angle, .tt-steps .ttf .ttf-lab--tilt, .tt-steps .ttf .ttf-lab--flat, .tt-pat .ttp-g { transition: none; } }

/* ---- virtual-cardiac-rehab (batch 4, 2026-10-24) ---- */
/* hero and closer are hand-drawn figures: contain, no fade */
.article-page.is-visual .vz-hero__photo img[src^="/visual/virtual-cardiac-rehab/vcrh-hero"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-cream); }
.article-page.is-visual .vz-hero__photo:has(img[src^="/visual/virtual-cardiac-rehab/vcrh-hero"])::before { display: none; }
.article-page.is-visual .vz-closer__photo img[src^="/visual/virtual-cardiac-rehab/vcrh-closer"] { object-fit: contain; object-position: 50% 50%; background: var(--vz-navy); }
/* participation dots: 100 eligible patients */
.article-page.is-visual p.vcrh-dots__lead { margin: 0 0 0.9rem; font-size: 1.12rem; font-weight: 700; color: var(--vz-ink); }
.vcrh-dots__grid { display: grid; grid-template-columns: repeat(20, minmax(0, 1fr)); gap: 8px; }
.vcrh-dot { display: block; aspect-ratio: 1 / 1; border-radius: 50%; background: #d8d1bf; }
.vcrh-dot--fin { background: var(--vz-navy); }
.vcrh-dot--att { background: var(--vz-teal); }
.article-page.is-visual ul.vcrh-dots__key { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.6rem; }
.article-page.is-visual ul.vcrh-dots__key li { margin: 0; display: flex; align-items: flex-start; gap: 0.55rem; font-size: 1.02rem; color: var(--vz-text); }
.article-page.is-visual ul.vcrh-dots__key .vcrh-dot { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 0.2em; }
@media (max-width: 600px) { .vcrh-dots__grid { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 5px; max-width: 320px; } }
/* patient quotes beside the checklist */
.article-page.is-visual .vcrh-quotes { align-self: start; background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.3rem 1.4rem; }
.article-page.is-visual .vcrh-quotes ul { list-style: none; margin: 0; padding: 0; }
.article-page.is-visual .vcrh-quotes li { margin: 0 0 0.75rem; padding-left: 0.9rem; border-left: 4px solid var(--vz-orange); font-family: var(--vz-serif); font-style: italic; font-size: 1.12rem; line-height: 1.45; color: var(--vz-ink); }
.article-page.is-visual .vcrh-quotes li:last-child { margin-bottom: 0; }
/* one session, drawn to scale */
.article-page.is-visual p.vcrh-session__lead { margin: 0 0 0.9rem; font-size: 1.12rem; font-weight: 700; color: var(--vz-ink); }
.article-page.is-visual ol.vcrh-session__bar { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.article-page.is-visual ol.vcrh-session__bar li { margin: 0; flex: var(--w) 1 0; min-width: 0; min-height: 104px; border-radius: 8px; padding: 0.6rem 0.5rem; color: #fff; display: flex; flex-direction: column; justify-content: flex-end; }
.article-page.is-visual ol.vcrh-session__bar b { display: block; font-size: 0.98rem; line-height: 1.2; }
.article-page.is-visual ol.vcrh-session__bar span { display: block; font-size: 0.9rem; line-height: 1.2; opacity: 0.92; }
.vcrh-seg--slate { background: #5f6b7a; }
.vcrh-seg--teal1 { background: #5aa99f; }
.vcrh-seg--teal2 { background: var(--vz-teal-dk); }
.vcrh-seg--amber { background: var(--vz-amber); }
@media (max-width: 760px) {
  .article-page.is-visual ol.vcrh-session__bar { flex-direction: column; gap: 4px; }
  .article-page.is-visual ol.vcrh-session__bar li { flex: none; min-height: calc(var(--w) * 4px + 34px); flex-direction: row; align-items: center; justify-content: space-between; gap: 0.8rem; padding: 0.4rem 0.9rem; }
  .article-page.is-visual ol.vcrh-session__bar b, .article-page.is-visual ol.vcrh-session__bar span { font-size: 1.02rem; }
}
/* static Borg scale */
.article-page.is-visual .vcrh-borg { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.2rem 1.3rem; margin: 0 0 1.5rem; }
.vcrh-borg__row { display: grid; grid-template-columns: repeat(15, minmax(0, 1fr)); gap: 3px; }
.vcrh-borg__n { display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 6px; background: #ddd6c5; color: var(--vz-ink); font-family: var(--vz-num); font-weight: 700; font-size: 1rem; }
.vcrh-borg__n.is-mod { background: var(--vz-teal-dk); color: #fff; }
.article-page.is-visual p.vcrh-borg__cap { margin: 0.8rem 0 0; font-size: 1.05rem; color: var(--vz-text); }
@media (max-width: 600px) { .vcrh-borg__row { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
/* virtual or in-person sorter colours (ranked .vz-sx) */
.article-page.is-visual .vcrh-fit[data-result="none"] .vz-sx__result { background: var(--vz-navy); }
.article-page.is-visual .vcrh-fit[data-result="virtual"] .vz-sx__result { background: var(--vz-teal-dk); }
.article-page.is-visual .vcrh-fit[data-result="inperson"] .vz-sx__result { background: #4a5668; }
/* two "who" panels in the enrollment section */
.article-page.is-visual .vcrh-who { background: var(--vz-panel); border-radius: var(--vz-radius); padding: 1.3rem 1.4rem; }
.article-page.is-visual .vcrh-who h3 { margin-top: 0; }
.article-page.is-visual .vcrh-who p:last-child { margin-bottom: 0; }
/* seven-step program stepper: wrap on desktop */
@media (min-width: 901px) { .article-page.is-visual .vcrh-steps .vz-stepper__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* ---- stress-imaging-decision-tree (OpenEvidence fixes, 2026-10-25): CAD-RADS 4B band colour ---- */
.article-page.is-visual .vz-ef--cadrads[data-band="cr4b"] .vz-ef__result { border-left-color: #9a2723; }
