/* Blog pages. Uses the tokens from site.css. */
main.blog{padding:clamp(32px,5vw,56px) 0 var(--section)}
.crumbs{font-size:13px;color:var(--ink-soft);margin-bottom:28px}
.crumbs a{color:var(--ink-soft)}
.blog-head{margin-bottom:36px}
.blog-head h1,.post-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.06;letter-spacing:-.02em;margin:12px 0 18px}
.blog-head .lead{font-size:clamp(1.02rem,1.4vw,1.15rem);color:var(--ink-soft);text-align:justify}
.cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.cats a{font-size:13px;font-weight:600;text-decoration:none;border:1px solid var(--line);padding:7px 12px;border-radius:30px;color:var(--ink)}
.cats a:hover{border-color:var(--ink)}
.cats a[aria-current]{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,36px)}
.card a{text-decoration:none;display:block;color:inherit}
.card-img{aspect-ratio:3/2;overflow:hidden;border-radius:3px;background:var(--deep);margin-bottom:14px}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card a:hover .card-img img{transform:scale(1.03)}
.card h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;line-height:1.2;margin:8px 0 8px}
.card a:hover h3{color:var(--accent)}
.card-ex{font-size:15px;color:var(--ink-soft);line-height:1.55}
.card .label{font-size:11px}
.post-ph{width:100%;height:100%;min-height:160px;display:grid;place-items:center;background:linear-gradient(160deg,#0F2A2E 0%,#1C4247 60%,#2C5A5F 100%);color:#A9BDBB;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.empty{padding:40px 0;color:var(--ink-soft)}
.pager{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:14px}
.pager a{font-weight:700;color:var(--accent)}
.home-blog .cards{margin-top:8px}

/* Single post */
.post-wrap{max-width:860px}
.post-meta{font-size:14px;color:var(--ink-soft)}
.post-meta a{color:inherit}
.post-hero{margin:28px 0 28px;border-radius:3px;overflow:hidden;aspect-ratio:16/9;background:var(--deep)}
.post-hero img{width:100%;height:100%;object-fit:cover}
.post-hero .post-ph{min-height:100%}
.post-lead{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;margin-bottom:28px;text-align:justify}
.toc{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:3px;padding:18px 22px;margin:0 0 36px}
.toc ol{margin:8px 0 0 18px;font-size:15px}
.toc li{padding:3px 0}
.toc a{color:var(--ink)}
.post-body{font-size:17.5px;line-height:1.72}
.post-body p,.post-body ul,.post-body ol,.post-body blockquote,.post-body .table-wrap{margin:0 0 20px}
.post-body p,.post-body li{text-align:justify;hyphens:manual}
.post-body h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15;letter-spacing:-.015em;margin:48px 0 16px;scroll-margin-top:90px}
.post-body h3{font-size:1.2rem;margin:32px 0 10px;scroll-margin-top:90px}
.post-body ul,.post-body ol{padding-left:24px}
.post-body li{padding:4px 0}
.post-body li::marker{color:var(--accent)}
.post-body a{color:var(--accent);text-underline-offset:3px}
.post-body strong{font-weight:700}
.post-body blockquote{border-left:3px solid var(--accent);background:var(--surface);padding:16px 20px;font-size:16.5px}
.post-body blockquote p{margin:0}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:3px;background:var(--surface)}
.post-body table{width:100%;border-collapse:collapse;font-size:15.5px;font-variant-numeric:tabular-nums}
.post-body th{text-align:left;background:var(--deep);color:var(--bone);font-weight:600;padding:10px 14px;white-space:nowrap}
.post-body td{padding:10px 14px;border-top:1px solid var(--line);vertical-align:top}
.post-body code{font-size:.92em;background:#E3E7E3;padding:1px 5px;border-radius:3px}
.post-faq{margin:48px 0 0}
.post-faq h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:12px}
.post-faq details{border-top:1px solid var(--line);padding:18px 0}
.post-faq details:last-child{border-bottom:1px solid var(--line)}
.post-faq summary{cursor:pointer;font-weight:700;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;gap:20px}
.post-faq summary::after{content:"+";color:var(--accent);font-size:1.3rem;line-height:1}
.post-faq details[open] summary::after{content:"-"}
.post-faq details p{margin-top:12px;color:var(--ink-soft);text-align:justify}
.post-cta{margin:56px 0 24px;background:var(--deep);color:var(--bone);border-radius:3px;padding:clamp(24px,4vw,40px)}
.post-cta .label{color:#A9BDBB}
.post-cta .cta-h{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15;margin:8px 0 12px}
.post-cta p{color:#D3DEDC;margin-bottom:20px}
.post-cta .btn{margin:4px 8px 4px 0}
.post-cta .btn--ghost{color:var(--bone);border-color:var(--bone)}
.post-cta .btn--ghost:hover{background:var(--bone);color:var(--ink)}
.post-disclaimer{font-size:13px;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:16px}
.related{padding-top:var(--section)}
.related h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:28px}
.preview-bar{background:#F6E2DC;color:var(--accent);font-weight:700;text-align:center;padding:10px 16px;margin:-24px 0 24px;font-size:14px}
.foot-brand{color:#EEF0EC}
.foot a{color:inherit}

@media (max-width:960px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){
  .cards{grid-template-columns:1fr}
  .post-body{font-size:17px}
  .post-body p,.post-body li,.post-lead,.blog-head .lead,.post-faq details p{text-align:left}
}

/* Legal pages */
.legal .post-body p{text-align:left}
mark.todo{background:#F6E2DC;color:#B53A24;font-weight:700;padding:0 4px;border-radius:2px}
.tofollow{color:var(--ink-soft);font-style:italic}

/* Sources and author box under posts */
.post-sources{margin:48px 0 0}
.post-sources h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,2.2vw,1.8rem);margin-bottom:10px}
.post-sources ol{padding-left:22px;font-size:15px;color:var(--ink-soft)}
.post-sources li{padding:3px 0;word-break:break-word}
.post-sources a{color:var(--ink-soft)}
.author-box{display:flex;gap:18px;align-items:center;margin:40px 0 0;padding:18px;border:1px solid var(--line);border-radius:3px;background:var(--surface)}
.author-box img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.author-box p{font-size:15px;margin:0}
.author-box .label{margin-bottom:4px}
.about-head{display:flex;gap:28px;align-items:center}
.about-photo{width:180px;height:180px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.form-errors{margin:0 0 24px 20px;color:var(--accent)}
@media (max-width:600px){.about-head{flex-direction:column;text-align:center}.author-box{flex-direction:column;text-align:center}}
