
.blog-shell{max-width:var(--max);margin:auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.blog-intro{padding:52px 28px 48px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(260px,.78fr) minmax(420px,1.22fr);gap:46px;align-items:start}
.blog-intro h1{font-family:Georgia,serif;font-size:clamp(56px,8vw,120px);font-weight:400;line-height:.92;margin:0}
.blog-intro p{font-family:Georgia,serif;font-size:clamp(20px,2vw,30px);line-height:1.35;margin:10px 0 0;max-width:760px}
.blog-list{border-bottom:1px solid var(--line)}
.blog-row{display:grid;grid-template-columns:120px minmax(240px,.85fr) minmax(320px,1.15fr);gap:26px;padding:32px 28px;border-top:1px solid var(--line);text-decoration:none;color:inherit;align-items:start}
.blog-row:first-child{border-top:0}.blog-row:hover{background:var(--panel)}
.blog-row time{font-size:12px;color:var(--muted);padding-top:8px}.blog-row-media{overflow:hidden;background:#fff}.blog-row-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;mix-blend-mode:multiply}
.blog-row h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,62px);font-weight:400;line-height:1.02;margin:0 0 14px}.blog-row p{max-width:700px;margin:0 0 18px;font-size:14px;line-height:1.6;color:var(--muted)}.blog-row span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.blog-post{max-width:var(--max);margin:auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.blog-post-head{padding:58px 28px 44px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:160px 1fr;gap:28px}.blog-post-head time{font-size:12px;color:var(--muted);padding-top:10px}.blog-post-head h1{font-family:Georgia,serif;font-size:clamp(52px,7vw,106px);font-weight:400;line-height:.94;margin:0}.blog-post-head .dek{font-family:Georgia,serif;font-size:clamp(20px,2.2vw,32px);line-height:1.35;max-width:900px;margin:24px 0 0}
.blog-post-hero{padding:0;border-bottom:1px solid var(--line);background:#fff}.blog-post-hero img{display:block;width:100%;max-height:760px;object-fit:contain;padding:32px;box-sizing:border-box}.blog-post-hero figcaption{border-top:1px solid var(--line);padding:10px 28px 14px;font-size:11px;line-height:1.5;color:var(--muted)}
.blog-post-body{display:grid;grid-template-columns:.55fr 1.45fr;border-bottom:1px solid var(--line)}.blog-post-aside{padding:42px 28px;border-right:1px solid var(--line);font-size:12px;line-height:1.55;color:var(--muted)}.blog-post-copy{padding:42px 28px 64px;max-width:900px}.blog-post-copy p{font-family:Georgia,serif;font-size:clamp(19px,1.7vw,25px);line-height:1.55;margin:0 0 1.5em}.blog-post-copy blockquote{font-family:Georgia,serif;font-size:clamp(26px,2.7vw,42px);line-height:1.25;margin:2em 0;padding:1.2em 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.blog-paper{display:grid;grid-template-columns:.55fr 1.45fr;border-bottom:1px solid var(--line)}.blog-paper-label{padding:36px 28px;border-right:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.blog-paper-copy{padding:36px 28px 48px}.blog-paper-copy h2{font-family:Georgia,serif;font-size:clamp(28px,3.2vw,48px);font-weight:400;margin:0 0 14px}.blog-paper-copy p{font-size:14px;line-height:1.65;max-width:820px}.blog-paper-copy a{text-decoration:underline;text-underline-offset:4px}.blog-back{display:inline-block;margin-top:24px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:900px){.blog-intro,.blog-post-head,.blog-post-body,.blog-paper{grid-template-columns:1fr}.blog-intro{padding:42px 22px}.blog-row{grid-template-columns:1fr;padding:25px 22px}.blog-row time{padding-top:0}.blog-row-media img{aspect-ratio:16/9}.blog-post-head{padding:42px 22px}.blog-post-aside,.blog-paper-label{border-right:0;border-bottom:1px solid var(--line);padding:25px 22px}.blog-post-copy,.blog-paper-copy{padding:32px 22px 48px}.blog-post-hero img{padding:18px}.blog-post-hero figcaption{padding:10px 22px 14px}}

.blog-post-copy h2{font-family:Georgia,serif;font-size:clamp(32px,3.2vw,44px);font-weight:400;line-height:1.15;margin:2.1em 0 .8em}.blog-citation{font-size:14px !important;line-height:1.6;color:var(--muted)}

/* Blog intro refinement */
.blog-intro-lead h1{font-family:Georgia,serif;font-size:clamp(56px,8vw,120px);font-weight:400;line-height:.92;margin:0 0 18px}
.blog-intro-portrait{margin:0;max-width:300px}
.blog-intro-portrait img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.blog-intro-copy{padding-top:18px}
.blog-intro-copy p{font-family:Georgia,serif;font-size:clamp(20px,2vw,30px);line-height:1.35;margin:0;max-width:760px}
.blog-row-media{display:flex;align-items:center;justify-content:center;background:#fff;padding:8px;border:1px solid var(--line)}
.blog-row-media img{display:block;width:100%;height:auto;max-height:230px;aspect-ratio:auto!important;object-fit:contain!important;mix-blend-mode:multiply}
@media(max-width:900px){.blog-intro{grid-template-columns:1fr}.blog-intro-portrait{max-width:260px}.blog-intro-copy{padding-top:0}.blog-row-media img{max-height:none}}


/* Blog intro v23.4 — smaller portrait between title and intro text */
.blog-intro{padding:52px 28px 48px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(180px,.72fr) minmax(120px,220px) minmax(320px,1.45fr);gap:34px;align-items:start}
.blog-intro-title h1{font-family:Georgia,serif;font-size:clamp(56px,8vw,120px);font-weight:400;line-height:.92;margin:0}
.blog-intro-portrait{margin:0;width:100%;max-width:220px;align-self:start}
.blog-intro-portrait img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.blog-intro-copy{padding-top:6px;max-width:760px}
.blog-intro-copy p{font-family:Georgia,serif;font-size:clamp(20px,2vw,30px);line-height:1.35;margin:0}
@media(max-width:900px){
  .blog-intro{grid-template-columns:1fr;gap:18px;padding:42px 22px}
  .blog-intro-portrait{max-width:180px}
  .blog-intro-copy{padding-top:0}
}

/* Blog post figure refinement v23.5 */
.blog-post-hero img{display:block;width:min(88%,980px);height:auto;max-height:620px;object-fit:contain;padding:28px 0;margin:0 auto;box-sizing:border-box}
@media(max-width:900px){.blog-post-hero img{width:100%;max-height:none;padding:18px}}
