:root {
  --paper: #f5f3ed;
  --surface: #fffdf8;
  --ink: #102a43;
  --ink-strong: #071b33;
  --muted: #586977;
  --blue: #245d9f;
  --blue-dark: #173b70;
  --cyan: #8ccdd8;
  --cyan-soft: #dceff1;
  --red: #b52d3a;
  --rule: #c8d4d9;
  --focus: #c83a48;
  --font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --font-ui: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --shadow-figure: 0 18px 50px rgba(16, 42, 67, 0.1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-ui); font-size: 1rem; line-height: 1.7; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: 0.18em; }
p, ul, ol { margin-top: 0; }
h1, h2, h3 { color: var(--ink-strong); font-family: var(--font-display); font-weight: 600; margin: 0 0 0.55em; text-wrap: balance; }
h1 { font-size: clamp(3rem, 6.4vw, 5.75rem); line-height: 0.98; letter-spacing: -0.035em; }
h2 { font-size: clamp(2rem, 3.7vw, 3.25rem); line-height: 1.08; letter-spacing: -0.025em; }
h3 { font-size: clamp(1.35rem, 2.1vw, 1.75rem); line-height: 1.2; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
::selection { background: var(--cyan); color: var(--ink-strong); }

.skip-link { position: fixed; top: 10px; left: 10px; z-index: 999; background: var(--ink-strong); color: white; padding: 12px 18px; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.section-shell, .nav-shell { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.eyebrow, .evidence-label, .analysis-label, .card-kicker { color: var(--blue-dark); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.11em; line-height: 1.35; text-transform: uppercase; }
.eyebrow { margin-bottom: 20px; }
.eyebrow-red, .analysis-label-red { color: var(--red); }
.lead { font-family: var(--font-display); font-size: clamp(1.18rem, 1.9vw, 1.45rem); line-height: 1.5; }
.lead-sm { font-family: var(--font-display); font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.55; }
.citation { font-size: 0.88em; font-weight: 700; }
.paper-title { max-width: 640px; color: var(--muted); font-size: 0.84rem; font-weight: 700; letter-spacing: 0.02em; margin: -7px 0 26px; }

.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--rule); background: rgba(245, 243, 237, 0.96); }
.nav-shell { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: flex; flex-direction: column; flex: 0 0 auto; text-decoration: none; line-height: 1.15; }
.brand-name { font-family: var(--font-display); font-size: 1.16rem; font-weight: 700; }
.brand-note { color: var(--muted); font-size: 0.7rem; letter-spacing: 0.09em; margin-top: 4px; text-transform: uppercase; }
.primary-nav { display: flex; align-items: stretch; gap: 25px; font-size: 0.78rem; font-weight: 760; letter-spacing: 0.035em; }
.primary-nav a { position: relative; display: inline-flex; min-height: 44px; align-items: center; text-decoration: none; white-space: nowrap; }
.primary-nav a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: var(--red); content: ""; opacity: 0; transform: scaleX(0.3); transition: 160ms ease; }
.primary-nav a:hover::after, .primary-nav a[aria-current="page"]::after { opacity: 1; transform: scaleX(1); }
.primary-nav .nav-pdf { gap: 7px; }
.nav-pdf span { border: 1px solid var(--rule); padding: 2px 5px; font-size: 0.62rem; letter-spacing: 0.08em; }
.nav-toggle { display: none; min-height: 44px; border: 1px solid var(--ink); background: transparent; color: var(--ink); font: 700 0.8rem var(--font-ui); padding: 8px 12px; }

.hero { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(340px, 0.72fr); align-items: center; gap: clamp(48px, 7vw, 100px); min-height: calc(100vh - 76px); padding-block: clamp(64px, 9vw, 128px); }
.hero h1 em { color: var(--blue); font-style: normal; }
.hero-copy { max-width: 760px; }
.hero-copy .lead { max-width: 660px; margin: 32px 0; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 32px 0; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; border: 1px solid var(--ink); border-radius: 999px; padding: 12px 20px; font-size: 0.86rem; font-weight: 760; line-height: 1.15; text-align: center; text-decoration: none; transition: transform 160ms ease, background 160ms ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--ink-strong); color: white; }
.button-secondary { background: transparent; color: var(--ink-strong); }
.button-meta { font-size: 0.67rem; font-weight: 600; opacity: 0.75; }
.trust-line { max-width: 650px; border-top: 1px solid var(--rule); color: var(--muted); font-size: 0.8rem; margin-top: 38px; padding-top: 16px; }
.hero-figure { align-self: center; margin: 0; }
.hero-figure img { width: min(100%, 560px); max-height: 72vh; object-fit: contain; margin: auto; }
.hero-figure figcaption, .editorial-figure figcaption, .mini-figure figcaption, .wide-figure figcaption { border-top: 1px solid var(--rule); color: var(--muted); font-size: 0.8rem; line-height: 1.5; margin-top: 13px; padding-top: 10px; }

.rq-band { border-block: 1px solid var(--rule); background: var(--surface); padding-block: clamp(64px, 8vw, 104px); }
.section-intro { max-width: 780px; margin-bottom: 55px; }
.section-intro.compact { max-width: 760px; }
.section-intro.centered { margin-inline: auto; text-align: center; }
.rq-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--rule); list-style: none; margin: 50px 0 0; padding: 0; }
.rq-grid li { min-height: 230px; border-right: 1px solid var(--rule); padding: 30px 38px 10px 0; }
.rq-grid li + li { padding-left: 38px; }
.rq-grid li:last-child { border-right: 0; }
.rq-number { color: var(--red); font-size: 0.8rem; font-weight: 900; letter-spacing: 0.12em; }
.rq-grid h3 { font-size: 2rem; margin: 34px 0 13px; }
.rq-grid p { color: var(--muted); line-height: 1.6; }

.split-section { display: grid; grid-template-columns: 1fr 0.85fr; gap: clamp(50px, 9vw, 130px); padding-block: clamp(80px, 10vw, 128px); }
.section-copy { max-width: 690px; }
.scope-note { border-left: 3px solid var(--red); margin-top: 35px; padding: 5px 0 1px 22px; }
.scope-note strong { color: var(--red); font-size: 0.76rem; letter-spacing: 0.09em; text-transform: uppercase; }
.scope-note p { color: var(--muted); font-size: 0.9rem; margin: 5px 0 0; }
.evidence-panel { align-self: start; border-top: 4px solid var(--cyan); background: var(--surface); box-shadow: var(--shadow-figure); padding: clamp(28px, 4vw, 54px); }
.evidence-stat { display: flex; flex-direction: column; }
.stat-value { font: 600 clamp(2.6rem, 5vw, 4.6rem)/1 var(--font-display); }
.stat-label { color: var(--muted); font-size: 0.8rem; font-weight: 750; letter-spacing: 0.06em; margin-top: 12px; text-transform: uppercase; }
.evidence-primary .stat-value { color: var(--blue); }
.comparison-line { height: 40px; border-left: 1px solid var(--rule); margin: 20px 0 20px 16px; }
.comparison-line span { display: block; width: 9px; height: 9px; border-radius: 50%; background: var(--red); transform: translate(-5px, 15px); }
.evidence-source { border-top: 1px solid var(--rule); color: var(--muted); font-size: 0.82rem; margin-top: 35px; padding-top: 18px; }

.paper-section { border-block: 1px solid var(--rule); background: var(--surface); }
.pillars-layout { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: clamp(60px, 10vw, 140px); padding-block: clamp(80px, 10vw, 130px); }
.sticky-heading { align-self: start; position: sticky; top: 120px; }
.sticky-heading > p:not(.eyebrow) { color: var(--muted); }
.mini-figure { max-width: 310px; margin: 40px 0 0; }
.mini-figure img { max-height: 390px; object-fit: contain; }
.pillar-list { border-top: 1px solid var(--rule); list-style: none; margin: 0; padding: 0; }
.pillar-list li { display: grid; grid-template-columns: 62px 1fr; gap: 25px; border-bottom: 1px solid var(--rule); padding: 44px 0 45px; }
.pillar-number { color: var(--red); font: 600 1.3rem var(--font-display); }
.pillar-list h3 { font-size: clamp(1.7rem, 2.7vw, 2.35rem); }
.pillar-list p { max-width: 65ch; }
.implication { border-left: 3px solid var(--cyan); color: var(--muted); font-size: 0.92rem; margin-top: 25px; padding-left: 18px; }

.case-section { padding-block: clamp(80px, 10vw, 128px); }
.case-grid { display: grid; grid-template-columns: 1.08fr 0.92fr; gap: 24px; }
.case-card { border: 1px solid var(--rule); background: var(--surface); padding: clamp(30px, 5vw, 56px); }
.case-card h3 span { display: block; color: var(--blue); font: 700 0.73rem var(--font-ui); letter-spacing: 0.1em; margin-top: 12px; text-transform: uppercase; }
.progression { list-style: none; margin: 32px 0; padding: 0; }
.progression li { display: grid; grid-template-columns: minmax(145px, 0.7fr) 1.3fr; gap: 20px; border-top: 1px solid var(--rule); padding: 15px 0; }
.progression span { color: var(--muted); font-size: 0.9rem; }
.case-data { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--rule); border: 1px solid var(--rule); }
.case-data span { background: var(--paper); color: var(--muted); font-size: 0.75rem; padding: 14px; }
.case-data b { display: block; color: var(--ink); font: 600 1.55rem var(--font-display); }
.case-card-dark { border-color: var(--ink-strong); background: var(--ink-strong); color: white; }
.case-card-dark h3, .case-card-dark .card-kicker { color: white; }
.module-list { list-style: none; margin: 35px 0; padding: 0; }
.module-list li { display: grid; grid-template-columns: 35px 1fr; gap: 13px; border-top: 1px solid rgba(255,255,255,0.23); padding: 19px 0; }
.module-list span { color: var(--cyan); font-weight: 800; }
.card-note { color: #c8d7e4; font-size: 0.88rem; }

.phase-section { padding-block: clamp(80px, 10vw, 128px); }
.pull-quote { color: var(--blue-dark); font: 500 clamp(1.4rem, 2.4vw, 2rem)/1.4 var(--font-display); margin: 30px auto 0; }
.phase-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--rule); margin-top: 55px; }
.phase-grid article { min-height: 310px; padding: clamp(28px, 5vw, 60px); }
.phase-grid article + article { border-left: 1px solid var(--rule); }
.phase-mark { display: inline-flex; min-height: 34px; align-items: center; border: 1px solid var(--blue); border-radius: 999px; color: var(--blue); font-size: 0.72rem; font-weight: 800; margin-bottom: 45px; padding: 4px 13px; text-transform: uppercase; }
.phase-mark-red { border-color: var(--red); color: var(--red); }
.phase-grid h3 { font-size: clamp(1.7rem, 2.6vw, 2.25rem); }
.phase-caveat { border-left: 3px solid var(--red); color: var(--muted); max-width: 880px; margin: 36px auto 0; padding-left: 20px; }

.limitations-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(50px, 10vw, 140px); padding-block: clamp(80px, 10vw, 128px); }
.limitation-list { list-style: none; margin: 0; padding: 0; }
.limitation-list li { display: grid; grid-template-columns: 42px 1fr; gap: 18px; border-top: 1px solid var(--rule); padding: 17px 0; }
.limitation-list span { color: var(--red); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; }

.author-preview { border-top: 1px solid var(--rule); background: var(--cyan-soft); }
.author-grid { display: grid; grid-template-columns: minmax(290px, 0.8fr) 1.2fr; gap: clamp(50px, 10vw, 140px); align-items: center; padding-block: clamp(70px, 9vw, 110px); }
.portrait-panel { align-self: end; background: var(--surface); padding: 30px 30px 0; }
.portrait-panel img { width: 100%; }
.author-grid > div:last-child { max-width: 670px; }
.author-coauthor { border-top: 1px solid rgba(16,42,67,0.24); color: var(--muted); font-size: 0.88rem; margin-top: 30px; padding-top: 20px; }
.text-link { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; color: var(--ink-strong); font-weight: 800; text-decoration-thickness: 1px; }

.cta-band { background: var(--ink-strong); color: white; }
.cta-inner { display: grid; grid-template-columns: 1fr 0.85fr; gap: clamp(50px, 9vw, 120px); align-items: center; padding-block: clamp(70px, 9vw, 110px); }
.cta-band h2, .cta-band .eyebrow { color: white; }
.cta-band p { color: #c8d7e4; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button-light { border-color: white; background: white; color: var(--ink-strong); }
.button-ghost-light { border-color: #8ea4b8; color: white; }
.text-link-light { color: white; }

.site-footer { border-top: 1px solid var(--rule); background: var(--surface); padding-block: 45px; }
.footer-grid { display: grid; grid-template-columns: 1.2fr 0.65fr 1.15fr; gap: 50px; }
.footer-grid strong { font-family: var(--font-display); font-size: 1.1rem; }
.footer-grid p { color: var(--muted); font-size: 0.78rem; margin: 8px 0 0; }
.footer-grid nav { display: grid; align-content: start; gap: 6px; font-size: 0.78rem; font-weight: 700; }
.footer-note { line-height: 1.65; }

/* Analysis */
.analysis-hero { display: grid; grid-template-columns: 1.2fr 0.65fr; gap: clamp(50px, 9vw, 120px); align-items: end; padding-block: clamp(70px, 9vw, 115px); }
.analysis-hero h1 { font-size: clamp(2.8rem, 5.2vw, 4.8rem); }
.analysis-hero > div { max-width: 800px; }
.analysis-hero .lead { max-width: 720px; margin-top: 28px; }
.method-note { border-top: 3px solid var(--cyan); background: var(--surface); padding: 30px; }
.method-note h2 { font-size: 1.65rem; }
.method-note p:last-child { color: var(--muted); font-size: 0.9rem; margin-bottom: 0; }
.analysis-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(50px, 7vw, 90px); align-items: start; }
.chapter-rail { position: sticky; top: 112px; display: grid; border-top: 1px solid var(--ink); font-size: 0.78rem; }
.chapter-rail > p { color: var(--muted); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; margin: 18px 0 12px; text-transform: uppercase; }
.chapter-rail a { display: grid; grid-template-columns: 30px 1fr; min-height: 43px; align-items: center; border-bottom: 1px solid var(--rule); color: var(--muted); text-decoration: none; }
.chapter-rail a span { color: var(--red); font-weight: 800; }
.chapter-rail a.active, .chapter-rail a:hover { color: var(--ink-strong); font-weight: 800; }
.chapter-rail .rail-pdf { display: flex; margin-top: 15px; color: var(--ink-strong); font-weight: 800; }
.analysis-article { min-width: 0; }
.analysis-act { border-top: 1px solid var(--ink); padding-block: 48px clamp(90px, 11vw, 140px); }
.act-header { max-width: 760px; margin-bottom: 50px; }
.act-number { color: var(--red); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.12em; margin-bottom: 16px; text-transform: uppercase; }
.analysis-cards { display: grid; gap: 14px; }
.analysis-cards > div { border-left: 3px solid var(--cyan); background: var(--surface); padding: 23px 28px; }
.analysis-cards > div:nth-child(3) { border-left-color: var(--red); }
.analysis-cards p:last-child { margin-bottom: 0; }
.analysis-label { margin-bottom: 9px; }
.rq-mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--rule); margin-top: 45px; }
.rq-mini-grid p { min-height: 150px; border-right: 1px solid var(--rule); margin: 0; padding: 28px; }
.rq-mini-grid p:last-child { border-right: 0; }
.rq-mini-grid b, .rq-mini-grid span { display: block; }
.rq-mini-grid b { color: var(--red); font-family: var(--font-display); font-size: 1.5rem; }
.rq-mini-grid span { color: var(--muted); font-size: 0.87rem; margin-top: 12px; }
.figure-text { display: grid; grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr); gap: clamp(35px, 6vw, 75px); align-items: center; }
.figure-right { grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr); }
.editorial-figure { border: 1px solid var(--rule); background: var(--surface); box-shadow: var(--shadow-figure); margin: 0; padding: 16px; }
.editorial-figure img { width: 100%; max-height: 680px; object-fit: contain; }
.evidence-inline { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 25px; align-items: center; border-block: 1px solid var(--rule); margin-top: 50px; padding: 30px 0; }
.evidence-inline strong { color: var(--blue); font: 600 2rem var(--font-display); }
.evidence-inline strong span { display: block; color: var(--muted); font: 700 0.7rem var(--font-ui); letter-spacing: 0.08em; text-transform: uppercase; }
.evidence-inline p:last-child { color: var(--muted); font-size: 0.85rem; grid-column: 1 / -1; margin: 0; }
.practice-box { background: var(--cyan-soft) !important; }
.dependency-chain { display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 0 0 60px; padding: 0; }
.dependency-chain li { position: relative; border-top: 4px solid var(--blue); background: var(--surface); padding: 30px; }
.dependency-chain li + li { border-left: 1px solid var(--rule); }
.dependency-chain li + li::before { position: absolute; top: 50%; left: -9px; width: 17px; height: 17px; border-top: 2px solid var(--red); border-right: 2px solid var(--red); background: var(--surface); content: ""; transform: rotate(45deg); }
.dependency-chain span { color: var(--red); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.dependency-chain h3 { margin-top: 12px; }
.dependency-chain p { color: var(--muted); font-size: 0.88rem; margin-bottom: 0; }
.phase-table { border: 1px solid var(--rule); margin-bottom: 60px; }
.phase-table-head, .phase-table-row { display: grid; grid-template-columns: 1fr 1fr; }
.phase-table-head { background: var(--ink-strong); color: white; font: 600 1.15rem var(--font-display); }
.phase-table-head > div, .phase-table-row > div { padding: 22px 28px; }
.phase-table-head > div + div, .phase-table-row > div + div { border-left: 1px solid var(--rule); }
.phase-table-row + .phase-table-row { border-top: 1px solid var(--rule); }
.phase-table-row > div { background: var(--surface); }
.phase-table-row strong { display: block; color: var(--blue-dark); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; }
.wide-figure { display: grid; grid-template-columns: 0.55fr 1fr; gap: 34px; align-items: end; max-width: 760px; border-top: 1px solid var(--rule); margin: 50px auto 0; padding-top: 30px; }
.wide-figure img { width: 250px; max-height: 390px; object-fit: contain; justify-self: end; }
.unresolved-section { border: 2px solid var(--red); margin: 0 0 clamp(90px, 11vw, 140px); padding: clamp(30px, 5vw, 60px); }
.unresolved-section header { max-width: 760px; }
.unresolved-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--rule); border: 1px solid var(--rule); margin-top: 45px; }
.unresolved-grid article { background: var(--paper); padding: 25px; }
.unresolved-grid span { color: var(--red); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; }
.unresolved-grid p { margin: 8px 0 0; }
.questions-section { border-top: 1px solid var(--ink); padding: 50px 0 clamp(90px, 11vw, 140px); }
.questions-section ol { list-style: none; counter-reset: discussion; margin: 45px 0 0; padding: 0; }
.questions-section li { display: grid; grid-template-columns: 60px 1fr; counter-increment: discussion; border-top: 1px solid var(--rule); font: 500 clamp(1.05rem, 1.7vw, 1.3rem) var(--font-display); padding: 18px 0; }
.questions-section li::before { color: var(--red); content: counter(discussion, decimal-leading-zero); font: 800 0.74rem var(--font-ui); letter-spacing: 0.1em; }

/* Author */
.author-hero { display: grid; grid-template-columns: 0.78fr 1.22fr; gap: clamp(50px, 10vw, 140px); align-items: center; min-height: calc(100vh - 76px); padding-block: clamp(70px, 9vw, 120px); }
.author-portrait-large { align-self: end; background: var(--cyan-soft); padding: 45px 35px 0; }
.author-portrait-large img { width: 100%; }
.author-portrait-large p { border-top: 1px solid rgba(16,42,67,0.2); color: var(--muted); font-size: 0.75rem; margin: 0 -35px; padding: 14px 20px; text-align: center; }
.author-copy { max-width: 700px; }
.author-copy h1 { font-size: clamp(3.2rem, 6vw, 5.5rem); }
.author-copy .lead { margin-top: 28px; }
.author-note { border-left: 3px solid var(--cyan); background: var(--surface); margin: 32px 0; padding: 20px 25px; }
.author-note p:last-child { margin-bottom: 0; }
.author-work { padding-block: clamp(80px, 10vw, 120px); }
.author-focus-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--rule); }
.author-focus-grid article { min-height: 280px; border-right: 1px solid var(--rule); padding: 34px 34px 20px 0; }
.author-focus-grid article + article { padding-left: 34px; }
.author-focus-grid article:last-child { border-right: 0; }
.author-focus-grid span { color: var(--red); font-size: 0.74rem; font-weight: 800; }
.author-focus-grid h3 { font-size: 1.8rem; margin-top: 30px; }
.author-focus-grid p { color: var(--muted); }
.author-principle { max-width: 900px; margin-inline: auto; padding-block: clamp(90px, 12vw, 150px); text-align: center; }
.author-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; margin-top: 35px; }

.reveal { animation: reveal-in 320ms ease both; }
.reveal:nth-child(2) { animation-delay: 90ms; }
@keyframes reveal-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1000px) {
  .primary-nav { gap: 14px; font-size: 0.71rem; }
  .hero { grid-template-columns: 1fr 0.68fr; gap: 35px; }
  .hero-figure img { max-height: 58vh; }
  .analysis-layout { grid-template-columns: 1fr; gap: 35px; }
  .chapter-rail { top: 76px; z-index: 50; grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; border-block: 1px solid var(--rule); background: var(--paper); padding-inline: 4px; }
  .chapter-rail > p, .chapter-rail .rail-pdf { display: none; }
  .chapter-rail a { display: flex; gap: 7px; min-height: 52px; border-bottom: 0; padding: 0 14px; }
}

@media (max-width: 820px) {
  .nav-shell { align-items: center; min-height: 70px; flex-wrap: wrap; padding-block: 12px; }
  .js .nav-toggle { display: flex; align-items: center; gap: 12px; }
  .primary-nav { width: 100%; flex-wrap: wrap; gap: 5px 18px; border-top: 1px solid var(--rule); padding-top: 10px; }
  .js .primary-nav { display: none; }
  .js .primary-nav.is-open { display: flex; padding-bottom: 8px; }
  .primary-nav a { min-height: 42px; }
  .hero, .split-section, .pillars-layout, .case-grid, .limitations-grid, .author-grid, .cta-inner, .analysis-hero, .author-hero { grid-template-columns: 1fr; }
  .hero { min-height: 0; }
  .hero-figure { order: -1; }
  .hero-figure img { max-height: 56vh; }
  .hero-figure figcaption { max-width: 520px; margin-inline: auto; }
  .rq-grid { grid-template-columns: 1fr; }
  .rq-grid li, .rq-grid li + li { min-height: 0; border-right: 0; border-bottom: 1px solid var(--rule); padding: 28px 0; }
  .rq-grid h3 { margin-top: 12px; }
  .sticky-heading { position: static; }
  .mini-figure { margin-inline: auto; }
  .case-card-dark { order: 2; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-note { grid-column: 1 / -1; }
  .figure-text, .figure-right { grid-template-columns: 1fr; }
  .figure-right .editorial-figure { order: -1; }
  .editorial-figure { max-width: 520px; margin-inline: auto; }
  .dependency-chain { grid-template-columns: 1fr; }
  .dependency-chain li + li { border-left: 0; border-top-color: var(--cyan); }
  .dependency-chain li + li::before { top: -9px; left: 50%; transform: rotate(135deg); }
  .evidence-inline { grid-template-columns: 1fr 1fr; }
  .evidence-inline .evidence-label { grid-column: 1 / -1; }
  .wide-figure { grid-template-columns: 0.4fr 1fr; }
  .author-portrait-large { max-width: 520px; margin-inline: auto; order: 2; }
  .author-copy { max-width: none; }
  .author-focus-grid { grid-template-columns: 1fr; }
  .author-focus-grid article, .author-focus-grid article + article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--rule); padding: 30px 0; }
  .author-focus-grid h3 { margin-top: 12px; }
}

@media (max-width: 640px) {
  html { scroll-padding-top: 6rem; }
  .section-shell, .nav-shell { width: min(100% - 40px, 1200px); }
  .brand-note { display: none; }
  h1 { font-size: clamp(2.75rem, 13vw, 4rem); }
  h2 { font-size: clamp(2rem, 9vw, 2.8rem); }
  .hero, .split-section, .pillars-layout, .case-section, .phase-section, .limitations-grid, .author-grid, .cta-inner, .analysis-hero, .author-hero, .author-work { padding-block: 60px; }
  .hero-copy .lead { margin-block: 24px; }
  .button-row, .button { width: 100%; }
  .button { flex-wrap: wrap; }
  .trust-line { margin-top: 28px; }
  .rq-band { padding-block: 55px; }
  .pillar-list li { grid-template-columns: 42px 1fr; gap: 12px; padding-block: 35px; }
  .case-card { padding: 27px 22px; }
  .progression li { grid-template-columns: 1fr; gap: 5px; }
  .case-data { grid-template-columns: 1fr; }
  .phase-grid { grid-template-columns: 1fr; }
  .phase-grid article + article { border-top: 1px solid var(--rule); border-left: 0; }
  .portrait-panel { padding: 20px 20px 0; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-note { grid-column: auto; }
  .analysis-hero .button-row { width: 100%; }
  .method-note { padding: 24px; }
  .chapter-rail { margin-inline: -20px; padding-inline: 10px; }
  .analysis-act { padding-block: 42px 85px; }
  .rq-mini-grid { grid-template-columns: 1fr; }
  .rq-mini-grid p { min-height: 0; border-right: 0; border-bottom: 1px solid var(--rule); padding: 22px 0; }
  .analysis-cards > div { padding: 20px; }
  .evidence-inline { grid-template-columns: 1fr; }
  .evidence-inline .evidence-label { grid-column: auto; }
  .phase-table { border: 0; }
  .phase-table-head { display: none; }
  .phase-table-row { grid-template-columns: 1fr; gap: 10px; border-top: 0 !important; margin-bottom: 18px; }
  .phase-table-row > div, .phase-table-row > div + div { border: 1px solid var(--rule); padding: 20px; }
  .phase-table-row > div:first-child::before { color: var(--blue); content: "Open AI-supported learning"; display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; margin-bottom: 12px; text-transform: uppercase; }
  .phase-table-row > div:last-child::before { color: var(--red); content: "Verified individual understanding"; display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; margin-bottom: 12px; text-transform: uppercase; }
  .wide-figure { grid-template-columns: 1fr; }
  .wide-figure img { justify-self: center; }
  .unresolved-section { padding: 26px 20px; }
  .unresolved-grid { grid-template-columns: 1fr; }
  .questions-section li { grid-template-columns: 42px 1fr; }
  .author-portrait-large { padding: 28px 20px 0; }
  .author-portrait-large p { margin-inline: -20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}

@media (forced-colors: active) {
  .button, .case-card, .editorial-figure, .unresolved-section { border: 2px solid CanvasText; }
  .primary-nav a[aria-current="page"] { text-decoration: underline; }
}

@media print {
  @page { margin: 18mm; }
  body { background: white; color: black; font-size: 10pt; }
  .site-header, .chapter-rail, .cta-band, .site-footer, .button-row { display: none !important; }
  .analysis-hero, .analysis-layout, .figure-text, .figure-right { display: block; width: 100%; }
  .analysis-hero { padding: 0 0 30px; }
  .analysis-act { break-before: page; padding: 25px 0; }
  .analysis-act:first-child { break-before: auto; }
  .editorial-figure, .evidence-inline, .phase-table, .unresolved-section { break-inside: avoid; box-shadow: none; }
  .editorial-figure { width: 45%; margin: 20px auto; }
  a { text-decoration: none; }
}
