@import url("./fonts/fonts.css");

:root {
  color-scheme: light;
  --paper: #f3efe7;
  --panel: #e6e3d7;
  --ink: #202e46;
  --muted: #59616b;
  --accent: #274ca5;
  --rule: #b5b6ad;
  --focus: #244be3;
  --serif: "Instrument Serif", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gutter: clamp(24px, 4.8vw, 88px);
  --measure: 68ch;
  font-family: var(--sans);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-size: 16px; line-height: 1.65; }
body.site-blog, body[data-site="blog"] { --paper: #e9eddc; --panel: #d9dfc9; --ink: #20372f; --muted: #4f6154; --accent: #a03c2c; --rule: #a9b39e; --focus: #2458d5; }
[hidden] { display: none !important; }
::selection { color: var(--paper); background: var(--ink); }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
figure { margin: 0; }
figcaption { margin-top: 13px; color: var(--muted); font-size: 11px; line-height: 1.6; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .24em; }
a:hover { color: var(--accent); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }
button, input, select, textarea { font: inherit; color: var(--ink); }
button, select, summary { cursor: pointer; }
button { border-radius: 0; }
button:disabled { cursor: default; opacity: .65; }
p { margin: 0 0 1.2em; }
ul, ol { padding-left: 1.25em; }
li { margin-bottom: .5em; }
h1, h2, h3, h4 { margin: 0 0 .6em; font-family: var(--serif); font-weight: 400; line-height: 1.07; letter-spacing: -.025em; overflow-wrap: break-word; text-wrap: balance; }
h1 { font-size: clamp(44px, 5.8vw, 86px); }
h2 { font-size: clamp(34px, 3.7vw, 52px); }
h3 { font-size: 30px; }
h4 { font-size: 24px; }
em { font-style: italic; }
small { font-size: 12px; }
hr { margin: 40px 0; border: 0; border-top: 1px solid var(--rule); }
blockquote { margin: 1.6em 0; padding: 0 0 0 25px; border-left: 2px solid var(--accent); font: 31px/1.4 var(--serif); }
blockquote p:last-child { margin-bottom: 0; }
code { font-size: .88em; overflow-wrap: anywhere; }
table { width: 100%; border-collapse: collapse; margin-block: 25px; font-size: 14px; }
th, td { text-align: left; vertical-align: top; padding: 12px 14px 12px 0; border-bottom: 1px solid var(--rule); }
th { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
input, select, textarea { max-width: 100%; }
textarea { min-height: 160px; resize: vertical; }

.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: var(--gutter); top: -120px; z-index: 100; padding: 14px 22px; color: var(--paper); background: var(--ink); font-size: 14px; }
.skip-link:focus { top: 12px; color: var(--paper); }
.preview-banner { padding: 8px var(--gutter); border-bottom: 1px solid var(--rule); color: var(--ink); background: var(--panel); text-align: center; font: 11px/1.55 var(--sans); }
.preview-banner a { font-weight: 600; }
.site-header, .site-main, main.layout, .site-footer, .footer { width: min(1400px, calc(100% - var(--gutter) * 2)); margin-inline: auto; }
.site-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px 36px; padding-block: 27px 24px; border-bottom: 1px solid var(--ink); }
.brand { text-decoration: none; font: 30px/1.05 var(--serif); letter-spacing: -.035em; flex-shrink: 0; }
.brand small { display: block; margin-top: 7px; font: 10px/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.site-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 23px; margin-left: auto; font-size: 12px; line-height: 1.5; }
.site-nav a { padding-block: 10px; text-decoration: none; border-bottom: 1px solid transparent; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--accent); border-bottom-color: currentColor; }
.site-nav a[aria-current="page"] { font-weight: 600; }
.site-utilities { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; font-size: 11px; line-height: 1.5; }
.site-utilities a { display: inline-block; padding-block: 10px; }
.language-switch { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.language-switch [aria-current="page"] { font-weight: 700; text-decoration: none; }
.site-main, main.layout { min-height: 60vh; padding-bottom: 100px; }
.eyebrow { margin: 0 0 22px; font: 500 11px/1.6 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.text-link { color: var(--accent); font-size: 13px; line-height: 1.5; text-underline-offset: .33em; }
.button, .copy-email { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 11px 21px; border: 1px solid var(--ink); background: transparent; color: var(--ink); font: 500 12px/1.45 var(--sans); text-decoration: none; }
.button:hover, .copy-email:hover { color: var(--paper); background: var(--ink); }
.tag { display: inline-block; margin-right: 9px; padding: 3px 0; color: var(--muted); font-size: 11px; line-height: 1.5; letter-spacing: .035em; }
.notice { margin-block: 28px; padding: 20px 24px; border-left: 2px solid var(--accent); background: var(--panel); font-size: 14px; line-height: 1.7; }
.notice p:last-child { margin-bottom: 0; }
.empty-state { max-width: 850px; margin-block: 38px; padding-block: 32px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); }
.empty-state h2, .empty-state h3 { max-width: 700px; font-size: 39px; }
.empty-state p { max-width: 650px; font-size: 15px; }
.empty-state p:last-child { margin-bottom: 0; }

/* The author: a name, a face, and three routes into the work. */
.profile-masthead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .31fr); align-items: end; gap: clamp(45px, 6vw, 100px); padding-block: 67px 66px; }
.profile-heading { min-width: 0; }
.profile-heading > .eyebrow { margin-bottom: 33px; }
.name-display { max-width: 9ch; margin: 0 0 33px -4px; font-size: clamp(100px, 11.5vw, 179px); line-height: .85; letter-spacing: -.055em; text-wrap: initial; overflow-wrap: normal; }
.name-display span { display: block; }
.identity-line { max-width: 650px; margin-bottom: 20px; color: var(--accent); font-size: 12px; line-height: 1.7; font-weight: 500; letter-spacing: .04em; }
.home-intro { max-width: 650px; margin-bottom: 27px; font: 22px/1.5 var(--sans); letter-spacing: -.015em; text-wrap: pretty; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 13px 25px; }
.hero-actions .text-link { padding-block: 10px; }
.profile-portrait { margin: 0 0 4px; width: 100%; }
.profile-portrait img { width: 100%; height: auto; }
.profile-portrait figcaption { max-width: 250px; }
.research-axes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 42px; list-style: none; margin: 0 0 85px; padding: 0; border-top: 2px solid var(--ink); }
.axis-item { margin: 0; padding-block: 24px 27px; border-bottom: 1px solid var(--rule); }
.axis-item a { display: block; text-decoration: none; }
.axis-item span { display: block; margin-bottom: 17px; color: var(--muted); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.axis-item strong { display: block; max-width: 95%; font: 35px/1.1 var(--serif); letter-spacing: -.02em; }
.axis-item > p { max-width: 95%; margin: 19px 0 0; font-size: 13px; line-height: 1.75; }
.axis-item a:hover strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .13em; }
.section-header, .section-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 15px 35px; margin-bottom: 29px; }
.section-header h2, .section-heading h2 { margin: 0; font-size: clamp(38px, 4.3vw, 60px); }
.section-header p, .section-heading p { max-width: 420px; margin: 0; color: var(--muted); font-size: 13px; }
.section-header .text-link, .section-heading .text-link { flex-shrink: 0; }
.book-shelf { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(22px, 3vw, 48px); border-top: 1px solid var(--ink); }
.book-card { position: relative; min-width: 0; padding-top: 17px; }
.book-card-index { margin-bottom: 25px; color: var(--muted); font-size: 11px; letter-spacing: .05em; }
.book-card-cover { display: flex; align-items: end; height: clamp(260px, 27vw, 370px); margin-bottom: 25px; }
.book-card-cover a { display: flex; align-items: end; width: 100%; height: 100%; }
.book-card-cover img { width: auto; height: auto; max-width: 100%; max-height: 100%; box-shadow: 5px 7px 13px #202e4614; }
.book-card-copy { padding-bottom: 25px; }
.book-card-copy h3 { margin-bottom: 13px; font-size: clamp(27px, 2.45vw, 36px); line-height: 1.06; letter-spacing: -.025em; }
.book-card-copy h3 a { text-decoration: none; }
.book-card-copy h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.book-card-copy p { margin-bottom: 16px; font-size: 13px; line-height: 1.7; }
.book-card-copy .meta, .book-card-copy .work-meta { margin-bottom: 9px; font-size: 10px; }
.meta, .work-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 15px; margin-bottom: 16px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.meta time, .work-meta time { white-space: nowrap; }
dl.book-meta, dl.work-meta { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: baseline; gap: 7px 18px; }
dl.book-meta dt, dl.work-meta dt { color: var(--muted); font-size: 10px; font-weight: 500; letter-spacing: .035em; }
dl.book-meta dd, dl.work-meta dd { margin: 0; color: var(--ink); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.work-grid { display: grid; grid-template-columns: 1fr; }
.work-card { min-width: 0; padding-block: 23px 25px; border-bottom: 1px solid var(--rule); }
.work-card .work-title { font-size: 29px; }
.work-card p { max-width: 850px; font-size: 14px; line-height: 1.75; }
.work-card .meta { font-size: 11px; }
.home-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .52fr); gap: clamp(45px, 7vw, 110px); margin-top: 78px; padding-top: 30px; border-top: 1px solid var(--ink); }
.home-grid h2 { font-size: 45px; }
.home-grid > * { min-width: 0; }
.latest-list { list-style: none; margin: 0; padding: 0; }
.latest-list > li, .latest-list > article { margin: 0; padding-block: 23px; border-bottom: 1px solid var(--rule); }
.latest-list > :first-child { padding-top: 0; }
.latest-list h3 { margin-bottom: 11px; font-size: 29px; line-height: 1.15; }
.latest-list h3 a { text-decoration: none; }
.latest-list h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.latest-list p { max-width: 600px; font-size: 14px; }

/* Inside the archive, typography carries the hierarchy. */
.content-head { max-width: 1100px; padding-block: 58px 43px; }
.page-title { max-width: 1000px; margin-bottom: 24px; font-size: clamp(54px, 7vw, 100px); line-height: .98; letter-spacing: -.045em; }
.lede { max-width: 850px; margin-bottom: 0; font: 30px/1.35 var(--serif); letter-spacing: -.01em; }
.prose { max-width: var(--measure); font-size: 17px; line-height: 1.8; }
.prose p, .prose li { line-height: 1.8; }
.prose h2 { margin-top: 1.3em; font-size: 42px; }
.prose h3 { margin-top: 1.4em; font-size: 30px; }
.prose > :first-child { margin-top: 0; }
.prose > :last-child { margin-bottom: 0; }
.prose a { color: var(--accent); }
.prose strong { font-weight: 600; }
.prose ul, .prose ol { margin-block: 1.3em; }
.archive-controls { display: grid; grid-template-columns: minmax(220px, 1.8fr) repeat(2, minmax(130px, 1fr)) minmax(95px, .7fr); align-items: end; gap: 20px; padding-block: 24px 28px; border-top: 1px solid var(--ink); }
.archive-controls label { display: block; font: 500 10px/1.6 var(--sans); letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.archive-controls input, .archive-controls select, .archive-search { display: block; width: 100%; min-height: 46px; margin-top: 6px; padding: 10px 7px 10px 0; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; background: transparent; color: var(--ink); font: 14px/1.5 var(--sans); text-transform: none; letter-spacing: 0; }
.archive-controls input::placeholder, .archive-search::placeholder { color: var(--muted); opacity: 1; }
.archive-controls button { grid-column: 1 / -1; justify-self: end; min-height: 44px; padding: 9px 0; border: 0; background: transparent; color: var(--accent); font-size: 12px; text-decoration: underline; text-underline-offset: .3em; }
.result-count, [data-archive-count] { margin-bottom: 20px; color: var(--muted); font-size: 11px; }
.work-list, .archive-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.archive-item { margin: 0; padding-block: 28px 30px; border-bottom: 1px solid var(--rule); }
.work-title, .archive-item h2, .archive-item h3 { max-width: 1040px; margin-bottom: 14px; font: 34px/1.15 var(--serif); letter-spacing: -.025em; }
.work-title a, .archive-item h2 a, .archive-item h3 a { text-decoration: none; }
.work-title a:hover, .archive-item h2 a:hover, .archive-item h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.archive-item p { max-width: 900px; margin-bottom: 15px; font-size: 14px; line-height: 1.75; }
.archive-item .meta, .archive-item .work-meta { margin-bottom: 10px; }
.topic-list { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; list-style: none; margin-top: 16px; margin-bottom: 0; padding: 0; font-size: 11px; }
.topic-list li { margin: 0; }
.topic-list a, a.topic { display: inline-block; padding-bottom: 3px; color: var(--muted); text-decoration: none; border-bottom: 1px solid var(--rule); }
.topic-list a:hover, a.topic:hover { color: var(--accent); border-color: var(--accent); }

/* A dossier opens like a book, then gives the reading room to the text. */
body[data-book="mono-continuita"] { --accent: #773d4a; }
body[data-book="filosofia-analitica-e-cervi"] { --accent: #2e5e48; }
body[data-book="mono-fondovalle"] { --accent: #284a82; }
body[data-book="mono-midgley"] { --accent: #7b3535; }
.book-opening { display: grid; grid-template-columns: minmax(240px, .43fr) minmax(0, 1fr); align-items: center; gap: clamp(45px, 7vw, 120px); padding-block: 64px 70px; }
.book-jacket { width: min(100%, 355px); justify-self: center; }
.book-jacket img { width: 100%; height: auto; box-shadow: 7px 10px 20px #202e461a; }
.book-copy { min-width: 0; }
.book-number { margin-bottom: 26px; color: var(--accent); font: 500 11px/1.6 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.book-copy h1 { margin-bottom: 25px; font-size: clamp(42px, 5.6vw, 78px); line-height: .99; letter-spacing: -.04em; text-wrap: pretty; }
.book-copy .lede { max-width: 700px; font-size: 27px; line-height: 1.35; }
.book-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--rule); color: var(--muted); font-size: 12px; line-height: 1.65; }
.book-meta p { margin: 0; }
.book-body { display: grid; grid-template-columns: minmax(150px, .24fr) minmax(0, 1fr); align-items: start; gap: clamp(42px, 6vw, 105px); border-top: 1px solid var(--ink); }
.book-side-nav { position: sticky; top: 28px; padding-block: 31px; font-size: 12px; line-height: 1.6; }
.book-side-nav ul, .book-side-nav ol { list-style: none; margin: 0; padding: 0; }
.book-side-nav li { margin-bottom: 9px; }
.book-side-nav a { display: block; padding-block: 5px; color: var(--muted); text-decoration: none; }
.book-side-nav a:hover { color: var(--accent); text-decoration: underline; }
.book-sections { min-width: 0; }
.dossier-section { padding-block: 32px 38px; border-top: 1px solid var(--rule); scroll-margin-top: 30px; }
.dossier-section:first-child { border-top: 0; }
.dossier-section h2 { max-width: 850px; margin-bottom: 24px; font-size: 43px; }
.dossier-section > p, .dossier-section > ul, .dossier-section > ol { max-width: var(--measure); }
.dossier-section > p { font-size: 17px; line-height: 1.8; }
.dossier-section > :last-child { margin-bottom: 0; }
.reading-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; counter-reset: reading; }
.reading-step { counter-increment: reading; border-top: 1px solid var(--accent); padding-top: 19px; }
.reading-step::before { content: "0" counter(reading); display: block; margin-bottom: 20px; font: 11px/1.4 var(--sans); color: var(--accent); }
.reading-step h3 { margin-bottom: 14px; font-size: 29px; line-height: 1.1; }
.reading-step p { font-size: 13px; line-height: 1.8; }
.reading-step p:last-child { margin-bottom: 0; }
.dossier-section ol { padding-left: 1.4em; }
.dossier-section ol li { padding-left: 5px; margin-bottom: 14px; font-size: 15px; line-height: 1.7; }
.dossier-section ol li::marker { color: var(--accent); font-size: 11px; }
.dossier-section .related-list { margin-top: 5px; }
.table-of-contents { list-style: none; padding: 0; }
.table-of-contents li { padding-block: 13px; border-bottom: 1px solid var(--rule); font-size: 15px; line-height: 1.7; }
.review-list { list-style: none; padding: 0; }
.review-list li { padding-block: 18px; border-bottom: 1px solid var(--rule); }
.review-list li:first-child { padding-top: 0; }
.review-list a { color: var(--accent); }
.book-cover { max-width: 300px; }
.book-cover img { width: 100%; height: auto; }

/* Biography and teaching keep the same bibliographical rhythm. */
.profile-intro { display: grid; grid-template-columns: minmax(220px, .38fr) minmax(0, 1fr); align-items: start; gap: clamp(45px, 7vw, 110px); padding-bottom: 65px; }
.author-portrait { margin: 0; width: 100%; }
.author-portrait img { width: 100%; height: auto; }
.author-portrait--about { max-width: 355px; }
.profile-intro .prose { padding-top: 0; }
.profile-intro .profile-portrait { width: 100%; max-width: 355px; margin: 0; justify-self: start; }
.profile-intro .prose .lede { line-height: 1.45; }
.timeline-list { list-style: none; padding: 0; margin-block: 30px 65px; border-top: 1px solid var(--ink); }
.timeline-list li { margin: 0; padding-block: 23px; border-bottom: 1px solid var(--rule); }
.timeline-list li:has(> time) { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 20px; }
.timeline-list time { color: var(--accent); font-size: 12px; }
.timeline-list h3 { margin-bottom: 9px; font-size: 29px; }
.timeline-list p { max-width: 850px; margin-bottom: 0; font-size: 14px; }
.research-areas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; padding-block: 28px 35px; border-top: 1px solid var(--ink); }
.research-areas > * { min-width: 0; }
.research-areas h3 { font-size: 34px; }
.research-areas p { font-size: 14px; line-height: 1.8; }
.course-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 60px; border-top: 1px solid var(--ink); }
.course-card { min-width: 0; padding-block: 28px 34px; border-bottom: 1px solid var(--rule); }
.course-card h2, .course-card h3 { font-size: 38px; }
.course-card p, .course-card li { font-size: 14px; line-height: 1.8; }
.course-card .meta { font-size: 11px; }
.syllabus { margin-top: 25px; padding-top: 16px; border-top: 1px solid var(--rule); }
.syllabus summary { padding-block: 8px; color: var(--accent); font-size: 12px; text-decoration: underline; text-underline-offset: .25em; }
.syllabus[open] summary { margin-bottom: 17px; }
.syllabus ul, .syllabus ol { padding-left: 1.2em; }

/* Campioni e varianti: a journal with its own scale and pace. */
.site-blog .site-header, [data-site="blog"] .site-header { padding-block: 23px; }
.site-blog .brand, [data-site="blog"] .brand { color: var(--accent); font-size: 29px; font-style: italic; }
.site-blog .brand small, [data-site="blog"] .brand small { font-style: normal; }
.journal-masthead { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; padding-block: 57px 48px; border-bottom: 2px solid var(--ink); }
.journal-masthead > .eyebrow { grid-column: 1 / -1; margin-bottom: 7px; }
.journal-name { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: start; margin: 0 0 26px -7px; font-size: clamp(95px, 14.4vw, 219px); line-height: .81; letter-spacing: -.055em; text-wrap: initial; overflow-wrap: normal; }
.journal-name > span { display: block; }
.journal-name > em { display: block; align-self: end; margin-top: 4px; padding-right: .035em; color: var(--accent); font-size: .9em; font-weight: 400; letter-spacing: -.055em; }
.journal-deck { grid-column: 2 / 9; max-width: 710px; margin: 0; font: 22px/1.5 var(--sans); letter-spacing: -.02em; }
.journal-issue { grid-column: 10 / -1; align-self: end; padding-left: 23px; border-left: 1px solid var(--ink); color: var(--muted); font: 11px/1.7 var(--sans); }
.journal-issue p { margin-bottom: 8px; }
.journal-issue p:last-child { margin-bottom: 0; }
.lead-story { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 24px; padding-block: 39px 44px; border-bottom: 1px solid var(--ink); }
.lead-story .story-type { grid-column: 1 / 4; grid-row: 1; max-width: 180px; margin-top: 9px; }
.story-type { margin-bottom: 20px; color: var(--accent); font: 500 10px/1.6 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.lead-story .story-title { grid-column: 4 / -1; margin-bottom: 24px; font-size: clamp(43px, 5.4vw, 77px); line-height: 1.02; letter-spacing: -.035em; }
.story-title a { text-decoration: none; }
.story-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .12em; }
.lead-story .story-summary { grid-column: 4 / 11; max-width: 710px; margin-bottom: 22px; font-size: 17px; line-height: 1.7; }
.story-source { color: var(--muted); font-size: 11px; line-height: 1.7; }
.lead-story .story-source { grid-column: 4 / 12; margin-bottom: 20px; }
.lead-story .story-link { grid-column: 4 / 12; justify-self: start; }
.story-link { color: var(--accent); font-size: 12px; text-underline-offset: .3em; }
.story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 40px; margin-block: 48px 80px; align-items: start; }
.story-card { min-width: 0; padding-block: 23px 10px; border-top: 1px solid var(--ink); }
.story-card:nth-child(3n + 2) { margin-top: 66px; }
.story-card .story-title { margin-bottom: 18px; font-size: clamp(31px, 3vw, 43px); line-height: 1.08; }
.story-card .story-summary { font-size: 14px; line-height: 1.8; }
.story-card .story-source { margin-bottom: 17px; }
.journal-about { display: grid; grid-template-columns: minmax(190px, .37fr) minmax(0, 1fr); align-items: start; gap: clamp(40px, 7vw, 110px); margin-block: 85px 70px; padding-block: 37px 49px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--rule); }
.journal-portrait { width: 100%; max-width: 290px; justify-self: center; }
.journal-portrait img { width: 100%; height: auto; }
.journal-about .prose { font-size: 16px; }
.journal-about .prose h2 { margin-top: 0; font-size: 59px; }
.journal-about .prose p:first-of-type { font: 30px/1.4 var(--serif); }
.journal-about .hero-actions { margin-top: 25px; }
.newsletter-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .65fr); align-items: start; gap: 25px 60px; padding: 38px 44px 41px; background: var(--ink); color: var(--paper); }
.newsletter-panel h2 { margin-bottom: 18px; font-size: 48px; }
.newsletter-panel > .eyebrow { grid-column: 1 / -1; margin: 0; color: var(--paper); }
.newsletter-panel > h2, .newsletter-panel > p:not(.eyebrow) { grid-column: 1; }
.newsletter-panel > a { grid-column: 2; grid-row: 2 / 4; align-self: center; justify-self: start; }
.newsletter-panel p { max-width: 700px; font-size: 14px; line-height: 1.75; }
.newsletter-panel .button { border-color: var(--paper); color: var(--paper); }
.newsletter-panel .button:hover { color: var(--ink); background: var(--paper); }
.newsletter-panel .text-link, .newsletter-panel a { color: var(--paper); }
.newsletter-panel .notice { margin: 0; padding: 0; border: 0; color: var(--paper); background: transparent; }
.newsletter-panel form { align-self: center; }
.newsletter-panel label { display: block; font-size: 11px; margin-bottom: 8px; }
.newsletter-panel input { width: 100%; min-height: 46px; margin-bottom: 13px; padding: 10px 12px; border: 1px solid var(--paper); border-radius: 0; color: var(--ink); background: var(--paper); font-size: 14px; }
.newsletter-panel fieldset { min-width: 0; margin: 0; padding: 20px; border: 1px solid var(--rule); }
.newsletter-panel legend { padding-inline: 7px; color: var(--paper); font-size: 12px; }
.newsletter-panel select { width: 100%; min-height: 46px; margin: 5px 0 16px; padding: 10px 12px; border: 1px solid var(--paper); border-radius: 0; color: var(--ink); background: var(--paper); font-size: 14px; }
.newsletter-panel input[type="checkbox"] { width: 17px; min-height: 17px; height: 17px; margin: 0 9px 0 0; vertical-align: middle; accent-color: var(--ink); }
.newsletter-panel fieldset:disabled { opacity: 1; }
.newsletter-panel :disabled { -webkit-text-fill-color: currentColor; opacity: 1; }
.newsletter-panel button:disabled { color: var(--paper); border-color: var(--paper); background: transparent; }
.newsletter-panel.prose { max-width: none; }
.newsletter-panel.prose > form { grid-column: 2; grid-row: 1 / 4; }
.newsletter-panel .meta { color: var(--paper); }
.newsletter-panel :focus-visible { outline-color: var(--paper); }
.post-opening { max-width: 1140px; padding-block: 59px 44px; }
.post-opening h1 { margin-bottom: 28px; font-size: clamp(49px, 7.7vw, 109px); line-height: .98; letter-spacing: -.045em; }
.post-opening .lede { max-width: 900px; font-size: 33px; line-height: 1.35; }
.post-layout { display: grid; grid-template-columns: minmax(150px, .24fr) minmax(0, 1fr); align-items: start; gap: clamp(40px, 6vw, 100px); padding-top: 31px; border-top: 1px solid var(--ink); }
.post-meta { color: var(--muted); font-size: 11px; line-height: 1.8; }
.post-meta > * { margin-bottom: 14px; }
.post-meta .topic-list { display: block; }
.post-meta .topic-list a { margin: 0 10px 6px 0; }
.post-body.prose { max-width: 69ch; font-size: 18px; line-height: 1.85; }
.post-body.prose h2 { margin-top: 1.6em; font-size: 46px; }
.source-note { max-width: 900px; margin-block: 35px; padding-top: 18px; border-top: 1px solid var(--rule); color: var(--muted); font-size: 12px; line-height: 1.8; }
.source-note p { font-size: inherit; }
.source-note h2, .post-body.prose .source-note h2 { margin: 0 0 16px; font-size: 30px; line-height: 1.15; }
.related-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; list-style: none; margin: 35px 0 0; padding: 0; }
.related-list > li, .related-list > article { margin: 0; padding-block: 20px 23px; border-top: 1px solid var(--rule); }
.related-list h3 { margin-bottom: 11px; font-size: 29px; }
.related-list h3 a { text-decoration: none; }
.related-list h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.related-list p { margin-bottom: 12px; font-size: 13px; line-height: 1.7; }
.site-blog .empty-state, [data-site="blog"] .empty-state { max-width: 100%; padding-block: 37px 40px; border-top: 2px solid var(--ink); }
.site-blog .empty-state h2, [data-site="blog"] .empty-state h2 { font-size: clamp(39px, 5vw, 66px); }
.site-blog .content-head, [data-site="blog"] .content-head { padding-bottom: 45px; }
.site-footer, .footer { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 18px 40px; padding-block: 25px 40px; border-top: 1px solid var(--ink); color: var(--muted); font-size: 11px; line-height: 1.7; }
.site-footer p, .footer p { max-width: 650px; margin: 0; }
.site-footer nav, .footer nav { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 20px; }
.site-footer a, .footer a { display: inline-block; padding-block: 7px; }
.image-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 30px; margin-block: 12px 0; }
.gallery-figure { min-width: 0; margin: 0; break-inside: avoid; }
.gallery-figure:only-child { grid-column: 1 / -1; }
.gallery-figure img { width: 100%; height: auto; }
.gallery-figure figcaption { margin-top: 14px; color: var(--ink); font-size: 12px; line-height: 1.7; }
.gallery-caption, .gallery-credit { display: block; }
.gallery-credit { margin-top: 5px; color: var(--muted); font-size: 11px; }
.work-entry > .image-gallery { max-width: 1100px; margin-block: 36px; }

@media (min-width: 1700px) {
  :root { --gutter: 88px; }
  .profile-masthead { padding-block: 78px; }
  .name-display { font-size: 188px; }
}
@media (max-width: 1150px) {
  .site-header { column-gap: 25px; }
  .site-nav { gap: 4px 18px; order: 3; flex-basis: 100%; margin-left: 0; }
  .site-utilities { margin-left: auto; }
  .profile-masthead { grid-template-columns: minmax(0, 1fr) minmax(205px, .35fr); gap: 44px; padding-top: 53px; }
  .name-display { font-size: clamp(89px, 11.4vw, 139px); }
  .home-intro { font-size: 20px; }
  .research-axes { gap: 28px; }
  .axis-item strong { font-size: 31px; }
  .book-shelf { gap: 26px; }
  .book-card-cover { height: 27vw; }
  .book-card-copy h3 { font-size: 28px; }
  .book-opening { gap: 45px; grid-template-columns: minmax(220px, .45fr) minmax(0, 1fr); }
  .book-copy h1 { font-size: clamp(42px, 5.4vw, 65px); }
  .book-copy .lede { font-size: 25px; }
  .reading-guide { grid-template-columns: 1fr; gap: 25px; }
  .reading-step { display: grid; grid-template-columns: 35px minmax(0, 1fr); column-gap: 15px; }
  .reading-step::before { grid-row: 1 / 3; margin-top: 7px; }
  .reading-step h3, .reading-step p { grid-column: 2; }
  .journal-name { font-size: 14.4vw; }
  .journal-deck { grid-column: 1 / 9; font-size: 20px; }
  .journal-issue { grid-column: 10 / -1; }
  .lead-story .story-title { font-size: 6.2vw; }
  .story-grid { gap: 27px; }
  .story-card .story-title { font-size: 34px; }
  .newsletter-panel { gap: 30px; padding: 32px; }
}
@media (max-width: 850px) {
  :root { --gutter: 32px; }
  .site-main, main.layout { padding-bottom: 75px; }
  .profile-masthead { grid-template-columns: minmax(0, 1fr) minmax(180px, .38fr); gap: 30px; }
  .profile-heading > .eyebrow { max-width: 300px; margin-bottom: 27px; }
  .name-display { font-size: clamp(80px, 11.9vw, 112px); }
  .home-intro { font-size: 18px; }
  .identity-line { font-size: 11px; }
  .hero-actions { gap: 10px 18px; }
  .research-axes { gap: 22px; margin-bottom: 62px; }
  .axis-item { padding-block: 21px; }
  .axis-item strong { font-size: 28px; }
  .book-shelf { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 40px; }
  .book-card-cover { height: 330px; }
  .book-card-index { margin-bottom: 17px; }
  .book-card-copy h3 { font-size: 33px; }
  .home-grid { grid-template-columns: 1fr; gap: 40px; margin-top: 55px; }
  .archive-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .archive-controls > :first-child { grid-column: 1 / -1; }
  .book-opening { grid-template-columns: minmax(180px, .4fr) minmax(0, 1fr); align-items: start; gap: 35px; padding-block: 45px 50px; }
  .book-number { margin-bottom: 17px; }
  .book-copy h1 { font-size: 43px; }
  .book-copy .lede { font-size: 24px; }
  .book-meta { margin-top: 21px; }
  .book-body { grid-template-columns: 140px minmax(0, 1fr); gap: 30px; }
  .book-side-nav { font-size: 11px; }
  .dossier-section h2 { font-size: 36px; }
  .profile-intro { gap: 35px; }
  .research-areas { grid-template-columns: 1fr; gap: 23px; }
  .research-areas h3 { font-size: 31px; }
  .course-list { gap: 0 35px; }
  .course-card h2, .course-card h3 { font-size: 34px; }
  .journal-masthead { padding-top: 43px; gap: 21px; }
  .journal-deck { grid-column: 1 / 9; font-size: 18px; }
  .journal-issue { grid-column: 9 / -1; padding-left: 18px; }
  .lead-story { grid-template-columns: 150px minmax(0, 1fr); gap: 0 27px; }
  .lead-story .story-type { grid-column: 1; }
  .lead-story .story-title { grid-column: 2; font-size: 48px; }
  .lead-story .story-summary, .lead-story .story-source, .lead-story .story-link { grid-column: 2; }
  .story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px 35px; }
  .story-card:nth-child(3n + 2) { margin-top: 0; }
  .story-card:nth-child(2n + 2) { margin-top: 50px; }
  .journal-about { gap: 35px; grid-template-columns: minmax(180px, .4fr) minmax(0, 1fr); }
  .journal-about .prose h2 { font-size: 45px; }
  .journal-about .prose p:first-of-type { font-size: 27px; }
  .newsletter-panel { grid-template-columns: 1fr; }
  .newsletter-panel > a, .newsletter-panel.prose > form { grid-column: 1; grid-row: auto; }
  .newsletter-panel > :last-child { max-width: 600px; }
  .post-layout { grid-template-columns: 130px minmax(0, 1fr); gap: 28px; }
  .post-body.prose { font-size: 17px; }
}
@media (max-width: 620px) {
  :root { --gutter: 21px; }
  html { scroll-padding-top: 20px; }
  body { font-size: 15px; }
  .site-header { gap: 9px 18px; padding-block: 20px 13px; }
  .brand { max-width: 65%; font-size: 27px; }
  .brand small { font-size: 9px; margin-top: 6px; }
  .site-utilities { align-self: start; gap: 13px; font-size: 10px; }
  .site-utilities > a { padding-block: 9px; }
  .site-nav { justify-content: flex-start; gap: 0 20px; font-size: 11px; }
  .site-nav a { min-height: 44px; padding-block: 13px; }
  .site-main, main.layout { padding-bottom: 55px; }
  .preview-banner { text-align: left; padding-block: 7px; font-size: 10px; }
  .profile-masthead { grid-template-columns: minmax(0, 1fr) 118px; gap: 25px 18px; padding-block: 38px 36px; }
  .profile-heading { grid-column: 1 / -1; }
  .profile-heading > .eyebrow { max-width: none; margin-bottom: 25px; font-size: 10px; }
  .name-display { max-width: none; margin: 0 0 25px -2px; font-size: clamp(66px, 17.1vw, 105px); line-height: .88; letter-spacing: -.05em; }
  .identity-line { max-width: 420px; margin-bottom: 16px; font-size: 11px; }
  .home-intro { max-width: 460px; margin-bottom: 22px; font-size: 18px; line-height: 1.55; }
  .profile-portrait { grid-column: 1 / -1; justify-self: end; width: 42%; max-width: 200px; margin-top: 7px; }
  .profile-portrait figcaption { font-size: 10px; }
  .hero-actions { gap: 9px 20px; }
  .button, .copy-email { font-size: 11px; padding-inline: 17px; }
  .text-link { font-size: 12px; }
  .research-axes { grid-template-columns: 1fr; gap: 0; margin-bottom: 50px; }
  .axis-item { padding-block: 19px; }
  .axis-item a { display: grid; grid-template-columns: 35px minmax(0, 1fr); align-items: baseline; gap: 15px; }
  .axis-item span { margin: 0; font-size: 9px; }
  .axis-item strong { max-width: none; font-size: 29px; }
  .axis-item > p { max-width: none; margin-left: 50px; font-size: 12px; }
  .section-header, .section-heading { align-items: baseline; margin-bottom: 23px; gap: 12px 20px; }
  .section-header h2, .section-heading h2 { font-size: 42px; }
  .section-header p, .section-heading p { font-size: 12px; }
  .book-shelf { gap: 21px; }
  .book-card-cover { height: 51vw; margin-bottom: 19px; }
  .book-card-index { margin-bottom: 17px; font-size: 10px; }
  .book-card-copy h3 { font-size: clamp(25px, 5.7vw, 34px); line-height: 1.09; }
  .book-card-copy p { font-size: 12px; line-height: 1.7; }
  .book-card-copy .meta { font-size: 9px; }
  .book-card-copy .text-link { font-size: 11px; }
  .home-grid { margin-top: 40px; padding-top: 25px; }
  .home-grid h2 { font-size: 40px; }
  .latest-list h3 { font-size: 29px; }
  .latest-list p { font-size: 13px; }
  .content-head { padding-block: 38px 32px; }
  .page-title { margin-bottom: 23px; font-size: clamp(47px, 11vw, 67px); line-height: 1.02; }
  .lede { font-size: 26px; line-height: 1.4; }
  .prose { font-size: 16px; line-height: 1.8; }
  .prose h2 { font-size: 36px; }
  .prose h3 { font-size: 29px; }
  blockquote { padding-left: 19px; font-size: 27px; }
  .archive-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; padding-block: 20px 25px; }
  .archive-controls > :first-child { grid-column: 1 / -1; }
  .archive-controls label { font-size: 9px; }
  .archive-controls input, .archive-controls select { font-size: 13px; }
  .archive-item { padding-block: 23px 25px; }
  .work-title, .archive-item h2, .archive-item h3 { font-size: 29px; }
  .archive-item p { font-size: 13px; }
  .meta, .work-meta { font-size: 10px; gap: 3px 12px; }
  .topic-list { gap: 6px 14px; font-size: 10px; }
  .book-opening { grid-template-columns: 1fr; gap: 32px; padding-block: 35px 39px; }
  .book-jacket { width: 55%; max-width: 250px; justify-self: start; }
  .book-copy h1 { margin-bottom: 22px; font-size: clamp(43px, 10.4vw, 60px); }
  .book-number { margin-bottom: 19px; font-size: 10px; }
  .book-copy .lede { font-size: 26px; }
  .book-meta { font-size: 11px; gap: 6px 17px; }
  .book-body { display: block; }
  .book-side-nav { position: static; padding-block: 15px 19px; border-bottom: 1px solid var(--rule); }
  .book-side-nav ul, .book-side-nav ol { display: flex; flex-wrap: wrap; gap: 0 19px; }
  .book-side-nav li { margin: 0; }
  .book-side-nav a { min-height: 38px; padding-block: 10px; font-size: 11px; }
  .dossier-section { padding-block: 28px 32px; }
  .dossier-section h2 { font-size: 36px; }
  .dossier-section > p { font-size: 16px; }
  .dossier-section ol li { padding-left: 2px; font-size: 14px; }
  .reading-guide { gap: 23px; }
  .reading-step { grid-template-columns: 25px minmax(0, 1fr); gap: 0 12px; padding-top: 17px; }
  .reading-step h3 { font-size: 29px; }
  .reading-step p { font-size: 13px; }
  .image-gallery { grid-template-columns: 1fr; gap: 27px; }
  .gallery-figure figcaption { font-size: 11px; }
  .profile-intro { grid-template-columns: 1fr; gap: 30px; padding-bottom: 45px; }
  .author-portrait--about, .profile-intro .author-portrait { max-width: 285px; }
  .profile-intro .profile-portrait { max-width: 245px; }
  .profile-intro .prose .lede { font-size: 26px; }
  .timeline-list li:has(> time) { grid-template-columns: 80px minmax(0, 1fr); gap: 15px; }
  .timeline-list time { font-size: 11px; }
  .timeline-list h3 { font-size: 27px; }
  .timeline-list p { font-size: 13px; }
  .course-list { grid-template-columns: 1fr; }
  .course-card h2, .course-card h3 { font-size: 36px; }
  .journal-masthead { grid-template-columns: 1fr; gap: 24px; padding-block: 36px 31px; }
  .journal-name { grid-column: 1; margin: 0 0 6px -3px; font-size: clamp(64px, 15.5vw, 97px); line-height: .87; letter-spacing: -.055em; }
  .journal-name > em { margin-top: 4px; font-size: .95em; }
  .journal-deck { grid-column: 1; max-width: 440px; font-size: 17px; line-height: 1.55; }
  .journal-issue { grid-column: 1; padding: 0; border: 0; font-size: 10px; }
  .journal-issue p { display: inline; margin-right: 15px; }
  .lead-story { display: block; padding-block: 26px 29px; }
  .lead-story .story-type { max-width: none; margin: 0 0 18px; }
  .lead-story .story-title { margin-bottom: 22px; font-size: clamp(40px, 9.5vw, 58px); }
  .lead-story .story-summary { font-size: 15px; line-height: 1.75; }
  .lead-story .story-source { margin-bottom: 18px; }
  .story-grid { grid-template-columns: 1fr; gap: 0; margin-block: 28px 45px; }
  .story-card { padding-block: 23px 26px; }
  .story-card:nth-child(2n + 2) { margin-top: 0; }
  .story-card .story-title { max-width: 480px; font-size: 36px; }
  .story-card .story-summary { max-width: 480px; font-size: 14px; }
  .story-type { font-size: 10px; }
  .story-source { font-size: 10px; }
  .journal-about { grid-template-columns: 1fr; gap: 29px; margin-block: 48px; padding-block: 29px 34px; }
  .journal-portrait { width: 50%; max-width: 220px; justify-self: end; }
  .journal-about .prose h2 { font-size: 44px; }
  .journal-about .prose p:first-of-type { font-size: 28px; }
  .journal-about .prose { font-size: 15px; }
  .newsletter-panel { margin-inline: calc(var(--gutter) * -1); padding: 31px var(--gutter) 34px; gap: 23px; }
  .newsletter-panel h2 { font-size: 42px; }
  .newsletter-panel p { font-size: 13px; }
  .post-opening { padding-block: 37px 30px; }
  .post-opening h1 { margin-bottom: 24px; font-size: clamp(44px, 11.2vw, 65px); }
  .post-opening .lede { font-size: 27px; }
  .post-layout { grid-template-columns: 1fr; gap: 25px; padding-top: 23px; }
  .post-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 20px; font-size: 10px; }
  .post-meta > * { margin-bottom: 0; }
  .post-meta .topic-list { display: flex; margin-top: 0; }
  .post-body.prose { font-size: 16px; line-height: 1.85; }
  .post-body.prose h2 { font-size: 37px; }
  .related-list { grid-template-columns: 1fr; }
  .related-list h3 { font-size: 29px; }
  .source-note { margin-block: 28px; font-size: 11px; }
  .site-footer, .footer { flex-direction: column; align-items: start; gap: 13px; padding-block: 23px 30px; font-size: 10px; }
  .site-footer nav, .footer nav { gap: 0 17px; }
  .notice { padding: 17px 19px; font-size: 13px; }
  .empty-state h2, .empty-state h3 { font-size: 34px; }
  .empty-state p { font-size: 14px; }
}
@media (max-width: 370px) {
  :root { --gutter: 17px; }
  .site-nav { gap: 0 16px; font-size: 10px; }
  .brand { font-size: 25px; }
  .brand small { font-size: 8px; }
  .site-blog .brand, [data-site="blog"] .brand { max-width: none; font-size: 26px; }
  .name-display { font-size: 61px; }
  .profile-portrait { width: 48%; }
  .home-intro { font-size: 17px; }
  .axis-item a { grid-template-columns: 29px minmax(0, 1fr); gap: 12px; }
  .axis-item > p { margin-left: 41px; }
  .axis-item strong { font-size: 26px; }
  .book-shelf { gap: 18px; }
  .book-card-copy h3 { font-size: 25px; }
  .book-card-copy p { font-size: 12px; }
  .journal-name { font-size: 59px; }
  .journal-deck { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print {
  :root, body.site-blog, body[data-site="blog"] { --paper: #fff; --ink: #000; --muted: #333; --accent: #000; --rule: #aaa; }
  body { font-size: 11pt; }
  .preview-banner, .site-nav, .site-utilities, .skip-link, .archive-controls, .book-side-nav, .hero-actions, .newsletter-panel, .copy-email { display: none !important; }
  .site-header, .site-main, main.layout, .site-footer, .footer { width: 100%; }
  .site-header { padding-block: 10pt; }
  .site-main, main.layout { min-height: 0; padding-bottom: 20pt; }
  .profile-masthead, .book-opening { padding-block: 25pt; grid-template-columns: 1fr 130pt; gap: 30pt; }
  .profile-heading { grid-column: auto; }
  .name-display { font-size: 63pt; max-width: none; }
  .profile-portrait { grid-column: auto; width: 100%; }
  .home-intro { font-size: 13pt; }
  .book-opening { grid-template-columns: 130pt 1fr; }
  .book-jacket { width: 100%; }
  .book-jacket img, .book-card-cover img { box-shadow: none; }
  .book-copy h1 { font-size: 32pt; }
  .book-copy .lede, .lede { font-size: 17pt; }
  .book-body, .post-layout { display: block; }
  .journal-masthead { display: block; padding-block: 20pt; }
  .journal-name { font-size: 65pt; max-width: none; margin-bottom: 25pt; }
  .journal-name > em { align-self: start; }
  .journal-deck { font-size: 13pt; }
  .journal-issue { display: none; }
  .story-grid { grid-template-columns: repeat(2, 1fr); }
  .story-card:nth-child(n) { margin-top: 0; }
  .lead-story .story-title, .post-opening h1, .page-title { font-size: 34pt; }
  .prose, .post-body.prose { max-width: none; font-size: 11pt; }
  .reading-guide { display: block; }
  .reading-step { margin-bottom: 20pt; }
  .book-card, .archive-item, .reading-step, .course-card, .timeline-list li { break-inside: avoid; }
  .dossier-section { padding-block: 20pt; }
  .site-footer, .footer { padding-block: 15pt; font-size: 9pt; }
}

/* Campioni e varianti — an independent illustrated journal. */
body.site-blog, body[data-site="blog"] {
  --paper: #f1edf3;
  --panel: #dfe6d9;
  --ink: #223c36;
  --muted: #53645d;
  --accent: #704766;
  --rule: #b6bdb3;
  --focus: #3d4f95;
  --journal-cream: #f5f0e5;
  --journal-peach: #eedbc9;
  --journal-lilac: #e4dce8;
}
.site-blog .site-header, [data-site="blog"] .site-header { padding-block: 22px; border-bottom-color: var(--rule); }
.site-blog .brand, [data-site="blog"] .brand { color: var(--ink); }
.site-blog .site-nav, [data-site="blog"] .site-nav { font-size: 12px; }
.site-blog .cross-site-link, [data-site="blog"] .cross-site-link { color: var(--muted); font-size: 10px; }
.site-blog .journal-masthead { position: relative; isolation: isolate; padding-block: 36px 30px; border-bottom: 0; gap: 20px 24px; }
.site-blog .journal-masthead > :not(.journal-orbit) { position: relative; z-index: 1; }
.site-blog .journal-orbit { position: absolute; right: 1%; top: 5px; width: min(44%, 590px); height: 230px; stroke: #85917d; stroke-width: .8; fill: none; opacity: .36; pointer-events: none; }
.site-blog .journal-masthead > .eyebrow { margin-bottom: 0; font-size: 10px; letter-spacing: .12em; }
.site-blog .journal-name { flex-direction: row; align-items: baseline; justify-content: space-between; gap: .18em; margin: 0 0 7px -3px; font-size: clamp(72px, 8.8vw, 132px); line-height: .95; letter-spacing: -.05em; }
.site-blog .journal-name > em { align-self: auto; margin-top: 0; padding-right: .035em; color: var(--accent); font-size: .98em; }
.site-blog .journal-deck { grid-column: 1 / 9; max-width: 700px; font-size: 18px; line-height: 1.55; }
.site-blog .journal-issue { grid-column: 10 / -1; border-color: var(--rule); font-size: 10px; }
.site-blog .journal-illustration { margin: 0 0 46px; }
.site-blog .journal-illustration img { width: 100%; height: auto; }
.site-blog .journal-illustration figcaption { max-width: 600px; margin: 11px 0 0 auto; color: var(--muted); font-size: 10px; line-height: 1.6; text-align: right; }
.site-blog .lead-story { padding: 33px 30px 38px; background: var(--panel); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); }
.site-blog .lead-story .story-title { font-size: clamp(43px, 5vw, 70px); }
.site-blog .story-type { color: var(--accent); }
.site-blog .story-grid { margin-block: 47px 65px; }
.site-blog .story-card { border-color: var(--rule); }
.site-blog .story-card:nth-child(3n + 2) { padding-inline: 22px; background: var(--journal-peach); border-top-color: var(--accent); }
.site-blog .journal-about { grid-template-columns: minmax(180px, .36fr) minmax(0, 1fr); gap: 45px; margin-block: 65px 55px; padding: 38px 35px 40px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); background: var(--journal-cream); }
.site-blog .journal-about:not(:has(> figure)) { grid-template-columns: 1fr; }
.site-blog .journal-about .prose > .eyebrow { margin-bottom: 20px; font: 500 10px/1.6 var(--sans); letter-spacing: .1em; }
.site-blog .journal-about .prose h2 { max-width: 650px; font-size: clamp(43px, 4.5vw, 62px); }
.site-blog .journal-about .prose p:not(.eyebrow) { font: 17px/1.8 var(--sans); }
.site-blog .journal-vignette { width: 100%; max-width: 160px; margin: 0; justify-self: center; align-self: center; }
.site-blog .journal-vignette img { width: 100%; height: auto; }
.site-blog .journal-vignette figcaption { margin-top: 9px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.site-blog .journal-project, .site-blog .journal-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(160px, .4fr); align-items: start; gap: 50px 80px; padding-block: 12px 50px; }
.site-blog .journal-project:not(:has(aside)), .site-blog .journal-contact:not(:has(aside)) { grid-template-columns: 1fr; }
.site-blog .journal-project-art { display: flex; justify-content: center; padding-block: 25px; }
.site-blog .journal-project .prose h2, .site-blog .journal-contact .prose h2 { font-size: 41px; }
.site-blog .journal-author { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: start; gap: 55px; margin-block: 15px 55px; padding-block: 33px; border-top: 1px solid var(--rule); }
.site-blog .journal-author .journal-portrait { max-width: 180px; }
.site-blog .journal-author .eyebrow { margin-bottom: 18px; }
.site-blog .journal-author h2 { font-size: 44px; }
.site-blog .journal-author p { font-size: 16px; }
.site-blog .planned-email { font: 35px/1.2 var(--serif); letter-spacing: -.02em; overflow-wrap: anywhere; }
.site-blog .journal-contact .notice { background: var(--journal-peach); }
.site-blog .archive-item .archive-source { max-width: 850px; margin-block: 20px 17px; padding-left: 17px; border-left: 1px solid var(--accent); color: var(--muted); font-size: 12px; line-height: 1.8; }
.site-blog .archive-source a { color: var(--accent); }
.site-blog .source-note { padding: 24px; border-top: 1px solid var(--rule); background: var(--journal-lilac); }
.site-blog .source-note .eyebrow { font-size: 10px; }
.site-blog .newsletter-panel { background: var(--ink); }
.site-blog .site-footer { padding-block: 31px 40px; border-top-color: var(--rule); }
.site-blog .journal-footer-name { color: var(--ink); font: 27px/1.1 var(--serif); }
.site-blog .journal-footer-name small { display: block; margin-top: 10px; color: var(--muted); font: 10px/1.6 var(--sans); }
.site-blog .site-footer nav { gap: 5px 23px; }

@media (max-width: 1050px) {
  .site-blog .journal-name { font-size: 9vw; }
  .site-blog .journal-masthead { padding-top: 31px; }
  .site-blog .journal-about { grid-template-columns: minmax(140px, .32fr) minmax(0, 1fr); gap: 30px; }
  .site-blog .journal-project, .site-blog .journal-contact { grid-template-columns: minmax(0, 1fr) 160px; gap: 35px; }
}
@media (max-width: 700px) {
  .site-blog .site-nav { font-size: 11px; gap: 0 19px; }
  .site-blog .site-header { padding-block: 18px 12px; }
  .site-blog .journal-masthead { gap: 19px; padding-block: 29px 25px; }
  .site-blog .journal-name { flex-direction: column; align-items: start; gap: 0; font-size: clamp(64px, 14.7vw, 102px); line-height: .87; margin-bottom: 5px; }
  .site-blog .journal-name > em { align-self: end; margin-top: 8px; }
  .site-blog .journal-orbit { top: 15px; right: 0; width: 72%; height: 180px; opacity: .25; }
  .site-blog .journal-deck { grid-column: 1 / -1; font-size: 17px; line-height: 1.55; }
  .site-blog .journal-issue { grid-column: 1 / -1; padding: 0; border: 0; font-size: 9px; }
  .site-blog .journal-illustration { margin-bottom: 29px; }
  .site-blog .journal-illustration figcaption { margin-top: 8px; font-size: 9px; }
  .site-blog .lead-story { padding: 26px 22px 30px; }
  .site-blog .lead-story .story-title { font-size: clamp(37px, 8.5vw, 54px); }
  .site-blog .story-grid { gap: 0; margin-block: 28px 40px; }
  .site-blog .story-card:nth-child(3n + 2) { margin-top: 0; padding: 24px 22px 27px; }
  .site-blog .journal-about { grid-template-columns: 1fr; gap: 25px; margin-block: 43px; padding: 26px 23px 30px; }
  .site-blog .journal-about .prose h2 { font-size: 43px; }
  .site-blog .journal-about .prose p:not(.eyebrow) { font-size: 15px; }
  .site-blog .journal-vignette { max-width: 135px; justify-self: end; }
  .site-blog .journal-project, .site-blog .journal-contact { grid-template-columns: 1fr; gap: 25px; padding-block: 2px 35px; }
  .site-blog .journal-project-art { justify-content: end; padding-block: 0; }
  .site-blog .journal-project .prose h2, .site-blog .journal-contact .prose h2 { font-size: 36px; }
  .site-blog .journal-author { grid-template-columns: 115px minmax(0, 1fr); gap: 24px; margin-bottom: 40px; padding-block: 27px; }
  .site-blog .journal-author .journal-portrait { width: 100%; max-width: 115px; }
  .site-blog .journal-author h2 { font-size: 34px; }
  .site-blog .journal-author p { font-size: 14px; }
  .site-blog .journal-author .text-link { font-size: 11px; }
  .site-blog .planned-email { font-size: 29px; }
  .site-blog .source-note { padding: 20px; }
  .site-blog .site-footer nav { gap: 3px 20px; }
}
@media (max-width: 390px) {
  .site-blog .brand { max-width: none; font-size: 25px; }
  .site-blog .journal-name { font-size: 59px; }
  .site-blog .journal-author { grid-template-columns: 1fr; gap: 24px; }
  .site-blog .journal-author .journal-portrait { justify-self: start; }
}
@media print {
  body.site-blog { --paper: #fff; --ink: #000; --muted: #333; --accent: #000; --rule: #aaa; }
  .site-blog .journal-orbit, .site-blog .journal-illustration, .site-blog .journal-vignette { display: none; }
  .site-blog .journal-masthead, .site-blog .lead-story, .site-blog .journal-about, .site-blog .source-note { background: transparent; }
  .site-blog .journal-name { font-size: 48pt; }
  .site-blog .journal-project, .site-blog .journal-contact { display: block; }
  .site-blog .journal-about { grid-template-columns: 1fr; }
}

/* Editorial revision: two identities, a shared reading system. */
body.site-profile { --paper: #f4f0e7; --panel: #e7e3d8; --ink: #242922; --muted: #586052; --accent: #a13c2b; --rule: #b8bbae; }
.site-header { gap: 15px 26px; border-bottom-width: 2px; }
.site-nav { gap: 4px 18px; }
.site-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.brand { font-size: 31px; }
.site-main { padding-bottom: 80px; }
.button, .purchase-link, .home-routes a { transition: background-color .18s ease, color .18s ease; }
.profile-masthead { grid-template-columns: minmax(0, 1.65fr) minmax(230px, .8fr); gap: 7%; align-items: center; padding-block: 62px 68px; }
.profile-heading .identity-line { font-size: 11px; text-transform: uppercase; letter-spacing: .15em; padding-left: 28px; position: relative; margin-bottom: 30px; }
.profile-heading .identity-line::before { content: ''; position: absolute; left: 0; top: .55em; width: 12px; height: 12px; background: var(--accent); }
.name-display { max-width: none; margin: 0 0 36px; font-size: clamp(80px, 10.5vw, 156px); line-height: .86; letter-spacing: -.06em; }
.name-display span:first-child { font: 600 .62em/.98 var(--sans); text-transform: uppercase; letter-spacing: -.07em; }
.name-display span:last-child { padding-left: .1em; font-style: italic; }
.home-intro { max-width: 610px; font-size: clamp(17px, 1.6vw, 21px); line-height: 1.6; }
.profile-portrait { margin: 18px 0 35px; position: relative; z-index: 0; width: 100%; }
.profile-portrait::before { content: ''; position: absolute; inset: -20px 24px 28px -24px; background: var(--accent); z-index: -1; }
.profile-portrait::after { content: ''; position: absolute; inset: 25px -16px -18px 28px; border: 1px solid var(--ink); z-index: -1; }
.profile-portrait img { filter: none; }
.home-routes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 27px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--ink); }
.home-routes a { min-height: 88px; padding: 18px 18px 18px 0; display: flex; align-items: center; gap: 12px; font: 24px/1.12 var(--serif); text-decoration: none; }
.home-routes a > span { align-self: start; padding-top: 4px; color: var(--accent); font: 10px/1.5 var(--sans); }
.home-routes a > strong { font-weight: 400; }
.home-routes a + a { border-left: 1px solid var(--ink); padding-left: 22px; }
.home-routes a:hover { color: var(--accent); background: var(--panel); }
.profile-heading .hero-actions { margin-top: 18px; }
.research-axes { border-top: 0; gap: 0; margin-bottom: 72px; counter-reset: none; background: var(--ink); color: var(--paper); }
.axis-item { padding: 28px 28px 31px; border-bottom: 0; }
.axis-item + .axis-item { border-left: 1px solid #ffffff40; }
.axis-item a, .axis-item a:hover { color: var(--paper); }
.axis-item span { color: #d9ad90; font-size: 12px; }
.axis-item strong { font-size: clamp(27px, 2.7vw, 38px); }
.axis-item > p { color: #e0e0d6; font-size: 13px; }
.section-heading, .section-header { border-bottom: 1px solid var(--ink); padding-bottom: 18px; margin-bottom: 0; }
.section-heading h2, .section-header h2 { font-size: clamp(40px, 5vw, 68px); }
.book-shelf { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 50px; border-top: 0; }
.book-card { display: grid; grid-template-columns: minmax(100px, .65fr) minmax(0, 1fr); gap: 0 25px; padding-block: 30px; border-bottom: 1px solid var(--rule); }
.book-card-index { grid-column: 1 / -1; font: 11px/1 var(--sans); letter-spacing: .1em; margin-bottom: 24px; }
.book-card-cover { height: 270px; margin: 0; align-items: start; }
.book-card-cover img { max-height: 270px; box-shadow: 8px 8px 0 var(--panel); }
.book-card-copy { align-self: start; padding: 0; }
.book-card-copy h3 { font-size: clamp(26px, 2.4vw, 35px); }
.book-card-copy p { font-size: 13px; }
.purchase-actions { display: flex; flex-wrap: wrap; align-items: start; gap: 9px; margin-block: 24px 12px; }
.purchase-link { display: inline-flex; align-items: center; min-height: 46px; padding: 12px 17px; background: var(--ink); border: 1px solid var(--ink); color: var(--paper); text-decoration: none; font: 500 12px/1.5 var(--sans); }
.purchase-link:hover, .purchase-link:focus-visible { background: var(--accent); border-color: var(--accent); color: #fff; }
.book-card .purchase-actions { margin-top: 18px; }
.book-card .purchase-link { font-size: 11px; padding: 10px 12px; }
.home-grid { grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); border: 0; margin-top: 62px; padding-top: 0; gap: 65px; }
.home-grid .section-heading { margin-bottom: 12px; }
.home-grid .story-card { border-top: 0; margin-top: 0; padding-top: 24px; }
.home-grid .story-card + .story-card { border-top: 1px solid var(--rule); }
.content-head { max-width: none; display: grid; grid-template-columns: 1fr minmax(240px, .5fr); align-items: end; gap: 25px 55px; padding-block: 56px 42px; border-bottom: 2px solid var(--ink); margin-bottom: 30px; }
.content-head > .eyebrow { grid-column: 1 / -1; margin: 0; }
.page-title { margin: 0; font-size: clamp(62px, 8vw, 112px); }
.content-head .lede { font: 18px/1.65 var(--sans); }
.archive-controls { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border: 0; background: var(--panel); padding: 25px; margin-bottom: 28px; }
.archive-controls > :first-child { grid-column: span 2; }
.archive-controls button { grid-column: 1 / -1; padding: 0; min-height: 28px; }
.archive-item { position: relative; padding: 30px 0 30px 36px; }
.archive-item::before { content: '↗'; position: absolute; left: 0; top: 29px; color: var(--accent); font-size: 20px; }
.event-role { display: inline-block; padding: 3px 9px; border: 1px solid var(--rule); color: var(--ink); font: 500 11px/1.6 var(--sans); }
.event-poster { max-width: 720px; margin: 36px 0; padding: 20px; background: var(--panel); border: 1px solid var(--rule); }
.event-poster > a { display: block; }
.event-poster img { max-height: 780px; width: auto; max-width: 100%; margin-inline: auto; }
.event-poster figcaption { margin-top: 20px; font-size: 12px; line-height: 1.7; }
.book-opening { grid-template-columns: minmax(230px, .55fr) minmax(0, 1fr); align-items: start; gap: 7%; padding-block: 65px; }
.book-jacket { width: min(100%, 400px); background: var(--panel); padding: 25px; border: 1px solid var(--rule); }
.book-jacket img { box-shadow: 10px 12px 0 #24292220; }
.book-copy h1 { font-size: clamp(43px, 5.2vw, 78px); }
.book-body { grid-template-columns: minmax(150px, .22fr) minmax(0, 1fr); gap: 65px; border-top-width: 2px; }
.book-side-nav { font-size: 12px; }
.book-side-nav a { border-left: 2px solid var(--rule); padding: 7px 0 7px 14px; }
.book-side-nav a:hover { border-color: var(--accent); }
.dossier-section h2 { font-size: clamp(37px, 4vw, 54px); }
.reading-guide { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
.reading-step { padding: 22px; border-top: 3px solid var(--accent); background: var(--panel); }
.reading-step::before { font: 28px/1 var(--serif); margin-bottom: 17px; }
.work-entry > dl { max-width: 900px; padding: 24px; background: var(--panel); }
.work-entry > .prose { margin-block: 32px; }
.path-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 45px; margin-block: 35px 60px; counter-reset: paths; }
.path-card { position: relative; counter-increment: paths; min-width: 0; padding: 30px 0 28px 70px; border-top: 2px solid var(--ink); }
.path-card::before { content: counter(paths, decimal-leading-zero); position: absolute; left: 0; top: 28px; color: var(--accent); font: 43px/1 var(--serif); font-style: italic; }
.path-card h2, .path-card h3 { font: 40px/1.05 var(--serif); margin: 0 0 20px; }
.path-card h2 a, .path-card h3 a { text-decoration: none; }
.path-card p { max-width: 54ch; font-size: 14px; }
.path-card .meta { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.path-opening { padding-block: 55px 32px; max-width: 1050px; }
.path-opening .content-head { padding-block: 0 30px; margin-bottom: 0; }
.path-opening h1 { font-size: clamp(59px, 7.5vw, 108px); line-height: 1; }
.path-steps { list-style: none; padding: 0; margin-block: 35px 65px; counter-reset: steps; }
.path-step { position: relative; counter-increment: steps; margin: 0; padding: 32px 38px 34px 115px; border-top: 1px solid var(--rule); transition: background-color .18s ease; scroll-margin-top: 30px; }
.path-step::before { content: counter(steps, decimal-leading-zero); position: absolute; left: 27px; top: 32px; color: var(--accent); font: 54px/1 var(--serif); }
.path-step h2, .path-step h3 { font: 40px/1.1 var(--serif); max-width: 850px; }
.path-step p { max-width: 70ch; font-size: 15px; }
.path-step-reason { padding-left: 18px; border-left: 2px solid var(--accent); margin-top: 24px; }
.path-step:target, .path-step[aria-current="step"], .path-step.is-active { background: var(--panel); }
.path-step-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--rule); }
.path-step-controls a, .path-step-controls button { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.path-progress { font-size: 12px; color: var(--muted); }
.path-membership { margin-block: 48px; padding: 27px 32px; border-left: 5px solid var(--accent); background: var(--panel); }
.path-membership h2 { font-size: 32px; margin-bottom: 18px; }
.path-membership ul { display: flex; flex-wrap: wrap; gap: 10px 30px; list-style: none; padding: 0; margin: 0; }
.path-membership a { font-size: 14px; }
.path-membership .path-index { margin-block: 20px 0; gap: 20px 35px; }
.path-membership .path-card { border-top: 1px solid var(--rule); padding-top: 22px; }
.path-membership .path-card h2 { font-size: 31px; }
.path-membership .path-card h2 a { font-size: inherit; }

/* The journal uses a folded masthead and a deliberately uneven reading grid. */
body.site-blog { --paper: #f1eee8; --panel: #e1e5d6; --ink: #27382f; --muted: #566257; --accent: #70435e; --rule: #b3baad; }
.site-blog .site-header { border-bottom: 2px solid var(--ink); }
.site-blog .journal-masthead { padding-block: 42px 25px; gap: 20px; }
.site-blog .journal-name { display: block; font-size: clamp(83px, 12.4vw, 178px); line-height: .79; margin: 0 0 26px; letter-spacing: -.05em; }
.site-blog .journal-name > span { font-family: var(--sans); font-size: .67em; font-weight: 600; text-transform: uppercase; letter-spacing: -.075em; }
.site-blog .journal-name > em { display: block; width: fit-content; margin: -2px 0 0 25%; padding-right: .09em; color: var(--accent); }
.site-blog .journal-deck { grid-column: 1 / 8; font-size: 18px; padding-top: 20px; border-top: 1px solid var(--ink); }
.site-blog .journal-issue { grid-column: 9 / -1; font-size: 11px; letter-spacing: .04em; }
.site-blog .journal-orbit { width: 44%; top: -2px; opacity: .6; stroke: var(--accent); }
.site-blog .journal-illustration { width: 78%; margin: 10px 0 55px auto; position: relative; }
.site-blog .journal-illustration::before { content: ''; width: 18%; position: absolute; left: -22%; top: 0; height: 70%; border-left: 1px solid var(--accent); border-bottom: 1px solid var(--accent); }
.site-blog .journal-illustration img { border-radius: 0; border: 1px solid var(--rule); }
.site-blog .lead-story { background: var(--journal-lilac); border-top: 3px solid var(--accent); padding: 36px 30px; }
.site-blog .lead-story .story-title { font-size: clamp(48px, 6vw, 82px); }
.site-blog .story-grid { grid-template-columns: 1.15fr .85fr; gap: 0 65px; counter-reset: stories; margin-block: 55px 75px; }
.site-blog .story-card { counter-increment: stories; margin: 0; padding: 26px 0 30px; background: transparent; border-top: 1px solid var(--ink); }
.site-blog .story-card:nth-child(even) { margin-top: 65px; padding-inline: 25px; background: var(--journal-peach); }
.site-blog .story-card::before { content: counter(stories, decimal-leading-zero); display: block; font: 36px/1 var(--serif); color: var(--accent); margin-bottom: 24px; }
.site-blog .story-card .story-title { font-size: clamp(35px, 4vw, 58px); }
.site-blog .journal-about { border: 0; border-top: 2px solid var(--ink); background: var(--panel); padding: 40px; }
.site-blog .journal-vignette { max-width: 190px; }
.site-blog .post-opening { max-width: none; padding-block: 55px 43px; }
.site-blog .post-opening h1 { max-width: 1000px; font-size: clamp(65px, 8.5vw, 122px); }
.site-blog .post-opening .lede { max-width: 650px; margin-left: 24%; font: 22px/1.5 var(--sans); }
.site-blog .post-layout { border-top: 3px solid var(--accent); }
.site-blog .post-meta { padding: 20px; background: var(--panel); }
.site-blog .path-card:nth-child(even) { padding-right: 25px; background: var(--journal-lilac); }
.site-blog .path-step:target, .site-blog .path-step[aria-current="step"] { background: var(--journal-lilac); }
.site-blog .path-membership { background: var(--journal-peach); }

@media (max-width: 1050px) {
  .site-header { align-items: start; }
  .site-nav { margin-left: 0; }
  .profile-masthead { gap: 6%; grid-template-columns: minmax(0, 1.4fr) minmax(200px, .7fr); }
  .profile-portrait::before { inset: -14px 17px 20px -16px; }
  .book-shelf { gap: 0 32px; }
  .book-card { gap: 0 20px; grid-template-columns: minmax(90px, .6fr) minmax(0, 1fr); }
  .book-card-cover, .book-card-cover img { max-height: 230px; }
  .book-card-copy h3 { font-size: 29px; }
  .content-head { grid-template-columns: 1fr; }
  .content-head .lede { max-width: 700px; }
  .home-grid { gap: 40px; }
}
@media (max-width: 760px) {
  .profile-masthead { grid-template-columns: 1fr; padding-top: 35px; gap: 35px; }
  .name-display { font-size: clamp(78px, 15vw, 120px); }
  .profile-portrait { width: 54%; max-width: 290px; justify-self: end; margin: 20px 16px 0 0; }
  .home-routes a { font-size: 25px; min-height: 75px; }
  .research-axes { grid-template-columns: 1fr; }
  .axis-item { padding: 24px; }
  .axis-item + .axis-item { border-left: 0; border-top: 1px solid #ffffff40; }
  .axis-item strong { font-size: 34px; }
  .book-shelf { grid-template-columns: 1fr; }
  .book-card { grid-template-columns: minmax(90px, .65fr) minmax(0, 1fr); gap: 0 26px; }
  .book-card-copy h3 { font-size: 33px; }
  .book-card-cover, .book-card-cover img { height: auto; max-height: 280px; }
  .home-grid { grid-template-columns: 1fr; margin-top: 45px; }
  .content-head { padding-block: 36px 30px; gap: 20px; }
  .page-title { font-size: clamp(55px, 12vw, 85px); }
  .archive-controls { padding: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .archive-controls > :first-child { grid-column: 1 / -1; }
  .book-opening { grid-template-columns: 1fr; gap: 35px; padding-block: 38px; }
  .book-jacket { width: min(65%, 320px); justify-self: start; padding: 18px; }
  .book-copy h1 { font-size: 49px; }
  .book-body { display: block; }
  .book-side-nav { position: static; }
  .book-side-nav ul { display: flex; flex-wrap: wrap; gap: 7px 15px; }
  .book-side-nav li { margin: 0; }
  .book-side-nav a { padding: 6px 10px; border: 1px solid var(--rule); }
  .reading-guide { grid-template-columns: 1fr; gap: 24px; }
  .reading-step h3 { font-size: 32px; }
  .path-index { grid-template-columns: 1fr; gap: 24px; }
  .path-card { padding-left: 59px; }
  .path-card h2, .path-card h3 { font-size: 36px; }
  .path-step { padding: 28px 20px 30px 65px; }
  .path-step::before { left: 10px; font-size: 36px; }
  .path-step h2, .path-step h3 { font-size: 32px; }
  .path-step p { font-size: 14px; }
  .path-membership { padding: 24px; }
  .event-poster { padding: 12px; }
  .site-blog .journal-name { font-size: clamp(81px, 15.9vw, 118px); }
  .site-blog .journal-name > em { margin-left: 12%; padding-top: 8px; }
  .site-blog .journal-deck, .site-blog .journal-issue { grid-column: 1 / -1; }
  .site-blog .journal-deck { font-size: 17px; }
  .site-blog .journal-illustration { width: 92%; margin-bottom: 33px; }
  .site-blog .journal-illustration::before { width: 5%; left: -8%; }
  .site-blog .story-grid { grid-template-columns: 1fr; gap: 27px; margin-block: 36px; }
  .site-blog .story-card:nth-child(even) { margin: 0; padding: 24px; }
  .site-blog .story-card .story-title { font-size: 42px; }
  .site-blog .lead-story { padding: 27px 23px; }
  .site-blog .lead-story .story-title { font-size: 48px; }
  .site-blog .journal-about { padding: 27px; }
  .site-blog .post-opening h1 { font-size: 62px; }
  .site-blog .post-opening .lede { margin-left: 0; font-size: 20px; }
  .site-blog .post-meta { margin-bottom: 28px; }
}
@media (max-width: 390px) {
  .name-display { font-size: 73px; }
  .home-routes a { font-size: 22px; }
  .book-card { gap: 0 18px; }
  .book-card-copy h3 { font-size: 28px; }
  .book-copy h1 { font-size: 43px; }
  .site-blog .journal-name { font-size: 78px; }
  .site-blog .journal-name > em { margin-left: 4%; }
  .site-blog .post-opening h1 { font-size: 53px; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .purchase-link, .home-routes a, .path-step { transition: none; }
}
@media print {
  .home-routes, .path-step-controls, .path-progress { display: none; }
  .profile-portrait::before, .profile-portrait::after, .journal-illustration::before { display: none; }
  .research-axes, .reading-step, .path-step, .path-membership { background: transparent; color: #000; }
  .axis-item a, .axis-item > p { color: #000; }
  .path-step { break-inside: avoid; }
  .event-poster { max-width: 70%; }
  .book-shelf { display: block; }
  .purchase-link { color: #000; background: transparent; }
}
