/* Stage B2 — blog + glossary page styles (built on /assets/site.css tokens) */
.byline{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:22px 0 6px;font-size:.86rem;color:var(--mut);font-weight:600}
.byline b{color:var(--forest)}
.byline .dot{width:4px;height:4px;border-radius:50%;background:var(--brass);display:inline-block}
article .lede{font-size:1.13rem;color:#3D4A41;max-width:46rem;margin-top:14px}
.postfig{margin:30px 0 6px;border-radius:18px;overflow:hidden;border:1px solid var(--line);max-width:820px}
.postfig svg{width:100%;height:auto;display:block}
.postfig img{width:100%;aspect-ratio:16/8;object-fit:cover}
.relbox{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;margin:40px 0 10px}
.relbox h3{font-size:1.25rem;margin-bottom:14px}
.relbox ul{list-style:none;display:grid;gap:10px}
.relbox li a{color:var(--brass2);font-weight:650;text-decoration:none}
.relbox li a:hover{text-decoration:underline}
.relbox li span{color:var(--mut);font-size:.88rem;font-weight:600;margin-right:8px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.def{font-size:1.14rem;line-height:1.65;color:var(--ink);background:#fff;border:1px solid var(--line);border-left:4px solid var(--forest);border-radius:14px;padding:24px 26px;margin:24px 0}
.formula{background:var(--forest);color:var(--ivory);border-radius:14px;padding:20px 24px;margin:0 0 24px;font-size:1.0rem}
.formula .fl{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--brasslt);display:block;margin-bottom:7px}
.formula b{color:#fff}
.affects{list-style:none;display:grid;gap:9px;margin:6px 0 8px}
.affects li{padding-left:26px;position:relative;color:#3D4A41}
.affects li::before{content:"";position:absolute;left:2px;top:.52em;width:9px;height:9px;border-radius:50%;background:var(--brass)}
.termgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:920px){.termgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.termgrid{grid-template-columns:1fr}}
.termcard{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px 22px;text-decoration:none;display:block;transition:transform .15s ease,box-shadow .15s ease}
.termcard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.termcard h3{font-size:1.12rem;margin-bottom:5px}
.termcard p{font-size:.88rem;color:var(--mut)}
.themegroup{margin-bottom:54px}
.themegroup h2{font-size:1.7rem;margin-bottom:6px}
.themegroup>p{color:var(--mut);margin-bottom:20px;max-width:42rem}
.topicnav{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 8px}
.topicnav a{font-size:.82rem;font-weight:650;color:var(--forest);text-decoration:none;border:1px solid var(--line);background:#fff;padding:8px 15px;border-radius:999px}
.topicnav a:hover{border-color:var(--brass);color:var(--brass2)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.mailerr{display:none;background:#F9E9E4;border:1px solid #E3B4A5;color:#7C2D12;font-weight:600;font-size:.9rem;border-radius:12px;padding:12px 16px;margin-top:10px}
form.failed .mailerr{display:block}
.footform{max-width:420px;margin-top:16px}
.footform .mailform input{background:#fff}
.pagehead{padding:130px 0 8px}
.pagehead h1{font-size:clamp(2.1rem,4.6vw,3.2rem);max-width:44rem}
.pagehead p{margin-top:14px;color:var(--mut);font-size:1.06rem;max-width:42rem}
