/* ============================================================================
   V5 BLOCKS — Swiss grayscale medical editorial block kit
   ----------------------------------------------------------------------------
   ISOLATION CONTRACT (what makes V5 conflict-proof — verified by the probe):
   - EVERYTHING is scoped under .v5-article. No global/element selectors leak out.
   - Every rule is written `.v5-article .v5-x` → specificity (0,2,x), which BEATS
     the theme's `.entry-content p/li/td/h2/a/...` rules (0,1,1) regardless of
     enqueue order. This stops "bleed-in".
   - All sizes/spacing are in px (not rem). The live theme sets html{font-size:62.5%},
     which would silently shrink any rem. px is immune. em/ch/vw are element- or
     viewport-relative, so they are immune too.
   - All classes are prefixed .v5-. No collision with theme/plugin classes.
   - Zero !important (only a prefers-reduced-motion guard). Specificity is enough.
   - No inline <style> in WordPress post_content (WP KSES strips it; CSS would leak
     into the Yoast OG description). This file is enqueued once; posts ship classes.
   - No @import fonts. Production self-hosts Archivo + JetBrains Mono.
   ========================================================================== */

.v5-article {
  /* ---- Color (OKLCH, neutrals tinted warm toward hue 95; never #000/#fff) -- */
  --v5-surface:    oklch(98.6% 0.003 95);
  --v5-surface-2:  oklch(97.0% 0.004 95);
  --v5-surface-3:  oklch(94.2% 0.005 95);
  --v5-paper:      oklch(97.8% 0.013 80);   /* warm cream card tone */
  --v5-wash:       oklch(95.5% 0.026 28);   /* faint accent wash, red-tied */
  --v5-slate:      oklch(95.5% 0.016 245);  /* subtle cool blue-gray card tone */
  --v5-sage:       oklch(95.5% 0.018 160);  /* subtle green/jade card tone */
  --v5-line:       oklch(86.5% 0.005 95);
  --v5-muted:      oklch(74.0% 0.006 95);
  --v5-text-2:     oklch(51.5% 0.006 95);
  --v5-text:       oklch(33.0% 0.005 95);
  --v5-ink:        oklch(19.0% 0.004 95);
  --v5-accent:     oklch(54.0% 0.205 28);
  --v5-accent-2:   oklch(46.0% 0.180 28);
  --v5-go:         oklch(53.0% 0.150 150);
  --v5-go-2:       oklch(48.0% 0.140 150);

  /* ---- CTA "booking surface" (user choice 2026-06-18: deep forest green, ----
     replaces near-black ink on every article CTA; cream button + pale-green
     copy keep WCAG AA on the green; red top-border stays the brand accent) */
  --v5-cta-bg:     oklch(31.0% 0.072 150);  /* deep forest-green CTA panel */
  --v5-cta-btn:    oklch(96.0% 0.020 95);   /* cream booking button on green */
  --v5-cta-btn-2:  oklch(99.0% 0.012 95);   /* button hover (lighter cream) */
  --v5-cta-btn-fg: oklch(28.0% 0.060 150);  /* dark-green button label (~9:1) */
  --v5-cta-soft:   oklch(86.0% 0.045 150);  /* pale-green kicker + emphasis */

  /* ---- Type (px + vw only — immune to theme's 62.5% root rebasing) -------- */
  --v5-font: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --v5-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --v5-h1:   clamp(34px, 4.86vw, 71px);
  --v5-h2:   clamp(28px, 3.6vw, 42px);
  --v5-h3:   22px;
  --v5-lede: clamp(20px, 1.9vw, 24px);
  --v5-body: 17px;
  --v5-meta: 16px;   /* secondary reading prose — 16px clears font-readability-gate 15.5px body floor (elderly a11y) */
  --v5-label: 13px;
  --v5-cap: 14px;    /* figure/photo captions — clears the gate's 13.5px caption floor */
  --v5-accent-deep: oklch(45% 0.18 28); /* small-text red: AA on white AND tinted cards (plain --v5-accent is 4.5 on white, ~3.3 on tints) */   /* raised from 11px 2026-06-10: user flagged micro-labels as unreadably small three times */

  /* ---- Space ladder (px) ------------------------------------------------ */
  --v5-s1: 8px;  --v5-s2: 14px; --v5-s3: 24px;
  --v5-s4: 40px; --v5-s5: 64px; --v5-s6: 88px;

  --v5-measure: 88ch;
  --v5-ease: cubic-bezier(0.22, 1, 0.36, 1);

  font-family: var(--v5-font);
  font-size: var(--v5-body);
  line-height: 1.7;
  color: var(--v5-text);
  background: var(--v5-surface);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-synthesis: none;
}

/* ---- Scoped reset: only descendants of .v5-article ---------------------- */
.v5-article *,
.v5-article *::before,
.v5-article *::after { box-sizing: border-box; }
.v5-article :where(h1,h2,h3,h4,p,ul,ol,li,figure,blockquote,table,dl,dd,dt) { margin: 0; }
.v5-article :where(ul,ol) { padding: 0; list-style: none; }
.v5-article img,
.v5-article svg { display: block; max-width: 100%; height: auto; }
.v5-article a { color: inherit; }

/* ---- Reading column ----------------------------------------------------- */
.v5-article .v5-prose { max-width: var(--v5-measure); }
.v5-article .v5-prose > * + * { margin-top: var(--v5-s3); }

/* ============================================================================
   A — TEXT & READING RHYTHM
   ========================================================================== */
.v5-article .v5-lede {
  font-family: var(--v5-font);
  font-size: var(--v5-lede);
  line-height: 1.5;
  color: var(--v5-ink);
  font-weight: 400;
  max-width: var(--v5-measure);
  padding-bottom: var(--v5-s3);
  border-bottom: 1px solid var(--v5-line);
}
.v5-article .v5-lede::first-letter {
  float: left;
  font-size: 4.2em;
  line-height: 0.82;
  font-weight: 700;
  letter-spacing: -0.04em;
  margin: 0.06em 0.12em 0 0;
  color: var(--v5-ink);
}
.v5-article .v5-p { font-family: var(--v5-font); font-size: var(--v5-body); line-height: 1.7; color: var(--v5-text); max-width: var(--v5-measure); }
.v5-article .v5-p strong { font-weight: 650; color: var(--v5-ink); }
.v5-article .v5-p em { font-style: italic; }
.v5-article .v5-p a, .v5-article .v5-spec__v a { color: var(--v5-accent); text-decoration: underline; text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
.v5-article .v5-p a:hover, .v5-article .v5-spec__v a:hover { color: var(--v5-accent-2); }

.v5-article .v5-h2 {
  margin-top: var(--v5-s5); padding-top: var(--v5-s3); border-top: 2px solid var(--v5-ink);
}
.v5-article .v5-h2__text { font-family: var(--v5-font); font-size: var(--v5-h2); font-weight: 700; letter-spacing: -0.025em; line-height: 1.05; color: var(--v5-ink); text-wrap: balance; }

.v5-article .v5-h3 { font-family: var(--v5-font); font-size: var(--v5-h3); font-weight: 650; letter-spacing: -0.01em; line-height: 1.25; color: var(--v5-ink); margin-top: var(--v5-s4); }

.v5-article .v5-pearl { background: var(--v5-surface-2); border: 1px solid var(--v5-line); padding: var(--v5-s3); max-width: var(--v5-measure); }
.v5-article .v5-pearl__kicker { font-family: var(--v5-mono); font-size: 18px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--v5-accent-deep); margin-bottom: var(--v5-s1); }
.v5-article .v5-pearl p { font-size: var(--v5-body); line-height: 1.6; color: var(--v5-text); }

/* ============================================================================
   B — LISTS & BULLETS
   ========================================================================== */
.v5-article .v5-ul { max-width: var(--v5-measure); display: grid; gap: var(--v5-s2); }
.v5-article .v5-ul li { position: relative; padding-left: 1.6em; line-height: 1.55; color: var(--v5-text); }
.v5-article .v5-ul li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 0.5em; height: 2px; background: var(--v5-accent); }

.v5-article .v5-ol { max-width: var(--v5-measure); counter-reset: v5; display: grid; gap: var(--v5-s2); }
.v5-article .v5-ol li { position: relative; padding-left: 2.6em; line-height: 1.55; color: var(--v5-text); counter-increment: v5; }
.v5-article .v5-ol li::before { content: counter(v5, decimal-leading-zero); position: absolute; left: 0; top: 0.05em; font-family: var(--v5-mono); font-size: 0.8em; font-weight: 500; color: var(--v5-accent); letter-spacing: 0.04em; }

.v5-article .v5-check { border: 1px solid var(--v5-line); background: var(--v5-surface); padding: var(--v5-s3); max-width: var(--v5-measure); }
.v5-article .v5-check__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-text-2); margin-bottom: var(--v5-s2); }
.v5-article .v5-check ul { display: grid; gap: var(--v5-s2); }
.v5-article .v5-check li { position: relative; padding-left: 2.1em; line-height: 1.45; color: var(--v5-text); }
.v5-article .v5-check li::before { content: ""; position: absolute; left: 0; top: 0.12em; width: 1.15em; height: 1.15em; border: 1.5px solid var(--v5-text-2); background: var(--v5-surface); }
.v5-article .v5-check li::after { content: ""; position: absolute; left: 0.34em; top: 0.30em; width: 0.5em; height: 0.28em; border-left: 2px solid var(--v5-accent); border-bottom: 2px solid var(--v5-accent); transform: rotate(-45deg); }
.v5-article .v5-check__note { margin-top: var(--v5-s3); padding-top: var(--v5-s2); border-top: 1px solid var(--v5-line); font-size: var(--v5-meta); color: var(--v5-text-2); }

.v5-article .v5-deflist { max-width: var(--v5-measure); border-top: 1px solid var(--v5-line); }
.v5-article .v5-deflist__row { display: grid; grid-template-columns: 14ch 1fr; gap: var(--v5-s3); padding: var(--v5-s2) 0; border-bottom: 1px solid var(--v5-line); }
.v5-article .v5-deflist dt { font-weight: 600; color: var(--v5-ink); }
.v5-article .v5-deflist dd { color: var(--v5-text); }

/* v5-spec — treatment fact sheet. Breaks the dense "O que é. Mecanismo. Evidência…"
   explainer paragraph into scannable labelled rows so a patient (often elderly) can
   jump straight to "O que esperar" or "Limitações" instead of reading a wall of text.
   Rendered as a discrete, lifted card (rounded corners + soft shadow + accent header
   rule) so a page that stacks several of them reads as separate fact sheets, not one
   grey slab. Mono label column + body content column; the Limitações row carries a
   faint warm tint + red label so the risks never hide at the tail (tint + label
   only — DESIGN.md forbids colored side stripes, including inset box-shadow rails).
   .v5-spec__lead is an optional full-width intro row (e.g. a drug description) that
   the render filter places above the labelled rows. */
.v5-article .v5-spec { max-width: var(--v5-measure); margin: var(--v5-s2) 0 var(--v5-s4); border: 1px solid var(--v5-line); border-top: 3px solid var(--v5-accent); border-radius: 8px; overflow: hidden; background: var(--v5-surface); box-shadow: 0 1px 1px oklch(25% 0.01 95 / 0.04), 0 12px 24px -18px oklch(25% 0.02 95 / 0.4); }
.v5-article .v5-spec__lead { margin: 0; padding: var(--v5-s3) var(--v5-s3) var(--v5-s2); font-size: var(--v5-body); line-height: 1.6; color: var(--v5-text); }
.v5-article .v5-spec__row { display: grid; grid-template-columns: 14ch 1fr; gap: var(--v5-s3); padding: calc(var(--v5-s2) + 1px) var(--v5-s3); border-top: 1px solid var(--v5-line); }
.v5-article .v5-spec__row:first-child { border-top: 0; }
.v5-article .v5-spec__k { margin: 0; font-family: var(--v5-mono); font-size: var(--v5-label); font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; line-height: 1.5; color: var(--v5-text-2); }
.v5-article .v5-spec__v { margin: 0; font-size: var(--v5-body); line-height: 1.65; color: var(--v5-text); }
.v5-article .v5-spec__row--warn { background: var(--v5-wash); }
.v5-article .v5-spec__row--warn .v5-spec__k { color: var(--v5-accent-deep); }

/* v5-txbrk — line break between labelled segments ("O que é:", "Mecanismo:",
   "Indicações:"…) inside treatment paragraphs that pack several labels into one
   <p> (v5-txlist rows, inline body explainers). Each label starts a fresh line with
   a little breathing room so the segments read as a scannable list, not a wall —
   without converting the component. Degrades to a plain <br> when CSS is absent. */
.v5-article .v5-txbrk { display: block; height: 0; margin-top: 0.5em; }

/* B+ · Impactful variants */
.v5-article .v5-statement { max-width: var(--v5-measure); border-top: 2px solid var(--v5-ink); }
.v5-article .v5-statement li { position: relative; padding: var(--v5-s3) 0 var(--v5-s3) 1.9em; border-bottom: 1px solid var(--v5-line); font-size: 19px; line-height: 1.42; color: var(--v5-text); }
.v5-article .v5-statement li::before { content: ""; position: absolute; left: 0; top: 1.55em; width: 0.7em; height: 0.7em; background: var(--v5-accent); }
.v5-article .v5-statement b, .v5-article .v5-statement strong { font-weight: 700; color: var(--v5-ink); }

.v5-article .v5-steps { max-width: var(--v5-measure); counter-reset: step; border-top: 2px solid var(--v5-ink); }
.v5-article .v5-steps li { display: grid; grid-template-columns: 2.6em 1fr; gap: var(--v5-s3); align-items: start; padding: var(--v5-s3) 0; border-bottom: 1px solid var(--v5-line); counter-increment: step; }
.v5-article .v5-steps li::before { content: counter(step, decimal-leading-zero); font-family: var(--v5-mono); font-size: 26px; font-weight: 300; line-height: 1; letter-spacing: -0.02em; color: var(--v5-accent); }
.v5-article .v5-steps b, .v5-article .v5-steps strong { display: block; font-weight: 700; color: var(--v5-ink); font-size: 17px; margin-bottom: 0.2em; }
.v5-article .v5-steps p { font-size: var(--v5-meta); color: var(--v5-text-2); line-height: 1.5; }

/* ============================================================================
   C — QUOTES & HIGHLIGHTS
   ========================================================================== */
.v5-article .v5-quote { max-width: var(--v5-measure); margin: 0; padding: var(--v5-s3) 0; border-top: 2px solid var(--v5-ink); border-bottom: 2px solid var(--v5-ink); }
.v5-article .v5-quote p { font-family: var(--v5-font); font-size: clamp(22px, 2.6vw, 30px); line-height: 1.3; font-style: italic; font-weight: 400; color: var(--v5-ink); letter-spacing: -0.015em; text-wrap: balance; }
.v5-article .v5-quote cite { display: block; margin-top: var(--v5-s2); font-family: var(--v5-mono); font-style: normal; font-size: var(--v5-label); letter-spacing: 0.12em; text-transform: uppercase; color: var(--v5-text-2); }

.v5-article .v5-voice { max-width: var(--v5-measure); background: var(--v5-surface-2); border: 1px solid var(--v5-line); padding: var(--v5-s3); }
.v5-article .v5-voice p { font-style: italic; color: var(--v5-text); line-height: 1.6; }
.v5-article .v5-voice footer { margin-top: var(--v5-s2); font-size: var(--v5-meta); color: var(--v5-text-2); }

.v5-article .v5-takeaway { background: var(--v5-surface-2); border: 1px solid var(--v5-line); padding: var(--v5-s3); }
.v5-article .v5-takeaway__kicker { font-family: var(--v5-mono); font-size: 18px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--v5-accent-deep); margin-bottom: var(--v5-s2); }
.v5-article .v5-takeaway ul { display: grid; gap: var(--v5-s1); }
.v5-article .v5-takeaway li { position: relative; padding-left: 1.4em; line-height: 1.5; color: var(--v5-text); }
.v5-article .v5-takeaway li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 0.5em; height: 2px; background: var(--v5-ink); }

/* ============================================================================
   D — BENTO GRIDS (max 2 columns)
   ========================================================================== */
.v5-article .v5-bento { display: grid; grid-template-columns: 1fr 1fr; gap: var(--v5-s3); }
.v5-article .v5-bento--asym { grid-template-columns: 1.6fr 1fr; }
.v5-article .v5-bento__cell { border: 1px solid var(--v5-line); background: var(--v5-surface); padding: var(--v5-s3); }
.v5-article .v5-bento__cell h4 { font-family: var(--v5-font); font-size: 17px; font-weight: 650; color: var(--v5-ink); margin-bottom: var(--v5-s1); }
.v5-article .v5-bento__cell p { font-size: var(--v5-meta); line-height: 1.55; color: var(--v5-text); }
.v5-article .v5-bento__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.14em; text-transform: uppercase; color: var(--v5-text); margin-bottom: var(--v5-s1); }
.v5-article .v5-bento__stat { font-family: var(--v5-font); font-size: clamp(38px, 5vw, 54px); font-weight: 300; line-height: 1; letter-spacing: -0.03em; color: var(--v5-ink); }

.v5-article .v5-bento__cell--ink { background: var(--v5-ink); border-color: var(--v5-ink); }
.v5-article .v5-bento__cell--ink h4 { color: var(--v5-surface); }
.v5-article .v5-bento__cell--ink p { color: var(--v5-muted); }
.v5-article .v5-bento__cell--ink .v5-bento__kicker { color: oklch(76% 0.11 32); }

.v5-article .v5-bento-split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--v5-s3); }
.v5-article .v5-bento-split__side { display: grid; gap: var(--v5-s3); }

.v5-article .v5-metricpair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--v5-s3); }
.v5-article .v5-metricpair__cell { border: 1px solid var(--v5-line); padding: var(--v5-s3); }
.v5-article .v5-metricpair__n { font-family: var(--v5-mono); font-size: clamp(32px, 4vw, 44px); font-weight: 300; letter-spacing: -0.02em; line-height: 1; color: var(--v5-ink); }
.v5-article .v5-metricpair__n b { color: var(--v5-accent); font-weight: 300; }
.v5-article .v5-metricpair__label { margin-top: var(--v5-s2); font-size: var(--v5-meta); color: var(--v5-text-2); line-height: 1.5; }

/* D3 · Stat band (ink) */
/* auto-fit + minmax(0,1fr): columns MATCH the item count (a 3-stat band gets 3 even columns, not 4
   with a dead track) and stay EQUAL width (plain 1fr is minmax(auto,1fr), so a long value like
   "mecanismos" stole width and left the others a sliver). */
.v5-article .v5-statband { background: var(--v5-ink); color: var(--v5-surface); padding: var(--v5-s4); display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--v5-s4) var(--v5-s3); align-items: start; }
/* multi-word stat values ("6 a 12 sem", "~10 a 40%") were 52px and wrapped raggedly; right-size +
   balance the wrap + keep whole words, with break-word only as an overflow backstop. */
.v5-article .v5-statband__num { display: block; font-family: var(--v5-font); font-size: clamp(22px, 2.4vw, 30px); font-weight: 300; line-height: 1.1; letter-spacing: -0.02em; text-wrap: balance; overflow-wrap: break-word; hyphens: none; }
.v5-article .v5-statband__num b { color: var(--v5-accent); font-weight: 300; }
.v5-article .v5-statband > li { min-width: 0; }
.v5-article .v5-statband__label { display: block; margin-top: var(--v5-s1); font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.12em; text-transform: uppercase; color: var(--v5-muted); line-height: 1.4; overflow-wrap: anywhere; }

/* ============================================================================
   E — TABLES & COMPARISON
   ========================================================================== */
.v5-article .v5-table { width: 100%; border-collapse: collapse; font-size: var(--v5-meta); color: var(--v5-text); }
.v5-article .v5-table caption { text-align: left; font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.14em; text-transform: uppercase; color: var(--v5-text-2); padding-bottom: var(--v5-s2); }
.v5-article .v5-table caption { caption-side: top; text-align: left; font-family: var(--v5-font); font-size: 16px; font-weight: 650; color: var(--v5-ink); padding: 0 0 12px; }
.v5-article .v5-table th { font-family: var(--v5-font); font-size: 16px; text-align: left; font-weight: 650; color: var(--v5-ink); border-bottom: 2px solid var(--v5-ink); padding: var(--v5-s2); vertical-align: top; }
.v5-article .v5-table td { border-bottom: 1px solid var(--v5-line); padding: var(--v5-s2); vertical-align: top; line-height: 1.5; }
.v5-article .v5-table tr:last-child td { border-bottom: 1px solid var(--v5-ink); }

/* ---- Audit-fix (2026-06-03): formalize blocks/utilities the content already uses ---- */
/* Callout: bordered note box; pair with a .v5-tone--* class for the fill. */
.v5-article .v5-callout { border: 1px solid var(--v5-line); padding: var(--v5-s3); }
.v5-article .v5-callout > * + * { margin-top: var(--v5-s2); }
.v5-article .v5-callout__kicker { font-family: var(--v5-mono); font-size: 18px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--v5-accent-deep); margin-bottom: var(--v5-s1); }
.v5-article .v5-callout p { font-size: var(--v5-meta); line-height: 1.55; color: var(--v5-text); }
/* Statband item: each stat is one auto-flow column (mirrors `.v5-statband > li`). */
.v5-article .v5-statband__item { min-width: 0; }
/* Bento cell span: a large/wide cell fills the row in the 2-col bento. */
.v5-article .v5-bento__cell--lg, .v5-article .v5-bento__cell--wide { grid-column: 1 / -1; }
/* Wide-table horizontal-scroll wrapper. */
.v5-article .v5-table-scroll { overflow-x: auto; }
/* Refs disclaimer line (CFM note beneath the reference list). */
/* CFM compliance copy — 13px failed the font-readability gate's 15.5px floor for
   long patient text on the 7 posts that carry it (2026-07-27). */
.v5-article .v5-refs__note, .v5-article .v5-refs__cfm { font-size: 15.5px; line-height: 1.6; color: var(--v5-text-2); margin-top: var(--v5-s3); }

.v5-article .v5-mf { display: grid; grid-template-columns: 1fr 1fr; gap: var(--v5-s3); }
.v5-article .v5-mf__card { border: 1px solid var(--v5-line); padding: var(--v5-s3); }
.v5-article .v5-mf__card--myth { background: var(--v5-surface-3); }
.v5-article .v5-mf__card--fact { background: var(--v5-surface); border-color: var(--v5-ink); }
.v5-article .v5-mf__tag { font-family: var(--v5-mono); font-size: 18px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: var(--v5-s1); }
.v5-article .v5-mf__card--myth .v5-mf__tag { color: var(--v5-text-2); }
.v5-article .v5-mf__card--fact .v5-mf__tag { color: var(--v5-accent-deep); }
.v5-article .v5-mf__card p { font-size: var(--v5-meta); line-height: 1.55; }
.v5-article .v5-mf__card--myth p { color: var(--v5-text-2); }

.v5-article .v5-cmp th:first-child, .v5-article .v5-cmp td:first-child { width: 40%; }
.v5-article .v5-cmp .v5-cmp__before { color: var(--v5-text-2); text-decoration: line-through; text-decoration-color: var(--v5-muted); }
.v5-article .v5-cmp .v5-cmp__after { color: var(--v5-ink); font-weight: 600; }

/* ============================================================================
   F — MEDICAL VISUAL AIDS
   ========================================================================== */
.v5-article .v5-redflags { background: var(--v5-ink); color: var(--v5-surface); padding: var(--v5-s4); max-width: var(--v5-measure); }
.v5-article .v5-redflags__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-accent); margin-bottom: var(--v5-s2); }
.v5-article .v5-redflags h4 { font-family: var(--v5-font); font-size: var(--v5-h3); font-weight: 650; margin-bottom: var(--v5-s2); letter-spacing: -0.01em; color: var(--v5-surface); }
.v5-article .v5-redflags ul { display: grid; gap: var(--v5-s2); }
.v5-article .v5-redflags li { position: relative; padding-left: 1.6em; line-height: 1.5; color: var(--v5-surface); }
.v5-article .v5-redflags li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 0.5em; height: 2px; background: var(--v5-accent); }

.v5-article .v5-ladder { max-width: var(--v5-measure); counter-reset: rung; border-top: 1px solid var(--v5-line); }
.v5-article .v5-ladder__step { display: grid; grid-template-columns: auto 1fr; gap: var(--v5-s3); padding: var(--v5-s3) 0; border-bottom: 1px solid var(--v5-line); counter-increment: rung; }
.v5-article .v5-ladder__n { font-family: var(--v5-mono); font-size: 13px; color: var(--v5-accent); }
.v5-article .v5-ladder__n::before { content: counter(rung, decimal-leading-zero); }
.v5-article .v5-ladder h4 { font-family: var(--v5-font); font-size: 17px; font-weight: 650; color: var(--v5-ink); margin-bottom: 0.25em; }
.v5-article .v5-ladder p { font-size: var(--v5-meta); color: var(--v5-text-2); line-height: 1.5; }

.v5-article .v5-timeline { max-width: var(--v5-measure); border-top: 1px solid var(--v5-line); }
.v5-article .v5-timeline__row { display: grid; grid-template-columns: 12ch 1fr; gap: var(--v5-s3); padding: var(--v5-s3) 0; border-bottom: 1px solid var(--v5-line); }
.v5-article .v5-timeline__when { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.08em; text-transform: uppercase; color: var(--v5-accent); padding-top: 0.2em; }
.v5-article .v5-timeline h4 { font-family: var(--v5-font); font-size: 16px; font-weight: 650; color: var(--v5-ink); margin-bottom: 0.2em; }
.v5-article .v5-timeline p { font-size: var(--v5-meta); color: var(--v5-text-2); line-height: 1.5; }

.v5-article .v5-study { max-width: var(--v5-measure); border: 1px solid var(--v5-line); padding: var(--v5-s3); }
.v5-article .v5-study__head { display: flex; justify-content: space-between; gap: var(--v5-s2); align-items: baseline; margin-bottom: var(--v5-s2); }
.v5-article .v5-study__type { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.14em; text-transform: uppercase; color: var(--v5-text-2); }
.v5-article .v5-study__grade { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.08em; color: var(--v5-accent); }
.v5-article .v5-study h4 { font-family: var(--v5-font); font-size: 17px; font-weight: 650; color: var(--v5-ink); line-height: 1.3; margin-bottom: var(--v5-s1); }
.v5-article .v5-study p { font-size: var(--v5-meta); color: var(--v5-text); line-height: 1.55; }
.v5-article .v5-study__bar { height: 4px; background: var(--v5-surface-3); margin: var(--v5-s2) 0; }
.v5-article .v5-study__bar > i { display: block; height: 100%; width: 0; background: var(--v5-accent); transition: width 0.9s var(--v5-ease); }
.v5-article .v5-study a { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.08em; text-transform: uppercase; color: var(--v5-accent); text-decoration: none; }
.v5-article .v5-study a:hover { text-decoration: underline; }

/* ============================================================================
   G — IMAGES & GALLERIES
   ========================================================================== */
.v5-article .v5-figure { margin: 0; }
.v5-article .v5-figure__frame { border: 1px solid var(--v5-line); background: var(--v5-surface-2); }
.v5-article .v5-figure figcaption { margin-top: var(--v5-s2); font-family: var(--v5-mono); font-size: var(--v5-cap); letter-spacing: 0.06em; color: var(--v5-text-2); line-height: 1.5; }
.v5-article .v5-figure figcaption b { color: var(--v5-ink); font-weight: 600; }

.v5-article .v5-imgtext { display: grid; grid-template-columns: 1fr 1fr; gap: var(--v5-s4); align-items: center; }
.v5-article .v5-imgtext__media { border: 1px solid var(--v5-line); background: var(--v5-surface-2); }
.v5-article .v5-imgtext h4 { font-family: var(--v5-font); font-size: var(--v5-h3); font-weight: 650; color: var(--v5-ink); margin-bottom: var(--v5-s2); letter-spacing: -0.01em; }
.v5-article .v5-imgtext p { font-size: var(--v5-meta); line-height: 1.6; color: var(--v5-text); }

.v5-article .v5-diagram { margin: var(--v5-s4) 0; border: 1px solid var(--v5-line); background: var(--v5-surface-2); padding: var(--v5-s4); }
.v5-article .v5-diagram figcaption { margin-top: var(--v5-s2); font-family: var(--v5-mono); font-size: var(--v5-cap); color: var(--v5-text-2); }

/* Wireframe photo tile — swap inner .v5-ph__wire for <img> in production */
.v5-article .v5-ph { position: relative; background: var(--v5-surface-3); border: 1px solid var(--v5-line); overflow: hidden; aspect-ratio: 4 / 3; }
.v5-article .v5-ph img { width: 100%; height: 100%; object-fit: cover; }
.v5-article .v5-ph__wire { position: absolute; inset: 0; display: grid; place-items: center; background-image: repeating-linear-gradient(45deg, transparent 0 11px, oklch(86.5% 0.005 95 / 0.55) 11px 12px); }
.v5-article .v5-ph__wire span { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.14em; text-transform: uppercase; color: var(--v5-text-2); background: var(--v5-surface); padding: 0.35em 0.75em; border: 1px solid var(--v5-line); }

.v5-article .v5-figbleed { margin: 0; }
.v5-article .v5-figbleed .v5-ph { aspect-ratio: 21 / 9; }
.v5-article .v5-figbleed figcaption { margin-top: var(--v5-s2); font-family: var(--v5-mono); font-size: var(--v5-cap); letter-spacing: 0.05em; color: var(--v5-text-2); }
.v5-article .v5-figbleed figcaption b { color: var(--v5-ink); font-weight: 600; }

.v5-article .v5-gallery__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-text-2); margin-bottom: var(--v5-s3); padding-bottom: var(--v5-s2); border-bottom: 2px solid var(--v5-ink); }
.v5-article .v5-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--v5-s3); }
.v5-article .v5-gallery figcaption { margin-top: var(--v5-s2); font-family: var(--v5-mono); font-size: var(--v5-cap); letter-spacing: 0.04em; color: var(--v5-text-2); line-height: 1.45; }
.v5-article .v5-gallery figcaption b { display: block; color: var(--v5-ink); font-weight: 600; margin-bottom: 0.15em; }

/* V5-PTGALLERY: reusable "Reabilitação e movimento" gallery. post_content carries only the
   <aside class="v5-ptgallery"> marker (image-free, wp_kses-safe); the theme injects the figures. */
.v5-article .v5-ptgallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--v5-s3); align-items: start; margin: var(--v5-s5) 0; }
.v5-article .v5-ptgallery__head { grid-column: 1 / -1; font-family: var(--v5-mono); font-size: 15px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-text-2); margin: 0 0 var(--v5-s2); padding-bottom: var(--v5-s2); border-bottom: 2px solid var(--v5-ink); }
.v5-article .v5-ptgallery__item { margin: 0; }
.v5-article .v5-ptgallery__item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid var(--v5-line); }
.v5-article .v5-ptgallery__ph { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; border: 1px solid var(--v5-line); background: var(--v5-surface-2); }
.v5-article .v5-ptgallery__ph::before { content: attr(data-k); font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.12em; text-transform: uppercase; color: var(--v5-text-2); }
.v5-article .v5-ptgallery figcaption { margin-top: var(--v5-s2); font-family: var(--v5-mono); font-size: var(--v5-cap); letter-spacing: 0.04em; color: var(--v5-text-2); line-height: 1.45; }
.v5-article .v5-ptgallery figcaption b { display: block; color: var(--v5-ink); font-weight: 600; margin-bottom: 0.15em; }

.v5-article .v5-duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--v5-s3); }
.v5-article .v5-duo figcaption { margin-top: var(--v5-s2); font-family: var(--v5-mono); font-size: var(--v5-cap); letter-spacing: 0.04em; color: var(--v5-text-2); line-height: 1.45; }
.v5-article .v5-duo figcaption b { display: block; color: var(--v5-ink); font-weight: 600; margin-bottom: 0.15em; }

/* ============================================================================
   H — FAQ, TRUST & CONVERSION
   ========================================================================== */
.v5-article .v5-faq { max-width: var(--v5-measure); counter-reset: q; border-top: 2px solid var(--v5-ink); }
.v5-article .v5-faq__item { border-bottom: 1px solid var(--v5-line); counter-increment: q; }
.v5-article .v5-faq__q { width: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: var(--v5-s3); padding: var(--v5-s3) 0; background: none; border: 0; cursor: pointer; text-align: left; font-family: inherit; list-style: none; }
.v5-article .v5-faq__q::-webkit-details-marker { display: none; }
.v5-article .v5-faq__q::before { content: counter(q, decimal-leading-zero); font-family: var(--v5-mono); font-size: 13px; color: var(--v5-accent); }
.v5-article .v5-faq__q h4 { font-family: var(--v5-font); font-size: 17px; font-weight: 600; color: var(--v5-ink); line-height: 1.35; }
.v5-article .v5-faq__toggle { position: relative; width: 1.1em; height: 1.1em; }
.v5-article .v5-faq__toggle::before, .v5-article .v5-faq__toggle::after { content: ""; position: absolute; background: var(--v5-ink); transition: transform 0.3s var(--v5-ease); }
.v5-article .v5-faq__toggle::before { left: 0; top: 50%; width: 100%; height: 2px; transform: translateY(-50%); }
.v5-article .v5-faq__toggle::after { left: 50%; top: 0; width: 2px; height: 100%; transform: translateX(-50%); }
.v5-article .v5-faq__item[open] .v5-faq__toggle::after { transform: translateX(-50%) rotate(90deg); opacity: 0; }
.v5-article .v5-faq__a p { font-size: var(--v5-meta); line-height: 1.65; color: var(--v5-text); padding-bottom: var(--v5-s3); max-width: none; }

.v5-article .v5-author { max-width: var(--v5-measure); border: 1px solid var(--v5-line); background: var(--v5-surface-2); border-top: 2px solid var(--v5-accent); display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--v5-s4); padding: var(--v5-s4); }
.v5-article .v5-author--canonical { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(240px, 1fr); gap: var(--v5-s4); max-width: var(--v5-measure); padding: var(--v5-s4); }
.v5-article .v5-author__identity, .v5-article .v5-author__authority { min-width: 0; }
.v5-article .v5-author--compact .v5-author__identity { grid-column: 1 / -1; }
.v5-article .v5-author__kicker, .v5-article .v5-author__review-label { font-family: var(--v5-mono); font-size: max(12px, var(--v5-label)); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-text-2); margin-bottom: var(--v5-s2); }
.v5-article .v5-author__name { font-family: var(--v5-font); font-size: var(--v5-h3); font-weight: 700; color: var(--v5-ink); letter-spacing: -0.01em; }
.v5-article .v5-author__cred { display: flex; flex-wrap: wrap; gap: 4px 8px; font-family: var(--v5-mono); font-size: max(14px, var(--v5-meta)); color: var(--v5-accent); margin: 0.25em 0 var(--v5-s2); }
.v5-article .v5-author__registration { overflow-wrap: anywhere; }
.v5-article .v5-author__bio { font-size: max(16px, var(--v5-meta)); line-height: 1.6; color: var(--v5-text); }
.v5-article .v5-author__highlights { display: grid; gap: var(--v5-s2); list-style: none; margin: 0; padding: 0; }
.v5-article.v5-doc .v5-author__highlights > li { list-style: none; font-size: max(16px, var(--v5-meta)); line-height: 1.5; color: var(--v5-text); }
.v5-article .v5-author__review-footer { border-top: 1px solid var(--v5-line); display: grid; gap: 6px; grid-column: 1 / -1; padding-top: var(--v5-s3); font-size: max(16px, var(--v5-meta)); line-height: 1.5; color: var(--v5-text-2); }
.v5-article .v5-author__review-label { color: var(--v5-accent); margin-bottom: 0; }
.v5-article .v5-author__review-footer a { color: var(--v5-ink); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.v5-article .v5-author__links { background: transparent; border: 0; box-shadow: none; display: flex; flex-wrap: wrap; gap: var(--v5-s1); inset: auto; margin: var(--v5-s3) 0 0; padding: 0; position: static; width: auto; }
.v5-article .v5-author__link { border: 1px solid var(--v5-line); color: var(--v5-ink); display: inline-flex; font-family: var(--v5-mono); font-size: max(14px, var(--v5-meta)); padding: 7px 9px; text-decoration: none; }
.v5-article .v5-author__link:hover { border-color: var(--v5-accent); color: var(--v5-accent); }
.v5-article .v5-author__head { display: flex; align-items: center; gap: var(--v5-s3); margin-bottom: var(--v5-s3); }
.v5-article .v5-author__photo { flex: 0 0 auto; width: 66px; height: 66px; border: 1px solid var(--v5-line); overflow: hidden; display: grid; place-items: center; background: var(--v5-surface-2); }
.v5-article .v5-author__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v5-article .v5-author__initials { font-family: var(--v5-font); font-size: 20px; font-weight: 700; color: var(--v5-ink); }
.v5-article .v5-author__idtext { min-width: 0; }
.v5-article .v5-author__idtext .v5-author__cred { margin-bottom: 0; }
.v5-article .v5-author__socials { display: flex; flex-wrap: wrap; gap: var(--v5-s1); margin-top: var(--v5-s3); }
.v5-article .v5-author__social { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--v5-line); transition: border-color 0.2s var(--v5-ease); }
.v5-article .v5-author__social svg { width: 15px; height: 15px; display: block; fill: var(--v5-text-2); transition: fill 0.2s var(--v5-ease); }
.v5-article .v5-author__social:hover { border-color: var(--v5-accent); }
.v5-article .v5-author__social:hover svg { fill: var(--v5-accent); }
.v5-article .v5-author__social:focus-visible { outline: 2px solid var(--v5-accent); outline-offset: 2px; }
.v5-article .v5-author--endmatter .v5-author__review .v5-author__kicker { color: var(--v5-accent); }
.v5-article .v5-author--endmatter .v5-author__review p { color: var(--v5-text-2); font-size: max(16px, var(--v5-meta)); line-height: 1.6; }
.v5-article .v5-author--endmatter .v5-author__review a { color: var(--v5-ink); font-weight: 700; text-underline-offset: 0.18em; }

/* Credential Plate — selected endmatter author-card skin. */
.v5-article .v5-author--endmatter.v5-author[data-hong-authority-surface="endmatter"] {
  --v5-author-plate-navy: #102a3a;
  --v5-author-plate-bone: #f6f4ee;
  --v5-author-plate-credential: #e5d6b9;
  --v5-author-plate-brass: #a98245;
  background: var(--v5-author-plate-navy);
  border: 1px solid var(--v5-author-plate-navy);
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  overflow: hidden;
  padding: 0;
}
.v5-article .v5-author--endmatter .v5-author__identity {
  background: var(--v5-author-plate-navy);
  color: #fff;
  padding: 30px;
}
.v5-article .v5-author--endmatter .v5-author__head { align-items: center; }
.v5-article .v5-author--endmatter .v5-author__photo {
  background: var(--v5-author-plate-bone);
  border: 1px solid var(--v5-author-plate-brass);
  border-radius: 0;
  box-sizing: border-box;
  height: 102px;
  padding: 4px;
  width: 102px;
}
.v5-article .v5-author--endmatter .v5-author__photo img { border-radius: 0; }
.v5-article .v5-author--endmatter .v5-author__initials { color: var(--v5-author-plate-navy); }
.v5-article .v5-author--endmatter .v5-author__identity .v5-author__kicker { color: var(--v5-author-plate-credential); font-size: 15px; }
.v5-article .v5-author--endmatter .v5-author__name {
  color: #fff;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.08;
}
.v5-article .v5-author--endmatter .v5-author__cred {
  color: var(--v5-author-plate-credential);
  letter-spacing: 0.04em;
}
.v5-article .v5-author--endmatter .v5-author__bio { color: #fff; }
.v5-article .v5-author--endmatter .v5-author__socials { margin-top: var(--v5-s3); }
.v5-article .v5-author--endmatter .v5-author__social {
  border-color: var(--v5-author-plate-credential);
  border-radius: 0;
  height: 38px;
  width: 38px;
}
.v5-article .v5-author--endmatter .v5-author__social svg { fill: var(--v5-author-plate-bone); }
.v5-article .v5-author--endmatter .v5-author__social:hover {
  background: var(--v5-author-plate-bone);
  border-color: var(--v5-author-plate-bone);
}
.v5-article .v5-author--endmatter .v5-author__social:hover svg { fill: var(--v5-author-plate-navy); }
.v5-article .v5-author--endmatter .v5-author__social:focus-visible {
  outline: 2px solid var(--v5-accent);
  outline-offset: 2px;
}
.v5-article .v5-author--endmatter .v5-author__review {
  align-items: start;
  background: var(--v5-author-plate-bone);
  border-top: 4px solid var(--v5-author-plate-brass);
  color: var(--v5-author-plate-navy);
  display: grid;
  gap: 22px;
  grid-template-columns: 210px 1fr;
  padding: 22px 30px 24px;
}
.v5-article .v5-author--endmatter .v5-author__review .v5-author__kicker {
  color: var(--v5-accent-deep);
  margin: 3px 0 0;
}
.v5-article .v5-author--endmatter .v5-author__review p { color: var(--v5-author-plate-navy); }
.v5-article .v5-author--endmatter .v5-author__review a {
  color: var(--v5-author-plate-navy);
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
@media (max-width: 860px) {
  .v5-article .v5-author--endmatter .v5-author__identity { padding: 22px; }
  .v5-article .v5-author--endmatter .v5-author__head {
    align-items: flex-start;
    flex-direction: row;
    gap: 16px;
  }
  .v5-article .v5-author--endmatter .v5-author__photo { height: 82px; width: 82px; }
  .v5-article .v5-author--endmatter .v5-author__name { font-size: 24px; }
  .v5-article .v5-author--endmatter .v5-author__socials {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, 44px);
  }
  .v5-article .v5-author--endmatter .v5-author__social { height: 44px; width: 44px; }
  .v5-article .v5-author--endmatter .v5-author__review {
    gap: 10px;
    grid-template-columns: 1fr;
    padding: 22px;
  }
  .v5-article .v5-author--endmatter .v5-author__review .v5-author__kicker { margin-top: 0; }
}
@media (max-width: 360px) {
  .v5-article .v5-author--endmatter .v5-author__head { flex-direction: column; }
}
@media print {
  .v5-article .v5-author--endmatter.v5-author[data-hong-authority-surface="endmatter"] {
    background: #fff;
    border-color: #000;
  }
  .v5-article .v5-author--endmatter .v5-author__identity,
  .v5-article .v5-author--endmatter .v5-author__review {
    background: #fff;
    color: #000;
  }
  .v5-article .v5-author--endmatter .v5-author__identity .v5-author__kicker,
  .v5-article .v5-author--endmatter .v5-author__name,
  .v5-article .v5-author--endmatter .v5-author__cred,
  .v5-article .v5-author--endmatter .v5-author__bio,
  .v5-article .v5-author--endmatter .v5-author__initials,
  .v5-article .v5-author--endmatter .v5-author__review .v5-author__kicker,
  .v5-article .v5-author--endmatter .v5-author__review p,
  .v5-article .v5-author--endmatter .v5-author__review a { color: #000; }
  .v5-article .v5-author--endmatter .v5-author__review a { transition: none; }
  .v5-article .v5-author--endmatter .v5-author__review { border-top: 1px solid #000; }
  .v5-article .v5-author--endmatter .v5-author__social,
  .v5-article .v5-author--endmatter .v5-author__social:hover,
  .v5-article .v5-author--endmatter .v5-author__social:focus-visible {
    background: #fff;
    border-color: #000;
    outline: 0;
    transition: none;
  }
  .v5-article .v5-author--endmatter .v5-author__social svg,
  .v5-article .v5-author--endmatter .v5-author__social:hover svg,
  .v5-article .v5-author--endmatter .v5-author__social:focus-visible svg {
    fill: #000;
    transition: none;
  }
}
/* End Credential Plate skin. */

/* The canonical medical CV belongs in the article rail. Keep the full registry-
   backed author/reviewer truth, but collapse the wide end-matter composition to
   the sidebar's single readable column. */
.v5-article .v5-aside > .v5-author--canonical { box-sizing: border-box; grid-column: 1 / -1; grid-template-columns: 1fr; gap: var(--v5-s3); max-width: none; min-width: 0; padding: 20px 18px; width: 100%; }
.v5-article .v5-aside > .v5-author--canonical .v5-author__review-footer { grid-column: auto; }
.v5-article .v5-aside > .v5-author--canonical .v5-author__name { font-size: 21px; line-height: 1.25; }
.v5-article .v5-aside > .v5-author--canonical .v5-author__photo { width: 56px; height: 56px; }

.v5-article .v5-meta-strip { max-width: var(--v5-measure); display: flex; flex-wrap: wrap; gap: var(--v5-s3); padding: var(--v5-s2) 0; border-top: 1px solid var(--v5-line); border-bottom: 1px solid var(--v5-line); font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.06em; text-transform: uppercase; color: var(--v5-text-2); }
.v5-article .v5-meta-strip b { color: var(--v5-ink); font-weight: 600; }
.v5-article .v5-disclaimer { max-width: var(--v5-measure); font-size: var(--v5-meta); line-height: 1.6; color: var(--v5-text-2); padding: var(--v5-s3) 0; }

.v5-article .v5-related { max-width: var(--v5-measure); }
.v5-article .v5-related__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-text-2); margin-bottom: var(--v5-s2); padding-bottom: var(--v5-s2); border-bottom: 2px solid var(--v5-ink); }
.v5-article .v5-related__item { display: grid; grid-template-columns: 16ch 1fr; gap: var(--v5-s3); padding: var(--v5-s3) 0; border-bottom: 1px solid var(--v5-line); text-decoration: none; transition: background 0.25s var(--v5-ease); }
.v5-article .v5-related__item:hover { background: var(--v5-surface-2); }
.v5-article .v5-related__cat { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.08em; text-transform: uppercase; color: var(--v5-accent); padding-top: 0.15em; }
.v5-article .v5-related__title { font-family: var(--v5-font); font-size: 17px; font-weight: 600; color: var(--v5-ink); line-height: 1.35; }

.v5-article .v5-cta { background: var(--v5-cta-bg); color: var(--v5-surface); padding: clamp(36px, 5vw, 88px); display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--v5-s4); align-items: center; border-top: 3px solid var(--v5-accent); }
.v5-article .v5-cta__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-muted); margin-bottom: var(--v5-s2); }
.v5-article .v5-cta h3 { font-family: var(--v5-font); font-size: var(--v5-h2); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; color: var(--v5-surface); text-wrap: balance; }
.v5-article .v5-cta h3 b { color: var(--v5-accent); font-weight: 700; }
.v5-article .v5-cta__actions { display: grid; gap: var(--v5-s2); }
.v5-article .v5-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5em; padding: 0.9em 1.4em; font-family: var(--v5-mono); font-size: var(--v5-meta); letter-spacing: 0.04em; text-decoration: none; border: 1px solid transparent; transition: background 0.25s var(--v5-ease), color 0.25s var(--v5-ease); }
.v5-article .v5-btn--go { background: var(--v5-go); color: oklch(99% 0.01 150); }
.v5-article .v5-btn--go:hover { background: var(--v5-go-2); }
.v5-article .v5-btn--ghost { background: transparent; border-color: var(--v5-muted); color: var(--v5-surface); }
.v5-article .v5-btn--ghost:hover { border-color: var(--v5-surface); }

/* ============================================================================
   MARGIN GUARD — neutralize theme-injected element margins inside components.
   Component spacing comes from gap / padding / explicit margins (all at 0,2,x,
   so they win). These guards stop `.entry-content p/h4/li` margins (0,1,1) from
   bleeding in, independent of enqueue order.
   ========================================================================== */
.v5-article .v5-bento__cell p, .v5-article .v5-ladder p, .v5-article .v5-timeline p,
.v5-article .v5-study p, .v5-article .v5-imgtext p, .v5-article .v5-faq__a p { margin: 0; }
.v5-article .v5-bento__cell h4, .v5-article .v5-ladder h4, .v5-article .v5-timeline h4,
.v5-article .v5-study h4, .v5-article .v5-redflags h4, .v5-article .v5-imgtext h4,
.v5-article .v5-faq__q h4 { margin-top: 0; }
.v5-article .v5-statement li, .v5-article .v5-steps li, .v5-article .v5-ul li,
.v5-article .v5-ol li, .v5-article .v5-takeaway li, .v5-article .v5-check li,
.v5-article .v5-redflags li, .v5-article .v5-cta h3 { margin: 0; }
/* List-style guard: theme `.entry-content ul/ol` (0,1,1) can re-add disc/decimal markers. */
.v5-article .v5-ul, .v5-article .v5-ol, .v5-article .v5-statement, .v5-article .v5-steps,
.v5-article .v5-check ul, .v5-article .v5-takeaway ul, .v5-article .v5-redflags ul,
.v5-article .v5-faq, .v5-article .v5-related { list-style: none; }

/* DOUBLE-BULLET FIX (v2). The theme sets `.hong-swiss-modern .entry-content ul li /
   ol li` markers DIRECTLY on the <li> (specificity 0,2,2), which beat `list-style:none`
   inherited from the <ul> and doubled with the kit's ::before markers on the NAMED
   lists. Kill the native marker (0,3,0, beats the theme) ONLY inside the kit's own
   list-bearing blocks. Plain author <ul>/<ol> keep a single standard marker. Crucially
   this does NOT touch the structural unclassed lists in .v5-refs / .v5-toc / .v5-aside,
   which own their grid/counter layout (an earlier `ol:not([class])` rule did, and broke
   the references grid). */
.v5-article.v5-doc :is(.v5-ul, .v5-ol, .v5-takeaway, .v5-check, .v5-statement, .v5-steps,
  .v5-statband, .v5-redflags, .v5-refs, .v5-toc, .v5-related, .v5-aside, .v5-bento,
  .v5-versus, .v5-mf, .v5-timeline, .v5-ladder, .v5-faq) :where(ul, ol, li) { list-style: none; }

/* On-dark card text. The same theme rule `.hong-swiss-modern .entry-content ul li`
   (0,2,2) beats the kit's `.v5-redflags li` (0,2,1) and turned the dark card's list
   text dark-on-dark. Force the on-dark color at (0,3,0). The kicker keeps its accent. */
.v5-article.v5-doc .v5-redflags :where(li, h4, p, dd, dt, strong, b, em) { color: var(--v5-surface); }

/* ============================================================================
   CARD TONES — on-brand tonal layering for background variety.
   PRODUCT.md sanctions "background tint" for emphasis; red stays accent-only,
   green action-only, no new hues (anti-ref: purple/cyan/gradients). Add a
   v5-tone--* class to any light card (.v5-bento__cell, .v5-pearl, .v5-takeaway,
   .v5-aside__facts, .v5-mf__card, .v5-study, .v5-metricpair__cell, ...).
   Text stays dark; the ink components keep their own dark treatment.
   ========================================================================== */
.v5-article .v5-tone--paper { background: var(--v5-paper); border-color: oklch(90% 0.018 80); }
.v5-article .v5-tone--pale  { background: var(--v5-surface-3); border-color: var(--v5-line); }
.v5-article .v5-tone--wash  { background: var(--v5-wash); border-color: oklch(88% 0.05 28); }
.v5-article .v5-tone--slate { background: var(--v5-slate); border-color: oklch(88% 0.03 245); }
.v5-article .v5-tone--sage  { background: var(--v5-sage); border-color: oklch(87% 0.03 160); }

/* ============================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 860px) {
  .v5-article .v5-statband { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: 1fr 1fr; gap: var(--v5-s4); }
  .v5-article .v5-gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .v5-article .v5-bento, .v5-article .v5-bento--asym, .v5-article .v5-mf, .v5-article .v5-imgtext, .v5-article .v5-author, .v5-article .v5-cta,
  .v5-article .v5-bento-split, .v5-article .v5-metricpair, .v5-article .v5-duo { grid-template-columns: 1fr; }
  .v5-article .v5-author__review-footer { grid-column: auto; }
  .v5-article .v5-author__link, .v5-article .v5-author__review-footer > a, .v5-article .v5-author--endmatter .v5-author__review a { align-items: center; box-sizing: border-box; display: inline-flex; min-height: 44px; min-width: 44px; }
  .v5-article .v5-author--endmatter .v5-author__social { box-sizing: border-box; height: 44px; width: 44px; }
  /* Author head stacks on phones so the name gets full width (no hard wrap beside the photo). */
  .v5-article .v5-author__head { flex-direction: column; align-items: flex-start; gap: var(--v5-s2); }
  .v5-article .v5-statband { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: 1fr; padding: var(--v5-s3); }
  .v5-article .v5-gallery { grid-template-columns: 1fr 1fr; }
  .v5-article .v5-ptgallery { grid-template-columns: 1fr; }
  .v5-article .v5-figbleed .v5-ph { aspect-ratio: 16 / 9; }
  .v5-article .v5-deflist__row, .v5-article .v5-timeline__row, .v5-article .v5-related__item { grid-template-columns: 1fr; gap: var(--v5-s1); }
  .v5-article .v5-spec__row { grid-template-columns: 1fr; gap: 4px; }
  .v5-article .v5-lede::first-letter { font-size: 3.4em; }
  .v5-article .v5-table { table-layout: fixed; }
  .v5-article .v5-table th, .v5-article .v5-table td { padding: var(--v5-s1); overflow-wrap: break-word; hyphens: auto; }
  /* Wide tables (auto-labeled by v5-blocks.js) stack into labeled cards on phones,
     so there is no horizontal swiping and every value keeps its column label. */
  .v5-article .v5-table.v5-stacked { display: block; overflow-x: visible; border: 0; }
  .v5-article .v5-table.v5-stacked caption { display: block; width: auto; margin-bottom: var(--v5-s2); white-space: normal; }
  .v5-article .v5-table.v5-stacked thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
  .v5-article .v5-table.v5-stacked tbody, .v5-article .v5-table.v5-stacked tr, .v5-article .v5-table.v5-stacked td { display: block; width: auto; white-space: normal; }
  .v5-article .v5-table.v5-stacked tr { border: 1px solid var(--v5-line); padding: var(--v5-s2) var(--v5-s3); margin-bottom: var(--v5-s2); background: var(--v5-surface); }
  .v5-article .v5-table.v5-stacked td { padding: 7px 0; border: 0; border-bottom: 1px solid var(--v5-line); overflow-wrap: anywhere; }
  .v5-article .v5-table.v5-stacked td:last-child { border-bottom: 0; padding-bottom: 0; }
  .v5-article .v5-table.v5-stacked td::before { content: attr(data-label); display: block; margin-bottom: 2px; font-family: var(--v5-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--v5-text-2); line-height: 1.4; }
  .v5-article .v5-table.v5-stacked td:first-child { font-weight: 650; color: var(--v5-ink); }
  .v5-article .v5-biblio__more { gap: var(--v5-s2); }
  .v5-article .v5-biblio__btn { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .v5-article * { transition: none !important; animation: none !important; }
}


/* ============================================================================
   V5-BIBLIO — card grid linking our own peer-reviewed summaries (/biblioteca).
   Internal links = real citations + own-content (E-E-A-T). No inline style,
   no img/svg; full borders only (no side-stripe); auto-fit collapses on mobile.
   ========================================================================== */
.v5-article .v5-biblio { max-width: var(--v5-measure); }
.v5-article .v5-biblio__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-text-2); margin-bottom: var(--v5-s3); padding-bottom: var(--v5-s2); border-bottom: 2px solid var(--v5-ink); }
.v5-article .v5-biblio__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: var(--v5-s3); }
/* Muted tonal fills cycle across the cards so each summary reads plainly as its
   own card. Reuses the sanctioned --v5-tone palette (paper / sage / slate / wash)
   via per-card vars that keep fill, border, and divider in one hue. No new hues. */
.v5-article .v5-biblio__card { --biblio-bg: var(--v5-paper); --biblio-edge: oklch(90% 0.018 80); display: flex; flex-direction: column; gap: var(--v5-s2); padding: var(--v5-s3); background: var(--biblio-bg); border: 1px solid var(--biblio-edge); text-decoration: none; transition: border-color 0.25s var(--v5-ease), background 0.25s var(--v5-ease); }
.v5-article .v5-biblio__card:nth-child(4n+2) { --biblio-bg: var(--v5-sage);  --biblio-edge: oklch(87% 0.03 160); }
.v5-article .v5-biblio__card:nth-child(4n+3) { --biblio-bg: var(--v5-slate); --biblio-edge: oklch(88% 0.03 245); }
.v5-article .v5-biblio__card:nth-child(4n+4) { --biblio-bg: var(--v5-wash);  --biblio-edge: oklch(88% 0.05 28); }
.v5-article .v5-biblio__card:hover { border-color: var(--v5-accent); background: color-mix(in oklch, var(--biblio-bg), var(--v5-ink) 5%); }
.v5-article .v5-biblio__cat { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.08em; text-transform: uppercase; color: var(--v5-accent); }
.v5-article .v5-biblio__title { font-family: var(--v5-font); font-size: 16px; font-weight: 600; line-height: 1.32; color: var(--v5-ink); }
.v5-article .v5-biblio__card:hover .v5-biblio__title { color: var(--v5-accent); }
.v5-article .v5-biblio__meta { font-size: 13px; line-height: 1.45; color: var(--v5-text); margin-top: auto; }
.v5-article .v5-biblio__cta { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.12em; text-transform: uppercase; color: var(--v5-ink); padding-top: var(--v5-s2); border-top: 1px solid var(--biblio-edge, var(--v5-line)); }
.v5-article .v5-biblio__note { font-size: 16px; line-height: 1.5; color: var(--v5-text-2); margin-top: var(--v5-s3); }
.v5-article .v5-biblio__note a { color: var(--v5-accent); }

/* v5-biblio__more — the curated-library footer is a real differentiator (plain-language
   summaries of peer-reviewed studies, physician-reviewed), so hong_v5_biblio_button()
   promotes its inline "Ver a biblioteca científica completa" link into a confident pill
   button beside the microcopy. Ink fill (the biblio block's structural colour, matching
   the kicker rule) → accent red on hover, kept distinct from the green booking CTA and
   the red warning blocks. Label is 16px to clear the button font floor. */
.v5-article .v5-biblio__more { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--v5-s2) var(--v5-s3); margin-top: var(--v5-s3); padding-top: var(--v5-s3); border-top: 1px solid var(--v5-line); }
.v5-article .v5-biblio__more .v5-biblio__note { flex: 1 1 22ch; min-width: 0; margin: 0; }
.v5-article .v5-biblio__more a.v5-biblio__btn { display: inline-flex; align-items: center; gap: 0.55em; flex: none; padding: 0.78em 1.3em; background: var(--v5-ink); color: oklch(98% 0.01 95); font-family: var(--v5-font); font-size: 16px; font-weight: 600; line-height: 1.2; letter-spacing: 0.005em; text-decoration: none; border: 1px solid var(--v5-ink); border-radius: 999px; box-shadow: 0 1px 2px oklch(20% 0.02 95 / 0.08); transition: background 0.2s var(--v5-ease), border-color 0.2s var(--v5-ease), transform 0.18s var(--v5-ease), box-shadow 0.2s var(--v5-ease); }
.v5-article .v5-biblio__more a.v5-biblio__btn:hover { background: var(--v5-accent); border-color: var(--v5-accent); color: oklch(99% 0.01 95); transform: translateY(-1px); box-shadow: 0 10px 22px -12px oklch(54% 0.205 28 / 0.6); }
.v5-article .v5-biblio__more a.v5-biblio__btn:focus-visible { outline: 2px solid var(--v5-accent); outline-offset: 2px; }
.v5-article .v5-biblio__ico { width: 1.15em; height: 1.15em; flex: none; }
.v5-article .v5-biblio__arrow { font-size: 1.05em; line-height: 1; transition: transform 0.18s var(--v5-ease); }
.v5-article .v5-biblio__btn:hover .v5-biblio__arrow { transform: translateX(3px); }


/* ============================================================================
   V5-YTEMBED — lazy YouTube facade. The ONLY thing in post_content is:
     <a class="v5-ytembed" href="https://www.youtube.com/watch?v=ID">Assista: …</a>
   (the importer bans <iframe>/<img>; only class + href survive wp_kses). The kit JS
   (v5-blocks.js) replaces that link with a click-to-load poster -> iframe, so NOTHING
   loads from YouTube until the visitor clicks (protects LCP/CWV). With JS off, the
   styled link below still works (opens the video on YouTube). Max 1 per article.
   ========================================================================== */
.v5-article a.v5-ytembed { display: flex; align-items: center; gap: var(--v5-s2); max-width: var(--v5-measure); margin: var(--v5-s5) 0; padding: var(--v5-s3); border: 1px solid var(--v5-line); background: var(--v5-surface); color: var(--v5-ink); font-family: var(--v5-font); font-weight: 600; font-size: 16px; line-height: 1.4; text-decoration: none; transition: border-color 0.25s var(--v5-ease), background 0.25s var(--v5-ease); }
.v5-article a.v5-ytembed::before { content: "\25B6"; flex: 0 0 auto; color: var(--v5-accent); font-size: 13px; }
.v5-article a.v5-ytembed:hover { border-color: var(--v5-accent); background: var(--v5-surface-2); }
/* Centered + prominent so it reads as a real video, not a small left-shifted card.
   max-width was 88ch with margin 0 -> on wide screens it capped at ~790px and
   hugged the left while headings spanned the full column. Now centered, larger,
   square corners (no rounding), with a YouTube-red play button always visible. */
.v5-article .v5-ytfacade { max-width: min(100%, 880px); margin: var(--v5-s5) auto; }
.v5-article .v5-ytfacade__btn { position: relative; display: block; width: 100%; max-width: none; padding: 0; border: 0; border-radius: 0; cursor: pointer; background: #000; aspect-ratio: 16 / 9; overflow: hidden; }
.v5-article .v5-ytfacade__poster { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; opacity: 0.94; transition: opacity 0.25s var(--v5-ease), transform 0.4s var(--v5-ease); }
.v5-article .v5-ytfacade__btn:hover .v5-ytfacade__poster, .v5-article .v5-ytfacade__btn:focus-visible .v5-ytfacade__poster { opacity: 1; transform: scale(1.03); }
.v5-article .v5-ytfacade__btn:focus-visible { outline: 2px solid var(--v5-accent); outline-offset: 2px; }
.v5-article .v5-ytfacade__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 84px; height: 58px; border-radius: 16px; background: #cc0000; box-shadow: 0 6px 22px rgba(0, 0, 0, 0.4); transition: background 0.25s var(--v5-ease), transform 0.25s var(--v5-ease); }
.v5-article .v5-ytfacade__btn:hover .v5-ytfacade__play { background: #e60000; transform: translate(-50%, -50%) scale(1.06); }
.v5-article .v5-ytfacade__play::after { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-38%, -50%); border-style: solid; border-width: 14px 0 14px 23px; border-color: transparent transparent transparent #fff; }
.v5-article .v5-ytfacade__frame { position: relative; aspect-ratio: 16 / 9; background: #000; }
.v5-article .v5-ytfacade__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.v5-article .v5-ytfacade__cap { margin-top: var(--v5-s2); font-family: var(--v5-mono); font-size: var(--v5-cap); letter-spacing: 0.04em; color: var(--v5-text-2); line-height: 1.5; }

/* ---- WCAG AA + cascade fixes (2026-06-09) --------------------------------
   Theme rule `.hong-swiss-modern .entry-content a` (0,2,1) outranks the
   (0,2,0) v5 button/link rules, bleeding the theme red onto v5 controls.
   These higher-specificity rules restore the kit colors; the lighter red
   keeps kickers legible (>=4.5:1) on the dark ink panels. */
.v5-article .v5-cta__actions a.v5-btn--go { color: oklch(99% 0.01 150); }
.v5-article .v5-cta__actions a.v5-btn--ghost { color: var(--v5-surface); }
.v5-article .v5-aside__contact li a { color: oklch(93% 0.008 95); }
.v5-article .v5-redflags .v5-redflags__kicker,
.v5-article .v5-aside .v5-aside__contact .v5-aside__kicker,
.v5-article .v5-aside__contact .v5-aside__kicker { color: oklch(70% 0.19 28); }

/* ---- CTA clinic photo panel (2026-06-09) ---------------------------------
   .v5-cta--media is added by hong_v5_cta_media(): the baked CTA's copy and
   actions are wrapped in .v5-cta__body and a real clinic photo fills the
   right panel edge-to-edge ("the clinic space as evidence"). */
.v5-article .v5-cta--media { grid-template-columns: 1.25fr 0.9fr; padding: 0; align-items: stretch; overflow: hidden; }
.v5-article .v5-cta--media .v5-cta__body { padding: clamp(32px, 5vw, 72px); display: grid; grid-template-columns: 1fr; gap: var(--v5-s4); align-content: center; }
.v5-article .v5-cta__media { position: relative; margin: 0; min-height: 300px; }
.v5-article .v5-cta__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v5-article .v5-cta__media figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px clamp(16px, 2vw, 24px); font-family: var(--v5-mono); font-size: var(--v5-cap); letter-spacing: 0.08em; text-transform: uppercase; color: oklch(96% 0.005 95); background: linear-gradient(to top, oklch(19% 0.004 95 / 0.92), oklch(19% 0.004 95 / 0)); }
@media (max-width: 760px) {
  .v5-article .v5-cta--media { grid-template-columns: 1fr; }
  .v5-article .v5-cta__media { min-height: 0; aspect-ratio: 3 / 2; }
}

/* ---- Canvas width (2026-06-10) -------------------------------------------
   Genesis caps .site-inner at 1180px, which truncated the kit's designed
   1320px article canvas. body.v5-post is added by hong_v5_body_class(). */
body.v5-post .site-inner { max-width: 1400px; }

/* ---- Medication cards (2026-06-09) ---------------------------------------
   Static v5 successor of the legacy hong-medication-atlas-v2 3-column grid
   on /guia-remedios-para-dor/: mono group labels replace the JS filters and
   the whole card links to the drug guide. Tone fills cycle like .v5-biblio. */
.v5-article .v5-medcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--v5-s2); }
.v5-article .v5-medcards__group { grid-column: 1 / -1; margin-top: var(--v5-s4); padding-bottom: 10px; border-bottom: 2px solid var(--v5-ink); font-family: var(--v5-font); font-size: clamp(20px, 1.8vw, 24px); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--v5-ink); }
.v5-article .v5-medcards__group:first-child { margin-top: 0; }
.v5-article .v5-medcard { --med-bg: var(--v5-paper); --med-edge: oklch(90% 0.018 80); position: relative; display: flex; flex-direction: column; gap: 7px; padding: var(--v5-s3); background: var(--med-bg); border: 1px solid var(--med-edge); border-radius: 6px; box-shadow: 0 1px 2px oklch(20% 0.02 95 / 0.05); text-decoration: none; cursor: pointer; transition: border-color 0.22s var(--v5-ease), background 0.22s var(--v5-ease), box-shadow 0.22s var(--v5-ease), transform 0.18s var(--v5-ease); }
.v5-article .v5-medcard:nth-child(3n) { --med-bg: var(--v5-sage); --med-edge: oklch(87% 0.03 160); }
.v5-article .v5-medcard:nth-child(4n+1) { --med-bg: var(--v5-slate); --med-edge: oklch(88% 0.03 245); }
.v5-article .v5-medcard:hover, .v5-article .v5-medcard:focus-visible {
  border-color: var(--v5-accent);
  background: color-mix(in oklch, var(--med-bg), var(--v5-ink) 5%);
  box-shadow: 0 14px 26px -16px oklch(20% 0.02 95 / 0.38);
  transform: translateY(-3px);
}
.v5-article .v5-medcard:active { transform: translateY(-1px); box-shadow: 0 6px 14px -10px oklch(20% 0.02 95 / 0.32); }
.v5-article .v5-medcard:focus-visible { outline: 2px solid var(--v5-accent); outline-offset: 2px; }
.v5-article .v5-medcard__class { align-self: flex-start; padding: 3px 9px; border-radius: 999px; background: oklch(20% 0.004 95 / 0.06); font-family: var(--v5-mono); font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--v5-accent-deep); }
.v5-article .v5-medcard__name { font-family: var(--v5-font); font-size: 19px; font-weight: 700; line-height: 1.15; color: var(--v5-ink); }
.v5-article .v5-medcard:hover .v5-medcard__name, .v5-article .v5-medcard:focus-visible .v5-medcard__name { text-decoration: underline; text-underline-offset: 3px; }
.v5-article .v5-medcard__sum { font-size: 16px; line-height: 1.5; color: var(--v5-text); }
.v5-article .v5-medcard__when { margin-top: auto; padding-top: 8px; border-top: 1px solid var(--med-edge); font-size: 15.5px; line-height: 1.5; color: var(--v5-text-2); }
.v5-article .v5-medcard::after {
  content: "Ver guia \2192";
  display: inline-flex;
  align-self: flex-start;
  margin-top: 2px;
  padding: 7px 13px;
  border-radius: 999px;
  background: var(--v5-ink);
  color: oklch(98% 0.01 95);
  font-family: var(--v5-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background 0.22s var(--v5-ease), transform 0.18s var(--v5-ease);
}
.v5-article .v5-medcard:hover::after, .v5-article .v5-medcard:focus-visible::after { background: var(--v5-accent); transform: translateX(2px); }
@media (max-width: 980px) {
  .v5-article .v5-medcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .v5-article .v5-medcards { grid-template-columns: 1fr; }
}

/* ============================================================
   Consultório-aberto components (2026-06-10): decision fork,
   early CTA band, symptom checklist, body map, figure img.
   ============================================================ */

/* Decision fork: "is it X or Y" differential block. CSS-only.
   div.v5-decision > .v5-decision__q + .v5-decision__branches > .v5-decision__branch ×2-3 */
.v5-article .v5-decision { margin: 40px 0; border: 1px solid var(--v5-line); }
.v5-article .v5-decision__q { padding: 14px 18px; font-family: var(--v5-mono); font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--v5-ink); border-bottom: 1px solid var(--v5-line); background: var(--v5-surface-2); }
.v5-article .v5-decision__branches { display: grid; grid-template-columns: 1fr 1fr; }
.v5-article .v5-decision__branches--3 { grid-template-columns: 1fr 1fr 1fr; }
.v5-article .v5-decision__branch { padding: 18px; min-width: 0; }
.v5-article .v5-decision__branch + .v5-decision__branch { border-left: 1px solid var(--v5-line); }
.v5-article .v5-decision__branch:nth-child(odd) { background: var(--v5-paper); }
.v5-article .v5-decision__branch:nth-child(even) { background: var(--v5-slate); }
.v5-article .v5-decision__branch h4 { margin: 0 0 8px; font-size: 16px; line-height: 1.35; }
.v5-article .v5-decision__branch p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--v5-text-2); }
.v5-article .v5-decision__branch a { color: var(--v5-ink); text-decoration: underline; }
@media (max-width: 640px) {
  .v5-article .v5-decision__branches, .v5-article .v5-decision__branches--3 { grid-template-columns: 1fr; }
  .v5-article .v5-decision__branch + .v5-decision__branch { border-left: 0; border-top: 1px solid var(--v5-line); }
}

/* Early CTA: bold ink band injected after the takeaway (lib/v5-conversion.php).
   User direction 2026-06-10: CTAs are exempt from minimalist restraint.
   Audit fix (same day): no texture (lines read as artifacts), 2-col grid,
   link-color shielding (article a-rules were painting the buttons red). */
.v5-article .v5-cta--early { margin: 36px 0 48px; padding: 30px 34px; display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 20px 36px; align-items: center; background: var(--v5-cta-bg); color: var(--v5-surface); border-top: 3px solid var(--v5-accent); }
.v5-article .v5-cta--early__copy { min-width: 0; }
.v5-article .v5-cta .v5-cta__kicker { font-family: var(--v5-mono); font-size: 18px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: oklch(76% 0.11 32); margin-bottom: 10px; }
.v5-article .v5-aside__contact .v5-aside__kicker { font-family: var(--v5-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: oklch(76% 0.11 32); margin-bottom: 10px; }
.v5-article .v5-cta--early p { margin: 0; font-size: 18px; font-weight: 400; line-height: 1.55; max-width: 46ch; color: oklch(88% 0.004 95); }
.v5-article .v5-cta--early p strong { color: var(--v5-surface); font-weight: 700; }
.v5-article .v5-cta--early__cred { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 7px 20px; padding-bottom: 16px; border-bottom: 1px solid oklch(100% 0 0 / 0.18); }
.v5-article .v5-cta--early__rating { display: inline-flex; align-items: center; gap: 6px; }
.v5-article .v5-cta--early__stars { color: #e8a91e; font-size: 15px; letter-spacing: 1px; }
.v5-article .v5-cta--early__rnum { font-size: 17px; font-weight: 800; color: var(--v5-surface); }
.v5-article .v5-cta--early__rsrc { font-size: 15px; color: oklch(100% 0 0 / 0.72); }
.v5-article .v5-cta--early p.v5-cta--early__creds { flex-basis: 100%; margin: 0; max-width: none; font-size: 16px; line-height: 1.45; font-weight: 400; color: oklch(100% 0 0 / 0.8); }
.v5-article .v5-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.v5-article .v5-cta a.v5-cta__btn, .v5-article a.v5-cta__btn { display: inline-block; padding: 15px 28px; background: #25d366; color: #07301f; font-weight: 700; font-size: 16px; letter-spacing: 0.01em; text-decoration: none; border-bottom: 0; box-shadow: 0 6px 18px oklch(60% 0.15 150 / 0.35); transition: transform 0.18s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.18s cubic-bezier(0.22, 1, 0.36, 1); }
.v5-article .v5-cta a.v5-cta__btn:hover, .v5-article a.v5-cta__btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px oklch(60% 0.15 150 / 0.45); color: #07301f; }
.v5-article .v5-cta a.v5-cta__tel { font-size: 15px; font-weight: 600; color: var(--v5-surface); text-decoration: none; border: 1px solid oklch(100% 0 0 / 0.4); border-bottom: 1px solid oklch(100% 0 0 / 0.4); padding: 13px 20px; transition: border-color 0.18s ease-out; }
.v5-article .v5-cta a.v5-cta__tel:hover { border-color: oklch(100% 0 0 / 0.75); color: var(--v5-surface); }
@media (max-width: 760px) {
  .v5-article .v5-cta--early { grid-template-columns: 1fr; }
}

/* Symptom checklist -> graded guidance (JS upgrades; static list w/o JS). */
.v5-article .v5-symptomcheck { margin: 40px 0; border: 1px solid var(--v5-line); padding: 18px; background: var(--v5-surface-2); }
.v5-article .v5-symptomcheck h4 { margin: 0 0 12px; }
.v5-article .v5-symptomcheck ul { list-style: none; margin: 0; padding: 0; }
.v5-article .v5-symptomcheck li { display: flex; gap: 10px; align-items: baseline; padding: 7px 0; border-bottom: 1px dashed var(--v5-line); font-size: 15px; line-height: 1.5; }
.v5-article .v5-symptomcheck li input { accent-color: var(--v5-ink); transform: translateY(2px); }
.v5-article .v5-symptomcheck__result { display: none; margin-top: 14px; padding: 14px; }
.v5-article .v5-symptomcheck__result--show { display: block; }
.v5-article .v5-symptomcheck__result p { display: none; margin: 0 0 10px; font-size: 15px; line-height: 1.6; }
.v5-article .v5-symptomcheck__result--t0 .v5-tier-0, .v5-article .v5-symptomcheck__result--t1 .v5-tier-1, .v5-article .v5-symptomcheck__result--t2 .v5-tier-2 { display: block; }
.v5-article .v5-symptomcheck__result--t0 { background: var(--v5-paper); }
.v5-article .v5-symptomcheck__result--t1 { background: var(--v5-slate); }
.v5-article .v5-symptomcheck__result--t2 { background: var(--v5-wash); }
.v5-article .v5-symptomcheck__result .v5-cta__btn { display: none; }
.v5-article .v5-symptomcheck__result--t2 .v5-cta__btn { display: inline-block; margin-top: 4px; }

/* Body map: static link list upgraded to clickable inline SVG (v5-blocks.js). */
.v5-article .v5-bodymap { margin: 40px 0; border: 1px solid var(--v5-line); padding: 18px; background: var(--v5-surface-2); }
.v5-article .v5-bodymap > ul { columns: 2; margin: 0; padding: 0 0 0 18px; font-size: 15px; line-height: 1.7; }
.v5-article .v5-bodymap--live > ul { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.v5-article .v5-bodymap__stage { display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.v5-article .v5-bodymap__svgwrap { flex: 0 0 200px; min-width: 170px; max-width: 220px; }
.v5-article .v5-bodymap svg { display: block; width: 100%; height: auto; }
.v5-article .v5-bodymap__region { cursor: pointer; transition: opacity .15s ease; }
.v5-article .v5-bodymap__region:hover, .v5-article .v5-bodymap__region:focus { opacity: 0.75; outline: none; }
.v5-article .v5-bodymap__region:focus-visible { outline: 2px solid var(--v5-ink); outline-offset: 1px; }
.v5-article .v5-bodymap__legend { flex: 1 1 320px; margin: 0; padding: 0; list-style: none; font-size: 15px; line-height: 1.5; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 4px 22px; align-content: start; }
.v5-article .v5-bodymap__legend li { padding: 8px 0; border-bottom: 1px dashed var(--v5-line); }
.v5-article .v5-bodymap__legend a { color: var(--v5-ink); text-decoration: underline; }
.v5-article .v5-bodymap__legend li.is-active { background: var(--v5-paper); }

/* Figure: illustration support (gpt-image-2 pipeline). */
.v5-article .v5-figure__frame img { display: block; width: 100%; height: auto; }
/* injected clinic figures: render at natural ratio but never tower over the column */
.v5-article .v5-figure[data-hong-clinic-figure] .v5-figure__frame img { max-height: 70vh; width: 100%; height: auto; object-fit: contain; }

/* real clinic photo — E-E-A-T trust band, injected once per V5 post (data-hong-real-photo) */
.v5-article .v5-clinic-photo { margin: clamp(32px, 5vw, 60px) 0; }
.v5-article .v5-clinic-photo__frame { border: 1px solid var(--v5-line); background: var(--v5-surface-2); overflow: hidden; aspect-ratio: 3 / 2; }
.v5-article .v5-clinic-photo__frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.v5-article .v5-clinic-photo__cap { margin-top: var(--v5-s2); font-family: var(--v5-mono); font-size: var(--v5-cap); letter-spacing: 0.06em; color: var(--v5-text-2); line-height: 1.5; }
.v5-article .v5-clinic-photo__cap b { color: var(--v5-cta-bg); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; margin-right: 0.5em; }

/* ── V5 GALLERY: real clinic photo groups (2026-06-12). Captions say what the image proves. ── */
.v5-article .v5-gallery { margin: 34px 0; display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v5-article .v5-gallery .v5-gallery__item { margin: 0; border: 1px solid var(--v5-line); background: var(--v5-surface-2); padding: 10px; }
.v5-article .v5-gallery .v5-gallery__item img { display: block; width: 100%; height: auto; }
.v5-article .v5-gallery .v5-gallery__item--lead { grid-column: 1 / -1; }
.v5-article .v5-gallery .v5-gallery__item figcaption { margin-top: 8px; font-family: var(--v5-mono); font-size: var(--v5-cap); letter-spacing: 0.04em; color: var(--v5-text-2); line-height: 1.5; }
.v5-article .v5-gallery .v5-gallery__item figcaption b { color: var(--v5-ink); font-weight: 600; }
.v5-article .v5-gallery > figcaption.v5-gallery__caption { grid-column: 1 / -1; font-family: var(--v5-mono); font-size: var(--v5-cap); color: var(--v5-text-2); }
@media (min-width: 1280px) { .v5-article .v5-gallery--3col { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .v5-article .v5-gallery { grid-template-columns: 1fr; } }

/* ============================================================
   DARK SURFACE SYSTEM (2026-06-10, systematic-debugging root fix).
   Problem: light-surface typography (dark .v5-p color, red links,
   red b/strong accents) cascades into ink components, producing
   black-on-black and red-on-black (WCAG fails, elderly readers).
   One layer fixes every ink surface; per-class shields above stay
   as belt-and-suspenders. Readability floor: AA 4.5:1, text >=15px
   on dark, buttons >=16px bold.
   ============================================================ */
.v5-article .v5-cta h3,
.v5-article .v5-cta p,
.v5-article .v5-cta li,
.v5-article .v5-aside__contact h4,
.v5-article .v5-aside__contact li,
.v5-article .v5-redflags h4,
.v5-article .v5-redflags li,
.v5-article .v5-redflags p,
.v5-article .v5-bento__cell--ink h4,
.v5-article .v5-bento__cell--ink p,
.v5-article .v5-statband__num,
.v5-article .v5-statband__label { color: var(--v5-surface); }
.v5-article .v5-statband__num b { color: oklch(80% 0.13 32); }
.v5-article .v5-statband__label { color: oklch(78% 0.01 95); }
/* any bold/strong placed directly in a statband item (not via __num) stays light on the ink band */
.v5-article .v5-statband__item > b, .v5-article .v5-statband__item > strong { color: var(--v5-surface); }

.v5-article .v5-cta p.v5-p,
.v5-article .v5-cta .v5-cta--early__copy p { color: oklch(84% 0.004 95); font-size: 15.5px; }
.v5-article .v5-cta--early p { font-size: 18px; }

/* Emphasis on dark: warm coral, never the dark accent red. */
.v5-article .v5-cta h3 b, .v5-article .v5-cta h3 strong,
.v5-article .v5-cta p b, .v5-article .v5-cta p strong,
.v5-article .v5-redflags b, .v5-article .v5-redflags strong,
.v5-article .v5-bento__cell--ink b, .v5-article .v5-bento__cell--ink strong { color: oklch(80% 0.13 32); }

/* Links on dark (non-button): light, visibly underlined. */
.v5-article .v5-cta a:not(.v5-btn):not(.v5-cta__btn):not(.v5-cta__tel),
.v5-article .v5-aside__contact a:not([href*="wa.me"]):not([href*="tintim"]):not([href^="tel"]),
.v5-article .v5-redflags a,
.v5-article .v5-bento__cell--ink a { color: var(--v5-surface); text-decoration: underline; text-decoration-color: oklch(100% 0 0 / 0.5); text-underline-offset: 3px; border-bottom: 0; }
.v5-article .v5-cta a:not(.v5-btn):not(.v5-cta__btn):not(.v5-cta__tel):hover { text-decoration-color: oklch(100% 0 0 / 0.9); }

/* CTA band headline: committed but never a 3-word tower. */
.v5-article .v5-cta { grid-template-columns: 1.5fr auto; }
.v5-article .v5-cta h3 { font-size: clamp(24px, 2.6vw, 33px); line-height: 1.18; letter-spacing: -0.015em; margin: 0 0 14px; }

/* Buttons inside dark bands: big, bold, sans, dark-green-on-green
   (white-on-WhatsApp-green is ~1.9:1 and the mono 14px was too small). */
.v5-article .v5-cta .v5-cta__actions a.v5-btn,
.v5-article .v5-cta__actions a.v5-btn--go,
.v5-article .v5-cta a.v5-btn,
.v5-article .v5-cta .v5-btn,
.v5-article .v5-cta .v5-btn--go { font-family: var(--v5-font); font-size: 16px; font-weight: 700; letter-spacing: 0.01em; padding: 16px 30px; color: #07301f; background: #25d366; text-decoration: none; border: 0; box-shadow: 0 6px 18px oklch(60% 0.15 150 / 0.35); transition: transform 0.18s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.18s cubic-bezier(0.22, 1, 0.36, 1); }
.v5-article .v5-cta a.v5-btn:hover, .v5-article .v5-cta__actions a.v5-btn--go:hover, .v5-article .v5-cta .v5-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px oklch(60% 0.15 150 / 0.45); color: #07301f; background: #25d366; }
@media (max-width: 760px) {
  .v5-article .v5-cta { grid-template-columns: 1fr; }
}

/* ── FOREST-GREEN CTA recolor (user choice 2026-06-18) ──────────────────────
   The CTA panel moved from near-black ink to deep forest green (--v5-cta-bg).
   On green, the bright WhatsApp green and the coral emphasis/kicker would
   clash, so within .v5-cta the booking button becomes cream and the kicker +
   emphasis become pale green. Scoped to .v5-cta only — aside / redflags /
   bento ink surfaces and the global green button keep their colors. AA holds:
   cream button label ~9:1, pale-green copy ~5:1, white body text on green. */
.v5-article .v5-cta .v5-cta__kicker { color: var(--v5-cta-soft); }
.v5-article .v5-cta h3 b, .v5-article .v5-cta h3 strong,
.v5-article .v5-cta p b, .v5-article .v5-cta p strong { color: var(--v5-cta-soft); }
.v5-article .v5-cta a.v5-cta__btn, .v5-article a.v5-cta__btn,
.v5-article .v5-cta .v5-cta__actions a.v5-btn,
.v5-article .v5-cta .v5-cta__actions a.v5-btn--go,
.v5-article .v5-cta a.v5-btn,
.v5-article .v5-cta .v5-btn,
.v5-article .v5-cta .v5-btn--go { background: var(--v5-cta-btn); color: var(--v5-cta-btn-fg); box-shadow: 0 6px 18px oklch(22% 0.04 150 / 0.5); }
.v5-article .v5-cta a.v5-cta__btn:hover, .v5-article a.v5-cta__btn:hover,
.v5-article .v5-cta a.v5-btn:hover,
.v5-article .v5-cta .v5-cta__actions a.v5-btn--go:hover,
.v5-article .v5-cta .v5-btn:hover { background: var(--v5-cta-btn-2); color: var(--v5-cta-btn-fg); box-shadow: 0 10px 24px oklch(22% 0.04 150 / 0.6); }

/* ============================================================================
   TREATMENT VISUAL-AID KIT — Swiss-clinical refinement (polished 2026-06-14)
   Aligned to DESIGN.md: 1px borders + tonal off-white fills (no colored
   side-stripes, no fat accent bars), muted clinical category tones, red stays
   the sole editorial accent (green reserved for WhatsApp), monochrome evidence
   scale, no decorative gradients, micro-labels >= 12.5px. WCAG AA throughout.
   ========================================================================== */
.v5-article {
  --cat-reab: oklch(62% 0.045 162);   /* muted clinical tones: legend keys only */
  --cat-proc: oklch(60% 0.045 245);
  --cat-med:  oklch(62% 0.055 52);
}
/* shared: monochrome evidence, meta chip, category tonal fills */
.v5-article .v5-ev { display: inline-flex; align-items: center; font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; color: var(--v5-text); border: 1px solid var(--v5-line); padding: 4px 9px; background: var(--v5-surface); }
.v5-article .v5-ev::before { font-size: 9px; letter-spacing: 1.5px; margin-right: 7px; color: var(--v5-ink); }
.v5-article .v5-ev--forte::before { content: "\25CF\25CF\25CF"; }
.v5-article .v5-ev--mod::before   { content: "\25CF\25CF\25CB"; }
.v5-article .v5-ev--lim::before   { content: "\25CF\25CB\25CB"; color: var(--v5-text-2); }
.v5-article .v5-txchip { display: inline-flex; align-items: center; font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; color: var(--v5-text-2); border: 1px solid var(--v5-line); padding: 4px 10px; background: var(--v5-surface); }
.v5-article .v5-tx--reab { --bg: var(--v5-sage); }
.v5-article .v5-tx--proc { --bg: var(--v5-slate); }
.v5-article .v5-tx--med  { --bg: var(--v5-paper); }
.v5-article .v5-txlegend { display: flex; gap: 18px; flex-wrap: wrap; margin: 0 0 16px; font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; color: var(--v5-text-2); }
.v5-article .v5-txlegend span { display: inline-flex; align-items: center; gap: 8px; }
.v5-article .v5-txlegend i { width: 10px; height: 10px; display: inline-block; border: 1px solid oklch(45% 0.02 95 / 0.35); }

/* A — card grid */
.v5-article .v5-txgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-txcard { border: 1px solid var(--v5-line); background: var(--bg, var(--v5-surface)); padding: 20px 18px; display: flex; flex-direction: column; gap: 10px; }
.v5-article .v5-txcard h4 { font-size: 18px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; color: var(--v5-ink); margin: 0; }
.v5-article .v5-txcard p { font-size: 16px; line-height: 1.55; color: var(--v5-text); margin: 0; flex: 1; }
.v5-article .v5-txcard__meta { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 4px; }

/* B — list rows (clean editorial list) */
.v5-article .v5-txlist { border-top: 1px solid var(--v5-ink); max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-txlist__row { display: grid; grid-template-columns: 1fr 160px; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--v5-line); align-items: baseline; }
.v5-article .v5-txlist__row h4 { font-size: 18px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; color: var(--v5-ink); margin: 0 0 5px; }
.v5-article .v5-txlist__row p { font-size: 16px; line-height: 1.6; color: var(--v5-text); margin: 0; }
.v5-article .v5-txlist__meta { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }

/* C — comparison matrix (dark clinical header) */
.v5-article .v5-txmatrix { width: 100%; border-collapse: collapse; border: 1px solid var(--v5-line); background: var(--v5-surface); max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-txmatrix caption { font-family: var(--v5-mono); font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--v5-accent-deep); text-align: left; padding: 0 0 12px; }
.v5-article .v5-txmatrix th { font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--v5-surface); background: var(--v5-ink); text-align: left; padding: 11px 14px; }
.v5-article .v5-txmatrix td { font-size: 16px; line-height: 1.5; color: var(--v5-text); padding: 13px 14px; border-bottom: 1px solid var(--v5-line); vertical-align: middle; }
.v5-article .v5-txmatrix tr:last-child td { border-bottom: 0; }
.v5-article .v5-txmatrix td:first-child { font-weight: 700; color: var(--v5-ink); }

/* 5 — evidence meter (monochrome) */
.v5-article .v5-evbar { border-top: 1px solid var(--v5-ink); max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-evbar__row { display: grid; grid-template-columns: minmax(150px, 230px) 1fr 96px; gap: 16px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--v5-line); }
.v5-article .v5-evbar__name { font-size: 15px; font-weight: 700; line-height: 1.25; color: var(--v5-ink); }
.v5-article .v5-evbar__track { height: 8px; background: var(--v5-surface-3); overflow: hidden; }
.v5-article .v5-evbar__fill { height: 100%; background: var(--v5-ink); }
.v5-article .v5-evbar__fill--forte { width: 100%; background: var(--v5-ink); }
.v5-article .v5-evbar__fill--mod   { width: 62%; background: var(--v5-text-2); }
.v5-article .v5-evbar__fill--lim   { width: 33%; background: var(--v5-muted); }
.v5-article .v5-evbar__tag { font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; text-align: right; color: var(--v5-text-2); }

/* 6 — lines of care tiers */
.v5-article .v5-tiers { display: flex; flex-direction: column; gap: 10px; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-tier { display: grid; grid-template-columns: 140px 1fr; border: 1px solid var(--v5-line); background: var(--bg, var(--v5-surface-2)); }
.v5-article .v5-tier__h { font-size: 15px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; color: var(--v5-ink); padding: 16px; border-right: 1px solid var(--v5-line); }
.v5-article .v5-tier__h span { display: block; font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--v5-text-2); margin-top: 4px; }
.v5-article .v5-tier__b { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding: 16px; }
.v5-article .v5-tier--1 { --bg: var(--v5-sage); }
.v5-article .v5-tier--2 { --bg: var(--v5-slate); }
.v5-article .v5-tier--3 { --bg: var(--v5-wash); }

/* 7 — care team */
.v5-article .v5-careteam { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-careteam__c { border: 1px solid var(--v5-line); background: var(--v5-surface-2); padding: 17px; }
.v5-article .v5-careteam__role { font-family: var(--v5-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--v5-accent-deep); margin: 0 0 7px; }
.v5-article .v5-careteam__c h4 { font-size: 18px; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--v5-ink); margin: 0 0 7px; }
.v5-article .v5-careteam__c p { font-size: 15px; line-height: 1.5; color: var(--v5-text); margin: 0; }

/* 8 — conservador x cirurgico */
.v5-article .v5-versus { display: grid; grid-template-columns: 1fr 44px 1fr; align-items: stretch; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-versus__c { border: 1px solid var(--v5-line); padding: 20px 22px; }
.v5-article .v5-versus__c--a { background: var(--v5-surface-2); border-right: 0; }
.v5-article .v5-versus__c--b { background: var(--v5-surface-3); border-left: 0; }
.v5-article .v5-versus__vs { display: flex; align-items: center; justify-content: center; font-family: var(--v5-mono); font-size: 13px; font-weight: 700; letter-spacing: 0.05em; color: var(--v5-surface); background: var(--v5-ink); }
.v5-article .v5-versus__c h4 { font-size: 19px; font-weight: 700; line-height: 1.22; letter-spacing: -0.01em; color: var(--v5-ink); margin: 0 0 6px; }
.v5-article .v5-versus__k { font-family: var(--v5-mono); font-size: 15px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--v5-text-2); margin: 0 0 12px; }
.v5-article .v5-versus__c ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.v5-article .v5-versus__c li { font-size: 16px; line-height: 1.45; color: var(--v5-text); padding-left: 16px; position: relative; }
.v5-article .v5-versus__c li::before { content: ""; position: absolute; left: 0; top: 9px; width: 5px; height: 5px; background: var(--v5-text-2); }

/* 9 — what-to-expect track */
.v5-article .v5-track { display: grid; grid-template-columns: 1fr 1fr 1fr; border: 1px solid var(--v5-line); max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-track__s { padding: 17px; border-right: 1px solid var(--v5-line); }
.v5-article .v5-track__s:last-child { border-right: 0; }
.v5-article .v5-track__n { font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--v5-accent-deep); display: inline-block; margin: 0 0 8px; }
.v5-article .v5-track__s h4 { font-size: 16px; font-weight: 700; line-height: 1.2; color: var(--v5-ink); margin: 0 0 5px; }
.v5-article .v5-track__s p { font-size: 16px; line-height: 1.5; color: var(--v5-text); margin: 0; }

/* 10 — subtype / phenotype domains */
.v5-article .v5-domains { display: grid; grid-template-columns: repeat(auto-fit, minmax(172px, 1fr)); gap: 12px; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-dom { border: 1px solid var(--v5-line); background: var(--v5-surface-2); padding: 15px; display: flex; flex-direction: column; gap: 7px; }
.v5-article .v5-dom__k { width: 30px; height: 30px; background: var(--v5-ink); color: var(--v5-surface); font-family: var(--v5-mono); font-size: 15px; font-weight: 700; line-height: 30px; text-align: center; }
.v5-article .v5-dom h4 { font-size: 15px; font-weight: 700; line-height: 1.15; letter-spacing: -0.01em; color: var(--v5-ink); margin: 0; }
.v5-article .v5-dom p { font-size: 13.5px; line-height: 1.45; color: var(--v5-text); margin: 0; }
.v5-article .v5-dom__foco { font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; line-height: 1.4; color: var(--v5-accent-deep); }

/* 11 — symptom -> focus mapper */
.v5-article .v5-mapper { border: 1px solid var(--v5-line); max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-mapper__row { display: grid; grid-template-columns: 1fr 40px 1fr; align-items: center; border-bottom: 1px solid var(--v5-line); }
.v5-article .v5-mapper__row:last-child { border-bottom: 0; }
.v5-article .v5-mapper__s { padding: 14px 16px; font-size: 14.5px; font-weight: 600; line-height: 1.35; color: var(--v5-ink); background: var(--v5-surface-2); }
.v5-article .v5-mapper__arr { text-align: center; color: var(--v5-text-2); font-size: 16px; }
.v5-article .v5-mapper__f { padding: 14px 16px; font-size: 15px; line-height: 1.4; color: var(--v5-text); }
.v5-article .v5-mapper__f b { color: var(--v5-accent-deep); font-weight: 700; }

/* 12 — outcome tracker */
.v5-article .v5-outcomes { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-out { border: 1px solid var(--v5-line); background: var(--v5-surface-2); padding: 16px; }
.v5-article .v5-out__k { font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; line-height: 1.3; letter-spacing: 0.06em; text-transform: uppercase; color: var(--v5-text-2); margin: 0 0 9px; }
.v5-article .v5-out__v { font-size: 26px; font-weight: 700; line-height: 1; letter-spacing: -0.02em; color: var(--v5-ink); }
.v5-article .v5-out__v small { font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; color: var(--v5-text-2); }
.v5-article .v5-out__bar { height: 6px; background: var(--v5-surface-3); margin-top: 10px; overflow: hidden; }
.v5-article .v5-out__bar i { display: block; height: 100%; background: var(--v5-ink); }

/* 13 — pain-type classifier */
.v5-article .v5-ptype { display: grid; grid-template-columns: repeat(auto-fit, minmax(195px, 1fr)); gap: 12px; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-pt { border: 1px solid var(--v5-line); background: var(--bg, var(--v5-surface-2)); padding: 16px; }
.v5-article .v5-pt h4 { font-size: 16px; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--v5-ink); margin: 0 0 6px; }
.v5-article .v5-pt p { font-size: 13.5px; line-height: 1.45; color: var(--v5-text); margin: 0 0 9px; }
.v5-article .v5-pt__lever { font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; line-height: 1.3; letter-spacing: 0.03em; text-transform: uppercase; color: var(--v5-accent-deep); }

/* 14 — decision flow */
.v5-article .v5-flow { display: flex; align-items: stretch; flex-wrap: wrap; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-flow__q { flex: 1 1 200px; background: var(--v5-ink); color: var(--v5-surface); padding: 18px; display: flex; flex-direction: column; justify-content: center; }
.v5-article .v5-flow__q .v5-flow__k { font-family: var(--v5-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: oklch(80% 0.02 95); margin: 0 0 7px; }
.v5-article .v5-flow__q h4 { font-size: 17px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; color: var(--v5-surface); margin: 0; }
.v5-article .v5-flow__o { flex: 1 1 170px; border: 1px solid var(--v5-line); padding: 16px; display: flex; flex-direction: column; gap: 7px; }
.v5-article .v5-flow__o--yes { border-left: 0; }
.v5-article .v5-flow__tag { font-family: var(--v5-mono); font-size: 12.5px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 4px 9px; align-self: flex-start; border: 1px solid var(--v5-line); color: var(--v5-text); }
.v5-article .v5-flow__o--yes .v5-flow__tag { background: var(--v5-ink); color: var(--v5-surface); border-color: var(--v5-ink); }
.v5-article .v5-flow__o--no .v5-flow__tag { background: var(--v5-surface-3); color: var(--v5-text-2); }
.v5-article .v5-flow__o p { font-size: 16px; line-height: 1.45; color: var(--v5-text); margin: 0; }

/* 15 — procedure walkthrough */
.v5-article .v5-walk { counter-reset: walk; display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 12px; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-walk__s { border: 1px solid var(--v5-line); background: var(--v5-surface-2); padding: 16px; counter-increment: walk; }
.v5-article .v5-walk__s::before { content: counter(walk, decimal-leading-zero); font-family: var(--v5-mono); font-size: 13px; font-weight: 700; color: var(--v5-accent-deep); display: block; margin-bottom: 9px; }
.v5-article .v5-walk__s h4 { font-size: 15px; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--v5-ink); margin: 0 0 5px; }
.v5-article .v5-walk__s p { font-size: 13.5px; line-height: 1.45; color: var(--v5-text); margin: 0; }

/* 16 — multimodal plan stack */
.v5-article .v5-plan { display: grid; grid-template-columns: 1fr 168px; gap: 16px; align-items: center; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-plan__stack { display: flex; flex-direction: column; gap: 8px; }
.v5-article .v5-plan__layer { border: 1px solid var(--v5-line); background: var(--bg, var(--v5-surface-2)); padding: 13px 15px; }
.v5-article .v5-plan__layer .v5-plan__t { font-size: 14.5px; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--v5-ink); }
.v5-article .v5-plan__layer .v5-plan__d { font-size: 13px; line-height: 1.4; color: var(--v5-text); }
.v5-article .v5-plan__out { border: 1px solid var(--v5-ink); background: var(--v5-ink); padding: 18px 15px; text-align: center; }
.v5-article .v5-plan__out .v5-plan__k { font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; line-height: 1.3; letter-spacing: 0.08em; text-transform: uppercase; color: oklch(80% 0.02 95); }
.v5-article .v5-plan__out h4 { font-size: 18px; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; color: var(--v5-surface); margin: 7px 0 0; }

/* 17 — glossary (plain language) */
.v5-article .v5-glossary { border-top: 1px solid var(--v5-ink); max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-glossary__r { display: grid; grid-template-columns: 184px 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--v5-line); }
.v5-article .v5-glossary__t { font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--v5-ink); }
.v5-article .v5-glossary__t span { display: block; font-family: var(--v5-mono); font-size: 12.5px; font-weight: 500; line-height: 1.3; color: var(--v5-text-2); margin-top: 3px; }
.v5-article .v5-glossary__d { font-size: 15px; line-height: 1.5; color: var(--v5-text); }

/* 18 — realistic expectations (flat, no gradient) */
.v5-article .v5-expect { border: 1px solid var(--v5-line); background: var(--v5-surface-2); padding: 18px 20px; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-expect__bar { position: relative; height: 8px; background: var(--v5-surface-3); margin: 34px 0 10px; }
.v5-article .v5-expect__mark { position: absolute; top: -28px; transform: translateX(-50%); font-family: var(--v5-mono); font-size: 12.5px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--v5-surface); background: var(--v5-ink); padding: 4px 9px; white-space: nowrap; }
.v5-article .v5-expect__mark::after { content: ""; position: absolute; left: 50%; top: 100%; transform: translateX(-50%); border: 5px solid transparent; border-top-color: var(--v5-ink); }
.v5-article .v5-expect__ends { display: flex; justify-content: space-between; font-family: var(--v5-mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; color: var(--v5-text-2); }
.v5-article .v5-expect__note { font-size: 13.5px; line-height: 1.5; color: var(--v5-text-2); margin: 12px 0 0; }

/* 19 — cause clusters */
.v5-article .v5-causes { display: grid; grid-template-columns: repeat(auto-fit, minmax(195px, 1fr)); gap: 14px; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-cl { border: 1px solid var(--v5-line); background: var(--bg, var(--v5-surface-2)); padding: 15px; }
.v5-article .v5-cl__h { font-family: var(--v5-mono); font-size: 12.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--v5-text-2); margin: 0 0 10px; padding-bottom: 8px; border-bottom: 1px solid var(--v5-line); }
.v5-article .v5-cl__tags { display: flex; gap: 7px; flex-wrap: wrap; }
.v5-article .v5-cl__tags span { font-size: 13px; line-height: 1.3; color: var(--v5-text); background: var(--v5-surface); border: 1px solid var(--v5-line); padding: 5px 10px; }

/* 20 — questions for your doctor (red top rule, no side stripe) */
.v5-article .v5-askdoc { border: 1px solid var(--v5-line); border-top: 2px solid var(--v5-accent); background: var(--v5-surface-2); padding: 18px 20px; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-askdoc__k { font-family: var(--v5-mono); font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--v5-accent-deep); margin: 0 0 13px; }
.v5-article .v5-askdoc ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.v5-article .v5-askdoc li { font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--v5-ink); padding-left: 24px; position: relative; }
.v5-article .v5-askdoc li::before { content: "?"; position: absolute; left: 0; top: 1px; width: 17px; height: 17px; background: var(--v5-accent); color: var(--v5-surface); font-family: var(--v5-mono); font-size: 11px; font-weight: 700; line-height: 17px; text-align: center; }

/* 21 — key-stat (red top rule, no side stripe) */
.v5-article .v5-kstat { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: center; border: 1px solid var(--v5-line); border-top: 2px solid var(--v5-accent); background: var(--v5-surface-2); padding: 20px 22px; max-width: var(--v5-measure); margin: var(--v5-s3) 0 var(--v5-s4); }
.v5-article .v5-kstat__n { font-size: 52px; font-weight: 700; line-height: 0.9; letter-spacing: -0.03em; color: var(--v5-accent-deep); }
.v5-article .v5-kstat__t { font-size: 15px; font-weight: 500; line-height: 1.45; color: var(--v5-text); }
.v5-article .v5-kstat__t b { color: var(--v5-ink); font-weight: 700; }

/* kit — phone breakpoint: collapse multi-column aids to single column */
@media (max-width: 760px) {
  .v5-article .v5-txlist__row, .v5-article .v5-evbar__row, .v5-article .v5-tier,
  .v5-article .v5-plan, .v5-article .v5-glossary__r, .v5-article .v5-mapper__row,
  .v5-article .v5-versus, .v5-article .v5-track, .v5-article .v5-flow { grid-template-columns: 1fr; }
  .v5-article .v5-versus__c--a { border-right: 1px solid var(--v5-line); border-bottom: 0; }
  .v5-article .v5-versus__c--b { border-left: 1px solid var(--v5-line); }
  .v5-article .v5-versus__vs { padding: 6px; }
  .v5-article .v5-track__s { border-right: 1px solid var(--v5-line); border-bottom: 1px solid var(--v5-line); }
  .v5-article .v5-track__s:last-child { border-bottom: 0; }
  .v5-article .v5-flow__o { border-left: 1px solid var(--v5-line); border-top: 0; }
  .v5-article .v5-tier__h { border-right: 0; border-bottom: 1px solid var(--v5-line); }
  .v5-article .v5-kstat { grid-template-columns: 1fr; gap: 8px; }
}

/* ============================================================================
   Credential seal band — "destaque" recognition band (SPLIT layout).
   Ink title panel (left) + green logo panel (right); the panels stretch to an
   equal height. Foregrounds a listing (e.g. SMBTOC on ondas-de-choque posts).
   Wording is always "listado", never "certificado/credenciado"
   (CFM / SBED–SMBTOC listing rule).
   ========================================================================== */
.v5-article .v5-seal { display: grid; grid-template-columns: 1.15fr 0.85fr; margin: var(--v5-s4) 0; min-height: 190px; }
.v5-article .v5-seal__body { background: var(--v5-ink); color: var(--v5-surface); padding: var(--v5-s4); display: flex; flex-direction: column; justify-content: center; }
.v5-article .v5-seal__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-accent); margin-bottom: var(--v5-s2); }
.v5-article .v5-seal__title { font-family: var(--v5-font); font-size: clamp(20px, 2.5vw, 27px); font-weight: 650; line-height: 1.3; letter-spacing: -0.01em; color: var(--v5-surface); text-wrap: balance; hyphens: none; }
.v5-article .v5-seal__sub { margin-top: var(--v5-s2); font-size: var(--v5-meta); line-height: 1.55; color: var(--v5-muted); max-width: 46ch; }
.v5-article .v5-seal__plate { background: oklch(95.5% 0.020 150); display: flex; align-items: center; justify-content: center; padding: var(--v5-s4); }
.v5-article .v5-seal__plate img { display: block; width: 100%; max-width: 300px; height: auto; }
@media (max-width: 640px) {
  .v5-article .v5-seal { grid-template-columns: 1fr; min-height: 0; }
  .v5-article .v5-seal__plate { padding: var(--v5-s4); }
  .v5-article .v5-seal__plate img { max-width: 240px; }
}

/* ── Vantagens — advantages showcase for treatment pages ───────────────── */
.v5-article .v5-vantagens { border: 1px solid var(--v5-line); border-top: 3px solid var(--v5-accent); background: var(--v5-surface-2); padding: var(--v5-s5) var(--v5-s4); margin: var(--v5-s4) 0; }
.v5-article .v5-vantagens__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-accent-deep); margin: 0 0 var(--v5-s1); }
.v5-article .v5-vantagens__title { font-family: var(--v5-font); font-weight: 300; font-size: var(--v5-h2); line-height: 1.04; letter-spacing: -0.02em; color: var(--v5-ink); margin: 0 0 var(--v5-s4); max-width: 24ch; hyphens: none; }
.v5-article .v5-vantagens__grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--v5-line); }
.v5-article .v5-vantagens__item { display: grid; grid-template-columns: auto 1fr; column-gap: var(--v5-s3); align-items: start; padding: var(--v5-s3) 0; border-bottom: 1px solid var(--v5-line); }
.v5-article .v5-vantagens__item:nth-child(odd) { padding-right: var(--v5-s4); border-right: 1px solid var(--v5-line); }
.v5-article .v5-vantagens__item:nth-child(even) { padding-left: var(--v5-s4); }
.v5-article .v5-vantagens__n { font-family: var(--v5-mono); font-weight: 300; font-size: clamp(28px, 3.2vw, 42px); line-height: 0.82; color: var(--v5-accent-deep); font-variant-numeric: tabular-nums; }
.v5-article .v5-vantagens__t { font-family: var(--v5-font); font-weight: 650; font-size: 18px; line-height: 1.25; color: var(--v5-ink); margin: 0 0 4px; }
.v5-article .v5-vantagens__d { font-size: var(--v5-meta); line-height: 1.5; color: var(--v5-text); margin: 0; }
@media (max-width: 700px) {
  .v5-article .v5-vantagens { padding: var(--v5-s4) var(--v5-s3); }
  .v5-article .v5-vantagens__grid { grid-template-columns: 1fr; }
  .v5-article .v5-vantagens__item, .v5-article .v5-vantagens__item:nth-child(odd), .v5-article .v5-vantagens__item:nth-child(even) { padding-left: 0; padding-right: 0; border-right: 0; }
}

/* ── Mechanism cards — image-topped "how it works" grid ────────────────── */
.v5-article .v5-mechgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--v5-s3); }
.v5-article .v5-mechcard { display: flex; flex-direction: column; }
.v5-article .v5-mechcard__media { border: 1px solid var(--v5-line); background: var(--v5-surface-2); aspect-ratio: 3 / 2; overflow: hidden; margin-bottom: var(--v5-s2); }
.v5-article .v5-mechcard__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.v5-article .v5-mechcard__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.14em; text-transform: uppercase; color: var(--v5-text); margin-bottom: var(--v5-s1); }
.v5-article .v5-mechcard h4 { font-family: var(--v5-font); font-size: 18px; font-weight: 650; color: var(--v5-ink); line-height: 1.2; margin: 0 0 var(--v5-s1); }
.v5-article .v5-mechcard p { font-size: var(--v5-meta); line-height: 1.55; color: var(--v5-text); margin: 0; }
@media (max-width: 900px) { .v5-article .v5-mechgrid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .v5-article .v5-mechgrid { grid-template-columns: 1fr; } }
/* ============================================================================
   blog-layout-2026 — page shell for V5 articles (asymmetric Swiss)
   ----------------------------------------------------------------------------
   The canonical layout every new blog post uses. Composes the v5 block kit.
   Same isolation contract as v5-blocks.css: scoped under .v5-article, px sizes,
   `.v5-article .v5-x` specificity (0,2,x), zero !important. Load AFTER v5-blocks.css.
   Wrapper: <article class="v5-article v5-doc"> ... </article>
   ========================================================================== */

.v5-article.v5-doc { max-width: 1400px; margin: 0 auto; padding: 0 32px 96px; }

/* ---- Wider reading box on V5 pages (theme-chrome reclaim) ---------------
   The Genesis post wrapper carries ~95px of legacy side padding, which chokes
   the V5 box to ~990px and forces a thin reading column. On V5 posts only
   (body.v5-post; this file is enqueued on V5 articles only, so no bleed),
   reclaim that padding to 32px so the box uses the container width and the
   reading column (minmax(0,1fr) above) absorbs the gain. */
body.v5-post main.content > article { padding-left: 32px; padding-right: 32px; }

/* ---- Breadcrumb --------------------------------------------------------- */
/* Discreet wayfinding: natural case (not a loud tracked-caps eyebrow), tight,
   and the current-page crumb is dropped because the H1 restates it one line
   below. Font stays at --v5-label (13px a11y floor) and --v5-text-2 (AA). */
.v5-article .v5-breadcrumb { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5em; padding: 24px 0; font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.01em; text-transform: none; color: var(--v5-text-2); }
.v5-article .v5-breadcrumb a { color: var(--v5-text-2); text-decoration: none; }
.v5-article .v5-breadcrumb a:hover { color: var(--v5-accent); }
.v5-article .v5-breadcrumb [aria-current] { color: var(--v5-ink); }
/* Drop the current page (last crumb) and its leading separator — redundant
   with the H1. Structure is always [..crumb][span /][span title]. */
.v5-article .v5-breadcrumb > span:last-child,
.v5-article .v5-breadcrumb > span:nth-last-child(2) { display: none; }

/* ---- Hero --------------------------------------------------------------- */
.v5-article .v5-hero { padding: 16px 0 40px; border-bottom: 2px solid var(--v5-ink); }
.v5-article .v5-hero__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-accent); margin-bottom: 24px; }
.v5-article .v5-hero__title { font-family: var(--v5-font); font-size: var(--v5-h1); font-weight: 700; letter-spacing: -0.035em; line-height: 1.0; color: var(--v5-ink); text-wrap: balance; max-width: 34ch; }
.v5-article .v5-hero__dek { font-family: var(--v5-font); font-size: var(--v5-lede); line-height: 1.4; font-weight: 400; color: var(--v5-text); max-width: var(--v5-measure); margin-top: 24px; }

/* ---- Byline ------------------------------------------------------------- */
.v5-article .v5-byline { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 28px; font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.06em; text-transform: uppercase; color: var(--v5-text-2); }
.v5-article .v5-byline b { color: var(--v5-ink); font-weight: 600; }
.v5-article .v5-byline__author b { color: var(--v5-accent); }

/* ---- Asymmetric grid: section rail | main | aside -----------------------------
   The reading column is fixed at the readable measure (~70ch); the section TOC and
   the facts/contact aside live in FLEXIBLE side gutters, so they never steal
   reading width. Asymmetric gutters (0.85fr / 1.15fr) keep the Swiss off-axis
   feel and give the aside a touch more room than the section rail. */
/* 2-column only (reading + facts/contact aside); the left section TOC rail is removed so the
   reading column never reads as a thin strip flanked by two rails. Was 3-column at >1180. */
.v5-article .v5-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 40px 48px; margin-top: 48px; align-items: start; justify-content: center; }
.v5-article .v5-main { min-width: 0; }
.v5-article .v5-main > * + * { margin-top: var(--v5-s5); }      /* résumé / section breaks: 64 */
.v5-article .v5-section { scroll-margin-top: 24px; }
.v5-article .v5-section > * + * { margin-top: var(--v5-s4); }   /* within-section rhythm: 40 */

/* left section TOC rail removed (2-column layout); the Essay inline TOC (v5-toc--inline) stays visible. */
.v5-article .v5-toc:not(.v5-toc--inline) { display: none; }
.v5-article .v5-toc__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.14em; text-transform: uppercase; color: var(--v5-text-2); padding-bottom: 14px; border-bottom: 1px solid var(--v5-line); margin-bottom: 16px; }
.v5-article .v5-toc ol { display: grid; gap: 14px; }
.v5-article .v5-toc a { text-decoration: none; }
.v5-article .v5-toc a span { font-size: 13px; line-height: 1.3; color: var(--v5-text-2); transition: color 0.2s var(--v5-ease); }
.v5-article .v5-toc a:hover span { color: var(--v5-ink); }
.v5-article .v5-toc a[aria-current="true"] span { color: var(--v5-ink); font-weight: 600; }

/* right aside (sticky): key facts + contact/NAP card (utility, not a 2nd CTA) */
.v5-article .v5-aside { position: sticky; top: 24px; display: grid; gap: 24px; }
.v5-article .v5-aside__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.14em; text-transform: uppercase; color: var(--v5-text-2); margin-bottom: 14px; }
.v5-article .v5-aside__facts { border: 1px solid var(--v5-line); padding: 24px; }
.v5-article .v5-aside__facts dl { display: grid; gap: 14px; }
.v5-article .v5-aside__facts dt { font-family: var(--v5-mono); font-size: 12.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--v5-text-2); }
.v5-article .v5-aside__facts dd { font-size: 14px; line-height: 1.35; color: var(--v5-ink); margin-top: 3px; }
.v5-article .v5-aside__contact { background: var(--v5-ink); color: var(--v5-surface); padding: 32px 28px; border-top: 3px solid var(--v5-accent); }
.v5-article .v5-aside__contact .v5-aside__kicker { color: oklch(76% 0.11 32); font-size: 13px; font-weight: 600; letter-spacing: 0.12em; }
.v5-article .v5-aside__contact h4 { font-family: var(--v5-font); font-size: 21px; font-weight: 700; line-height: 1.25; color: var(--v5-surface); margin-bottom: 16px; }
.v5-article .v5-aside__contact ul { display: grid; gap: 14px; }
.v5-article .v5-aside__contact li { font-size: 15px; line-height: 1.5; }
.v5-article .v5-aside__contact li a { display: block; margin-top: 7px; padding: 13px 18px; text-align: center; font-weight: 700; font-size: 15.5px; text-decoration: none; transition: transform 0.18s cubic-bezier(0.22, 1, 0.36, 1); }
.v5-article .v5-aside__contact li a:hover { transform: translateY(-1px); }
.v5-article .v5-aside__contact li a[href^="tel"] { color: var(--v5-surface); border: 1.5px solid oklch(100% 0 0 / 0.4); }
.v5-article .v5-aside__contact li a[href^="tel"]:hover { border-color: oklch(100% 0 0 / 0.75); }
.v5-article .v5-aside__contact li a[href*="wa.me"], .v5-article .v5-aside__contact li a[href*="tintim"] { background: #25d366; color: #07301f; box-shadow: 0 6px 18px oklch(60% 0.15 150 / 0.3); }
.v5-article .v5-aside__contact li { font-size: 13px; line-height: 1.4; color: var(--v5-muted); }
.v5-article .v5-aside__contact a { color: var(--v5-surface); text-decoration: none; border-bottom: 1px solid var(--v5-muted); }
.v5-article .v5-aside__contact a:hover { border-color: var(--v5-surface); }

/* ---- Sidebar E-E-A-T enrichment (lib/v5-sidebar-eeat.php) ----------------
   Trust card + DNA USP seal injected server-side. Light cards
   for elderly legibility; WCAG AA; Swiss-clinical (full borders, no stripes). */
.v5-article .v5-aside__trust { background: var(--v5-surface-2); border: 1px solid var(--v5-line); padding: 20px 18px; }

.v5-article .v5-aside__trust-revlink { display: block; text-decoration: none; color: inherit; }
.v5-article .v5-aside__trust-rate { display: flex; align-items: baseline; gap: 8px; }
.v5-article .v5-aside__stars { font-size: 15px; letter-spacing: 1px; color: var(--v5-ink); }
.v5-article .v5-aside__trust-rate b { font-size: 15px; font-weight: 700; color: var(--v5-ink); }
.v5-article .v5-aside__trust-src { font-size: 12.5px; line-height: 1.4; color: var(--v5-text-2); margin-top: 4px; }
.v5-article .v5-aside__trust-rule { border-top: 1px solid var(--v5-line); margin: 13px 0; }
.v5-article .v5-aside__trust-line { font-size: 13.5px; line-height: 1.5; color: var(--v5-text); }
.v5-article .v5-aside__trust-line + .v5-aside__trust-line { margin-top: 8px; }
.v5-article .v5-aside__trust-line--sub { color: var(--v5-text-2); }
.v5-article .v5-aside__trust-line b { color: var(--v5-ink); }
.v5-article .v5-aside__trust-line a { color: var(--v5-accent-deep); font-weight: 600; text-decoration: none; }
.v5-article .v5-aside__trust-line a:hover { text-decoration: underline; }
.v5-article .v5-aside__trust-nums { font-family: var(--v5-mono); font-size: 13px; letter-spacing: 0.02em; line-height: 1.65; color: var(--v5-text-2); }

/* Trust card rebuild (2026-06-20): per-platform star rows, prominent biblioteca
   link, labelled clinic-proof list. */
.v5-article .v5-aside__rates { display: grid; gap: 11px; }
.v5-article .v5-aside__rate { display: block; text-decoration: none; color: inherit; }
.v5-article .v5-aside__rate-val { font-size: 15px; font-weight: 700; color: var(--v5-ink); margin-left: 7px; }
.v5-article .v5-aside__rate-src { display: block; font-size: 12.5px; line-height: 1.4; color: var(--v5-text-2); margin-top: 2px; }
.v5-article .v5-aside__rate:hover .v5-aside__rate-src { color: var(--v5-text); }
.v5-article .v5-aside__biblio-k { font-family: var(--v5-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--v5-accent-deep); }
.v5-article .v5-aside__biblio-d { font-size: 13px; line-height: 1.45; color: var(--v5-text); margin-top: 4px; }
.v5-article .v5-aside__biblio-go { display: inline-block; margin-top: 8px; font-size: 14px; font-weight: 700; color: var(--v5-accent-deep); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1.5px; }
.v5-article .v5-aside__biblio-go:hover { color: var(--v5-accent-2); }
.v5-article .v5-aside__trust-kicker { font-family: var(--v5-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--v5-accent-deep); margin-bottom: 9px; }
.v5-article .v5-aside__feats { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.v5-article .v5-aside__feats li { position: relative; padding-left: 1em; font-size: 15px; line-height: 1.45; color: var(--v5-text); }
.v5-article .v5-aside__feats li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 0.45em; height: 2px; background: var(--v5-accent); }
.v5-article .v5-aside__feats li b { color: var(--v5-ink); font-weight: 650; }

.v5-article .v5-aside__dnausp { border: 1px solid var(--v5-line); padding: 15px 18px; background: var(--v5-surface); }
.v5-article .v5-aside__dnausp-link { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: center; text-decoration: none; opacity: 0.82; transition: opacity 0.18s ease; }
.v5-article .v5-aside__dnausp-link:hover { opacity: 1; }
.v5-article .v5-aside__dnausp-logo { display: block; width: 56px; height: auto; filter: grayscale(1); opacity: 0.72; }
.v5-article .v5-aside__dnausp-copy { display: grid; gap: 2px; min-width: 0; }
.v5-article .v5-aside__dnausp-kicker { font-family: var(--v5-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--v5-text-2); }
.v5-article .v5-aside__dnausp-copy strong { font-size: 14px; line-height: 1.25; color: var(--v5-ink); }
.v5-article .v5-aside__dnausp-sub { font-size: 12.5px; line-height: 1.35; color: var(--v5-text-2); }

.v5-article .v5-aside__contact-fact { font-size: 14px; line-height: 1.45; color: oklch(82% 0.006 95); }
.v5-article .v5-aside__contact li.v5-aside__contact-fact a { display: inline; margin: 0; padding: 0; text-align: left; font-weight: 600; font-size: inherit; color: oklch(88% 0.006 95); background: none; box-shadow: none; text-decoration: underline; text-underline-offset: 2px; border: 0; }
.v5-article .v5-aside__contact li.v5-aside__contact-fact a:hover { color: var(--v5-surface); transform: none; }

/* Rebuilt contact card (2026-06-20): tight NAP info block + a quiet directions
   link + two full-width labelled action buttons (no floating Telefone/WhatsApp). */
.v5-article .v5-aside__contact h4 { text-wrap: balance; }
.v5-article .v5-aside__nap { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.v5-article .v5-aside__nap li { font-size: 15px; line-height: 1.5; color: oklch(82% 0.006 95); }
.v5-article .v5-aside__contact a.v5-aside__directions { display: inline-block; margin-top: 12px; padding: 0; border: 0; background: none; font-size: 13px; font-weight: 600; color: oklch(88% 0.006 95); text-decoration: underline; text-underline-offset: 2px; }
.v5-article .v5-aside__contact a.v5-aside__directions:hover { color: var(--v5-surface); }
.v5-article .v5-aside__actions { display: grid; gap: 10px; margin-top: 18px; padding-top: 18px; border-top: 1px solid oklch(100% 0 0 / 0.14); }
.v5-article .v5-aside__contact a.v5-aside__btn { display: block; margin: 0; padding: 14px 16px; text-align: center; font-family: var(--v5-font); font-size: 16px; font-weight: 700; letter-spacing: 0.01em; text-decoration: none; border: 0; transition: transform 0.18s var(--v5-ease), box-shadow 0.18s var(--v5-ease); }
.v5-article .v5-aside__contact a.v5-aside__btn--wa { background: #25d366; color: #07301f; box-shadow: 0 6px 18px oklch(60% 0.15 150 / 0.3); }
.v5-article .v5-aside__contact a.v5-aside__btn--wa:hover { transform: translateY(-1px); box-shadow: 0 10px 24px oklch(60% 0.15 150 / 0.4); color: #07301f; }
.v5-article .v5-aside__contact a.v5-aside__btn--tel { background: transparent; color: var(--v5-surface); border: 1.5px solid oklch(100% 0 0 / 0.4); }
.v5-article .v5-aside__contact a.v5-aside__btn--tel:hover { border-color: oklch(100% 0 0 / 0.78); color: var(--v5-surface); }

/* ---- End matter --------------------------------------------------------- */
/* When refs / endmatter / CTA are direct v5-grid children they must span both columns. */
.v5-article .v5-grid > .v5-refs,
.v5-article .v5-grid > .v5-endmatter,
.v5-article .v5-grid > .v5-endmatter__reading,
.v5-article .v5-grid > .v5-cta--media { grid-column: 1 / -1; }
.v5-article .v5-endmatter { margin-top: var(--v5-s5); }
.v5-article .v5-endmatter > * + * { margin-top: var(--v5-s5); }       /* refs / author / CTA: 64 */
.v5-article .v5-endmatter__reading { max-width: var(--v5-measure); }
.v5-article .v5-endmatter__reading > * + * { margin-top: var(--v5-s4); } /* 40 */

/* References (Vancouver, decimal-leading-zero, 2-col) */
/* Cap to the reading measure so the refs block (and its heavy top rule) aligns with the
   body and author card above/below it, instead of bleeding the full endmatter width. */
.v5-article .v5-refs { max-width: var(--v5-measure); margin-top: 56px; padding-top: 24px; border-top: 2px solid var(--v5-ink); }
.v5-article .v5-refs__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-text-2); margin-bottom: 24px; }
.v5-article .v5-refs ol { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px 48px; counter-reset: ref; }
.v5-article .v5-refs li { counter-increment: ref; display: grid; grid-template-columns: 2.4em 1fr; gap: 10px; font-size: 15.5px; line-height: 1.5; color: var(--v5-text-2); }
.v5-article .v5-refs li::before { content: counter(ref, decimal-leading-zero); font-family: var(--v5-mono); color: var(--v5-accent); }
.v5-article .v5-refs a { color: var(--v5-accent); text-decoration: none; }
.v5-article .v5-refs a:hover { text-decoration: underline; }

/* References fold (2026-07-27). lib/v5-refs-fold.php moves the list below the
   author card and re-shapes it as a closed <details>, so the end of an article
   is the author card — not twenty lines of bibliography. The .v5-refs class is
   kept on the <details> so the per-skin top rule and entry counter still apply;
   only the summary row and the body wrapper are new. Same +/- affordance as
   .v5-faq__item, plus a literal Ver/Ocultar label for older readers. */
.v5-article .v5-refs--fold { margin-top: var(--v5-s4); padding-top: 0; }
.v5-article .v5-refs__summary {
  display: grid; grid-template-columns: 1fr auto auto; align-items: center;
  gap: 2px var(--v5-s3); padding: 18px 0;
  font-size: var(--v5-meta); cursor: pointer; list-style: none;
}
.v5-article .v5-refs__summary::-webkit-details-marker { display: none; }
.v5-article .v5-refs__summary::marker { content: ""; }
.v5-article .v5-refs--fold .v5-refs__kicker { grid-column: 1; grid-row: 1; margin-bottom: 0; }
.v5-article .v5-refs__count { grid-column: 1; grid-row: 2; font-size: var(--v5-meta); line-height: 1.4; color: var(--v5-text-2); }
.v5-article .v5-refs__more {
  grid-column: 2; grid-row: 1 / -1; justify-self: end;
  font-family: var(--v5-mono); font-size: var(--v5-cap); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--v5-accent-deep);
}
.v5-article .v5-refs--fold .v5-refs__more-hide,
.v5-article .v5-refs--fold[open] .v5-refs__more-show { display: none; }
.v5-article .v5-refs--fold[open] .v5-refs__more-hide { display: inline; }
.v5-article .v5-refs__toggle { grid-column: 3; grid-row: 1 / -1; position: relative; width: 1.1em; height: 1.1em; }
.v5-article .v5-refs__toggle::before,
.v5-article .v5-refs__toggle::after { content: ""; position: absolute; background: var(--v5-ink); transition: transform 0.3s var(--v5-ease); }
.v5-article .v5-refs__toggle::before { left: 0; top: 50%; width: 100%; height: 2px; transform: translateY(-50%); }
.v5-article .v5-refs__toggle::after { left: 50%; top: 0; width: 2px; height: 100%; transform: translateX(-50%); }
.v5-article .v5-refs--fold[open] .v5-refs__toggle::after { transform: translateX(-50%) rotate(90deg); opacity: 0; }
.v5-article .v5-refs__summary:hover .v5-refs__kicker,
.v5-article .v5-refs__summary:hover .v5-refs__more { color: var(--v5-accent-deep); }
.v5-article .v5-refs__summary:focus-visible { outline: 2px solid var(--v5-accent); outline-offset: 4px; }
.v5-article .v5-refs__body { padding: 6px 0 24px; }
/* A fold is useless on paper: print every entry. */
@media print {
  .v5-article .v5-refs--fold > .v5-refs__body { display: block; }
  .v5-article .v5-refs__more, .v5-article .v5-refs__toggle { display: none; }
}

/* ---- Conflict guards (same (0,2,x) principle the probe validated) ------- */
.v5-article .v5-toc ol, .v5-article .v5-refs ol, .v5-article .v5-aside__contact ul { list-style: none; }
.v5-article .v5-toc li::before, .v5-article .v5-aside__contact li::before { content: none; }
.v5-article .v5-breadcrumb, .v5-article .v5-byline { list-style: none; }

/* ---- Responsive --------------------------------------------------------- */
@media (max-width: 1180px) {
  /* drop the section rail; keep a wide reading column (≤measure) + facts/contact aside, centered as a group */
  .v5-article .v5-grid { grid-template-columns: minmax(0, 1fr) 280px; justify-content: center; gap: 40px 48px; }
  .v5-article .v5-toc:not(.v5-toc--inline) { display: none; }
}
@media (max-width: 900px) {
  .v5-article .v5-grid { grid-template-columns: 1fr; gap: 40px; }
  .v5-article .v5-aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .v5-article.v5-doc { padding: 0 20px 64px; }
  .v5-article .v5-aside { grid-template-columns: minmax(0, 1fr); }
  .v5-article .v5-refs ol { grid-template-columns: 1fr; }
}

/* Floating WhatsApp CTA clearance (impeccable 2026-06-25). The global
   .whatsapp-button is position:fixed at right:20px, ~58px wide, so it owns the
   rightmost ~78px of the viewport. On the 2-column layout (>900px) the sticky
   .v5-aside reaches the viewport's right edge until the 1400px box earns its
   own side margins (~1492px+), so the float clips the rightmost sidebar-card
   text on every common laptop width (1280/1366/1440). Reserve right-edge
   clearance only inside that collision band; wider screens already clear it. */
@media (min-width: 901px) and (max-width: 1491px) {
  .v5-article.v5-doc { padding-right: 88px; }
}

/* Mobile/tablet V5 articles already expose WhatsApp in the site header and in
   contextual article CTAs. Remove the redundant global fixed button below the
   two-column breakpoint so it cannot occupy the FAQ toggle/control lane. */
@media (max-width: 900px) {
  body.v5-post .whatsapp-button { display: none; }
}

/* density: trim the breadcrumb-area void between site header and hero (impeccable 2026-06-06) */
.v5-article .v5-breadcrumb { padding: 2px 0 8px; }

/* Desktop: breadcrumb (left) shares one line with the hero kicker (right),
   instead of stacking into two rows. Mobile: drop the breadcrumb entirely.
   The breadcrumb floats onto the kicker's first line; the H1 clears below.
   (impeccable 2026-06-29) */
@media (min-width: 768px) {
  .v5-article .v5-breadcrumb { float: left; margin: 0; padding: 14px 0 0; min-height: 0; }
  .v5-article .v5-hero { padding-top: 14px; }
  .v5-article .v5-hero__kicker { text-align: right; margin: 0 0 24px; }
  .v5-article .v5-hero__title { clear: both; }
}
@media (max-width: 767px) {
  .v5-article .v5-breadcrumb { display: none; }
}
.v5-article .v5-hero__title { margin: 0; }
/* ============================================================================
   V5 layout VARIATIONS — so 600 posts aren't one template.
   Share the block kit + base atoms (breadcrumb, hero, byline, section, blocks,
   end matter, refs, aside) from v5-layout.css. Only the MACRO-structure differs.
   Same isolation contract: px, .v5-article scoping (0,2,x), conflict-proof.

   Pick by post type:
     broadsheet (base, blog-layout-2026) — standard deep articles (rail + main + aside)
     essay   — focused / narrative / educational (centered single column)
     compact — Q&A / short symptom / answer-first (main + aside, dense)
     feature — pillar / cornerstone / cluster landing (full-bleed, magazine)
   Load AFTER v5-layout.css.
   ========================================================================== */

/* ===========================================================================
   B · ESSAY — centered single column, centered hero, inline TOC
   =========================================================================== */
.v5-article.v5-doc--essay { max-width: 1240px; }
.v5-article.v5-doc--essay .v5-hero { text-align: center; border-bottom: 0; padding-bottom: var(--v5-s3); }
.v5-article.v5-doc--essay .v5-hero__title { max-width: none; margin-inline: auto; }
.v5-article.v5-doc--essay .v5-hero__dek { max-width: var(--v5-measure); margin-inline: auto; }
.v5-article.v5-doc--essay .v5-byline { justify-content: center; }

.v5-article .v5-toc--inline { max-width: var(--v5-measure); margin: var(--v5-s4) auto 0; padding: var(--v5-s2) 0; border-top: 1px solid var(--v5-line); border-bottom: 1px solid var(--v5-line); }
.v5-article .v5-toc--inline ol { display: flex; flex-wrap: wrap; gap: var(--v5-s2) var(--v5-s3); }
.v5-article .v5-toc--inline a { display: inline-flex; gap: 7px; align-items: baseline; text-decoration: none; }
.v5-article .v5-toc--inline a span { font-family: var(--v5-mono); font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--v5-text-2); }
.v5-article .v5-toc--inline a:hover span { color: var(--v5-ink); }

.v5-article .v5-essay { max-width: var(--v5-measure); margin: var(--v5-s5) auto 0; }
.v5-article .v5-essay > * + * { margin-top: var(--v5-s5); }   /* résumé / section breaks: 64 */

/* ===========================================================================
   C · COMPACT — main + sticky right aside (2-col), small hero, denser, answer-first
   =========================================================================== */
.v5-article.v5-doc--compact { max-width: 1400px; } /* widened 1120->1320->1400 (2026-06-11, canvas raised to 1400; user: compact symptom/differential pages outgrew the short-Q&A shell; main col 712->912, cards breathe, prose self-caps at 88ch). */
.v5-article.v5-doc--compact .v5-hero { padding: 8px 0 24px; }
.v5-article.v5-doc--compact .v5-hero__title { font-size: clamp(30px, 4vw, 50px); max-width: 38ch; text-wrap: pretty; } /* override base text-wrap:balance — on compact titles balance split the H1 into two ~53%-width stubs against a near-full-width dek; pretty fills the first line (~91%) and still avoids last-line orphans (2026-06-29). */
.v5-article.v5-doc--compact .v5-hero__dek { font-size: var(--v5-h3); margin-top: var(--v5-s3); }

.v5-article .v5-grid--compact { grid-template-columns: minmax(0, 1fr) 280px; gap: var(--v5-s5); margin-top: var(--v5-s4); }
/* Place the named children EXPLICITLY so the 2-col Compact grid is source-order-independent:
   .v5-main always takes the wide content track, .v5-aside the 280px facts rail. A stray
   <nav class="v5-toc"> (only the Broadsheet layout has a TOC rail) then spans full width as a top
   band instead of stealing the wide track and shoving .v5-main into the narrow 280px column, which
   rendered content as vertical one-word-per-line. */
.v5-article .v5-grid--compact > .v5-main { grid-column: 1; }
.v5-article .v5-grid--compact > .v5-aside { grid-column: 2; }
.v5-article .v5-grid--compact > .v5-toc { grid-column: 1 / -1; margin-bottom: var(--v5-s2); }
.v5-article.v5-doc--compact .v5-main > * + * { margin-top: var(--v5-s4); }       /* breaks: 40 */
.v5-article.v5-doc--compact .v5-section > * + * { margin-top: var(--v5-s3); }    /* within: 24 (denser) */
/* answer-first: make the résumé box the visual anchor */
.v5-article.v5-doc--compact .v5-takeaway { background: var(--v5-ink); border-color: var(--v5-ink); }
.v5-article.v5-doc--compact .v5-takeaway__kicker { color: oklch(76% 0.11 32); } /* coral on ink: dark-surface kicker rule */
.v5-article.v5-doc--compact .v5-takeaway li { color: var(--v5-surface); }
.v5-article.v5-doc--compact .v5-takeaway li :is(strong, b, a) { color: var(--v5-surface); }
.v5-article.v5-doc--compact .v5-takeaway li::before { background: var(--v5-accent); }

/* ===========================================================================
   D · FEATURE — full-bleed image, oversized title, 2-col standfirst, wide body
   =========================================================================== */
.v5-article.v5-doc--feature { max-width: 1240px; }
.v5-article .v5-feature-hero { padding: 8px 0 var(--v5-s4); }
.v5-article .v5-feature-hero__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-accent); margin-bottom: var(--v5-s3); }
.v5-article .v5-feature-hero__title { font-family: var(--v5-font); font-size: clamp(38px, 6.5vw, 94px); font-weight: 800; letter-spacing: -0.035em; line-height: 0.94; color: var(--v5-ink); text-wrap: balance; }
.v5-article .v5-feature-band { margin-top: var(--v5-s4); }
.v5-article .v5-feature-band .v5-ph { aspect-ratio: 24 / 9; }
.v5-article .v5-feature-band figcaption { margin-top: var(--v5-s2); font-family: var(--v5-mono); font-size: var(--v5-cap); color: var(--v5-text-2); }

.v5-article .v5-standfirst { display: grid; grid-template-columns: 1.5fr 1fr; gap: var(--v5-s5); margin-top: var(--v5-s5); padding-top: var(--v5-s4); border-top: 2px solid var(--v5-ink); }
.v5-article .v5-standfirst__lead { font-family: var(--v5-font); font-size: var(--v5-lede); line-height: 1.45; color: var(--v5-ink); }
.v5-article .v5-standfirst__lead .v5-byline { margin-top: var(--v5-s3); }

.v5-article .v5-feature-body { max-width: 74ch; margin: var(--v5-s5) auto 0; }
.v5-article .v5-feature-body > * + * { margin-top: var(--v5-s5); }
/* pull quote breaks wider than the reading measure in feature */
.v5-article .v5-feature-body .v5-quote { max-width: none; }
.v5-article .v5-feature-body .v5-quote p { font-size: clamp(28px, 3.4vw, 44px); }

/* ===========================================================================
   E · DOSSIER — chaptered long-read: reading-progress bar, abstract, section rail,
   big chapter numerals, wide column (no right aside). For 1500+ word guides.
   =========================================================================== */
.v5-article.v5-doc--dossier { max-width: 1400px; }
.v5-article .v5-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 50; background: transparent; }
.v5-article .v5-progress > i { display: block; height: 100%; width: 0; background: var(--v5-accent); }
/* Abstract/"Sumário": read like a body paragraph, not a tall narrow block — full
   measure (was 72ch → wrapped tall), looser line-height + paragraph spacing.
   No border-top: the hero's full-width 2px rule directly above is the single
   post-header divider (a 2px rule here doubled it). */
.v5-article .v5-abstract { max-width: var(--v5-measure); margin-top: var(--v5-s4); padding: var(--v5-s4) 0; border-bottom: 1px solid var(--v5-line); }
.v5-article .v5-abstract__kicker { font-family: var(--v5-mono); font-size: var(--v5-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--v5-accent); margin-bottom: var(--v5-s3); }
.v5-article .v5-abstract p { font-family: var(--v5-font); font-size: 18px; line-height: 1.75; color: var(--v5-ink); margin: 0; }
.v5-article .v5-abstract p + p { margin-top: var(--v5-s2); }
.v5-article .v5-grid--dossier { grid-template-columns: minmax(0, 1fr) 280px; gap: var(--v5-s5); }
.v5-article .v5-chapter { display: grid; grid-template-columns: auto 1fr; gap: var(--v5-s4); align-items: start; margin-top: var(--v5-s6); padding-top: var(--v5-s3); border-top: 2px solid var(--v5-ink); }
.v5-article .v5-chapter__n { font-family: var(--v5-mono); font-size: clamp(40px, 5vw, 72px); font-weight: 300; line-height: 0.8; letter-spacing: -0.03em; color: var(--v5-accent); }
.v5-article .v5-chapter__t { font-family: var(--v5-font); font-size: var(--v5-h2); font-weight: 700; letter-spacing: -0.025em; line-height: 1.05; color: var(--v5-ink); text-wrap: balance; }

/* ===========================================================================
   F · JOURNAL — annotated long-read: reading column + margin sidenotes
   (definitions, citations, pearls) beside each section. For dense long-form.
   =========================================================================== */
.v5-article.v5-doc--journal { max-width: 1180px; }
.v5-article .v5-jsection { display: grid; grid-template-columns: minmax(0, 1fr) 248px; gap: var(--v5-s5); margin-top: var(--v5-s6); padding-top: var(--v5-s3); border-top: 2px solid var(--v5-ink); }
.v5-article .v5-jsection:first-of-type { margin-top: var(--v5-s5); padding-top: 0; border-top: 0; }
.v5-article .v5-jbody { min-width: 0; }
.v5-article .v5-jbody > * + * { margin-top: var(--v5-s4); }
.v5-article .v5-jnotes { display: grid; gap: var(--v5-s3); align-content: start; }
.v5-article .v5-note { border-top: 1px solid var(--v5-line); padding-top: var(--v5-s2); }
.v5-article .v5-note__kicker { font-family: var(--v5-mono); font-size: 18px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--v5-accent-deep); margin-bottom: 6px; }
.v5-article .v5-note p { font-size: 13px; line-height: 1.5; color: var(--v5-text-2); }
.v5-article .v5-note cite { display: block; margin-top: 6px; font-style: normal; font-family: var(--v5-mono); font-size: 12.5px; color: var(--v5-text-2); }

/* ===========================================================================
   Responsive (variants)
   =========================================================================== */
@media (max-width: 1024px) {
  .v5-article .v5-grid--dossier { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  /* COMPACT must stack main + aside on mobile. Without this its 2-col grid
     (minmax(0,1fr) 280px) persists at phone widths and the main column collapses,
     wrapping text one word per line and crushing tables to a sliver. */
  .v5-article .v5-grid--compact { grid-template-columns: 1fr; }
  .v5-article .v5-grid--compact > .v5-main, .v5-article .v5-grid--compact > .v5-aside, .v5-article .v5-grid--compact > .v5-toc { grid-column: auto; }
}
@media (max-width: 860px) {
  .v5-article .v5-standfirst { grid-template-columns: 1fr; gap: var(--v5-s4); }
  .v5-article .v5-jsection { grid-template-columns: 1fr; gap: var(--v5-s3); }
  .v5-article .v5-chapter { grid-template-columns: 1fr; gap: var(--v5-s1); }
}
@media (max-width: 680px) {
  .v5-article .v5-toc--inline ol { gap: var(--v5-s1) var(--v5-s3); }
  .v5-article.v5-doc--feature .v5-feature-band .v5-ph { aspect-ratio: 16 / 9; }
}


/* Wide-bleed (2026-06-10, user: essay too narrow): prose stays at the measure,
   visual blocks break out to ~1100px on large screens. */
@media (min-width: 1280px) {
  .v5-doc--essay .v5-essay .v5-figure,
  .v5-doc--essay .v5-essay .v5-decision,
  .v5-doc--essay .v5-essay .v5-mf,
  .v5-doc--essay .v5-essay .v5-bento,
  .v5-doc--essay .v5-essay .v5-statband,
  .v5-doc--essay .v5-essay .v5-biblio,
  .v5-doc--essay .v5-essay .v5-cta,
  .v5-doc--essay .v5-essay .v5-bodymap,
  .v5-doc--essay .v5-essay .v5-symptomcheck,
  .v5-doc--essay .v5-essay .v5-study,
  .v5-doc--essay .v5-essay .v5-table-scroll,
  .v5-doc--essay .v5-essay table.v5-table { margin-inline: calc((var(--v5-measure) - 1100px) / 2); }
  /* inside the scroll wrapper the wrapper itself breaks out; a negative margin on the
     table would pull it past the scrollport's left edge, clipping the first column */
  .v5-doc--essay .v5-essay .v5-table-scroll table.v5-table { margin-inline: 0; }
}
/* ============================================================================
   V5 — WordPress integration layer (theme-only; NOT part of the portable kit)
   ----------------------------------------------------------------------------
   Lets the V5 reading column use the full site width (edge-aligned with the
   ~1180px masthead/footer) instead of the theme's default ~990px .entry-content
   column — but ONLY for the layouts that benefit:
     - BROADSHEET  <article class="v5-article v5-doc">          (no variant)
     - COMPACT     <article class="v5-article v5-doc v5-doc--compact">
   The ESSAY / DOSSIER / FEATURE / JOURNAL variants self-cap their measure and
   read correctly inside the theme's default column, so they are intentionally
   excluded from the wide shell.

   Self-gating via :has(): non-V5 posts never contain .v5-doc, so they are never
   affected. Selectors are scoped tighter than the theme's .entry-content rule,
   so no !important is needed. This is the production equivalent of the
   preview-shell <style> that the ?v5_preview= mu-plugin injects, so V5 posts
   render the same live as they do in preview.
   ========================================================================== */

.hong-swiss-modern .content:has(.v5-doc:not([class*="v5-doc--"]), .v5-doc--compact),
.hong-swiss-modern .content:has(.v5-doc:not([class*="v5-doc--"]), .v5-doc--compact) .entry,
.hong-swiss-modern .content:has(.v5-doc:not([class*="v5-doc--"]), .v5-doc--compact) .entry .entry-content {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}
/**
 * V5 article skins. Skin 0 intentionally has no overrides.
 * These rules change component surfaces and borders only; typography, lightness
 * families, and conversion controls retain the core V5 contract.
 */

/* Every skin keeps dark text and conversion controls at their required floors. */
[class*="v5-skin-"] .v5-article .v5-redflags .v5-redflags__kicker{font-size:15px}
[class*="v5-skin-"] .v5-article .v5-cta .v5-cta__kicker{font-size:18px}
[class*="v5-skin-"] .v5-article .v5-cta a.v5-cta__tel{font-size:16px}
[class*="v5-skin-"] .v5-article .v5-aside__contact a.v5-aside__directions{font-size:15px}
[class*="v5-skin-"] .v5-article .v5-cta--early__rsrc{font-size:15px}
[class*="v5-skin-"] .v5-article .v5-seal__kicker{font-size:15px}

/* Skin 1: editorial rules and borderless paper cards. */
.v5-skin-1 .v5-article :is(.v5-author,.v5-spec,.v5-vantagens){background:var(--v5-surface);border:0;border-top:2px solid var(--v5-ink);border-bottom:1px solid var(--v5-line);border-radius:0;box-shadow:none}
.v5-skin-1 .v5-article .v5-redflags{border-left:6px solid var(--v5-accent);border-top:1px solid var(--v5-surface);border-radius:0;box-shadow:none}
.v5-skin-1 .v5-article .v5-takeaway{border:0;border-top:2px solid var(--v5-ink);border-bottom:1px solid var(--v5-line);border-radius:0;box-shadow:none}
.v5-skin-1 .v5-article .v5-mechgrid .v5-mechcard__media{background:var(--v5-surface);border:0;border-bottom:2px solid var(--v5-ink)}
.v5-skin-1 .v5-article .v5-biblio__card:nth-child(4n+1){--biblio-bg:var(--v5-slate)}
.v5-skin-1 .v5-article .v5-biblio__card:nth-child(4n+2){--biblio-bg:var(--v5-paper)}
.v5-skin-1 .v5-article .v5-biblio__card:nth-child(4n+3){--biblio-bg:var(--v5-wash)}
.v5-skin-1 .v5-article .v5-biblio__card:nth-child(4n+4){--biblio-bg:var(--v5-sage)}
.v5-skin-1 .v5-article .v5-refs{border-top:1px solid var(--v5-ink)}
.v5-skin-1 .v5-article .v5-refs li::before{color:var(--v5-ink)}
.v5-skin-1 .v5-article :is(.v5-cta,.v5-cta--early){border-top:1px solid var(--v5-accent);border-left:6px solid var(--v5-accent)}
.v5-skin-1 .v5-article .v5-seal__plate{background:var(--v5-surface-2)}

/* Skin 2: warm paper, soft corners, quiet elevation. */
.v5-skin-2 .v5-article :is(.v5-author,.v5-spec,.v5-vantagens){background:var(--v5-paper);border:1px solid var(--v5-line);border-radius:12px;box-shadow:0 18px 34px -28px var(--v5-ink)}
.v5-skin-2 .v5-article .v5-redflags{border-top:6px solid var(--v5-accent);border-radius:10px;box-shadow:0 18px 34px -24px var(--v5-ink)}
.v5-skin-2 .v5-article .v5-takeaway{border:1px solid var(--v5-line);border-radius:12px;box-shadow:0 18px 34px -28px var(--v5-ink)}
.v5-skin-2 .v5-article .v5-mechgrid .v5-mechcard__media{background:var(--v5-paper);border:1px solid var(--v5-line);border-radius:10px}
.v5-skin-2 .v5-article .v5-biblio__card:nth-child(4n+1){--biblio-bg:var(--v5-wash)}
.v5-skin-2 .v5-article .v5-biblio__card:nth-child(4n+2){--biblio-bg:var(--v5-sage)}
.v5-skin-2 .v5-article .v5-biblio__card:nth-child(4n+3){--biblio-bg:var(--v5-paper)}
.v5-skin-2 .v5-article .v5-biblio__card:nth-child(4n+4){--biblio-bg:var(--v5-slate)}
.v5-skin-2 .v5-article .v5-refs{border-top:3px solid var(--v5-accent)}
.v5-skin-2 .v5-article .v5-refs li::before{color:var(--v5-accent-deep)}
.v5-skin-2 .v5-article :is(.v5-cta,.v5-cta--early){border-top:6px solid var(--v5-accent);border-radius:10px}
.v5-skin-2 .v5-article .v5-seal__plate{background:var(--v5-paper)}

/* Skin 3: ink-weighted outlines while every block keeps its original lightness. */
.v5-skin-3 .v5-article :is(.v5-takeaway,.v5-author,.v5-spec,.v5-vantagens){border:2px solid var(--v5-ink);border-top:5px solid var(--v5-accent);border-radius:0;box-shadow:none}
.v5-skin-3 .v5-article .v5-redflags{border:2px solid var(--v5-accent);border-top-width:8px;border-radius:0;box-shadow:inset 0 0 0 2px var(--v5-ink)}
.v5-skin-3 .v5-article .v5-mechgrid .v5-mechcard__media{border:3px solid var(--v5-ink);box-shadow:inset 0 0 0 1px var(--v5-accent)}
.v5-skin-3 .v5-article .v5-biblio__card:nth-child(4n+1){--biblio-bg:var(--v5-sage)}
.v5-skin-3 .v5-article .v5-biblio__card:nth-child(4n+2){--biblio-bg:var(--v5-slate)}
.v5-skin-3 .v5-article .v5-biblio__card:nth-child(4n+3){--biblio-bg:var(--v5-wash)}
.v5-skin-3 .v5-article .v5-biblio__card:nth-child(4n+4){--biblio-bg:var(--v5-paper)}
.v5-skin-3 .v5-article .v5-refs{border-top:4px solid var(--v5-ink)}
.v5-skin-3 .v5-article .v5-refs li::before{color:var(--v5-accent-2)}
.v5-skin-3 .v5-article :is(.v5-cta,.v5-cta--early){border-top:6px solid var(--v5-accent);border-bottom:2px solid var(--v5-accent)}
.v5-skin-3 .v5-article .v5-seal__plate{background:var(--v5-slate);box-shadow:inset 0 0 0 2px var(--v5-ink)}

/* Skin 4: green-wash proof surfaces and sharp clinical plates. */
.v5-skin-4 .v5-article :is(.v5-author,.v5-spec,.v5-vantagens){background:oklch(95.5% 0.020 150);border:2px solid var(--v5-ink);border-radius:0;box-shadow:none}
.v5-skin-4 .v5-article .v5-redflags{border:2px solid var(--v5-accent);border-left-width:8px;border-radius:0;box-shadow:inset 0 -2px 0 var(--v5-accent)}
.v5-skin-4 .v5-article .v5-takeaway{border:2px solid var(--v5-ink);border-radius:0;box-shadow:none}
.v5-skin-4 .v5-article .v5-mechgrid .v5-mechcard__media{background:oklch(95.5% 0.020 150);border:2px solid var(--v5-ink)}
.v5-skin-4 .v5-article .v5-biblio__card:nth-child(4n+1){--biblio-bg:var(--v5-sage)}
.v5-skin-4 .v5-article .v5-biblio__card:nth-child(4n+2){--biblio-bg:var(--v5-wash)}
.v5-skin-4 .v5-article .v5-biblio__card:nth-child(4n+3){--biblio-bg:var(--v5-slate)}
.v5-skin-4 .v5-article .v5-biblio__card:nth-child(4n+4){--biblio-bg:var(--v5-paper)}
.v5-skin-4 .v5-article .v5-refs{border-top:3px solid var(--v5-go)}
.v5-skin-4 .v5-article .v5-refs li::before{color:var(--v5-go)}
.v5-skin-4 .v5-article :is(.v5-cta,.v5-cta--early){border-top:6px solid var(--v5-go);box-shadow:inset 0 -2px 0 var(--v5-go)}
.v5-skin-4 .v5-article .v5-seal__plate{background:oklch(95.5% 0.020 150)}

/* ============================================================================
   /guia-remedios-para-dor/ (post 33303) — Apple-style redesign (2026-07-24)
   Scoped entirely to body.postid-33303. Every class below (.v5-classgrid,
   .v5-symptom-first, .v5-medtools, .v5-medlegend) is bespoke to this page and
   does not exist in post_content anywhere else — safe to design freely.
   ============================================================================ */

/* ---- Larger Apple-style hero (this page only; does NOT touch shared --v5-h1) */
body.postid-33303 .v5-article .v5-hero { padding: 8px 0 48px; border-bottom: 0; }
body.postid-33303 .v5-article .v5-hero__kicker { font-size: 13px; letter-spacing: 0.18em; color: var(--v5-accent); }
body.postid-33303 .v5-article .v5-hero__title { font-size: clamp(42px, 6.6vw, 92px); font-weight: 800; letter-spacing: -0.04em; line-height: 0.98; max-width: 22ch; }
body.postid-33303 .v5-article .v5-hero__dek { font-size: clamp(20px, 2vw, 26px); max-width: 46ch; margin-top: 22px; color: var(--v5-text); }
body.postid-33303 .v5-article .v5-byline--photo { align-items: center; }
body.postid-33303 .v5-article .v5-byline__avatar { width: 44px; height: 44px; border-radius: 999px; object-fit: cover; margin-right: -6px; border: 1px solid var(--v5-line); }

/* ---- Symptom-first entry tiles ---------------------------------------- */
body.postid-33303 .v5-article .v5-symptom-first { max-width: var(--v5-measure); margin: 40px 0 0; }
body.postid-33303 .v5-article .v5-symptom-first__kicker { font-family: var(--v5-mono); font-size: 15px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--v5-text-2); margin: 0 0 14px; }
body.postid-33303 .v5-article .v5-symptom-first__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
body.postid-33303 .v5-article .v5-symptom-first__tile {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 18px 20px; background: var(--v5-paper); border: 1px solid oklch(90% 0.018 80);
  border-radius: 14px; text-decoration: none; box-shadow: 0 1px 2px oklch(20% 0.02 95 / 0.05);
  transition: transform 0.18s var(--v5-ease), box-shadow 0.22s var(--v5-ease), border-color 0.22s var(--v5-ease), background 0.22s var(--v5-ease);
}
body.postid-33303 .v5-article .v5-symptom-first__tile:hover, body.postid-33303 .v5-article .v5-symptom-first__tile:focus-visible {
  transform: translateY(-2px); border-color: var(--v5-accent); box-shadow: 0 12px 22px -14px oklch(20% 0.02 95 / 0.35);
  background: color-mix(in oklch, var(--v5-paper), var(--v5-ink) 4%);
}
body.postid-33303 .v5-article .v5-symptom-first__label { font-family: var(--v5-font); font-size: 15.5px; font-weight: 650; color: var(--v5-ink); line-height: 1.25; }
body.postid-33303 .v5-article .v5-symptom-first__go { color: var(--v5-accent); font-size: 16px; transition: transform 0.18s var(--v5-ease); }
body.postid-33303 .v5-article .v5-symptom-first__tile:hover .v5-symptom-first__go { transform: translateX(2px); }
body.postid-33303 .v5-article .v5-symptom-first__tile--all { grid-column: 1 / -1; background: var(--v5-ink); border-color: var(--v5-ink); }
body.postid-33303 .v5-article .v5-symptom-first__tile--all .v5-symptom-first__label { color: oklch(98% 0.01 95); }
body.postid-33303 .v5-article .v5-symptom-first__tile--all .v5-symptom-first__go { color: var(--v5-accent); }
body.postid-33303 .v5-article .v5-symptom-first__tile--all:hover { background: var(--v5-accent); border-color: var(--v5-accent); }
@media (max-width: 900px) { body.postid-33303 .v5-article .v5-symptom-first__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { body.postid-33303 .v5-article .v5-symptom-first__grid { grid-template-columns: 1fr; } }

/* ---- Atlas: table -> tile grid ----------------------------------------- */
body.postid-33303 .v5-article .v5-classgrid-wrap { max-width: var(--v5-measure); }
body.postid-33303 .v5-article .v5-classgrid__caption { font-family: var(--v5-font); font-size: 16px; font-weight: 650; color: var(--v5-ink); margin: 0 0 16px; }
body.postid-33303 .v5-article .v5-classgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body.postid-33303 .v5-article .v5-classcard {
  --cc-bg: var(--v5-paper); --cc-edge: oklch(90% 0.018 80);
  background: var(--cc-bg); border: 1px solid var(--cc-edge); border-radius: 14px;
  padding: 24px 26px; box-shadow: 0 1px 2px oklch(20% 0.02 95 / 0.05);
  transition: box-shadow 0.22s var(--v5-ease), border-color 0.22s var(--v5-ease);
}
body.postid-33303 .v5-article .v5-classcard:nth-child(3n+2) { --cc-bg: var(--v5-sage); --cc-edge: oklch(87% 0.03 160); }
body.postid-33303 .v5-article .v5-classcard:nth-child(3n+3) { --cc-bg: var(--v5-slate); --cc-edge: oklch(88% 0.03 245); }
body.postid-33303 .v5-article .v5-classcard:nth-child(3n+1):nth-child(n+7) { --cc-bg: var(--v5-wash); --cc-edge: oklch(88% 0.05 28); }
body.postid-33303 .v5-article .v5-classcard:hover { border-color: var(--v5-accent); box-shadow: 0 14px 26px -18px oklch(20% 0.02 95 / 0.4); }
body.postid-33303 .v5-article .v5-classcard__name { font-family: var(--v5-font); font-size: 20px; font-weight: 700; color: var(--v5-ink); margin: 0 0 10px; line-height: 1.15; }
body.postid-33303 .v5-article .v5-classcard__drugs { font-size: 16px; line-height: 1.5; color: var(--v5-text); margin: 0 0 14px; padding-bottom: 14px; border-bottom: 1px solid var(--cc-edge); }
body.postid-33303 .v5-article .v5-classcard__drugs a { color: var(--v5-ink); font-weight: 650; text-decoration-color: var(--cc-edge); text-underline-offset: 2px; }
body.postid-33303 .v5-article .v5-classcard__drugs a:hover { color: var(--v5-accent); }
body.postid-33303 .v5-article .v5-classcard__when, body.postid-33303 .v5-article .v5-classcard__care { font-size: 16px; line-height: 1.55; color: var(--v5-text); margin: 0 0 8px; }
body.postid-33303 .v5-article .v5-classcard__care { margin-bottom: 0; }
body.postid-33303 .v5-article .v5-classcard__when b, body.postid-33303 .v5-article .v5-classcard__care b {
  display: inline-block; font-family: var(--v5-mono); font-size: 12.5px; font-weight: 800; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--v5-accent-deep); margin-right: 6px;
}
@media (max-width: 700px) { body.postid-33303 .v5-article .v5-classgrid { grid-template-columns: 1fr; } }

/* ---- Cartões: search input + class-legend chips ------------------------ */
body.postid-33303 .v5-article .v5-medtools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 4px 0 20px; }
body.postid-33303 .v5-article .v5-medsearch {
  flex: 1 1 240px; padding: 12px 18px; border: 1px solid oklch(90% 0.018 80); border-radius: 999px;
  background: var(--v5-paper); font-family: var(--v5-font); font-size: 15px; color: var(--v5-ink);
  transition: border-color 0.2s var(--v5-ease), box-shadow 0.2s var(--v5-ease);
}
body.postid-33303 .v5-article .v5-medsearch:focus { outline: none; border-color: var(--v5-accent); box-shadow: 0 0 0 3px oklch(54% 0.205 28 / 0.12); }
body.postid-33303 .v5-article .v5-medsearch::placeholder { color: var(--v5-text-2); }
body.postid-33303 .v5-article .v5-medlegend { display: flex; flex-wrap: wrap; gap: 8px; }
body.postid-33303 .v5-article .v5-medlegend__chip {
  padding: 8px 14px; border-radius: 999px; background: oklch(20% 0.004 95 / 0.05);
  font-family: var(--v5-mono); font-size: 13px; font-weight: 700; letter-spacing: 0.04em;
  color: var(--v5-text); text-decoration: none; white-space: nowrap;
  transition: background 0.2s var(--v5-ease), color 0.2s var(--v5-ease);
}
body.postid-33303 .v5-article .v5-medlegend__chip:hover, body.postid-33303 .v5-article .v5-medlegend__chip:focus-visible { background: var(--v5-ink); color: oklch(98% 0.01 95); }
body.postid-33303 .v5-article .v5-medsearch__empty { font-size: 15px; color: var(--v5-text-2); padding: 24px 0; text-align: center; }

/* ---- Mechanism cards: text-only variant of the shared .v5-mechgrid ----- */
body.postid-33303 .v5-article .v5-mechgrid--text { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.postid-33303 .v5-article .v5-mechgrid--text .v5-mechcard {
  padding: 22px 24px; background: var(--v5-paper); border: 1px solid oklch(90% 0.018 80); border-radius: 14px;
}
@media (max-width: 900px) { body.postid-33303 .v5-article .v5-mechgrid--text { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { body.postid-33303 .v5-article .v5-mechgrid--text { grid-template-columns: 1fr; } }

/* ---- Escada: decorative-only polish of the shared .v5-ladder ----------- */
body.postid-33303 .v5-article .v5-ladder { border-top: 0; display: flex; flex-direction: column; gap: 10px; }
body.postid-33303 .v5-article .v5-ladder__step {
  display: grid; grid-template-columns: 56px 1fr; gap: 18px; align-items: start;
  padding: 20px 22px; background: var(--v5-paper); border: 1px solid oklch(90% 0.018 80); border-radius: 14px; border-bottom: 1px solid oklch(90% 0.018 80);
}
body.postid-33303 .v5-article .v5-ladder__n { font-size: 26px; font-weight: 800; color: var(--v5-accent); line-height: 1; }
