/* Single posts only. Shared/homepage layout stays in style.css. */
.single-story{--article-muted:#767676;--article-text:#242424}
.single-story .article-heading{max-width:960px;margin:48px auto 50px;text-align:center}
.single-story .article-category{font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;display:inline-block;padding-block:8px}
.single-story .article-heading h1{font-family:var(--sans);font-size:clamp(36px,3vw,44px);font-weight:500;line-height:1.45;letter-spacing:.02em;margin:20px 0 24px;overflow-wrap:anywhere;line-break:strict;word-break:auto-phrase;text-wrap:balance}
.single-story .article-excerpt{max-width:740px;margin:0 auto 28px;font-size:16px;line-height:1.95;text-align:left;color:var(--muted)}
.single-story .article-excerpt p{margin:0 0 16px}.single-story .article-excerpt p:last-child{margin-bottom:0}
.single-story .article-meta{font-size:11px;color:var(--muted);gap:10px 24px;line-height:1.8;justify-content:center}
.single-story .article-cover>img{display:block;width:100%;height:auto;aspect-ratio:4/3;max-height:none;object-fit:contain;object-position:center;background:var(--soft);border-radius:0}
.single-story .article-cover figcaption{font-size:12.5px;line-height:1.8;color:var(--article-muted);margin:12px 0 0}
.single-story .article-body{width:calc(100% - 48px);max-width:740px;margin:56px auto 0;font-family:var(--sans);font-size:17.5px;line-height:1.95;color:var(--article-text);line-break:strict}
:where(.single-story .entry-content)>p{margin-block:0 28px}
:where(.single-story .entry-content)>h2{font-size:30px;font-weight:600;line-height:1.4;letter-spacing:.02em;margin:80px 0 28px;word-break:auto-phrase;text-wrap:pretty;scroll-margin-top:32px}
:where(.single-story .entry-content)>h3{font-size:23px;font-weight:600;line-height:1.5;margin:48px 0 24px;scroll-margin-top:32px}
/* Override the original generic heading rules at matching specificity. */
.single-story .entry-content h2{font-size:30px;font-weight:600;line-height:1.4;margin:80px 0 28px}
.single-story .entry-content h3{font-size:23px;font-weight:600;line-height:1.5;margin:48px 0 24px}
.single-story .entry-content>p{margin-bottom:28px}
.single-story .entry-content .wp-block-image{margin-block:48px}
.single-story .entry-content .wp-block-image:not(.alignleft):not(.alignright) img{display:block;width:100%;height:auto;border-radius:0}
.single-story .entry-content figcaption{font-size:12.5px;line-height:1.8;color:var(--article-muted);margin-top:12px}
.single-story .toc{padding:24px 28px;margin:0 0 44px;font-size:13px;line-height:1.9;border-top:1px solid var(--line);background:var(--soft)}
.single-story .toc summary{min-height:32px}.single-story .toc a{display:inline-block;padding-block:4px}
.single-story .author-box h2{font-size:20px;font-weight:500;line-height:1.6;margin:0 0 12px}.single-story .author-box p{font-size:14px}
.single-story .share-links a,.single-story .copy-link{min-height:44px;display:inline-flex;align-items:center}
.single-story .tag-links a{display:inline-block;padding-block:8px}.single-story .post-navigation a{display:block;padding-block:12px}
@media(max-width:760px){
 .single-story .article-heading{margin:24px auto 32px;text-align:left}
 .single-story .article-heading h1{font-size:clamp(27px,4.2vw,32px);line-height:1.45;margin:16px 0 24px}
 .single-story .article-excerpt{font-size:15px;line-height:1.95;margin-bottom:24px}
 .single-story .article-meta{font-size:10px;justify-content:flex-start;gap:8px 18px}
 .single-story .article-body{width:calc(100% - 40px);font-size:16px;line-height:1.95;margin-top:40px}
 .single-story .entry-content h2{font-size:24px;line-height:1.4;margin:72px 0 24px}
 .single-story .entry-content h3{font-size:21px;line-height:1.5;margin:40px 0 24px}
 .single-story .entry-content .wp-block-image{margin-block:40px}
 .single-story .toc{padding:20px;margin-bottom:36px}
}
@media(max-width:360px){.single-story .entry-content h2{font-size:23px}.single-story .article-heading h1{font-size:27px}}

.single-story .article-title__phrase,.single-story .article-title__term{display:inline-block;max-width:100%;vertical-align:baseline;overflow-wrap:anywhere;word-break:normal;text-wrap:pretty}
/* Center wide blocks even when the viewport is narrower than the desktop measure. */
.single-story .entry-content .alignwide{position:relative;left:50%;width:min(1000px,calc(100vw - 48px));max-width:none;margin-inline:0;transform:translateX(-50%)}
@media(max-width:760px){.single-story .entry-content .alignwide{width:calc(100vw - 24px)}}
