/* Shared layout for every journal article. */
.article-page .post { width:100%; max-width:none; }
.article-page .post-hero h1 { margin-top:clamp(10px,.83vw,16px); }
.article-page .post-answer { font-size:var(--fs-lead);line-height:1.4;margin-top:28px; }
.article-page .post-hero .cover { object-position:center; }
.post-body { padding:var(--section-y) var(--gutter); font-size:var(--fs-lead);line-height:1.5;max-width:none; }
.post-body > h2 { margin:var(--section-y) 0 24px; }
.post-body > h2:first-child { margin-top:0; }
.post-body h3 { font-size:var(--fs-h3);font-weight:400;margin:28px 0 16px; }
.post-body > p+p { margin-top:16px; }
.post-body ul {list-style:disc;padding-left:1.3em;margin-block:20px;}
.post-body ol {list-style:decimal;padding-left:1.3em;margin-block:20px;}
.post-body li+li {margin-top:10px;}
.post-body a:not(.btn) {text-decoration:underline;text-underline-offset:3px;}
.post-doctor {margin:var(--section-y) calc(-1 * var(--gutter)) 0;padding:var(--section-y) var(--gutter);background:var(--cream);}
.post-doctor h2 {margin-bottom:24px;}
.post-support {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 calc(-1 * var(--gutter));align-items:stretch;}
.post-cta {background:var(--tan);padding:var(--section-y) var(--gutter);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:28px;}
.post-cta p {font-size:var(--fs-h3);line-height:1.3;}
.post-author {display:grid;grid-template-columns: minmax(100px,180px) minmax(0,1fr);gap:24px;background:var(--sand);padding:var(--section-y) var(--gutter);align-content:center;font-size:var(--fs-body);line-height:1.4;}
.post-author .post-meta {grid-column:1/-1;font-size:var(--fs-eyebrow);line-height:1.5;}
.post-author > img {width:100%;height:240px;object-fit:cover;object-position:50% 35%;}
.post-author .name {font-size:var(--fs-h3);margin-bottom:16px;}
.post-author .link-u {display:inline-block;margin-top:20px;}
.post-faq {background:var(--cream);margin:0 calc(-1 * var(--gutter));padding:var(--section-y) var(--gutter);}
.post-faq h2 {margin-top:20px;}
.post-faq .faq-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.post-faq .faq-col {border-top:1px solid var(--brown);}
.post-faq details {border-top:0;border-bottom:1px solid var(--brown);}
.post-sources {padding-top:var(--section-y);font-size:var(--fs-body);overflow-wrap:anywhere;}
.article-page .journal-cards .jc-card {background:var(--sand);}
@media(max-width:900px){.post-support{grid-template-columns:1fr;}}
@media(max-width:767px){.post-faq .faq-grid{grid-template-columns:1fr;}.post-author{grid-template-columns:120px minmax(0,1fr);}.post-author>img{height:180px;}}

/* Compact author credit and CTA, with a text-only article introduction. */
.article-page .post-hero { display:block; min-height:0; }
.article-page .post-hero .text { padding:var(--section-y) var(--gutter); }
.article-page .post-hero .text .inner { max-width:none; }
.article-page .post-answer { max-width:none; }
.post-support { background:var(--sand); }
.post-author { order:0; padding:28px var(--gutter); grid-template-columns:100px minmax(0,1fr); gap:12px 22px; align-content:center; }
.post-author > img {grid-column:1;grid-row:1/3;height:150px;align-self:center;}
.post-author .post-meta {grid-column:2;grid-row:1;font-size:var(--fs-body);margin:0;}
.post-author > div {grid-column:2;grid-row:2;}
.post-author .name {display:none;}
.post-author .link-u {margin-top:12px;}
.post-cta {order:1;background:var(--brown);color:var(--cream);padding:28px var(--gutter);gap:18px;}
.post-cta p {font-size:var(--fs-lead);}
.post-cta .btn {background:var(--cream);color:var(--brown);border-color:var(--cream);}
@media(max-width:767px){.post-author{grid-template-columns:80px minmax(0,1fr);gap:12px 16px;}.post-author>img{height:130px;}}

/* Separate the author / contact strip from the article above it. */
.post-support .post-author { background:var(--cream); }
.post-doctor + .post-support .post-author { background:var(--sand); }
.article-page .post-hero:has(+ .blog-short-read) .text { padding-bottom:0; }
.article-page .post-hero:has(+ .blog-short-read) h1 { margin-bottom:0; }
.article-page .post-body.blog-short-read { padding-top:24px!important; }
.blog-short-read > :first-child { margin-top:0; }
.blog-short-read > .post-support { margin-top:clamp(48px,5vw,88px); }

/* No empty strip after the final author and questions block. */
.article-page .post-body:has(> .post-support:last-child) { padding-bottom:0; }
