/* Public articles: list + single. Loaded after style.css. Body text uses #2B2824 on #FAF7F2 (>12:1); muted text #5F574C (>6:1). */
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.skip-link{position:absolute; left:12px; top:-60px; z-index:100; background:var(--charcoal); color:var(--warm-white); padding:10px 16px; border-radius:var(--radius);}
.skip-link:focus{top:12px;}
.breadcrumbs,.legal-note{color:#5F574C;}
.art-wrap{max-width:780px; padding-bottom:64px;}
.art-wrap h1{font-size:clamp(1.8rem,5vw,2.6rem); line-height:1.2; margin:0 0 14px;}
.art-cat{margin:0 0 8px; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;}
.art-cat a{color:var(--gold-deep);} .art-cat a:hover{text-decoration:underline;}
.art-lead{font-size:1.12rem; line-height:1.6; color:#3B362F; margin:0 0 16px;}
.art-meta{display:flex; flex-wrap:wrap; gap:4px 16px; font-size:.84rem; color:#5F574C; margin:0 0 24px;}
.art-hero{margin:0 0 28px;}
.art-hero img,.article-figure img{display:block; width:100%; height:auto; border-radius:var(--radius); background:var(--off-white);}
.article-figure{margin:28px 0;}

.art-toc{border:1px solid var(--border); background:var(--off-white); padding:16px 20px; margin:0 0 28px; border-radius:var(--radius);}
.art-toc h2{font-size:.95rem; margin:0 0 8px;}
.art-toc ol{margin:0; padding-left:20px; font-size:.92rem; line-height:1.8;}
.art-toc a{color:var(--ink); text-decoration:underline; text-underline-offset:3px;}

.article-body{font-size:1.06rem; line-height:1.75; color:var(--ink); overflow-wrap:anywhere;}
.article-body p{margin:0 0 1.2em;}
.article-body h2{font-size:1.55rem; line-height:1.3; margin:2em 0 .6em; scroll-margin-top:84px;}
.article-body h3{font-size:1.2rem; line-height:1.35; margin:1.6em 0 .5em; scroll-margin-top:84px;}
.article-body ul,.article-body ol{margin:0 0 1.2em; padding-left:1.4em;}
.article-body li{margin-bottom:.4em;}
.article-body a{color:var(--gold-deep); text-decoration:underline; text-underline-offset:3px;}
.article-body a:hover{color:var(--charcoal);}
.article-body blockquote{margin:1.4em 0; padding:4px 0 4px 18px; border-left:3px solid var(--gold); color:#3B362F; font-style:italic;}
.article-body blockquote p{margin:0;}
.article-body hr{border:0; border-top:1px solid var(--border); margin:2em 0;}
.art-author{margin-top:36px; padding:16px 20px; border:1px solid var(--border); border-radius:var(--radius); background:var(--off-white);}
.art-author-name{font-weight:600; margin:0 0 4px;}
.art-author p:last-child{margin:0; font-size:.92rem; color:#5F574C;}
.art-disclaimer{margin-top:36px; padding-top:16px; border-top:1px solid var(--border);}

.art-related{margin-top:48px; padding-top:24px; border-top:1px solid var(--border);}
.art-related h2{font-size:1.15rem; margin:0 0 12px;}
.art-related ul{list-style:none; padding:0; margin:0 0 12px;}
.art-related li{display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--border); flex-wrap:wrap;}
.art-related li span{font-size:.82rem; color:#5F574C;}
.art-related a{color:var(--ink); text-decoration:underline; text-underline-offset:3px;}

/* List */
.art-chips{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px;}
.art-chips a{padding:8px 16px; border:1px solid var(--border); border-radius:99px; font-size:.86rem; background:#fff;}
.art-chips a:hover{border-color:var(--charcoal);}
.art-chips a[aria-current="page"]{background:var(--charcoal); color:var(--warm-white); border-color:var(--charcoal);}
.art-card{display:grid; grid-template-columns:200px minmax(0,1fr); gap:20px; padding:22px 0; border-top:1px solid var(--border);}
.art-card:last-of-type{border-bottom:1px solid var(--border);}
.art-card:not(:has(.art-thumb)){grid-template-columns:1fr;}
.art-thumb img{display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:var(--radius); background:var(--off-white);}
.art-card h2{font-size:1.25rem; line-height:1.3; margin:0 0 8px;}
.art-card h2 a:hover{color:var(--gold-deep); text-decoration:underline;}
.art-card p{margin:0 0 8px;}
.art-card .art-meta{margin:0; font-size:.8rem;}
@media (max-width:600px){.art-card{grid-template-columns:1fr;}}
.art-pages{display:flex; flex-wrap:wrap; gap:6px; margin-top:28px; align-items:center;}

a:focus-visible,button:focus-visible{outline:2px solid var(--gold-deep); outline-offset:2px;}
@media print{.skip-link,.site-header,.site-footer,.art-related,.art-toc{display:none;} .article-body{font-size:11pt;}}
