/* Public record: the campaign's blue and gold, with a quiet reading column. */
.article-page { background:#faf9f5; background-image:none; }
.article-preview { padding:.4rem var(--gut); text-align:center; background:#e9e7dc; color:var(--ink-soft); font-size:.75rem; }
.article-hero { background:#173b60; color:var(--paper); border-bottom:4px solid var(--gold-fill); }
.article-hero__inner { max-width:1080px; padding-block:clamp(1.8rem,3.5vw,3rem) 2.3rem; }
.article-breadcrumb { display:flex; align-items:center; gap:.8rem; font-size:.88rem; color:#d4deea; }
.article-breadcrumb > span[aria-hidden] { color:#8fa9c1; }
.article-back { display:inline-block; color:var(--gold-text-dark); text-decoration:none; }
.article-back:hover { color:white; }
.article-hero h1 { color:var(--paper); max-width:20ch; margin:1.2rem 0 1.2rem; font-size:clamp(2.8rem,5.8vw,5.3rem); line-height:1.04; font-weight:680; letter-spacing:-.04em; text-wrap:balance; }
.article-byline { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1.4rem; margin-top:1.8rem; font-size:.88rem; color:#d4deea; }
.article-byline strong { font-weight:650; color:white; }
.article-source { margin-top:1rem; font-size:.88rem; color:#d4deea; }
.article-source a { color:var(--gold-text-dark); text-underline-offset:3px; }
.article-byline > * + * { border-left:1px solid #ffffff40; padding-left:1.4rem; }
.article-layout { max-width:1080px; display:grid; grid-template-columns:minmax(0,680px) minmax(0,310px); justify-content:space-between; gap:clamp(2.5rem,5vw,5rem); padding-block:clamp(2.3rem,4vw,3.6rem) 5rem; align-items:start; }
.article-layout--plain { display:block; max-width:680px; }
.article-prose { grid-column:1; grid-row:1; font-family:Charter,'Bitstream Charter','Iowan Old Style',Georgia,serif; font-size:clamp(1.18rem,1.04rem + .4vw,1.35rem); line-height:1.75; overflow-wrap:break-word; color:#24323e; }
.article-prose > * + * { margin-top:1.3em; }
.article-prose > p:first-child { font-family:var(--body); font-size:1.1em; line-height:1.6; color:var(--ink); font-weight:460; padding-bottom:1.2em; border-bottom:1px solid var(--line); margin-bottom:1.3em; }
.article-prose h2 { font-size:clamp(1.55rem,1.3rem + .8vw,1.95rem); line-height:1.22; margin-top:2.1em; margin-bottom:.7em; padding-top:.8em; border-top:1px solid var(--line); letter-spacing:-.02em; scroll-margin-top:7rem; color:#173b60; }
.article-prose h2 + p { margin-top:0; }
.article-prose h3 { font-size:1.45rem; margin-top:1.7em; scroll-margin-top:7rem; }
.article-prose blockquote { border-left:4px solid var(--gold-fill); padding-left:1.4rem; color:var(--ink-soft); }
.article-prose img { height:auto; margin-block:2rem; }
.article-prose ul, .article-prose ol { padding-left:1.3em; }
.article-prose li + li { margin-top:.45em; }
.article-prose pre { overflow-x:auto; font-size:.8em; padding:1rem; background:var(--paper-2); }
.article-prose table { display:block; max-width:100%; overflow-x:auto; font-size:.9em; border-collapse:collapse; }
.article-prose td, .article-prose th { border:1px solid var(--line); padding:.5rem; text-align:left; }
.article-sidebar { grid-column:2; grid-row:1; display:grid; gap:2rem; }
.article-figure { margin:0; }
.article-figure img { display:block; width:100%; height:auto; border:1px solid #d2dde5; border-radius:3px; }
.article-figure figcaption { margin-top:.65rem; font-family:var(--body); font-size:.83rem; line-height:1.5; color:var(--ink-soft); }
.article-figure figcaption a { color:var(--forest); }
.article-figure--inline { display:none; }
.article-toc { border-top:3px solid var(--gold-fill); padding-top:1rem; }
.article-toc summary { cursor:pointer; font-family:var(--body); font-size:1rem; font-weight:700; }
.article-toc summary:focus-visible { outline:2px solid var(--forest); outline-offset:5px; }
.article-note h2 { font-family:var(--display); font-size:1.12rem; font-weight:650; line-height:1.3; }
.article-toc ul { list-style:none; padding:0; margin-top:.8rem; }
.article-toc li { border-top:1px solid var(--line); }
.article-toc li:first-child { border-top:0; }
.article-toc a { display:block; padding:.6rem 0; font-size:.93rem; line-height:1.45; text-decoration:none; }
.article-toc a:hover { text-decoration:underline; text-underline-offset:4px; }
.article-note { padding:1.4rem; background:var(--paper-2); border-top:5px solid var(--gold-fill); }
.article-note p { margin-top:.6rem; font-size:.96rem; color:var(--ink-soft); line-height:1.6; }
.article-note a { display:inline-block; margin-top:1rem; font-size:.9rem; font-weight:650; }
.article-note--linked { background:#eaf0f4; }
.article-end { width:38px; height:5px; margin-top:2.4rem; background:var(--gold-fill); }
.article-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; border-top:1px solid var(--line); padding-top:1.3rem; margin-top:2rem; font-family:var(--body); font-size:.9rem; }
.article-copy { cursor:pointer; color:var(--forest); border:1px solid var(--line); padding:.5rem .8rem; background:transparent; font:inherit; border-radius:var(--rad); }
.article-copy-status { font-size:.8rem; color:var(--ink-faint); }
.article-related { background:var(--paper-2); padding-block:3rem; }
.latest-writing { border-bottom:1px solid var(--line); }
.latest-writing__inner { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:1.5rem; padding-block:.85rem; }
.latest-writing__link { display:flex; flex-wrap:wrap; align-items:baseline; gap:.15rem .65rem; padding-block:.4rem; color:var(--ink); text-decoration:none; line-height:1.4; }
.latest-writing__topic { font-size:.76rem; color:var(--ink-soft); }
.latest-writing__title { font-size:1rem; font-weight:650; }
.latest-writing__link:hover .latest-writing__title { color:var(--forest); text-decoration:underline; text-underline-offset:3px; }
.latest-writing__all { font-size:.85rem; padding-block:.65rem; white-space:nowrap; }
.writing-library { padding-block:2.5rem 4rem; scroll-margin-top:6rem; }
.writing-heading { display:flex; align-items:baseline; justify-content:space-between; gap:1rem 2rem; margin-bottom:1.4rem; flex-wrap:wrap; }
.writing-heading h2 { font-size:1.6rem; }
.writing-heading > a { font-size:.9rem; }
.writing-heading > p { font-size:.96rem; color:var(--ink-soft); }
.writing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 3rem; }
.writing-card { border-top:4px solid var(--forest); padding-top:1.1rem; }
.writing-card__meta { color:var(--forest); font-size:.79rem; display:flex; flex-wrap:wrap; gap:.35rem 1rem; }
.writing-card__meta span { color:var(--ink-faint); }
.writing-card h3 { font-size:clamp(1.4rem,1.2rem + .8vw,1.95rem); line-height:1.17; margin:.6rem 0; max-width:28ch; }
.writing-card h3 a { color:var(--ink); text-decoration:none; }
.writing-card h3 a:hover { color:var(--forest); text-decoration:underline; text-underline-offset:4px; }
.writing-card > p:not(.writing-card__meta) { color:var(--ink-soft); font-size:1rem; line-height:1.55; max-width:55ch; }
.writing-card__read { display:block; font-size:.78rem; color:var(--ink-faint); margin-top:.8rem; }
.article-hero a:focus-visible { outline-color:var(--gold-fill); }
@media (max-width:900px) {
  .article-hero__inner, .article-layout { max-width:680px; }
  .article-layout { grid-template-columns:minmax(0,1fr); gap:1.8rem; }
  .article-sidebar { display:contents; }
  .article-prose { grid-column:1; grid-row:2; }
  .article-note { grid-column:1; }
  .article-figure--sidebar { display:none; }
  .article-figure--inline { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); align-items:center; gap:1rem; max-width:440px; margin:1.5rem 0; }
  .article-figure--inline figcaption { margin:0; }
  .article-prose .article-figure img { margin:0; }
  .article-toc { grid-column:1; grid-row:1; border-top:0; border-bottom:1px solid var(--line); padding:0 0 1.1rem; }
  .article-toc summary { padding:.25rem 0; }
}
@media (max-width:600px) {
  .latest-writing__inner { grid-template-columns:1fr; gap:0; padding-block:.55rem; }
  .latest-writing__link { padding-block:.55rem; }
  .latest-writing__link + .latest-writing__link { border-top:1px solid var(--line); }
  .latest-writing__all { justify-self:end; padding-block:.35rem; }
  .article-hero h1 { font-size:clamp(2.35rem,9.6vw,3.5rem); line-height:1.07; }
  .article-hero__inner { padding-bottom:1.7rem; }
  .article-breadcrumb { font-size:.8rem; }
  .article-byline { font-size:.8rem; gap:.4rem .8rem; margin-top:1.3rem; }
  .article-byline > * + * { padding-left:.8rem; }
  .article-prose { font-size:1.18rem; line-height:1.72; }
  .article-prose > p:first-child { font-size:1.05em; }
  .writing-grid { grid-template-columns:1fr; }
  .writing-grid { gap:1.6rem; }
  .article-layout { padding-bottom:3rem; }
  .article-actions { gap:.8rem; }
}
@media print {
  .article-page { background:white; color:black; }
  .article-page .site-head, .article-page .site-foot, .article-preview, .article-breadcrumb, .article-sidebar, .article-actions, .article-related { display:none; }
  .article-hero { background:white; color:black; }
  .article-hero__inner { padding-block:0 1rem; }
  .article-hero h1 { color:black; max-width:none; font-size:32pt; }
  .article-byline, .article-byline strong { color:#333; }
  .article-layout { display:block; padding-block:1rem; }
  .article-prose { font-size:11pt; line-height:1.6; }
  .article-prose h2 { break-after:avoid; }
  .article-figure--inline { display:block; max-width:320px; break-inside:avoid; }
}
