/* Articles: the index at /blog and every post under it.
   Post templates carry no <style> of their own; anything an article needs
   lives here so the three posts, and the next ones, read the same way. */

/* ---- index ---- */
.articlesIntro{max-width:60ch;margin:0 0 6px}

/* ---- reading column ---- */
.article{max-width:760px}
.article h1{max-width:22ch}
.article h2{font-size:1.45rem;line-height:1.3;margin:40px 0 14px}
.article h3{margin-top:26px}
.article p,.article li{max-width:68ch;line-height:1.7}
.article li{margin-bottom:6px}
.article-meta{font-size:14px;color:var(--pt-subtle);margin:22px 0 0}
.article-guide{max-width:760px;margin:0 auto}
.article-guide h1{max-width:22ch}
.article-guide h2{font-size:24px;line-height:1.3;margin:36px 0 14px}
.article-guide p{line-height:1.7}
.article-guide .article-meta{font-size:14px;color:var(--pt-subtle)}

/* ---- figures ---- */
.article-figure{margin:30px 0}
.article-image-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;
  border:1px solid var(--pt-border);border-radius:var(--pt-radius-card);background:var(--pt-surface);color:var(--pt-subtle);font-size:14px}
.article-figure figcaption{font-size:14px;color:var(--pt-muted);margin-top:10px;line-height:1.5}

/* ---- key figures (dl.big) ---- */
.article .big{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:26px 0;padding:0}
.article .big div{background:var(--pt-panel);border:1px solid var(--pt-border);border-radius:var(--pt-radius-card);padding:18px 20px}
.article .big dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--pt-subtle);margin-bottom:8px;font-weight:600}
.article .big dd{margin:0;font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--pt-ink);line-height:1;font-variant-numeric:tabular-nums}
.article .big dd span{font-size:13px;font-weight:600;color:var(--pt-subtle);margin-left:5px;letter-spacing:0}

/* ---- parts table ---- */
.article .kit{width:100%;border-collapse:collapse;margin:14px 0 28px;font-size:14.5px}
.article .kit th,.article .kit td{text-align:left;padding:10px 0;border-bottom:1px solid var(--pt-border);vertical-align:top}
.article .kit th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--pt-subtle);font-weight:600}
.article .kit td.n{text-align:right;white-space:nowrap;padding-left:18px;font-variant-numeric:tabular-nums;color:var(--pt-ink)}
.article .kit td small{display:block;color:var(--pt-subtle);font-size:13px;margin-top:2px}
.article .kit td a{text-underline-offset:3px}
.article .kit tr.sum td{font-weight:600;color:var(--pt-ink);border-top:2px solid var(--pt-ink);border-bottom:0;padding-top:14px}

/* ---- aside: a plain bordered note, no accent stripe ---- */
.article .aside{background:var(--pt-panel);border:1px solid var(--pt-border);border-radius:var(--pt-radius-card);padding:16px 20px;margin:22px 0;max-width:68ch}
.article .aside p{margin:0 0 8px;font-size:14.5px}
.article .aside p:last-child{margin-bottom:0}

/* ---- end of article ---- */
.article .next{margin-top:56px;padding-top:18px;border-top:1px solid var(--pt-border);font-size:14px;color:var(--pt-subtle);max-width:none}

@media(max-width:600px){
  .article-guide h1,.article h1{font-size:2rem}
  .article-guide h2,.article h2{font-size:1.3rem}
}
.article-figure img{display:block;width:100%;height:auto;border:1px solid var(--pt-border);border-radius:var(--pt-radius-card)}

/* Editorial article index and worked-example tables. */
.article-list{margin:32px 0}
.article-list-row{padding:28px 0;border-bottom:1px solid var(--pt-border)}
.article-list-row.has-image{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:32px;align-items:center}
.article-list-row img{display:block;width:100%;height:auto;aspect-ratio:12/7;object-fit:cover}
.article-list-row h2{font-size:1.65rem;line-height:1.2;margin:10px 0 14px}
.article-list-row p{margin:0;max-width:60ch;color:var(--pt-muted)}
.article-measures{width:100%;border-collapse:collapse;margin:24px 0;font-size:16px}
.article-measures caption{text-align:left;color:var(--pt-muted);font-size:14px;margin-bottom:12px}
.article-measures th,.article-measures td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--pt-border);vertical-align:top}
.article-measures th:first-child{padding-left:0}
.article-credit{font-size:14px;color:var(--pt-muted);margin-top:36px}
@media(max-width:640px){.article-list-row.has-image{grid-template-columns:1fr;gap:18px}.article-list-row h2{font-size:1.4rem}.article-measures{font-size:14px}}
