/* Blog: an open editorial layout using the shared theme palette. */
.b-chip{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);line-height:1.5}
.b-chip.is-accent{color:var(--signal)}
.b-time{font-size:.8rem;color:var(--slate);font-variant-numeric:tabular-nums;white-space:nowrap}
.b-dot{opacity:.45;margin:0 .45rem}
.b-kicker{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.b-kicker .b-chip + .b-chip{border-left:1px solid var(--rule);padding-left:1rem}
.b-masthead{padding-block:2rem 3rem;border-top:0}
.b-masthead .crumb{margin-bottom:2.5rem}
.b-masthead .b-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem}
.b-masthead h1{font-size:clamp(3.8rem,8vw,7rem);line-height:.95;letter-spacing:-.065em;margin:0}
.b-masthead .lede{max-width:28rem;font-size:1.05rem;margin:0;padding-bottom:.25rem}
.b-index{padding-block:0 6rem;border-top:0}
.b-lead{border-block:1px solid var(--rule);padding-block:3rem}
.b-lead-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:clamp(2rem,6vw,6rem);text-decoration:none}
.b-lead .b-kicker{grid-column:1/-1;margin-bottom:1.6rem}
.b-lead h2{grid-row:2/4;font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.12;letter-spacing:-.035em;max-width:25ch;margin:0;text-wrap:pretty}
.b-lead p{font-size:1.05rem;line-height:1.75;color:var(--slate);max-width:38rem}
.b-by{display:block;font-size:.8rem;color:var(--slate)}
.b-lead .b-by{margin-top:1.4rem}
.b-archive-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-block:3rem 1.25rem}
.b-archive-head h2{font-size:1.1rem;letter-spacing:-.015em}
.b-archive-head p{font-size:.8rem;color:var(--slate)}
.b-list{list-style:none;border-top:1px solid var(--rule);margin:0;padding:0}
.b-list li{border-bottom:1px solid var(--rule-soft)}
.b-row{position:relative;display:grid;grid-template-columns:10rem minmax(0,1fr);gap:2rem;padding:2rem 0;text-decoration:none;transition:background-color .2s}
.b-list .b-side{display:flex;flex-direction:column;gap:.65rem;align-items:flex-start;padding-top:.3rem}
.b-list h3{font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.3;letter-spacing:-.025em;font-weight:600;max-width:44ch;margin-bottom:.75rem;text-wrap:pretty}
.b-list p{font-size:.95rem;line-height:1.7;color:var(--slate);max-width:48rem}
.b-list .b-by{margin-top:1rem}
.b-lead h2 a,.b-list h3 a,.b-related h3 a{transition:color .2s;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:.16em}
.b-lead a:focus-visible,.b-list a:focus-visible{outline:2px solid var(--signal);outline-offset:6px}
@media(hover:hover){
  .b-lead h2 a:hover,.b-list h3 a:hover,.b-related h3 a:hover{color:var(--signal);text-decoration-color:currentColor}
}
/* Wide headline, followed by a deliberately narrower reading measure. */
.b-head{padding-block:2rem 3rem;border-top:0;background:var(--paper)}
.b-head .wrap{max-width:64rem}
.b-head .crumb{margin-bottom:3rem}
.b-head .b-kicker{margin-bottom:1.5rem}
.b-head h1{font-size:clamp(2.2rem,4.5vw,3.85rem);line-height:1.12;letter-spacing:-.04em;max-width:29ch;margin:0 0 2rem;text-wrap:pretty}
.b-byline{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--slate);border-top:1px solid var(--rule);padding-top:1.25rem}
.b-byline b{font-weight:600;color:var(--ink)}
.b-reading-time{font-size:.8rem;color:var(--slate)}
.b-article{padding-block:3rem 5rem;border-top:1px solid var(--rule-soft)}
.b-article > .wrap{max-width:50rem}
.b-body{font-size:1.1rem;line-height:1.85;overflow-wrap:break-word}
.b-body > *:first-child{margin-top:0}
.b-body p{max-width:none;margin:0 0 1.5rem}
.b-body > p:first-of-type{font-size:1.24rem;line-height:1.75;color:var(--ink)}
.b-body strong{font-weight:650}
.b-body a{color:var(--signal);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--signal) 55%,transparent);transition:text-decoration-color .2s}
.b-body a:hover{text-decoration-color:currentColor}
.b-body h2{font-size:clamp(1.6rem,2.6vw,2rem);line-height:1.25;letter-spacing:-.025em;max-width:none;margin:3.5rem 0 1.15rem;text-wrap:pretty}
.b-body h3{font-size:1.35rem;line-height:1.35;font-weight:650;margin:2.75rem 0 1rem}
.b-body h4{font-size:1.15rem;line-height:1.55;font-weight:650;margin:2.5rem 0 1rem}
.b-body h5{font-size:1.05rem;font-weight:650;margin:2rem 0 .75rem}
.b-body h6{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--slate);font-weight:600;margin:3rem 0 1.25rem;padding-bottom:.8rem;border-bottom:1px solid var(--rule)}
.b-body ul,.b-body ol{margin:0 0 1.75rem;padding-left:1.5rem}
.b-body li{padding-left:.3rem;margin-bottom:.75rem}
.b-body li::marker{color:var(--slate)}
.b-body blockquote{margin:3rem 0;padding:.25rem 0 .25rem 1.75rem;border-left:2px solid var(--signal-bright)}
.b-body blockquote p{font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.65;letter-spacing:-.015em;color:var(--ink);margin-bottom:1rem}
.b-body blockquote p:last-child{margin-bottom:0}
.b-body blockquote cite{display:block;font-style:normal;font-size:.85rem;color:var(--slate)}
.b-body figure{margin:2.75rem 0}
.b-body figure img{width:100%;height:auto;border-radius:2px}
.b-body figcaption{margin-top:.8rem;font-size:.8rem;color:var(--slate);line-height:1.6}
.b-body figure.b-portrait{margin:1.5rem 0}
.b-body figure.b-portrait img{width:5.5rem;height:5.5rem;object-fit:cover;border-radius:50%}
/* Related stories replace the chronological pager. */
.b-foot{border-top:1px solid var(--rule);padding-top:2rem;margin-top:4rem}
.b-footer-head{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}
.b-footer-head h2{font-size:1.65rem;letter-spacing:-.025em}
.b-back{font-size:.85rem;color:var(--slate);text-decoration:underline;text-underline-offset:.3em;white-space:nowrap}
.b-back:hover{color:var(--signal)}
.b-related{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.b-related-story{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid var(--rule);padding:1.5rem 0 .5rem;text-decoration:none}
.b-related-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem}
.b-related h3{font-size:1.25rem;font-weight:600;line-height:1.4;letter-spacing:-.02em;margin-bottom:1.75rem;text-wrap:pretty}
.b-related a:focus-visible{outline:2px solid var(--signal);outline-offset:6px}
@media(max-width:820px){
  .b-masthead .b-intro{display:block}
  .b-masthead .lede{margin-top:1.5rem}
  .b-lead-layout{grid-template-columns:1fr}
  .b-lead h2{grid-row:auto;margin-bottom:1.25rem;max-width:30ch}
  .b-lead{padding-block:2rem}
  .b-row{grid-template-columns:minmax(0,1fr);gap:1rem;padding:1.75rem 0}
  .b-list .b-side{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.75rem;padding:0}
  .b-head .crumb{margin-bottom:2rem}
  .b-article{padding-top:2rem}
}
@media(max-width:480px){
  .b-head,.b-masthead{padding-block:1.5rem 2rem}
  .b-body{font-size:1.03rem;line-height:1.8}
  .b-body > p:first-of-type{font-size:1.13rem}
  .b-related{grid-template-columns:1fr;gap:1.5rem}
  .b-kicker{gap:.7rem}
}
@media(prefers-reduced-motion:reduce){
  .b-index *,.b-foot *,.b-body a{transition:none}
}
@media print{
  .b-head{padding:1rem 0}
  .b-head h1{font-size:28pt}
  .b-article{padding:1rem 0}
  .b-body{font-size:11pt}
  .b-foot{display:none}
}
