/* Shared navigation and long-form pages. */
.page-links{display:flex;gap:12px 28px;flex-wrap:wrap;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:14px}
.page-links a,.back-home{display:inline-flex;align-items:center;min-height:44px}
[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.article-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;font-size:13px}
.article-top>span{font-size:10px;letter-spacing:1px;color:var(--muted)}
.article-hero{padding-block:40px 42px;border-bottom:1px solid var(--line)}
.article-hero h1{max-width:950px;font-size:clamp(42px,5.8vw,76px);overflow-wrap:anywhere}
.article-lead{font-size:clamp(18px,2vw,22px);max-width:760px;line-height:1.6;color:var(--muted)}
.article-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:70px;justify-content:space-between;padding-block:48px 72px;align-items:start}
.article-toc{position:sticky;top:28px;border-top:2px solid #a6b78a;padding-top:20px}
.article-toc ol{list-style:none;padding:0;margin:0 0 20px}
.article-toc li{border-bottom:1px solid var(--line)}
.article-toc li a{display:block;padding:12px 0;font-size:14px;line-height:1.5}
.article-toc li a:hover,.article-body a:not(.button):hover,.page-links a:hover{color:#7c8f55}
.article-body{min-width:0;font-size:17px;line-height:1.8;overflow-wrap:anywhere}
.article-body>section{margin-bottom:44px;scroll-margin-top:28px}
.article-body h2{font-size:clamp(28px,3vw,38px);line-height:1.2;letter-spacing:-.8px;margin-bottom:22px}
.article-body li{padding-left:4px;margin-bottom:12px}
.article-body ul,.article-body ol{padding-left:24px}
.article-body a:not(.button){text-decoration:underline;text-underline-offset:4px}
.article-callout{padding:24px;background:#e9eddf;border-left:3px solid #8b9e57;border-radius:0 5px 5px 0;margin-block:26px}
.article-callout p{margin:10px 0 0}
.article-sources{border-top:1px solid var(--line);padding-top:28px;font-size:14px;color:var(--muted)}
.article-sources h2{font-size:26px}
.article-next{display:flex;gap:16px 28px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--line)}
.button-outline{background:transparent;color:var(--ink);border:1px solid #a5b1a3}
.button-outline:hover{background:#e9eddf}
.article-next .text-link{font-size:15px}
@media(min-width:761px) and (max-width:1050px){
 .desktop-nav,.header-cta{display:none}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:10px;border:1px solid #b9c2af;background:transparent;border-radius:50%}
 .menu-toggle span{height:1px;width:21px;background:var(--ink)}
 .mobile-menu:not([hidden]){position:absolute;top:100%;left:0;right:0;background:var(--paper);display:flex;flex-direction:column;padding:12px 28px 20px;border-bottom:1px solid var(--line);z-index:10;box-shadow:0 12px 20px #203f3b10}
 .mobile-menu a{padding:12px 2px;font-size:15px}
 .article-layout{gap:32px;grid-template-columns:200px minmax(0,1fr)}
}
@media(max-width:760px){
 .article-top{padding-top:15px}.article-top>span{display:none}
 .article-hero{padding-block:24px 26px}.article-hero .eyebrow{font-size:8px;letter-spacing:1px}
 .article-hero h1{font-size:clamp(37px,9.5vw,58px);letter-spacing:-1.3px;line-height:1.1}
 .article-lead{font-size:18px}.article-hero .service-tags{margin-bottom:0}
 .article-layout{grid-template-columns:1fr;gap:36px;padding-block:28px 45px}
 .article-toc{position:static;padding:20px;background:#e9eddf;border-top:0;border-radius:5px}
 .article-toc .eyebrow{margin-bottom:8px}.article-toc ol{margin-bottom:0}
 .article-toc .text-link{display:none}.article-toc li:last-child{border-bottom:0}
 .article-toc li a{min-height:44px;padding-block:12px}
 .article-body{font-size:16px;line-height:1.8}.article-body h2{font-size:30px}
 .article-body>section{margin-bottom:34px}.article-callout{padding:20px}
 .article-next{align-items:stretch}.article-next>a{width:100%;justify-content:center;text-align:center}
 .page-links{flex-direction:column;gap:4px;margin-bottom:24px}.page-links a{font-size:14px}
}
@media(max-width:359px){.header{gap:10px;padding-inline:16px}.brand{font-size:15px;gap:7px}.brand small{letter-spacing:1px}.brand-logo{width:46px;height:46px}.wrap{width:calc(100% - 32px)}.contact{width:calc(100% - 24px)}.hero h1{font-size:39px}.article-hero h1{font-size:36px}}
