@import url("./editorial-tokens.css");
/* Editorial shell; reader content, technical colors and behavior retain their contracts. */
:root {
  color-scheme: light;
  --paper: var(--site-paper); --ink: var(--site-ink); --quiet: var(--site-muted); --rule: var(--site-rule);
  --accent: var(--site-accent); --soft: var(--site-soft); --muted: var(--site-muted);
  --bg: var(--site-paper); --text: var(--site-ink); --border: var(--site-rule); --card: var(--site-surface);
  --tag-bg: var(--site-soft); --tag-text: var(--site-muted); --hover: var(--site-selected);
  --article-bg: var(--site-paper); --article-ink: var(--site-ink); --article-muted: var(--site-muted);
  --article-line: var(--site-rule); --article-accent: var(--site-accent); --article-link: var(--site-ink); --article-card: var(--site-surface);
}
body { background: var(--paper); color: var(--ink); }
a, button, input, select, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--site-focus) !important; outline-offset: 4px; }
[hidden] { display: none !important; }
.ui-arrow { width: 21px; height: 21px; vertical-align: middle; }
.warm-button .ui-arrow { filter: invert(1); }
.warm-button { display: inline-flex; align-items: center; justify-content: center; gap: 17px; min-height: 46px; padding: 11px 22px; border: 1px solid var(--site-ink); border-radius: var(--site-radius); background: var(--site-ink); color: var(--site-surface); text-decoration: none; font: 500 15px/1.3 var(--site-sans); transition: background .15s ease, transform .15s ease; }
.warm-button:hover { background: #2a3439; transform: translateY(-1px); }
.hero-links .warm-button { min-height: 52px; }
.quiet-link { text-decoration: underline; text-decoration-color: var(--site-line); text-underline-offset: 8px; }
.wrap { width: calc(100% - 144px); max-width: 1330px; }
.site-header { padding: 21px 0; min-height: 75px; gap: 34px; }
.site-header .wordmark { font-size: 26px; letter-spacing: -.9px; }
.site-header nav { font-size: 14px; gap: 29px; margin-left: auto; }
.languages { font-size: 14px; gap: 10px; margin-left: 0; }
.languages button { min-height: 34px; min-width: 30px; color: var(--site-muted); }
.languages button[aria-pressed=true] { color: var(--site-accent); font-weight: 600; }
.warm-home .hero { padding: 13px 0 24px; text-align: center; }
.home-eyebrow { color: var(--site-muted); font: 500 11px/1.5 var(--site-mono); letter-spacing: .18em; }
.warm-home h1 { margin: 22px 0 16px; font: 500 clamp(56px,5.6vw,78px)/1.02 var(--site-display); letter-spacing: -.045em; }
.warm-home .hero-description { margin: 0 auto; max-width: 860px; font-size: 20px; line-height: 1.55; letter-spacing: -.02em; }
.warm-home .hero-links { justify-content: center; margin-top: 18px; gap: 37px; font-size: 16px; }
.warm-work { border-top: 1px solid var(--rule); padding-top: 20px; scroll-margin-top: 20px; }
.section-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 17px; gap: 20px; }
.section-top h2 { margin: 0; }
.section-top > a { color: var(--site-accent); font-size: 13px; display: inline-flex; align-items: center; gap: 14px; }
.work-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.work-card { border: 1px solid var(--rule); border-radius: var(--site-radius); background: var(--site-surface); overflow: hidden; display: flex; flex-direction: column; }
.work-copy { padding: 24px 26px 0; }
.work-card h3 { margin: 0 0 5px; font: 500 clamp(26px,2.5vw,36px)/1.2 var(--site-display); letter-spacing: -.035em; }
.work-card p { font-size: 16px; color: var(--site-muted); line-height: 1.5; }
.work-image { display: block; margin: 12px 26px 0; overflow: hidden; height: 260px; }
.work-image > img { width: 100%; height: 100%; display: block; object-fit: contain; }
.studio-image { margin-inline: 0; }
.work-bottom { padding: 13px 26px 22px; margin-top: auto; }
.work-bottom > div { display: flex; align-items: center; gap: 20px; }
.work-bottom:not(:has(> div)) { display: flex; align-items: center; gap: 20px; }
.work-bottom .warm-button { min-height: 40px; padding: 9px 17px; font-size: 13px; gap: 14px; }
.work-note { display: block; color: var(--site-muted); font-size: 13px; margin-bottom: 13px; }
.case-link { color: var(--site-muted); text-underline-offset: 4px; font-size: 13px; }
.roadmaps-link { display: inline-flex; align-items: center; gap: 18px; margin-top: 18px; color: var(--site-accent); font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.warm-home .research { padding-top: 60px; }
.warm-home .section-label { color: var(--site-accent); font-size: 12px; letter-spacing: .12em; margin-bottom: 20px; }
.warm-home .research-row h3 { font: 500 28px/1.3 var(--site-display); letter-spacing: -.025em; }
.warm-home .research-row p { font-size: 16px; }
.warm-home .about-contact { margin-top: 50px; }
.warm-home .about-contact h2 { font: 500 36px/1.2 var(--site-display); margin-bottom: 18px; }
.warm-home .about-contact p:not(.section-label) { max-width: 860px; font-size: 18px; line-height: 1.7; }
footer.wrap { font-size: 12px; color: var(--site-muted); flex-wrap: wrap; gap: 14px; padding-block: 22px; }
html[lang=zh-CN] .warm-home h1 { font-size: clamp(46px,5vw,70px); line-height: 1.2; letter-spacing: 0; font-weight: 500; }
html[lang=zh-CN] :is(.work-card h3, .warm-home .research-row h3) { letter-spacing: 0; }
/* The month and full report share the same foundation; published copy stays byte-identical. */
.warm-monthly { font-family: var(--site-sans); font-size: 15px; }
.warm-monthly .header { background: transparent; border-bottom: 1px solid var(--rule); padding: 21px max(24px,calc((100vw - 1240px)/2)); min-height: 83px; }
.warm-monthly .header h1 { font: 500 23px/1.2 var(--site-display); color: var(--ink); }
.personal-home { color: var(--site-muted); font-size: 12px; }
.language-switch { border: 0; background: transparent; gap: 8px; }
.language-switch button, .language-switch button.active { background: transparent; color: var(--site-muted); border: 0; padding: 8px 10px; min-height: 36px; }
.language-switch button.active { color: var(--site-accent); font-weight: 650; }
.warm-monthly .tab-bar { border-bottom: 1px solid var(--rule); background: transparent; padding: 0 max(24px,calc((100vw - 1240px)/2)); gap: 28px; }
.warm-monthly .tab { font-size: 14px; padding: 14px 0; border-bottom: 2px solid transparent; }
.warm-monthly .tab.active { color: var(--site-accent); border-color: var(--site-accent); }
.month-home { margin-left: auto; align-self: center; font-size: 13px; color: var(--site-muted); text-decoration: none; }
.warm-monthly .main { max-width: 1290px; margin: 0 auto; padding: 10px 25px 40px; }
.brief-masthead { margin-bottom: 0; padding: 26px 0 8px; }
.brief-masthead h1 { font: 500 clamp(36px,3.8vw,52px)/1.1 var(--site-display); color: var(--site-ink); letter-spacing: -.035em; }
.brief-masthead > div > p:last-child { margin-top: 11px; font-size: 15px; color: var(--site-muted); }
.brief-masthead .section-eyebrow { color: var(--site-muted); font-family: var(--site-mono); font-size: 10px; letter-spacing: .16em; }
.brief-masthead-link { color: var(--site-ink); font-size: 14px; border-color: var(--site-line); }
.brief-deck {
  --bk-bg: var(--site-surface); --bk-surface: var(--site-soft); --bk-surface-2: var(--site-selected);
  --bk-fg: var(--site-ink); --bk-muted: var(--site-muted); --bk-faint: var(--site-muted);
  --bk-border: var(--site-rule); --bk-border-2: var(--site-line); --bk-accent: var(--site-accent);
  --bk-t0: #e9edee; --bk-t1: #c8d0d4; --bk-t2: #97a3a9; --bk-t3: #66737a; --bk-t4: #3a464c; --bk-t5: #0e1417;
  --bk-ok: #317149; --bk-warn: #956112; --bk-danger: #ad433e;
  --bk-font-display: var(--site-display);
  --bk-font-body: var(--site-sans);
  --bk-font-mono: var(--site-mono);
  color-scheme: light; background: var(--site-surface); border-radius: var(--site-radius); border: 1px solid var(--site-rule); margin-top: 22px;
}
.brief-deck-toolbar { background: transparent; border-bottom: 1px solid var(--bk-border); padding: 16px 28px; }
.bk-toolbar-eyebrow { font: 500 10px/1.4 var(--site-mono); letter-spacing: .13em; color: var(--site-muted); }
.bk-edition { margin-top: 4px; font-size: 14px; }
.brief-deck-actions a { color: var(--site-ink); }
.brief-deck-actions button[data-brief-print] { color: var(--site-ink); background: var(--site-surface); border: 1px solid var(--site-line); padding: 8px 13px; border-radius: 3px; }
.brief-section-picker { background: var(--site-soft); padding: 12px 28px; }
.brief-section-picker select { color: var(--site-ink); border-color: var(--site-line); border-radius: 3px; background: var(--site-surface); min-height: 40px; font-size: 14px; }
.brief-stage { min-height: 490px; padding: 30px 32px; }
.bk-title { font-size: clamp(28px,3vw,43px); line-height: 1.18; font-weight: 500; letter-spacing: -.028em; margin-bottom: 18px; }
.bk-kicker { color: var(--site-muted); font-family: var(--site-mono); font-size: 10px; }
.bk-kicker::before { display: none; }
.bk-cover-title { font-size: clamp(30px,2.8vw,41px); line-height: 1.17; max-width: 24ch; }
.bk-date { font-family: inherit; letter-spacing: 0; font-size: 12px; line-height: 1.7; }
.bk-cover { gap: 38px; }
.bk-takeaway { border-left: 2px solid var(--site-line); }
.bk-takeaway > p:not(.bk-block-label) { font-size: 17px; line-height: 1.65; }
.bk-block-label { color: var(--site-muted); font-family: var(--site-mono); font-size: 11px; }
.bk-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.bk-k-value { color: var(--site-ink); font-family: var(--site-sans); font-size: 28px; font-weight: 400; font-variant-numeric: tabular-nums; }
.bk-summary-grid { gap: 20px 30px; }
.bk-summary-card { padding: 18px 0 10px; border: 0; border-top: 1px solid var(--site-rule); border-radius: 0; background: transparent; }
.bk-summary-card::before { display: none; }
.bk-summary-card h3 { color: var(--site-muted); font-family: var(--site-mono); font-size: 11px; letter-spacing: .08em; margin-bottom: 10px; }
.bk-summary-card p { font-size: 15px; line-height: 1.7; }
.bk-lead { font-size: 15px; line-height: 1.7; max-width: 78ch; margin-bottom: 18px; }
.bk-sm-card, .bk-change-card, .bk-methodology-grid > section, .bk-cta { background: var(--site-soft); border-color: var(--site-rule); border-radius: var(--site-radius); }
.bk-sm-card { padding: 12px 16px; margin-bottom: 6px; }
.bk-sm-v { font-size: 13px; line-height: 1.65; }
.bk-cta-row .bk-cta { color: var(--bk-fg); }
.bk-cta.primary { background: var(--site-selected); border-color: var(--site-line); }
.bk-cta.primary .bk-c-tag { color: var(--site-surface); }
.brief-deck-actions button[data-brief-print]:hover { background: var(--site-selected); }
.bk-sm-card[data-heat="5"] { box-shadow: none; }
.brief-nav { background: var(--site-soft); border-color: var(--bk-border); }
.brief-nav-btns button { background: var(--site-surface); color: var(--site-ink); border: 1px solid var(--site-line); border-radius: 3px; min-width: 88px; }
.brief-nav-btns button:hover:not(:disabled) { background: var(--site-selected); }
.brief-progress button.active { background: var(--site-accent); box-shadow: none; }
.history-version-card, .history-grid .history-version-card { background: var(--site-surface); border: 1px solid var(--site-rule); border-radius: var(--site-radius); }
.history-version-card.active { border-color: var(--site-ink); }
.history-version-card strong { font: 500 22px/1.2 var(--site-display); letter-spacing: -.02em; }
/* The cards are buttons, which centre their content; date, title and summary share row tracks instead. */
.history-version-grid { row-gap: 0; }
.history-version-card { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; align-content: start; margin-bottom: .55rem; }
@supports not (grid-template-rows: subgrid) { .history-version-card { grid-row: auto; } }
.preview-footer { max-width: 1240px; margin: 0 auto; border-top: 1px solid var(--site-rule); padding: 24px 0; display: flex; justify-content: space-between; gap: 20px; color: var(--site-muted); font-size: 12px; }
.preview-footer a { color: var(--site-accent); }
body.article-page { background: var(--article-bg); font-family: var(--site-sans); }
.article-topbar { background: #f6f7f7f5; }
.article-hero h1 { font-family: var(--site-display); font-weight: 500; letter-spacing: -.035em; }
.article-body { font-size: 17px; line-height: 1.85; }
.article-body h2 { color: var(--site-ink); }
html[lang=zh-CN] .bk-title, html[lang=zh-CN] .brief-masthead h1, html[lang=zh-CN] .article-hero h1 { font-weight: 500; letter-spacing: 0; line-height: 1.35; }
@media(max-width:1000px) {
  .wrap { width: calc(100% - 72px); }
  .work-image { height: 220px; }
  .work-copy { padding: 20px 20px 0; }
  .work-bottom { padding: 15px 20px 20px; }
  .work-card h3 { font-size: 29px; }
  .bk-cover { grid-template-columns: 1fr; }
  .preview-footer { margin-inline: 25px; }
}
@media(max-width:700px) {
  .wrap { width: calc(100% - 36px); }
  .site-header { padding: 17px 0; gap: 12px; }
  .site-header .wordmark { font-size: 23px; }
  .site-header nav { order: 2; justify-content: space-between; gap: 15px; width: 100%; font-size: 13px; padding-top: 9px; }
  .languages { margin-left: auto; }
  .warm-home .hero { padding: 32px 0 38px; }
  .warm-home h1 { font-size: clamp(40px,10vw,64px); margin: 22px 0; line-height: 1.06; }
  .warm-home .hero-description { font-size: 16px; line-height: 1.7; }
  .desktop-break { display: none; }
  .home-eyebrow { font-size: 9px; letter-spacing: .13em; }
  .warm-home .hero-links { margin-top: 23px; gap: 24px; font-size: 14px; }
  .warm-button { font-size: 13px; padding: 11px 15px; gap: 10px; }
  .section-top > a { font-size: 11px; gap: 7px; }
  .work-grid { grid-template-columns: 1fr; gap: 16px; }
  .work-card h3 { font-size: 32px; }
  .work-card p { font-size: 14px; }
  .work-image { height: 230px; margin-top: 12px; }
  .warm-home .research { padding-top: 45px; }
  .warm-home .research-row h3 { font-size: 24px; }
  .warm-home .about-contact { margin-top: 30px; }
  html[lang=zh-CN] .warm-home h1 { font-size: clamp(38px,10vw,62px); }
  .warm-monthly .header { padding: 16px 18px; min-height: 80px; gap: 8px; }
  .warm-monthly .header h1 { font-size: 21px; }
  .warm-monthly .tab-bar { padding-inline: 18px; gap: 21px; }
  .warm-monthly .tab { font-size: 12px; }
  .month-home { display: none; }
  .warm-monthly .main { padding: 6px 16px 30px; }
  .brief-masthead { padding: 25px 0 4px; }
  .brief-masthead h1 { font-size: 38px; }
  .brief-masthead-link { margin-top: 10px; }
  .brief-deck-toolbar { padding: 15px 17px; gap: 15px; }
  .brief-deck-actions { gap: 13px; font-size: 12px; }
  .brief-section-picker { padding: 12px 17px; flex-wrap: wrap; }
  .brief-section-picker label { font-size: 12px; }
  .brief-section-picker select { min-width: 0; flex: 1; max-width: 100%; }
  .brief-section-picker > span { display: none; }
  .brief-stage { padding: 24px 18px; min-height: auto; }
  .bk-title { font-size: 29px; }
  .bk-cover { grid-template-columns: 1fr; gap: 25px; }
  .bk-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bk-kpi { border: 0; padding: 20px 8px; }
  .bk-kpi:first-child { padding-left: 8px; }
  .bk-summary-grid { grid-template-columns: 1fr; gap: 8px; }
  .bk-sm-card { grid-template-columns: 1fr; }
  .bk-sm-body { grid-template-columns: 1fr; gap: 13px; }
  .brief-nav { padding: 12px 15px; gap: 10px; flex-wrap: wrap; }
  .brief-progress { gap: 5px; }
  .brief-nav-btns button { min-width: 65px; font-size: 12px; padding: 7px 10px; }
  .preview-footer { margin-inline: 16px; flex-wrap: wrap; }
}
@media print {
  :root { --paper: #fff; --article-bg: #fff; }
  .preview-footer, .month-home { display: none !important; }
  .brief-deck { background: #fff; color: #111; border: 0; }
  .brief-print-all .brief-slide { background: #fff; color: #111; }
}
@media(prefers-reduced-motion:reduce) { .warm-button { transition: none; } }

body { font-family: var(--site-sans); }
.case-hero h1, .work-detail h1, .essay-hero h1 { font-family: var(--site-display); font-weight: 500; letter-spacing: -.035em; }
.essay-body :is(h2, h3) { text-wrap: balance; }   /* owner 2026-10-31: no subheading ends on a lone word */
html[lang=zh-CN] :is(.case-hero h1, .work-detail h1, .essay-hero h1) { letter-spacing: 0; }
.editorial-roadmap { --green: var(--site-accent); --link: var(--site-ink); --body: var(--site-sans); background: var(--site-paper); color: var(--site-ink); }
.editorial-roadmap small { color: var(--site-muted); }
.editorial-roadmap h1 { font-family: var(--site-display); font-weight: 500; }
.editorial-roadmap :is(.overline,.meta) { color: var(--site-accent); }
.editorial-roadmap :is(figure,.overview-card,.path-card) { background: var(--site-surface); border-color: var(--site-rule); }
.editorial-roadmap .note { background: var(--site-soft); border-left-color: var(--site-accent); }
.editorial-roadmap :is(.links,.downloads) a { color: var(--site-accent); }
.editorial-roadmap :is(td,th,details) { border-color: var(--site-rule); }
.editorial-roadmap button { color: var(--site-ink); border-color: var(--site-line); }
body.article-page .article-controls select { border-color: var(--site-line); }
.editorial-roadmap button:is([aria-selected=true],[aria-pressed=true]) { background: var(--site-accent); color: #fff; border-color: var(--site-accent); }
body.editorial-not-found { padding: clamp(24px,8vw,100px); }
.editorial-not-found h1 { font: 500 clamp(40px,6vw,70px)/1.1 var(--site-display); letter-spacing: -.035em; }

.editorial-archive a, .editorial-archive button.active { color:var(--site-accent); }
.editorial-archive button.active { border-color:var(--site-accent); }
.editorial-archive h1 { font-family:var(--site-display);font-weight:500; }
.editorial-archive :is(.lead,small) { color:var(--site-muted); }
.editorial-archive :is(article,.card) { border-color:var(--site-rule);background:var(--site-surface); }

/* Work hierarchy and an accessible, opt-in Studio walkthrough. */
.roadmap-card { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1.2fr; align-items: center; }
.roadmap-copy { display: flex; flex-direction: column; gap: 20px; }
.roadmap-image { margin: 20px 26px; height: 270px; }
.monthly-subtitle { margin: 5px 0; color: var(--site-muted); font-size: 12px; }
.case-image img { height: auto; }
.case-gallery img { height: auto; aspect-ratio: 1422 / 800; object-fit: contain; }
.studio-walkthrough { margin: 34px 0 56px; }
.studio-walkthrough video { width: 100%; display: block; aspect-ratio: 1422 / 892; background: var(--site-soft); border: 1px solid var(--site-rule); border-radius: var(--site-radius); }
.studio-walkthrough figcaption { display: flex; justify-content: space-between; gap: 16px; margin: 14px 0; font-size: 13px; color: var(--site-muted); }
.walkthrough-notes { font-size: 14px; line-height: 1.7; color: var(--site-muted); max-width: 850px; }
.walkthrough-notes summary { cursor: pointer; color: var(--site-accent); }
@media(max-width:700px) {
  .roadmap-card { display: flex; }
  .roadmap-copy { gap: 10px; }
  .roadmap-image { margin: 0 20px 20px; height: 200px; }
  .section-top { align-items: flex-start; }
  .section-top > a { max-width: 65%; text-align: right; }
  .studio-walkthrough figcaption { flex-direction: column; gap: 5px; }
}

/* Site header shared by every page except the Studio app (scripts/site/chrome.mjs).
   Research lines, then publications after a rule; a menu below 1100 px. Also loaded by the monthly readers. */
html[lang=en] [data-l=zh], html[lang=zh-CN] [data-l=en], html[lang=zh] [data-l=en] { display: none !important; }
.site-header { position: relative; display: flex; align-items: center; flex-wrap: nowrap; }
.site-header .wordmark { margin-right: auto; color: var(--site-ink); text-decoration: none; white-space: nowrap; display: inline-flex; align-items: center; gap: 10px; font: 600 22px/1 var(--site-sans); letter-spacing: -.035em; }
.site-header .logo-mark { width: 28px; height: 28px; flex: none; }
/* The one gradient: a thin cool-to-hot line under the header, like the scale of an instrument. */
.site-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, var(--site-cool), var(--site-hot)); }
.site-header .site-nav { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; width: auto; order: 0; font: 14px/1.3 var(--site-sans); }
.site-header .site-nav ul { display: flex; align-items: center; gap: 22px; list-style: none; margin: 0; padding: 0; }
.site-header .nav-pubs { padding-left: 26px; border-left: 1px solid var(--site-rule); }
.site-header .site-nav a { color: var(--site-muted); text-decoration: none; display: block; padding-block: 4px; }
.site-header .site-nav a:hover { color: var(--site-ink); }
.site-header .site-nav a[aria-current=page] { color: var(--site-ink); box-shadow: inset 0 -2px 0 var(--site-accent); }
.site-header .site-nav small { display: block; font-size: 11px; line-height: 1.2; color: var(--site-muted); }
.site-header .site-menu { display: none; }
.site-header .languages { flex: none; }
@media (max-width: 1100px) {
  .site-header { gap: 16px; }
  .site-header > .site-nav { display: none; }
  .site-header .site-menu { display: block; }
  .site-header .site-menu summary { list-style: none; cursor: pointer; border: 1px solid var(--site-line); border-radius: 3px; padding: 5px 12px; font: 14px/1.3 var(--site-sans); color: var(--site-ink); background: var(--site-surface); }
  .site-header .site-menu summary::-webkit-details-marker { display: none; }
  .site-header .site-menu[open] .site-nav { position: absolute; right: 0; top: calc(100% - 6px); z-index: 30; display: grid; gap: 14px; width: min(300px, 100%); padding: 16px; background: var(--site-surface); border: 1px solid var(--site-line); border-radius: var(--site-radius); }
  .site-header .site-menu .site-nav ul { flex-direction: column; align-items: stretch; gap: 4px; }
  .site-header .site-menu .nav-pubs { border-left: 0; padding-left: 0; border-top: 1px solid var(--site-rule); padding-top: 12px; }
  .site-header .site-menu .site-nav a { font-size: 16px; color: var(--site-ink); padding-block: 6px; }
  .site-header .site-menu .site-nav a[aria-current=page] { box-shadow: inset 3px 0 0 var(--site-accent); padding-left: 10px; }
}
@media (max-width: 700px) { .site-header .languages { margin-left: 0; } }
/* Smallest phones (320 px): wordmark, menu and languages must fit on one row without page scroll. */
@media (max-width: 380px) { .site-header { gap: 8px; } .site-header .languages { gap: 2px; } .site-header .site-menu summary { padding-inline: 8px; } }
.section-nav { display: flex; flex-wrap: wrap; gap: 6px 22px; padding-block: 2px 12px; font: 14px/1.4 var(--site-sans); }
.section-nav a { color: var(--site-muted); text-decoration: none; }
.section-nav a[aria-current=page] { color: var(--site-ink); box-shadow: inset 0 -2px 0 var(--site-accent); }
.writing-type { display: inline-block; margin-top: 8px; font: 12.5px/1.3 var(--site-sans); padding: 1px 8px; border: 1px solid var(--site-rule); border-radius: 3px; color: var(--site-muted); background: var(--site-surface); }
.case-meta .writing-type { margin-top: 0; }
.edition-notice { margin-block: 0 14px; padding: 10px 14px; background: var(--site-selected); border-left: 3px solid var(--site-accent); font: 14px/1.5 var(--site-sans); color: var(--site-ink); max-width: none; }
.edition-notice a { color: var(--site-ink); text-decoration: underline; }
.site-header.wrap, .edition-notice.wrap, .section-nav.wrap { margin-inline: auto; box-sizing: border-box; }
