/* Blog post page (theme/templates/post.php + blocks/article-body.php) */
.post-shell{max-width:1540px;margin:0 auto;padding:clamp(40px,7vh,86px) clamp(20px,4vw,62px) clamp(60px,9vh,110px)}
.post-head{max-width:980px;margin:0 auto;padding-bottom:clamp(30px,5vw,56px)}
.post-back{display:inline-flex;gap:8px;align-items:center;margin-bottom:clamp(28px,5vw,52px);color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase;transition:color .18s ease}
.post-back span{color:var(--acid)}
.post-back:hover{color:var(--paper)}
.post-kicker{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 20px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase}
.post-kicker a{color:var(--acid)}
.post-kicker>*+*:before{content:"·";margin-right:18px;color:var(--line)}
.post-head h1{margin:0;font-size:clamp(2.7rem,6.4vw,6.2rem);font-weight:850;line-height:.9;letter-spacing:-.085em}
.post-lede{max-width:640px;margin:28px 0 0;color:#bfc2bd;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.55}
.post-cover{max-width:1180px;margin:0 auto clamp(40px,6vw,76px);aspect-ratio:21/10;overflow:hidden;background:#20231f}
.post-cover picture,.post-cover img{display:block;width:100%;height:100%}
.post-cover img{object-fit:cover;object-position:50% 58%;filter:saturate(.9) contrast(1.04)}

/* article-body widths (bc-aw-*) */
.article-body{margin:0 auto}
.article-body.bc-aw-narrow{max-width:640px}
.article-body.bc-aw-regular{max-width:720px}
.article-body.bc-aw-wide{max-width:980px}
.article-body.bc-aw-full{max-width:none}

/* rich text */
.article-prose{color:#d4d6d0;font-size:1.1rem;line-height:1.72}
.article-prose>*:first-child{margin-top:0}
.article-prose>*:last-child{margin-bottom:0}
.article-prose p{margin:0 0 1.25em}
.article-prose h2{margin:2.2em 0 .7em;color:var(--paper);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:820;line-height:1;letter-spacing:-.06em}
.article-prose h3{margin:1.9em 0 .55em;color:var(--paper);font-size:1.28rem;font-weight:780;line-height:1.2;letter-spacing:-.03em}
.article-prose strong,.article-prose b{color:var(--paper);font-weight:720}
.article-prose a{color:var(--paper);text-decoration:underline;text-decoration-color:var(--acid);text-decoration-thickness:2px;text-underline-offset:3px;transition:color .18s ease}
.article-prose a:hover{color:var(--acid)}
.article-prose ul,.article-prose ol{margin:0 0 1.4em;padding:0;list-style:none}
.article-prose li{position:relative;margin:0 0 .75em;padding-left:30px}
.article-prose ul>li:before{content:"";position:absolute;left:4px;top:.68em;width:8px;height:8px;border-radius:50%;background:var(--acid)}
.article-prose ol{counter-reset:bc-step}
.article-prose ol>li{counter-increment:bc-step;padding:16px 0 16px 58px;margin:0;border-top:1px solid var(--line)}
.article-prose ol>li:last-child{border-bottom:1px solid var(--line)}
.article-prose ol>li:before{content:counter(bc-step,decimal-leading-zero);position:absolute;left:0;top:19px;color:var(--acid);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem}
.article-prose blockquote{margin:1.8em 0;padding:4px 0 4px 24px;border-left:3px solid var(--acid);color:var(--paper);font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.35;letter-spacing:-.025em}
.article-prose blockquote p{margin:0}
.article-prose hr{height:1px;margin:2.4em 0;border:0;background:var(--line)}
.article-prose code{padding:2px 6px;background:rgba(243,240,233,.08);font-size:.9em}
.article-prose img{display:block;max-width:100%;height:auto}
.article-prose figure{margin:2em 0}
.article-prose figcaption{margin-top:10px;color:var(--muted);font-size:.8rem}
.article-prose .bc-ta-center{text-align:center}
.article-prose .bc-ta-right{text-align:right}
.article-prose .bc-ta-justify{text-align:justify}
.article-prose .post-note{padding:18px 20px;border:1px solid rgba(206,255,63,.4);background:rgba(206,255,63,.05);font-size:1rem}

/* closing CTA */
.post-next{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:26px;max-width:980px;margin:clamp(60px,9vw,110px) auto 0;padding-top:clamp(30px,4vw,44px);border-top:1px solid var(--line)}
.post-next .eyebrow{margin-bottom:12px}
.post-next h2{margin:0;font-size:clamp(2rem,4vw,3.4rem);font-weight:850;line-height:.95;letter-spacing:-.075em}
.post-next h2 em{font-style:normal;color:var(--acid)}
.post-next-actions{display:flex;flex-wrap:wrap;gap:10px}
.post-next-actions a{display:inline-flex;align-items:center}

@media(max-width:560px){
  .post-cover{aspect-ratio:4/3;margin-left:-20px;margin-right:-20px}
  .article-prose{font-size:1.03rem}
  .article-prose ol>li{padding-left:44px}
  .post-head h1{font-size:2.65rem}
}

/* plain pages (privacy, terms) */
.page-shell .post-head{padding-bottom:clamp(20px,3vw,34px)}
.page-shell .post-head h1{font-size:clamp(2.4rem,5vw,4.4rem)}
.page-shell .post-kicker{margin:18px 0 0}
/* Footer bottom row: note · site links · tagline. The note and tagline stay quiet,
   the links are the only thing meant to be pressed. */
.footer-legal{align-items:center}
.footer-legal>span:first-child,.footer-legal>span:last-child{color:#9ea29b}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.footer-legal a{margin:0;color:#c9ccc6;transition:color .18s ease}
.footer-legal a:hover{color:var(--acid)}
.footer-mail{display:inline-block;margin-top:10px;color:#9ea29b;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;letter-spacing:.02em;border-bottom:1px solid var(--line);transition:color .18s ease,border-color .18s ease}
.footer-mail:hover{color:var(--acid);border-color:rgba(206,255,63,.6)}

/* Touch: on phones and small tablets every footer link becomes a 46px target.
   Same pill language as the planner chips, so the design reads as intended. */
@media(max-width:850px){
  .footer-ideas>div,.footer-legal-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .footer-ideas a,.footer-legal-links a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:rgba(243,240,233,.03);text-align:center}
  .footer-ideas a{font-size:.82rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.01em;color:#e2e5df}
  .footer-legal-links a{font-size:.78rem;letter-spacing:.03em;color:#e2e5df}
  .footer-ideas a:active,.footer-legal-links a:active{border-color:var(--acid);background:rgba(206,255,63,.12);color:var(--acid)}
  .footer-legal{flex-wrap:wrap;gap:14px 18px}
  .footer-legal-links{order:-1;width:100%}
  .footer-mail{min-height:46px;padding:4px 0;font-size:.8rem;line-height:38px}
  .footer-blog{min-height:46px}
}
@media(max-width:480px){
  .footer-legal{gap:12px}
  .footer-legal>span:first-child,.footer-legal>span:last-child{font-size:.62rem}
}
.article-prose .post-placeholder{padding:1px 5px;background:rgba(255,125,85,.16);color:var(--coral)}
.article-prose a{overflow-wrap:anywhere}
.post-cover-wrap{max-width:1180px;margin:0 auto clamp(40px,6vw,76px)}
.post-cover-wrap .post-cover{margin:0}
.post-cover-credit{margin-top:9px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;letter-spacing:.03em;text-align:right}
@media(max-width:560px){.post-cover-wrap{margin-left:-20px;margin-right:-20px}.post-cover-wrap .post-cover{margin-left:0;margin-right:0}.post-cover-credit{padding:0 20px}}
