.trending-bar { background:#f5f7f9; border-bottom:1px solid var(--line); }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.trending-inner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:24px; align-items:center; min-height:54px; }
.trending-label { display:flex; align-items:center; gap:9px; color:var(--accent-dark); font-size:12px; text-transform:uppercase; letter-spacing:1px; font-weight:750; white-space:nowrap; }
.trending-label svg { width:20px; height:20px; stroke:currentColor; stroke-width:1.8; fill:none; }
.trending-stories { min-width:0; }
.trending-story { display:block; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-size:14px; font-weight:550; line-height:1.6; }
.trending-story:hover { color:var(--accent-dark); }
.trending-story[hidden] { display:none; }
.trending-controls { display:flex; gap:6px; }
.trending-controls button { display:grid; place-items:center; padding:6px; border:1px solid var(--line); background:white; color:var(--ink); width:30px; height:30px; border-radius:50%; }
.trending-controls button:hover { color:var(--accent-dark); border-color:var(--accent); }
.trending-controls svg { width:17px; height:17px; stroke:currentColor; stroke-width:1.7; fill:none; }
.footer nav { flex-wrap:wrap; justify-content:flex-end; gap:12px 22px; max-width:620px; }
.footer .contact-email { color:#ffad8b; }
.page-main { min-height:62vh; padding-block:40px 70px; }
.breadcrumbs { display:flex; gap:9px; flex-wrap:wrap; color:var(--muted); font-size:13px; margin-bottom:30px; line-height:1.6; }
.breadcrumbs a:hover { color:var(--accent-dark); }
.page-title { font-size:clamp(34px,4vw,58px); line-height:1.12; letter-spacing:-2px; font-weight:750; max-width:1080px; margin:12px 0 20px; text-wrap:balance; }
.page-intro { color:var(--muted); font-size:19px; line-height:1.6; max-width:780px; margin:0 0 30px; }
.article-meta { font-size:13px; color:var(--muted); display:flex; gap:18px; flex-wrap:wrap; margin:20px 0 34px; }
.article-layout { display:grid; grid-template-columns:minmax(0,850px) minmax(230px,1fr); gap:70px; align-items:start; }
.article-main { min-width:0; }
.article-hero { margin:0 0 34px; border-radius:6px; overflow:hidden; background:#f4f6f8; }
.article-hero img { width:100%; max-height:540px; object-fit:contain; height:auto; }
.document-body { font-size:18px; line-height:1.85; overflow-wrap:anywhere; color:#293f50; }
.document-body :is(div,section,span,p,figure,form,fieldset) { max-width:100%; }
.document-body p { margin:0 0 22px; }
.document-body :is(h1,h2,h3,h4,h5,h6) { color:var(--ink); line-height:1.3; letter-spacing:-.5px; margin:35px 0 15px; font-weight:700; }
.document-body h2 { font-size:30px; }
.document-body h3 { font-size:25px; }
.document-body h4 { font-size:21px; }
.document-body a { color:var(--accent-dark); text-decoration:underline; text-underline-offset:3px; }
.document-body a:hover { color:var(--ink); }
.document-body :is(img,video,svg) { max-width:100%; height:auto; }
.document-body figure { margin:26px 0; }
.document-body figcaption { color:var(--muted); font-size:13px; }
.document-body ul,.document-body ol { padding-left:25px; margin:0 0 24px; }
.document-body li { margin-bottom:8px; }
.document-body table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; font-size:15px; }
.document-body td,.document-body th { padding:12px; border:1px solid var(--line); }
.document-body blockquote { border-left:3px solid var(--accent); margin:28px 0; padding:4px 0 4px 24px; font-size:21px; color:var(--ink); }
.document-body :is(input,select,textarea) { font:inherit; padding:10px 12px; border:1px solid var(--line); border-radius:4px; max-width:100%; width:100%; background:#f6f8fa; margin:8px 0 16px; }
.document-body input[type=checkbox],.document-body input[type=radio] { width:auto; margin:8px; }
.document-body button,.document-body input[type=submit] { padding:12px 20px; background:var(--ink); color:white; border:0; border-radius:4px; }
.document-body [disabled] { cursor:not-allowed; opacity:.65; }
.offline-form-note { padding:14px 18px; background:#fff4ee; border-left:3px solid var(--accent); font-size:14px; color:var(--ink); }
.article-sidebar { border-top:2px solid var(--accent); padding-top:20px; }
.article-sidebar h2 { font-size:25px; line-height:1.2; letter-spacing:-.8px; margin:0 0 20px; }
.sidebar-story { display:block; padding:20px 0; border-bottom:1px solid var(--line); }
.sidebar-story h3 { font-size:19px; line-height:1.4; margin:8px 0 0; letter-spacing:-.4px; }
.sidebar-story:hover h3 { color:var(--accent-dark); }
.article-end { border-top:1px solid var(--line); margin-top:40px; padding-top:24px; display:flex; gap:20px; justify-content:space-between; flex-wrap:wrap; }
.page-content { max-width:900px; margin-inline:auto; }
.archive-heading { border-bottom:1px solid var(--line); padding-bottom:24px; margin-bottom:34px; }
.archive-heading .page-title { margin-top:0; }
.archive-count { color:var(--muted); font-size:14px; }
.archive-grid { margin-top:26px; }
.archive-pagination { margin-top:40px; display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.story-image--text { display:grid; place-items:center; color:white; background:var(--ink); font-size:32px; font-weight:750; letter-spacing:-1px; }
.library-search { display:flex; gap:12px; margin-bottom:24px; }
.library-search input { flex:1; min-width:0; border:1px solid #b9c7d2; border-radius:4px; padding:16px; font:inherit; font-size:17px; }
.library-results { display:grid; grid-template-columns:1fr 1fr; gap:0 36px; }
.library-row { padding:24px 0; border-bottom:1px solid var(--line); }
.library-row h2 { font-size:23px; line-height:1.3; letter-spacing:-.5px; margin:0 0 10px; }
.library-row p { font-size:14px; line-height:1.7; color:var(--muted); margin:0; }
.library-row a:hover h2 { color:var(--accent-dark); }
.library-more { margin-top:30px; }
.document-body .row { display:flex; flex-wrap:wrap; gap:28px; }
.document-body .row>[class*=col-] { flex:1 1 280px; min-width:0; }
@media(max-width:1000px) { .article-layout { gap:35px; grid-template-columns:minmax(0,1fr) 240px; } .document-body { font-size:17px; } }
@media(max-width:760px) { .article-layout { display:block; } .article-sidebar { margin-top:44px; } .page-title { letter-spacing:-1.3px; } .library-results { grid-template-columns:1fr; } .footer nav { justify-content:flex-start; } }
@media(max-width:650px) { .trending-inner { gap:12px; grid-template-columns:minmax(0,1fr) auto; padding:12px 0; } .trending-label { grid-column:1; font-size:10px; gap:6px; } .trending-label svg { width:16px; height:16px; } .trending-stories { grid-column:1; grid-row:2; } .trending-story { font-size:12px; } .trending-controls { grid-column:2; grid-row:1/3; } .trending-controls button { width:29px; height:29px; } .page-main { padding-top:28px; padding-bottom:45px; } .breadcrumbs { margin-bottom:22px; font-size:11px; } .page-title { font-size:34px; line-height:1.16; letter-spacing:-1.2px; } .article-meta { font-size:11px; margin-bottom:25px; gap:12px; } .document-body { font-size:17px; line-height:1.8; } .document-body h2 { font-size:27px; } .document-body h3 { font-size:23px; } .article-hero { margin-bottom:25px; } .page-intro { font-size:17px; } .library-search input { font-size:16px; padding:14px; } }
