.article-header{background:#fff;padding:1rem 0 4rem}.article-header .breadcrumb{margin-bottom:3rem}.article-header h1{font-size:clamp(2.8rem,5.6vw,5.5rem);max-width:18ch;margin:1.3rem 0 1.4rem}.article-header .lead{max-width:55ch}.article-meta{display:flex;gap:1.2rem;align-items:center;color:var(--muted);font-size:.78rem;margin-top:2rem}.article-figure{margin:0;background:#e8f1f3}.article-figure img{width:100%;aspect-ratio:1200/620;object-fit:contain}.article-figure figcaption{font-size:.75rem;padding:.65rem 0;color:var(--muted);background:var(--paper)}.article-layout{display:grid;grid-template-columns:minmax(0,var(--body)) minmax(220px,1fr);gap:5rem;padding-top:4rem;align-items:start}.prose{min-width:0;font-size:1.04rem;line-height:1.95}.prose p{margin:0 0 1.45rem}.prose h2{font-size:clamp(1.75rem,2.5vw,2.4rem);letter-spacing:-.04em;margin:3.6rem 0 1.3rem;padding-top:.75rem;border-top:1px solid var(--line);scroll-margin-top:2rem}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.3rem;margin:2.2rem 0 1rem;scroll-margin-top:2rem}.prose ul,.prose ol{padding-left:1.4rem;margin:0 0 1.5rem}.prose li{padding-left:.2rem;margin:.55rem 0}.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.callout{background:#e9f1f3;border-left:3px solid var(--blue);padding:1.1rem 1.4rem;margin:2rem 0}.callout strong{display:block;color:var(--blue);font-size:.82rem;margin-bottom:.35rem}.callout p{margin:0}.article-side{position:sticky;top:2rem;font-size:.84rem}.article-side section{padding:1.3rem 0;border-top:1px solid var(--line)}.article-side h2{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:0 0 1rem}.article-side ol,.article-side ul{padding:0;margin:0;list-style:none}.article-side li{margin:.7rem 0}.article-side a:hover{color:var(--blue);text-decoration:underline}.article-side details summary{cursor:pointer;font-weight:700}.article-bottom{border-top:1px solid var(--line);margin-top:5rem;padding-top:2rem}.prev-next{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.prev-next a{background:#fff;padding:1.5rem;min-height:140px}.prev-next a:hover{background:var(--mist)}.prev-next a:last-child{text-align:right}.prev-next span{font-size:.7rem;color:var(--blue);font-weight:700;letter-spacing:.13em}.prev-next strong{display:block;margin-top:.5rem}.related-article-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.related-article-links a{border-bottom:1px solid var(--blue);color:var(--blue)}
