/* Blog overview and internal article preview; shared brand tokens remain in pages.css. */
.blog-hero{padding-bottom:68px}
.blog-hero h1{max-width:950px;font-size:clamp(44px,6.4vw,92px)}
.blog-hero .pages-lead{max-width:600px}
.blog-section-label{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--pages-line)}
.blog-section-label h2{font-size:20px;letter-spacing:-.025em}
.blog-section-label>span{font-size:12px;color:var(--muted)}
.blog-empty{display:grid;grid-template-columns:.6fr 1fr;align-items:center;gap:clamp(32px,6vw,96px);padding:clamp(32px,5vw,72px);margin-top:26px;background:#edeaf3;border:1px solid #ded8e9;border-radius:24px}
.blog-empty-mark{font-family:Sora,Inter,sans-serif;font-size:clamp(110px,16vw,220px);font-weight:600;line-height:.95;letter-spacing:-.09em;color:var(--pages-accent);justify-self:center}
.blog-empty-mark>span{color:var(--ink)}
.blog-empty .eyebrow{font-size:10px;margin-bottom:20px}
.blog-empty h3{font-size:clamp(26px,3vw,40px);line-height:1.2;letter-spacing:-.04em;max-width:530px;text-wrap:balance}
.blog-empty p:not(.eyebrow){max-width:480px;margin-top:20px;font-size:16px;line-height:1.8;color:var(--muted)}
.blog-empty .text-link{display:inline-flex;gap:20px;align-items:center;min-height:44px;margin-top:20px;font-size:12px}
.blog-topics .pages-section-heading{margin-bottom:38px}
.blog-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.blog-topic{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid var(--pages-line);padding-top:26px;padding-bottom:8px}
.blog-topic-number{font-size:12px;color:var(--pages-accent);margin-bottom:25px}
.blog-topic h3{font-size:25px;line-height:1.3;letter-spacing:-.035em}
.blog-topic p{font-size:15px;line-height:1.8;color:var(--muted);margin-top:15px;margin-bottom:22px;max-width:320px}
.blog-topic-link{display:flex;gap:22px;align-items:center;min-height:44px;margin-top:auto;font-size:12px;text-decoration:underline;text-underline-offset:5px}
.blog-topic:hover .blog-topic-link{color:var(--pages-accent)}
.blog-contact{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:42px 48px;border:1px solid var(--pages-line);border-radius:24px;margin-bottom:80px}
.blog-contact .eyebrow{font-size:10px;margin-bottom:16px}
.blog-contact h2{font-size:clamp(25px,3vw,38px);line-height:1.2;letter-spacing:-.04em}
.blog-contact .button{flex-shrink:0;gap:22px}
.article-preview-banner{padding:16px var(--gutter);background:var(--pages-dark);color:#fff;font-size:14px;line-height:1.65;text-align:center}
.article-preview-header{padding-block:28px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.article-preview-header>a:last-child{font-size:13px;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.article-layout{padding:54px 0 100px}
.article-heading{max-width:900px;margin-inline:auto;text-align:center}
.article-heading .eyebrow{justify-content:center;margin-bottom:24px}
.article-heading h1{font-size:clamp(38px,5.5vw,76px);line-height:1.13;letter-spacing:-.055em;text-wrap:balance}
.article-summary{max-width:680px;margin:26px auto;color:var(--muted);font-size:clamp(17px,1.6vw,20px);line-height:1.75}
.article-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;font-size:13px;color:var(--muted)}
.article-cover{max-width:1040px;margin:48px auto}
.article-cover-placeholder{display:grid;place-items:center;min-height:260px;aspect-ratio:16/8;background:#edeaf3;border:1px dashed #81778f;border-radius:24px;color:#534b6d;text-align:center;padding:30px;font-size:16px}
.article-cover img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:24px}
.article-cover figcaption{font-size:12px;color:var(--muted);line-height:1.7;margin-top:12px}
.article-content{max-width:680px;margin-inline:auto;font-size:18px;line-height:1.85;overflow-wrap:anywhere}
.article-content h2{font-size:clamp(26px,3vw,34px);line-height:1.3;letter-spacing:-.035em;margin:48px 0 20px;scroll-margin-top:30px}
.article-content h3{font-size:24px;line-height:1.4;margin:32px 0 16px}
.article-content p{margin-block:20px}
.article-content ul,.article-content ol{padding-left:24px;margin-block:20px}
.article-content li{padding-left:6px;margin-bottom:8px}
.article-content a{text-decoration:underline;text-underline-offset:4px;color:var(--pages-accent)}
.article-content blockquote{margin:32px 0;padding:4px 0 4px 24px;border-left:3px solid var(--pages-accent);font-size:21px;line-height:1.65;color:var(--pages-accent)}
.article-toc,.article-sources,.article-author{padding-block:24px;border-block:1px solid var(--pages-line);margin-block:36px}
.article-toc h2,.article-sources h2,.article-author h2{font-size:22px;margin-top:0}
.article-toc ol,.article-sources ol{font-size:15px;line-height:1.8;margin-bottom:0}
.article-author{font-size:15px}.article-author p:last-child{margin-bottom:0}
.article-end{max-width:680px;margin:50px auto 0;padding-top:30px;border-top:1px solid var(--pages-line)}
.article-end h2{font-size:28px;line-height:1.3;margin-bottom:22px}
@media(max-width:700px){.blog-hero{padding-bottom:46px}.blog-empty{grid-template-columns:1fr;gap:28px}.blog-empty-mark{justify-self:start;font-size:90px}.blog-topic-grid{grid-template-columns:1fr;gap:22px}.blog-topic{padding-block:24px 8px}.blog-topic-number{margin-bottom:18px}.blog-contact{align-items:flex-start;flex-direction:column;padding:30px 24px;margin-bottom:40px}.blog-contact .button{max-width:100%;white-space:normal;text-align:left}.article-layout{padding-top:34px}.article-cover{margin-block:32px}.article-content{font-size:17px}.article-cover-placeholder{min-height:190px;aspect-ratio:4/3}.article-preview-header{align-items:flex-start}.article-preview-header>a:last-child{max-width:150px}.article-meta{gap:8px 16px}}
@media(max-width:400px){.blog-section-label{align-items:flex-start;flex-direction:column;gap:8px}.blog-empty{padding:26px}.blog-empty h3{font-size:27px}}

.blog-concept-note{margin-block:24px;font-size:14px;line-height:1.8;color:var(--muted);max-width:680px}.blog-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-block:36px 70px}.blog-card{display:flex;flex-direction:column;min-width:0}.blog-card-image{display:block;aspect-ratio:4/3;border-radius:22px;overflow:hidden;margin-bottom:25px}.blog-card-image img{width:100%;height:100%;object-fit:cover}.blog-card .eyebrow{font-size:11px;margin-bottom:18px}.blog-card h3{font-size:27px;line-height:1.25;letter-spacing:-.04em}.blog-card>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted);margin-block:18px}.blog-card .text-link{margin-top:auto;min-height:44px;font-size:14px}.article-heading>.text-link{display:inline-flex;margin-bottom:28px;min-height:44px;align-items:center}.article-content h2{scroll-margin-top:110px}@media(max-width:800px){.blog-card-grid{grid-template-columns:1fr;gap:48px}.blog-card-image{max-height:400px}.article-preview-banner{text-align:left}}

/* Rich concept previews reuse the site typography and keep overflow inside the reading column. */
.article-rich-preview .article-content{min-width:0}
.article-rich-preview .article-cover img{aspect-ratio:auto}
.article-rich-preview .article-content h3,.article-rich-preview .article-content h4,.article-rich-preview .article-content h5,.article-rich-preview .article-content h6{scroll-margin-top:110px}
.article-rich-preview .article-content h4,.article-rich-preview .article-content h5,.article-rich-preview .article-content h6{font-size:21px;line-height:1.4;margin:30px 0 16px}
.article-rich-preview .article-toc a{display:inline-block;min-height:44px;padding-block:8px;line-height:1.6}
.article-rich-preview .article-toc li{margin-bottom:0}
.article-rich-preview .article-toc-level-3,.article-rich-preview .article-toc-level-4,.article-rich-preview .article-toc-level-5,.article-rich-preview .article-toc-level-6{margin-left:16px}
.article-rich-preview .article-media,.article-rich-preview .article-quote{margin:36px 0;min-width:0}
.article-rich-preview .article-media img,.article-rich-preview .article-media video{display:block;width:100%;height:auto;border-radius:18px;background:var(--pages-line)}
.article-rich-preview figcaption{margin-top:12px;font-size:13px;line-height:1.7;color:var(--muted)}
.article-rich-preview .article-media-caption,.article-rich-preview .article-media-credit,.article-rich-preview .article-rights-warning{display:block}
.article-rich-preview .article-rights-warning{margin-top:8px;color:var(--ink);border-left:3px solid var(--pages-accent);padding-left:10px}
.article-rich-preview .article-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:36px}
.article-rich-preview .article-gallery .article-media{margin:0}
.article-rich-preview .article-transcript{margin-top:20px;border-block:1px solid var(--pages-line);font-size:16px}
.article-rich-preview .article-transcript summary{min-height:44px;padding-block:12px;cursor:pointer;font-weight:600;color:var(--ink)}
.article-rich-preview .article-transcript p{margin-top:8px}
.article-rich-preview .article-callout{margin-block:32px;padding:24px 28px;border:1px solid var(--pages-line);border-left:4px solid var(--pages-accent);border-radius:0 16px 16px 0;background:#edeaf3;font-size:17px;line-height:1.75}
.article-rich-preview .article-callout-tip{background:var(--pages-cream)}
.article-rich-preview .article-callout-warning{background:#f5ead5;border-left-color:var(--ink)}
.article-rich-preview .article-callout p{margin:0}
.article-rich-preview .article-callout .article-callout-title{font-family:Sora,Inter,sans-serif;font-weight:600;color:var(--ink);margin-bottom:10px}
.article-rich-preview .article-quote blockquote{margin:0}
.article-rich-preview .article-quote figcaption{padding-left:27px}
.article-rich-preview .article-cta{margin-block:32px}
.article-rich-preview .article-cta .button{max-width:100%;white-space:normal;text-decoration:none;color:#fff;line-height:1.6}
.article-rich-preview .article-table-scroll{max-width:100%;overflow-x:auto;margin-block:28px;overscroll-behavior-inline:contain;border:1px solid var(--pages-line);border-radius:12px}
.article-rich-preview table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.65;min-width:360px}
.article-rich-preview th,.article-rich-preview td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--pages-line)}
.article-rich-preview th{font-weight:600;background:#edeaf3;color:var(--ink)}
.article-rich-preview tr:last-child td{border-bottom:0}
.article-rich-preview pre{max-width:100%;overflow-x:auto;padding:20px 24px;margin-block:28px;background:var(--pages-dark);color:#fff;border-radius:16px;font-size:14px;line-height:1.7;overscroll-behavior-inline:contain}
.article-rich-preview code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.article-rich-preview :not(pre)>code{padding:2px 5px;background:#edeaf3;border-radius:4px;font-size:.88em;overflow-wrap:anywhere}
.article-rich-preview pre code{overflow-wrap:normal;white-space:pre}
.article-rich-preview :is(.article-table-scroll,pre,.article-transcript summary):focus-visible{outline:3px solid var(--pages-accent);outline-offset:4px}
@media(max-width:700px){.article-rich-preview .article-gallery{grid-template-columns:1fr;gap:30px}.article-rich-preview .article-callout{padding:20px}.article-rich-preview pre{padding:18px;font-size:13px}.article-rich-preview th,.article-rich-preview td{padding:10px 12px}}
