.official-host { margin: var(--s4) 0; display: grid; gap: var(--s3); }
.official-line { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; margin: 0; }
.official-line--ended { color: var(--ink-3); }
.official-note { color: var(--ink-2); font-size: var(--fs-sm); }
.official-provided { border: 1px solid var(--line); border-left: 4px solid var(--green); border-radius: var(--radius-sm); padding: var(--s4); background: #fff; display: grid; gap: var(--s3); overflow-wrap: anywhere; }
.official-provided__label { margin: 0; font-weight: 700; color: var(--ink-2); font-size: var(--fs-sm); }
.official-provided__portrait { width: 96px; height: 120px; object-fit: cover; border-radius: 8px; }
.official-provided p { margin: 0; }
.official-provided__list { margin: 0; padding-left: 1.2em; }
.official-badge { display: inline-block; font-weight: 700; padding: 6px 12px; border-radius: 999px; background: var(--green-wash); color: #1f4d36; border: 1px solid var(--green); overflow-wrap: anywhere; }
.official-badge--ended { background: var(--accent-wash); color: var(--ink-2); border-color: var(--line-2); }

/* OFFICIALS-2: badge on a resident post card */
.resident-official { display: inline-block; font-weight: 600; font-size: var(--fs-sm); color: var(--accent-ink, #1f4d3b); background: var(--accent-wash, #eef4f1); border-radius: 999px; padding: 1px 10px; overflow-wrap: anywhere; }
.resident-official--ended { font-weight: 400; color: var(--ink-3, #555); background: transparent; border: 1px solid var(--line, #ccc); }
