/* Efferex blog — article + index styling, on the Measurement Document theme.
   Reuses the tokens defined in site.css (:root). Fixed paper theme, no radius, no shadow. */

body.blog{
  background:var(--paper,#EAE7DE); color:var(--ink,#141310);
  font-family:var(--text,"Geist",system-ui,sans-serif);
  -webkit-font-smoothing:antialiased; margin:0; line-height:1.5;
}
body.blog a{ color:inherit; }

/* ---- header / footer ---- */
.bhead{ position:sticky; top:0; z-index:30; display:flex; align-items:center; justify-content:space-between;
  padding:var(--s4,16px) var(--s6,24px); background:color-mix(in srgb, var(--paper,#EAE7DE) 88%, transparent);
  backdrop-filter:saturate(1.1) blur(6px); border-bottom:1px solid var(--rule,#D8D3C7); }
.bhead__wm{ font-family:var(--mono,"Geist Mono",monospace); font-weight:600; letter-spacing:.14em; text-decoration:none; }
.bhead__nav{ display:flex; gap:var(--s6,24px); font-family:var(--mono,"Geist Mono",monospace);
  font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }
.bhead__nav a{ text-decoration:none; color:var(--ink-2,#4a463d); }
.bhead__nav a:hover{ color:var(--mark-text,#98280A); }

.bfoot{ display:flex; flex-wrap:wrap; gap:var(--s3,12px) var(--s6,24px); align-items:baseline;
  max-width:900px; margin:var(--s16,64px) auto 0; padding:var(--s8,32px) var(--s6,24px) var(--s16,64px);
  border-top:1px solid var(--ink,#141310); font-family:var(--mono,"Geist Mono",monospace);
  font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3,#6f6a5d); }
.bfoot a{ color:var(--mark-text,#98280A); text-decoration:none; margin-left:auto; }

/* ---- post layout ---- */
.post{ max-width:720px; margin:0 auto; padding:var(--s10,40px) var(--s6,24px) 0; }
.crumbs{ font-family:var(--mono,"Geist Mono",monospace); font-size:.72rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-3,#6f6a5d); margin-bottom:var(--s8,32px); }
.crumbs a{ text-decoration:none; color:var(--ink-3,#6f6a5d); }
.crumbs a:hover{ color:var(--mark-text,#98280A); }
.crumbs span{ margin:0 var(--s2,8px); }
.crumbs__cur{ color:var(--ink,#141310); }

.post__kicker{ display:block; font-family:var(--mono,"Geist Mono",monospace); font-size:.75rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--mark-text,#98280A); margin-bottom:var(--s4,16px); }
.post__head h1{ font-family:var(--display,"Archivo",sans-serif); font-variation-settings:"wdth" 112;
  font-weight:660; font-size:clamp(2rem,4.6vw,3.1rem); line-height:1.05; letter-spacing:-.02em; margin:0 0 var(--s5,20px); }
.post__meta{ font-size:1.12rem; line-height:1.5; color:var(--ink-2,#4a463d); max-width:60ch; margin:0; }

/* table of contents */
.toc{ margin:var(--s10,40px) 0 var(--s8,32px); padding:var(--s5,20px) var(--s6,24px);
  background:var(--paper-sunk,#E1DDD2); border:1px solid var(--rule,#D8D3C7); }
.toc__k{ font-family:var(--mono,"Geist Mono",monospace); font-size:.7rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-3,#6f6a5d); }
.toc ol{ margin:var(--s3,12px) 0 0; padding-left:1.4em; columns:2; column-gap:var(--s8,32px); }
.toc li{ margin:.25em 0; break-inside:avoid; }
.toc a{ text-decoration:none; color:var(--ink-2,#4a463d); }
.toc a:hover{ color:var(--mark-text,#98280A); }

/* ---- prose ---- */
.prose{ margin-top:var(--s8,32px); }
.prose h2{ font-family:var(--display,"Archivo",sans-serif); font-variation-settings:"wdth" 108;
  font-weight:640; font-size:1.6rem; line-height:1.15; letter-spacing:-.01em;
  margin:var(--s12,48px) 0 var(--s4,16px); padding-top:var(--s5,20px); border-top:1px solid var(--rule,#D8D3C7); }
.prose p{ font-size:1.12rem; line-height:1.68; color:var(--ink,#141310); max-width:68ch; margin:0 0 var(--s5,20px); }
.prose ul,.prose ol{ font-size:1.12rem; line-height:1.6; color:var(--ink,#141310); max-width:66ch;
  margin:0 0 var(--s5,20px); padding-left:1.4em; }
.prose li{ margin:.4em 0; }
.prose li::marker{ color:var(--mark,#B3300F); }
.prose strong{ font-weight:640; }
.prose code{ font-family:var(--mono,"Geist Mono",monospace); font-size:.9em;
  background:var(--paper-sunk,#E1DDD2); padding:.1em .35em; border:1px solid var(--rule,#D8D3C7); }
.prose a{ color:var(--mark-text,#98280A); text-decoration:underline; text-underline-offset:2px;
  text-decoration-thickness:1px; }
.prose a:hover{ text-decoration-thickness:2px; }

/* ---- CTA + related ---- */
.post__cta{ margin:var(--s14,56px) 0 var(--s10,40px); padding:var(--s8,32px);
  background:var(--plate,#171612); color:var(--plate-ink,#EFEDE6); }
.post__cta p{ font-family:var(--display,"Archivo",sans-serif); font-variation-settings:"wdth" 108;
  font-weight:600; font-size:1.35rem; line-height:1.2; margin:0 0 var(--s5,20px); max-width:40ch; }
.btn{ display:inline-flex; align-items:center; height:44px; padding:0 var(--s5,20px); margin-right:var(--s3,12px);
  font-family:var(--mono,"Geist Mono",monospace); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  text-decoration:none; background:var(--mark,#B3300F); color:var(--paper,#EAE7DE); border:1px solid var(--mark,#B3300F); }
.btn--ghost{ background:transparent; color:var(--plate-ink,#EFEDE6); border-color:color-mix(in srgb,var(--plate-ink,#EFEDE6) 40%, transparent); }
.btn:hover{ filter:brightness(1.08); }

.related{ margin:var(--s12,48px) 0 var(--s10,40px); padding-top:var(--s6,24px); border-top:1px solid var(--ink,#141310); }
.related h2{ font-family:var(--mono,"Geist Mono",monospace); font-size:.75rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-3,#6f6a5d); margin:0 0 var(--s4,16px); }
.related ul{ list-style:none; margin:0; padding:0; display:grid; gap:1px; background:var(--rule,#D8D3C7); border:1px solid var(--rule,#D8D3C7); }
.related li{ background:var(--paper,#EAE7DE); }
.related a{ display:block; padding:var(--s4,16px) var(--s5,20px); text-decoration:none;
  font-family:var(--display,"Archivo",sans-serif); font-weight:560; font-size:1.05rem; }
.related a:hover{ background:var(--paper-sunk,#E1DDD2); color:var(--mark-text,#98280A); }

/* ---- index ---- */
.idx{ max-width:900px; margin:0 auto; padding:var(--s12,48px) var(--s6,24px) 0; }
.idx__head{ margin-bottom:var(--s14,56px); }
.idx__head h1{ font-family:var(--display,"Archivo",sans-serif); font-variation-settings:"wdth" 112;
  font-weight:660; font-size:clamp(2.1rem,5vw,3.4rem); line-height:1.04; letter-spacing:-.02em; margin:var(--s4,16px) 0 var(--s5,20px); }
.idx-group{ margin-bottom:var(--s14,56px); }
.idx-group>h2{ font-family:var(--mono,"Geist Mono",monospace); font-size:.78rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--mark-text,#98280A); margin:0 0 var(--s4,16px);
  padding-bottom:var(--s3,12px); border-bottom:1px solid var(--ink,#141310); }
.idx-list{ list-style:none; margin:0; padding:0; display:grid; gap:1px; background:var(--rule,#D8D3C7); border:1px solid var(--rule,#D8D3C7); }
.idx-list li{ background:var(--paper,#EAE7DE); }
.idx-list a{ display:block; padding:var(--s5,20px) var(--s6,24px); text-decoration:none; }
.idx-list a:hover{ background:var(--paper-sunk,#E1DDD2); }
.idx-t{ display:block; font-family:var(--display,"Archivo",sans-serif); font-weight:600; font-size:1.2rem; line-height:1.2; margin-bottom:.3em; }
.idx-d{ display:block; font-size:.98rem; line-height:1.45; color:var(--ink-2,#4a463d); max-width:70ch; }

@media(max-width:640px){
  .toc ol{ columns:1; }
  .bhead__nav{ gap:var(--s4,16px); }
  .post__cta{ padding:var(--s6,24px); }
}
