.article-hero h1 span { display: block; }
.flow-article a:not(.button) { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.flow-visual { margin: 0 0 34px; }
.flow-visual img { width: 100%; height: auto; }
.flow-visual figcaption { margin-top: 10px; color: var(--ink-soft); font-size: 13px; line-height: 1.85; }
.flow-article .flow-steps { margin: 28px 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.flow-steps li { display: grid; grid-template-columns: 50px 1fr; gap: 20px; padding: 24px 0; }
.flow-number { color: var(--green); font-size: 26px; font-weight: 700; line-height: 1.5; }
.flow-article .flow-steps h3 { margin: 0 0 8px; }
.flow-article .flow-steps p { margin: 0; }
.flow-table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 24px 0; }
.flow-table caption { margin-bottom: 12px; text-align: left; font-size: 14px; line-height: 1.8; font-weight: 600; }
.flow-table th, .flow-table td { border: 1px solid var(--line); padding: 16px; text-align: left; vertical-align: top; font-size: 15px; line-height: 1.9; overflow-wrap: anywhere; }
.flow-table th { color: var(--green); background: rgba(255,255,255,.35); }
.flow-table th:first-child { width: 23%; }
.flow-table th:nth-child(2) { width: 28%; }
.flow-table td { color: var(--ink-soft); }
.flow-handoff, .flow-message, .flow-sources { padding: 26px; border: 1px solid var(--line); background: rgba(255,255,255,.34); margin: 26px 0; }
.flow-article .flow-handoff h3, .flow-article .flow-message h3 { margin-top: 0; }
.flow-handoff dl { margin: 20px 0; }
.flow-handoff dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 18px; padding: 18px 0; border-top: 1px solid var(--line); font-size: 15px; line-height: 1.9; }
.flow-handoff dt { color: var(--green); font-weight: 700; }
.flow-handoff dd { margin: 0; color: var(--ink-soft); }
.flow-article .flow-handoff > p, .flow-article .flow-message > p:last-child { margin-bottom: 0; }
.flow-message > div { margin: 20px 0; padding: 18px; border: 1px solid var(--line); }
.flow-message strong { color: var(--green); font-size: 15px; line-height: 1.8; }
.flow-article .flow-message > div p { margin: 10px 0 0; }
.flow-article .flow-small { font-size: 13px; line-height: 1.9; }
.flow-article .flow-sources h2 { margin-top: 0; font-size: 26px; }
.flow-source-card { display: block; border-top: 1px solid var(--line); padding: 20px 0; }
.flow-source-card:last-child { padding-bottom: 0; }
.flow-source-card strong { font-size: 16px; line-height: 1.8; }
.flow-source-card span { display: block; margin-top: 7px; color: var(--ink-soft); font-size: 14px; line-height: 1.85; }
@media (max-width: 600px) {
  .flow-article h2 { font-size: 26px; }
  .flow-steps li { grid-template-columns: 35px 1fr; gap: 12px; }
  .flow-number { font-size: 22px; }
  .flow-handoff, .flow-message, .flow-sources { padding: 20px; }
  .flow-table th, .flow-table td { padding: 10px 8px; font-size: 14px; line-height: 1.85; }
  .flow-table th:first-child { width: 23%; }
  .flow-table th:nth-child(2) { width: 28%; }
  .flow-handoff dl > div { grid-template-columns: 92px 1fr; gap: 12px; }
  .flow-message > div { padding: 14px; }
  .flow-article .cta { padding: 24px; }
}

.flow-article a.flow-source-card { text-decoration: none; }
.flow-source-card strong { text-decoration: underline; text-underline-offset: 3px; }
