/* Single-post layout is isolated from the approved homepage. */
.article-layout{width:min(1280px,calc(100% - 80px));margin:68px auto 100px;display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,700px) minmax(170px,1fr);gap:28px;align-items:start}
.article-prose{min-width:0;width:100%;max-width:700px}
.article-heading .eyebrow{font-size:13px;margin-bottom:20px}
.article-heading h1{font:500 38px/1.6 var(--serif);letter-spacing:-1.4px;word-break:keep-all}
.article-date{font-size:14px;color:var(--muted);margin-top:20px;margin-bottom:32px}
.article-featured-image{margin:0 0 38px}
.article-featured-image img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.article-prose .wp-block-post-content{font-size:18px;line-height:1.95}
.article-prose .wp-block-post-content p{margin:0 0 24px}
.article-prose .wp-block-post-content h2{font:550 29px/1.55 var(--serif);letter-spacing:-.8px;margin:52px 0 22px;scroll-margin-top:35px}
.article-prose .wp-block-post-content h3{font-size:23px;line-height:1.6;margin:35px 0 18px}
.article-prose .wp-block-post-content ul,.article-prose .wp-block-post-content ol{padding-left:25px;margin:20px 0 28px;list-style:disc}
.article-prose .wp-block-post-content ol{list-style:decimal}
.article-prose .wp-block-post-content li{padding-left:4px;margin:8px 0}
.article-prose .wp-block-post-content a{text-decoration:underline;text-underline-offset:4px;color:var(--green-dark)}
.article-prose .wp-block-post-content figure{margin:30px 0}
.article-prose .wp-block-post-content img{height:auto;object-fit:contain}
.article-prose .wp-block-post-content figcaption{font-size:14px;color:var(--muted);line-height:1.7;margin-top:10px}
.article-prose .wp-block-post-content blockquote{padding:22px 28px;background:var(--cream);border-left:3px solid var(--green);margin:30px 0}
.article-toc{font-size:14px;line-height:1.8}
.article-toc[hidden]{display:none!important}
.article-toc-desktop{position:sticky;top:32px;padding:4px 5px 0 0}
.article-toc h2{font:600 15px/1.5 var(--sans);letter-spacing:0;margin:0 0 18px;color:var(--green-dark)}
.article-toc ol{margin:0;padding:0;list-style:none}
.article-toc li+li{margin-top:12px}
.article-toc a{display:block;padding-left:12px;border-left:2px solid #e1e5db;color:#687660}
.article-toc a:hover,.article-toc a[aria-current="location"]{border-color:var(--green-dark);color:var(--green-dark)}
.article-toc-inline{display:none;background:var(--cream);border:1px solid var(--line);padding:24px;margin-bottom:35px}
.article-cta{position:sticky;top:32px}
.article-contact{background:var(--cream);border-top:3px solid var(--green);padding:24px 20px}
.article-contact .eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:16px}
.article-contact h2{font:500 21px/1.5 var(--serif);letter-spacing:-.6px;margin-bottom:16px}
.article-contact>p:not(.eyebrow):not(.article-phone):not(.article-contact-links){font-size:14px;line-height:1.8;color:var(--muted)}
.article-phone{font-size:20px;line-height:1.4;letter-spacing:-.5px;color:var(--green-dark);margin:21px 0}
.article-contact-links{display:flex;flex-direction:column;gap:10px;font-size:13px;line-height:1.6}
.article-contact-links a{display:block;border:1px solid #c5cebd;padding:9px 10px;text-align:center;color:var(--green-dark)}
.article-contact-links a:first-child{background:var(--green-dark);color:white;border-color:var(--green-dark)}
.article-navigation{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--line);margin-top:55px;padding-top:25px;font-size:14px;line-height:1.7}
.article-navigation .post-navigation-link-next{text-align:right}
.article-navigation .post-navigation-link__label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.article-back{margin-top:32px;font-size:15px}
.single-post .side-quick{display:none}
@media(max-width:1199px){
 .article-layout{display:block;width:min(700px,calc(100% - 48px));margin:55px auto 70px}
 .article-toc-desktop{display:none!important}
 .article-toc-inline:not([hidden]){display:block}
 .article-cta{position:static;margin-top:50px}
 .article-contact{padding:30px}
 .article-contact h2{font-size:26px}
 .article-contact .article-phone{font-size:28px}
 .article-contact-links{flex-direction:row;flex-wrap:wrap;font-size:14px}
 .article-contact-links a{padding:11px 18px}
}
@media(max-width:600px){
 .article-layout{width:calc(100% - 36px);margin-top:38px}
 .article-heading h1{font-size:29px;line-height:1.65;letter-spacing:-1px}
 .article-prose .wp-block-post-content{font-size:17px;line-height:1.9}
 .article-prose .wp-block-post-content h2{font-size:25px;margin-top:40px}
 .article-toc-inline{padding:22px 20px}
 .article-contact{padding:25px}
 .article-contact-links{flex-direction:column}
}

/* Stable columns even when a short article has no table of contents. */
.article-prose{grid-column:2}
.article-toc-desktop{grid-column:1;max-height:calc(100dvh - 64px);overflow:auto}
.article-cta{grid-column:3}
.article-navigation .post-navigation-link-next{grid-column:2}
.article-contact .eyebrow{font-size:12px}
.article-contact-links{font-size:14px}
.article-navigation .post-navigation-link__label{font-size:14px}
.article-toc a{color:#55644f}
