.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; }
.blog-hero h1 { max-width:840px; font-size:clamp(38px,4.4vw,60px); }
.blog-hero h1 span { color:var(--green); }
.blog-hero p { max-width:730px; }
.blog-topics { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px; }
.blog-topics a { min-height:44px; display:flex; align-items:center; padding:9px 16px; border:1px solid var(--line); border-radius:24px; background:white; font-size:13px; }
.blog-topics a[aria-current="page"], .blog-topics a:hover { background:var(--dark); color:white; border-color:var(--dark); }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.article-card { background:white; border:1px solid var(--line); border-radius:var(--radius); padding:29px; display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.article-topic { color:var(--green); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.article-card h2, .article-card h3 { font-size:23px; line-height:1.28; letter-spacing:-.025em; }
.article-card h2 a:hover, .article-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.article-card p { color:var(--muted); font-size:14px; line-height:1.75; }
.article-card .text-link { min-height:44px; font-size:13px; }
.article-meta { display:flex; flex-wrap:wrap; gap:6px 20px; font-size:12px; color:#536457; }
.article-card .article-meta { margin-top:auto; font-size:11px; gap:6px; }
.blog-note { padding:24px; margin-top:34px; border:1px solid #d5dfcd; background:#edf2e5; border-radius:12px; font-size:14px; color:#41593b; }
.blog-note a, .blog-empty a, .blog-pagination a, .blog-preview a { text-decoration:underline; text-underline-offset:3px; }
.blog-note p { margin:10px 0 0; }
.blog-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:25px; margin-top:32px; font-size:14px; }
.blog-pagination a { min-height:44px; display:flex; align-items:center; }
.blog-empty { grid-column:1/-1; padding:25px 0; }
.article-hero h1 { max-width:900px; font-size:clamp(34px,4vw,54px); line-height:1.1; }
.article-hero .article-summary { max-width:790px; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,300px); gap:70px; padding-top:48px; padding-bottom:60px; align-items:start; }
.article-copy { grid-column:1; grid-row:1; max-width:740px; font-size:17px; line-height:1.85; overflow-wrap:anywhere; }
.article-copy p { margin:0 0 22px; }
.article-copy h2 { font-size:28px; line-height:1.25; letter-spacing:-.025em; margin:38px 0 18px; scroll-margin-top:120px; }
.article-copy h2:first-child { margin-top:0; }
.article-copy ul, .article-copy ol { padding-left:25px; margin:0 0 26px; }
.article-copy li + li { margin-top:12px; }
.article-copy a { color:#286d1d; text-decoration:underline; text-underline-offset:3px; }
.article-sidebar { grid-column:2; grid-row:1; position:sticky; top:120px; }
.article-toc { padding:23px; border:1px solid var(--line); border-radius:12px; background:white; font-size:13px; }
.article-toc h2, .article-sidebar .contact-panel h2 { font-size:19px; letter-spacing:-.02em; }
.article-toc ol { padding-left:18px; margin:15px 0; }
.article-toc li + li { margin-top:8px; }
.article-toc a { display:inline-block; padding:4px 0; text-decoration:underline; text-underline-offset:3px; }
.article-sidebar .btn { width:100%; padding-left:12px; padding-right:12px; }
.article-sources { border-top:1px solid var(--line); margin-top:36px; font-size:14px; }
.article-sources p { color:var(--muted); }
.article-sources h2 { font-size:24px; }
.related-heading { font-size:30px; margin-bottom:28px; }
.blog-preview { padding:12px 22px; text-align:center; background:#fcf0ce; color:#5c4616; font-size:14px; }
@media(max-width:1100px) { .article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .article-layout { gap:35px; } }
@media(max-width:760px) {
  .article-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  .article-card { padding:24px; }
  .blog-topics { gap:8px; }
  .blog-topics a { font-size:12px; padding:8px 13px; }
  .article-layout { grid-template-columns:minmax(0,1fr); padding-top:30px; padding-bottom:40px; gap:32px; }
  .article-sidebar { position:static; grid-column:1; grid-row:1; }
  .article-sidebar .contact-panel { display:none; }
  .article-copy { grid-row:2; font-size:16px; line-height:1.85; }
  .article-copy h2 { font-size:25px; scroll-margin-top:100px; }
  .article-hero h1 { font-size:35px; }
  .article-meta { gap:6px 14px; font-size:11px; }
  .blog-note { padding:21px; }
}
