
.article-page { background:var(--paper); color:var(--ink); }
.article-header { position:sticky; top:0; z-index:90; background:rgba(251,248,240,.93); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-bottom:1px solid rgba(27,29,26,.08); }
.article-header-inner { max-width:1220px; margin:0 auto; min-height:64px; padding:0 var(--pad); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.article-header .wordmark { color:var(--ink); }
.article-nav { display:flex; align-items:center; gap:14px; }
.article-nav a { min-height:44px; display:inline-flex; align-items:center; font:500 9px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.article-nav a:nth-child(2) { display:none; }
.article-main { overflow:hidden; }
.article-hero { padding:72px var(--pad) 58px; border-bottom:1px solid var(--line); position:relative; }
.article-hero::after { content:""; position:absolute; width:340px; height:340px; border:1px solid rgba(128,92,37,.12); border-radius:50%; right:-220px; top:40px; pointer-events:none; }
.article-hero-inner { max-width:1040px; margin:0 auto; position:relative; z-index:1; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; color:var(--soft-ink); font:500 9px/1.4 var(--mono); letter-spacing:.07em; text-transform:uppercase; margin-bottom:44px; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.article-label { display:inline-flex; font:500 9px/1.2 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--gold-deep); border:1px solid rgba(128,92,37,.28); padding:8px 10px; border-radius:999px; }
.article-title { max-width:950px; margin:18px 0 20px; font:500 clamp(48px,10vw,92px)/.92 var(--serif); letter-spacing:-.052em; }
.article-title em { color:var(--gold); font-weight:500; }
.article-deck { max-width:780px; margin:0; font-size:clamp(18px,2.7vw,23px); line-height:1.5; color:var(--ink-2); }
.article-meta { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:30px; font:400 9px/1.5 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--soft-ink); }
.article-shell { max-width:1100px; margin:0 auto; padding:54px var(--pad) 90px; display:grid; gap:46px; }
.article-toc { align-self:start; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.article-toc > span { display:block; margin-bottom:13px; font:500 9px/1 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--gold-deep); }
.article-toc a { display:block; padding:8px 0; color:var(--soft-ink); font-size:13px; }
.article-toc a:hover, .article-toc a:focus-visible { color:var(--ink); }
.article-body { max-width:780px; }
.article-body > p:first-of-type { font-size:20px; line-height:1.55; color:var(--ink-2); }
.article-body h2 { scroll-margin-top:94px; margin:76px 0 18px; font:500 clamp(34px,7vw,54px)/1 var(--serif); letter-spacing:-.04em; }
.article-body h3 { margin:38px 0 12px; font:600 22px/1.15 var(--serif); letter-spacing:-.02em; }
.article-body p, .article-body li { color:var(--ink-2); font-size:16px; line-height:1.78; }
.article-body a { color:var(--gold-deep); text-decoration:underline; text-decoration-color:rgba(128,92,37,.32); text-underline-offset:4px; }
.article-body strong { color:var(--ink); }
.article-callout { margin:42px 0; padding:26px 26px 28px; background:var(--sky); border-left:3px solid var(--gold); }
.article-callout span { font:500 9px/1 var(--mono); letter-spacing:.09em; color:var(--gold-deep); text-transform:uppercase; }
.article-callout p { margin:12px 0 0; font:500 25px/1.18 var(--serif); letter-spacing:-.025em; color:var(--ink); }
.article-boundary { margin:34px 0; padding:22px; background:var(--rose); border:1px solid rgba(86,48,52,.15); }
.article-boundary b { display:block; margin-bottom:8px; font:600 9px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--burgundy); }
.article-sources { margin-top:76px; padding-top:28px; border-top:1px solid var(--line); }
.article-sources h2 { margin-top:0; }
.article-sources ol { padding-left:22px; }
.article-sources li { margin-bottom:14px; }
.related-notes { background:var(--limestone); padding:68px var(--pad); border-top:1px solid var(--line); }
.related-inner { max-width:1100px; margin:0 auto; }
.related-inner > span { font:500 9px/1 var(--mono); letter-spacing:.09em; color:var(--gold-deep); text-transform:uppercase; }
.related-inner h2 { margin:12px 0 28px; font:500 clamp(36px,8vw,58px)/.98 var(--serif); letter-spacing:-.04em; }
.related-grid { display:grid; gap:12px; }
.related-grid a { display:block; padding:22px; background:rgba(255,255,255,.52); border:1px solid var(--line); }
.related-grid b { display:block; font:500 20px/1.15 var(--serif); }
.related-grid span { display:block; margin-top:8px; color:var(--soft-ink); font-size:13px; }
.article-footer { padding:48px var(--pad); background:var(--night); color:var(--cream); }
.article-footer-inner { max-width:1100px; margin:0 auto; display:grid; gap:24px; }
.article-footer p { max-width:650px; color:rgba(250,246,235,.72); font-size:13px; }
.article-footer a { text-decoration:underline; text-underline-offset:4px; }
.notes-index-hero { padding:80px var(--pad) 58px; }
.notes-index-hero .article-title { max-width:900px; }
.notes-index-grid { max-width:1120px; margin:0 auto; padding:0 var(--pad) 100px; display:grid; gap:14px; }
.notes-index-card { display:block; border:1px solid var(--line); padding:28px; min-height:260px; background:rgba(255,255,255,.46); }
.notes-index-card > span { font:500 9px/1 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--gold-deep); }
.notes-index-card h2 { margin:42px 0 12px; font:500 31px/1.02 var(--serif); letter-spacing:-.03em; }
.notes-index-card p { color:var(--soft-ink); font-size:14px; }
.notes-index-card b { display:block; margin-top:26px; font:500 9px/1 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
@media (min-width:760px){
  .article-nav a:nth-child(2) { display:inline-flex; }
  .article-hero { padding-top:100px; padding-bottom:78px; }
  .article-shell { grid-template-columns:220px minmax(0,780px); gap:66px; padding-top:74px; padding-bottom:120px; }
  .article-toc { position:sticky; top:92px; }
  .related-grid, .notes-index-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1180px){ .notes-index-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
