/* ============ EHP · blog post layout ============ */
.post-head{ padding:60px 0 40px;border-bottom:1px solid var(--line);background:var(--paper) }
.post-head .crumb{ font-family:var(--ff-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--leather-500);margin-bottom:32px;display:flex;gap:10px;align-items:center }
.post-head .crumb a:hover{ color:var(--leather-900) }
.post-head .crumb .sep{ color:var(--leather-400) }
.post-head .meta{ font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--leather-600);margin-bottom:18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap }
.post-head .meta .dot{ width:4px;height:4px;background:var(--leather-500);border-radius:50% }
.post-head h1{ font-size:clamp(40px,5.4vw,76px);line-height:1.02;letter-spacing:-.02em;font-variation-settings:"opsz" 144;max-width:22ch }
.post-head h1 em{ font-style:italic;font-weight:300;color:var(--leather-600) }
.post-head .lede{ font-family:var(--ff-display);font-size:22px;line-height:1.45;color:var(--leather-800);max-width:48ch;margin-top:28px;text-wrap:pretty }

.post-hero{ aspect-ratio:21/9;background:#2B1E15;border-bottom:1px solid var(--line) }

.post-body{ padding:80px 0 100px;background:var(--paper) }
.post-body .wrap{ display:grid;grid-template-columns:1fr 2.4fr 1fr;gap:32px }
.post-body article{ max-width:64ch }
.post-body p{ font-size:17px;line-height:1.7;color:var(--leather-900);margin:0 0 22px;text-wrap:pretty }
.post-body h2{ font-family:var(--ff-display);font-weight:500;font-size:32px;line-height:1.15;letter-spacing:-.015em;margin:60px 0 18px;color:var(--leather-900) }
.post-body h2 em{ font-style:italic;font-weight:300;color:var(--leather-600) }
.post-body h3{ font-family:var(--ff-display);font-weight:500;font-size:22px;line-height:1.25;margin:36px 0 12px;color:var(--leather-900) }
.post-body ul,.post-body ol{ margin:0 0 22px;padding-left:24px;color:var(--leather-900);font-size:17px;line-height:1.7 }
.post-body li{ margin-bottom:8px }
.post-body blockquote{ border-left:2px solid var(--leather-900);padding:6px 0 6px 24px;margin:32px 0;
  font-family:var(--ff-display);font-style:italic;font-weight:300;font-size:24px;line-height:1.4;color:var(--leather-700) }
.post-body blockquote cite{ display:block;font-family:var(--ff-mono);font-size:11px;font-style:normal;letter-spacing:.18em;text-transform:uppercase;color:var(--leather-500);margin-top:14px }
.post-body strong{ font-weight:600;color:var(--leather-900) }
.post-body em{ font-style:italic }
.post-body a{ border-bottom:1px solid var(--leather-700);padding-bottom:1px }
.post-body a:hover{ color:var(--leather-700) }
.post-body .pullquote{ font-family:var(--ff-display);font-style:italic;font-weight:300;font-size:34px;line-height:1.2;color:var(--leather-700);margin:48px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-wrap:balance }

.post-body table{ width:100%;border-collapse:collapse;margin:30px 0;font-size:15px }
.post-body th,.post-body td{ padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top }
.post-body th{ font-family:var(--ff-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--leather-600);font-weight:500;background:var(--cream-2) }
.post-body td.num{ font-family:var(--ff-mono);color:var(--leather-700) }

.post-body .keylist{ margin:30px 0;padding:24px 28px;background:var(--cream);border:1px solid var(--line) }
.post-body .keylist .label{ font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--leather-500);margin-bottom:14px }
.post-body .keylist ul{ margin:0;padding-left:18px }

.post-body figure{ margin:40px 0 }
.post-body figure .ph{ aspect-ratio:16/9;background:#3A2618;border:1px solid var(--leather-900) }
.post-body figcaption{ margin-top:10px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--leather-600) }

/* end CTA */
.post-end{ padding:80px 0;background:var(--cream);border-top:1px solid var(--line) }
.post-end h3{ font-family:var(--ff-display);font-size:36px;line-height:1.1;letter-spacing:-.015em;color:var(--leather-900);max-width:18ch }
.post-end h3 em{ font-style:italic;font-weight:300;color:var(--leather-600) }
.post-end .row{ display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap }
.post-end .actions{ display:flex;gap:14px;flex-wrap:wrap }

.post-related{ padding:80px 0;background:var(--paper);border-top:1px solid var(--line) }
.post-related .head{ display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:36px }
.post-related h4{ font-family:var(--ff-display);font-weight:500;font-size:28px;letter-spacing:-.01em }
.post-related .grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:28px }
.post-related .card{ border:1px solid var(--line);padding:24px;transition:border-color .2s;background:var(--paper) }
.post-related .card:hover{ border-color:var(--leather-900) }
.post-related .card .cat{ font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--leather-500);margin-bottom:10px }
.post-related .card h5{ font-family:var(--ff-display);font-weight:500;font-size:19px;line-height:1.25;color:var(--leather-900) }
.post-related .card h5 em{ font-style:italic;font-weight:300;color:var(--leather-600) }

@media (max-width:980px){
  .post-body .wrap{ grid-template-columns:1fr }
  .post-related .grid{ grid-template-columns:1fr }
}
