.article-library { padding-top:48px; padding-bottom:72px; }
.article-library header { max-width:760px; margin-bottom:32px; }
.article-library h1 { font-size:clamp(30px,4vw,48px); line-height:1.15; margin:12px 0 20px; }
.article-filters { display:grid; grid-template-columns:2fr 1fr 1fr auto auto; align-items:end; gap:16px; margin:32px 0; }
.article-filters label { display:block; margin-bottom:8px; font-weight:600; }
.article-filters input,.article-filters select { width:100%; min-width:0; min-height:48px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; font:inherit; background:var(--paper); }
.article-filters>a { padding:12px 0; }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin:24px 0; }
.article-grid li { min-width:0; padding:24px; border:1px solid var(--line); border-radius:16px; }
.article-grid h2 { font-size:24px; line-height:1.3; margin:12px 0; }
.article-grid h2 a { color:var(--ink); text-decoration-thickness:1px; text-underline-offset:4px; }
.article-grid p { margin:12px 0; text-align:left; hyphens:none; }
.article-grid span,.article-results { color:var(--muted); font-size:14px; }
.article-filters :focus-visible { outline:3px solid var(--action); outline-offset:3px; }
@media(max-width:1100px) { .article-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .article-filters,.article-grid { grid-template-columns:1fr; } .article-grid li { padding:20px; } }
.article-reading { max-width:860px; padding-top:48px; padding-bottom:72px; }
.article-reading h1 { font-size:clamp(30px,4vw,48px); line-height:1.2; margin:20px 0 28px; }
.article-reading .article-body { font-size:18px; line-height:1.8; }
.article-reading p:not(.eyebrow) { text-align:left; hyphens:none; }
.article-reading .article-body h2 { font-size:28px; line-height:1.3; margin:40px 0 18px; }
.article-reading .article-body h3 { font-size:23px; margin:28px 0 16px; }
.article-body a,.article-contents a { text-decoration:underline; text-underline-offset:4px; color:var(--action); }
.article-body li { margin:10px 0; }
.article-contents { padding:20px 24px; border:1px solid var(--line); border-radius:16px; margin:28px 0; }
.article-contents h2 { margin:0 0 12px; font-size:20px; }
.article-contents ul { display:grid; gap:8px; margin:0; padding-left:20px; }
.article-source-note { font-size:14px; color:var(--muted); border-top:1px solid var(--line); padding-top:20px; margin-top:40px; }

.article-cover { display:block; margin:-24px -24px 20px; aspect-ratio:3/2; overflow:hidden; background:#f7f2ec; border-radius:15px 15px 0 0; }
.article-cover img { display:block; width:100%; height:100%; object-fit:contain; }
.article-hero { margin:24px 0 32px; }
.article-hero img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; background:#faf6f0; border-radius:16px; }
.article-hero figcaption { margin-top:10px; color:var(--muted); font-size:12px; line-height:1.5; }
@media(max-width:600px) { .article-cover { margin:-20px -20px 18px; } .article-hero img { border-radius:12px; } }
