@font-face {
  font-family: Inter;
  src: url("/assets/fonts/inter.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 750;
  font-display: swap;
}

@font-face {
  font-family: Newsreader;
  src: url("/assets/fonts/newsreader.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  color-scheme: dark;
  --ink: #f1eeea;
  --muted: #c0bcb8;
  --accent: #ff9698;
  --accent-soft: #3a2226;
  --deep: #9d2831;
  --deep-hover: #85232d;
  --rule: #0a0a0b;
  --line: #59575a;
  --paper: #171719;
  --surface: #232325;
  --soft: #1e1e20;
  --raised: #333234;
  --field: #141416;
  --control-edge: #858183;
  --white: #fffaf7;
  --chrome: #101012;
  --success: #abd6b7;
  --stone-grain: none;
  --display: Newsreader, Georgia, "Times New Roman", serif;
  --sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: ui-monospace, "SFMono-Regular", Consolas, monospace;
}

/* Sandstone Cracks by Rob Tuytel, Poly Haven (CC0). https://polyhaven.com/a/sandstone_cracks */
.stone-research, .page-news {
  --paper: #2d2f32;
  --surface: #37393c;
  --soft: #2b2d30;
  --raised: #414347;
  --field: #222427;
  --line: #606166;
  --stone-grain: url("/assets/reading-room-sandstone.webp?v=29");
}
.stone-research :is(.medical-library, .archive-section) { background: transparent; }
#medical-library-title { font-weight: 550; }
#medical-library-title > span { display: block; color: var(--ink); }
#medical-library-title > em { color: var(--accent); font-style: italic; }
.page-news #reading-title { color: var(--ink); font-weight: 550; }
.page-news #reading-title::after {
  content: ""; display: block; width: 48px; height: 3px; margin-top: 15px; background: var(--accent);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 85px; }
body { min-height: 100vh; margin: 0; color: var(--ink); background: var(--stone-grain) repeat var(--paper); font: 400 16px/1.65 var(--sans); }
img { display: block; max-width: 100%; height: auto; }
p, h1, h2, h3, figure { margin: 0; }
a { color: inherit; text-underline-offset: 4px; }
button, input { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.frame { --page-gutter: clamp(14px, 4.1vw, 56px); width: min(1232px, calc(100% - 2 * var(--page-gutter))); margin-inline: auto; }
.sr-only, .skip:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip:focus { position: fixed; z-index: 9; inset: 8px auto auto 12px; padding: 12px; background: var(--surface); }

.header { position: sticky; top: 0; z-index: 5; background: var(--chrome); border-bottom: 1px solid var(--line); }
.header-inner { min-height: 78px; display: grid; grid-template-columns: 1fr auto 1fr; grid-template-areas: "brand nav submit"; align-items: center; gap: clamp(12px, 1.8vw, 26px); }
.header .brand { grid-area: brand; }
.brand { display: inline-flex; align-items: center; gap: 12px; width: fit-content; text-decoration: none; line-height: 1.03; }
.brand img { flex: none; }
.brand strong { display: block; font: 700 25px/1 var(--display); }
.brand small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; font-weight: 650; letter-spacing: .035em; }
.header nav { grid-area: nav; display: flex; align-items: center; gap: clamp(9px, 1.8vw, 26px); }
.header nav a, .header-cta { font-size: 13px; font-weight: 650; text-decoration: none; white-space: nowrap; }
.header nav a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 12px; }
.header nav a:hover, .footer a:hover { text-decoration: underline; }
.header-actions { grid-area: submit; display: flex; flex-wrap: wrap; justify-content: end; align-items: center; column-gap: clamp(8px, 1.25vw, 18px); }
.header-account, .header-cta { display: inline-flex; align-items: center; min-height: 44px; }
.header-account { font-size: .84rem; font-weight: 650; text-decoration-color: var(--accent); white-space: nowrap; }
.header-account:hover, .header-account[aria-current] { color: var(--accent); }
.header-cta { border-bottom: 1px solid var(--accent); color: var(--accent); }
.header-cta span { margin-left: 5px; }

.hero { padding-block: clamp(32px, 5vw, 66px); border-bottom: 1px solid var(--rule); background: radial-gradient(ellipse at 78% 16%, #292529, transparent 68%), var(--chrome); }
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  grid-template-areas: "copy photo" "actions photo";
  column-gap: clamp(24px, 4.5vw, 68px);
  row-gap: 20px;
}
.hero-copy { grid-area: copy; }
.hero h1 { font-size: clamp(43px, 4.6vw, 69px); }
.hero h1 em { display: inline-block; font-style: normal; }
.eyebrow, .group-index, .study-head, .type { font: 650 11px/1.45 var(--mono); text-transform: uppercase; letter-spacing: .12em; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin-bottom: 20px; color: var(--accent); }
.eyebrow i, .hero-art-head i { width: 7px; height: 7px; border-radius: 50%; background: #b73442; }
h1, h2 { font-family: var(--display); font-weight: 400; letter-spacing: -.061em; line-height: .995; }
h1 { font-size: clamp(46px, 5.9vw, 86px); }
h1 em { color: var(--accent); font-weight: 400; }
.hero-intro { margin-top: 15px; max-width: 495px; color: var(--muted); font-size: clamp(16px, 1.35vw, 18px); }
.hero-actions {
  grid-area: actions;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}
.hero-actions a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: start;
  align-items: start;
  gap: 7px;
  padding: clamp(12px, 2vw, 20px);
  border: 1px solid var(--line);
  border-radius: 7px;
  background: linear-gradient(145deg, var(--raised), var(--surface) 64%);
  text-decoration: none;
}
.hero-actions a:hover { border-color: var(--accent); background: var(--accent-soft); }
.hero-actions .section-icon { grid-column: 1 / -1; }
.hero-actions strong { font: 550 clamp(19px, 2.3vw, 25px)/1.08 var(--display); }
.hero-actions small { grid-column: 1 / -1; color: var(--muted); font-size: .83rem; line-height: 1.4; }
.hero-action-arrow { color: var(--accent); line-height: 1.2; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; padding: 10px 16px; border: 1px solid transparent; border-radius: 5px; font-size: 13px; font-weight: 700; text-decoration: none; line-height: 1.4; }
.button span { font-size: 16px; }
.primary { color: var(--white); background: var(--deep); }
.primary:hover { background: var(--deep-hover); }
.secondary { border-color: var(--control-edge); background: var(--surface); color: var(--accent); }
.secondary:hover { background: var(--raised); }
.light { background: var(--accent-soft); color: var(--accent); }
.light:hover { background: var(--raised); }

.hero-art {
  grid-area: photo;
  align-self: start;
  min-width: 0;
  margin-top: clamp(12px, 3.25vw, 46px);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--stone-grain) repeat var(--soft);
  box-shadow: 0 18px 32px -22px #000c;
}
.hero-art-head { display: flex; justify-content: space-between; align-items: center; gap: 13px; padding: 14px 17px; }
.hero-art-head { font: 650 .86rem/1.4 var(--sans); }
.hero-art-head span:first-child { display: inline-flex; align-items: center; gap: 8px; }
.hero-figure { position: relative; }
.hero-figure::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, var(--soft), transparent 31%); }
.hero-image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--soft); border-bottom: 1px solid var(--line); }
.hero-figure figcaption { position: absolute; z-index: 1; inset: auto 9px 9px auto; padding: 3px 7px; border-radius: 3px; color: #fff7f8; background: #1a1415; font-size: .75rem; }
.hero-search { display: grid; gap: 7px; margin-top: 23px; max-width: 500px; }
.hero-search label { font-size: .98rem; font-weight: 700; }
.hero-search > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.hero-search input[type="search"] {
  width: 100%; min-width: 0; min-height: 49px; border: 1px solid var(--control-edge); border-radius: 5px;
  padding: 9px 11px; background: var(--field); color: var(--ink); font: inherit;
}
.hero-search button { padding-inline: clamp(13px, 2.2vw, 22px); font-size: .95rem; }

.research-strip { border-block: 1px solid var(--line); background: var(--soft); }
.strip-inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-block: 16px; }
.strip-inner > a { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 64px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); text-decoration: none; }
.strip-inner > a:hover { border-color: #b77d86; background: var(--surface); }
.strip-inner strong { display: block; font-size: 1rem; color: var(--accent); line-height: 1.3; }
.strip-inner small { display: block; margin-top: 2px; font-size: .9rem; line-height: 1.35; color: var(--muted); }
.section-icon { display: block; width: 27px; height: 27px; flex: 0 0 27px; color: var(--accent); }

.section { padding-block: clamp(60px, 8.8vw, 112px); }
.section-intro { display: grid; grid-template-columns: 1fr minmax(210px, 340px); align-items: end; gap: 30px; margin-bottom: 32px; }
.section-intro > p { color: var(--muted); margin-bottom: 2px; }
.feature-intro { align-items: center; }
.feature-description { max-width: 64ch; margin-top: 13px; color: var(--muted); }
.editorial-photo { position: relative; overflow: hidden; min-width: 0; border: 1px solid var(--line); border-radius: 8px; background: #2b2525; }
.editorial-photo-image { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; }
.editorial-photo figcaption {
  position: absolute; inset: auto 7px 7px auto; padding: 2px 6px; border-radius: 3px;
  background: #211c1d; color: #fff7f8; font-size: .73rem; line-height: 1.5;
}
h2 { font-size: clamp(39px, 5.05vw, 67px); }
h3 { line-height: 1.23; }
.program-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.program { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; align-self: start; }
.program-head { padding: 25px 25px 23px; background: var(--soft); border-bottom: 1px solid var(--line); }
.group-index { color: var(--accent); }
.program-head h3 { margin: 8px 0 5px; font: 400 clamp(25px, 3vw, 34px)/1.13 var(--display); letter-spacing: -.035em; }
.program-head p { color: var(--muted); font-size: 14px; }
.stream + .stream { border-top: 1px solid var(--line); }
summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
.stream summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 17px 24px; }
.stream summary:hover { background: var(--raised); }
.stream summary:focus-visible { outline-offset: -4px; }
.stream summary strong { display: block; margin-top: 6px; font-size: 16px; line-height: 1.25; }
.status { display: inline-block; padding: 3px 7px; border-radius: 3px; background: #203429; color: var(--success); font: 650 10px/1.2 var(--mono); }
.status.planned { background: #3c3124; color: #efd3a8; }
.status.frontier { background: var(--accent-soft); color: var(--accent); }
.toggle { flex: none; display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--control-edge); border-radius: 50%; color: var(--accent); }
.toggle::before { content: "+"; font: 500 16px/1 var(--sans); }
details[open] > summary .toggle::before { content: "−"; }
.stream-body { padding: 0 24px 19px; color: var(--muted); font-size: 14px; }
.stream-body p + p { margin-top: 9px; }
.stream-body b, .limit b { color: var(--ink); margin-right: 5px; }


.evidence-tools { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 11px; background: var(--soft); border: 1px solid var(--line); border-radius: 7px; }
.filter-list { display: flex; flex-wrap: wrap; gap: 5px; }
.filter-list button { color: var(--accent); border: 1px solid transparent; background: transparent; border-radius: 4px; padding: 7px 10px; min-height: 36px; font-size: 13px; font-weight: 650; }
.filter-list button[aria-pressed="true"] { color: white; background: var(--deep); }
.filter-list button[aria-pressed="false"]:hover { background: var(--raised); }
.search { min-width: 205px; display: flex; align-items: center; gap: 8px; padding-inline: 10px; border: 1px solid var(--control-edge); background: var(--field); color: var(--muted); border-radius: 4px; }
.search svg { flex: none; }
.search input { border: 0; min-width: 0; width: 100%; padding-block: 7px; background: transparent; font-size: 13px; color: var(--ink); }
.search input:focus { outline: none; }
.search:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
.result-count { margin-block: 9px; color: var(--muted); font-size: 12px; }
.evidence { display: grid; grid-template-columns: 1fr auto; gap: 15px; align-items: center; padding: 18px 8px 19px 0; border-bottom: 1px solid var(--line); }
.evidence:first-child { border-top: 1px solid var(--line); }
.type { margin-bottom: 5px; color: var(--accent); }
.type span { margin-left: 5px; color: var(--muted); font-weight: 400; }
.evidence h3 { font: 400 clamp(20px, 2.35vw, 28px)/1.19 var(--display); letter-spacing: -.027em; margin-bottom: 5px; }
.evidence h3 ~ p { font-size: 14px; color: var(--muted); max-width: 800px; }
.evidence .limit { margin-top: 5px; font-size: 13px; }
.evidence > a { color: var(--accent); font-size: 13px; font-weight: 700; white-space: nowrap; }
.empty { padding-block: 24px; }
.empty .button { margin-top: 10px; }

.method { background: var(--stone-grain) repeat var(--soft); border-block: 1px solid var(--line); }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; list-style: none; margin: 0; padding: 0; }
.steps li { border-top: 1px solid var(--line); padding-block: 15px; }
.steps li > span { display: block; margin-bottom: 15px; color: var(--accent); font: 650 11px/1.5 var(--mono); }
.steps h3 { margin-bottom: 6px; font-size: 17px; }
.steps p { color: var(--muted); font-size: 14px; }
.institute { display: grid; grid-template-columns: .8fr 1fr; align-items: start; gap: 32px; }
.institute-copy > p { color: var(--muted); }
.institute-copy > p + p { margin-top: 13px; }
.institute-copy > a { margin-block: 19px; }
.footer { border-top: 1px solid var(--line); background: var(--chrome); }
.footer-inner { display: grid; grid-template-columns: 1fr 1fr auto; grid-template-areas: "brand links top"; align-items: center; gap: 10px 18px; padding-block: 20px; }
.footer-brand { grid-area: brand; }
.footer-links { grid-area: links; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.footer-top { grid-area: top; justify-self: end; }
.footer-brand strong { font-size: 21px; }
.footer a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; font-weight: 650; text-decoration: none; }

@media (max-width: 1000px) {
  .hero-grid { gap: 28px; }
}
@media (max-width: 840px) {
  html { scroll-padding-top: 112px; }
  .header-inner { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand submit" "nav nav"; gap: 1px 10px; padding-top: 7px; }
  .header .brand img { width: 37px; height: 37px; }
  .header .brand strong { font-size: 22px; }
  .header .brand small { margin-top: 4px; }
  .header nav { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0; }
  .header nav a { justify-content: center; padding: 6px 1px; font-size: clamp(.72rem, 3.25vw, .875rem); }
  .header-cta { font-size: .75rem; }
}
@media (max-width: 760px) {
  .hero-grid, .program-grid, .institute { grid-template-columns: minmax(0, 1fr); }
  .hero-grid { grid-template-areas: "copy" "photo" "actions"; }
  h1 { font-size: clamp(37px, 10.7vw, 70px); }
  .hero-intro { margin-top: 16px; }
  .section-intro { grid-template-columns: 1fr; gap: 12px; margin-bottom: 25px; }
  .section-intro .eyebrow { margin-bottom: 13px; }
  .evidence-tools { align-items: stretch; flex-direction: column; }
  .steps { grid-template-columns: 1fr 1fr; }
  .strip-inner { grid-template-columns: 1fr; gap: 8px; padding-block: 13px; }
  .strip-inner > a { min-height: 56px; }
  .feature-intro .editorial-photo { max-width: 460px; }
  .footer-inner { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand top" "links links"; }
}
@media (max-width: 400px) {
  .header .brand, .footer-brand { gap: 7px; }
  .header .brand img, .footer-brand img { width: 32px; height: 32px; }
  .evidence { grid-template-columns: 1fr; gap: 6px; padding-right: 0; }
  .filter-list button { padding-inline: 7px; }
  .feature-intro .editorial-photo-image { aspect-ratio: 16 / 6; }
}
@media (max-width: 300px) {
  .header .brand small { font-size: 9px; }
  .header-cta { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.archive-section { background: var(--stone-grain) repeat var(--paper); border-block: 1px solid var(--line); }
.archive-toolbar { display: grid; grid-template-columns: minmax(130px, .55fr) 1fr auto; align-items: end; gap: 13px; }
.archive-toolbar label, .workflow-form label { display: grid; gap: 5px; color: var(--ink); font-size: 13px; font-weight: 650; min-width: 0; }
.archive-toolbar input, .archive-toolbar select, .workflow-form input:not([type="checkbox"]), .workflow-form select, .workflow-form textarea {
  width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid var(--control-edge); border-radius: 4px; background: var(--field); color: var(--ink); font-size: 15px; font-weight: 400;
}
.archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.archive-card { min-width: 0; padding: 16px 17px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); overflow-wrap: anywhere; }
.archive-card h3 { margin: 5px 0 8px; font: 400 22px/1.13 var(--display); letter-spacing: -.02em; }
.archive-card > p:not(.type) { margin-top: 8px; font-size: 13px; color: var(--muted); }
.archive-card .source-coverage { font-style: italic; }
.archive-links { display: flex; flex-wrap: wrap; gap: 4px 12px; list-style: none; margin: 10px 0 0; padding: 0; font-size: 13px; }
.archive-links a, .queue-body > a { color: var(--accent); }
.coverage { margin-top: 18px; border-block: 1px solid var(--line); }
.coverage summary { display: flex; align-items: center; justify-content: space-between; padding: 10px 4px; font-weight: 650; }
.coverage p { padding: 0 4px 12px; color: var(--muted); font-size: 14px; }
.workflow { border-top: 1px solid var(--line); }
.workflow-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 18px; align-items: start; }
.panel { min-width: 0; padding: clamp(16px, 3vw, 28px); background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.panel h3 { font: 400 30px/1.1 var(--display); letter-spacing: -.035em; }
.panel > p { margin-top: 9px; font-size: 14px; color: var(--muted); }
.workflow-form { display: grid; gap: 12px; margin-top: 17px; }
.workflow-form textarea { resize: vertical; }
.workflow-form .button { justify-self: start; }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.workflow-form .consent { display: flex; align-items: start; gap: 8px; color: var(--muted); font-weight: 400; }
.consent input { flex: none; width: 17px; height: 17px; margin-top: 2px; }
.queue-heading { display: flex; align-items: start; justify-content: space-between; flex-wrap: wrap; gap: 6px; }
.queue-heading .button { min-height: 38px; }
.queue-group { margin-top: 19px; }
.queue-group h4 { margin: 0 0 5px; font-size: 15px; }
.queue-empty, .queue-note { color: var(--muted); font-size: 13px; }
.queue-entry { border-top: 1px solid var(--line); }
.queue-entry summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; padding: 9px 4px; font-size: 14px; overflow-wrap: anywhere; }
.queue-entry summary:hover { background: var(--soft); }
.queue-body { padding: 0 4px 11px; font-size: 14px; overflow-wrap: anywhere; }
.review-text { white-space: pre-wrap; }
.review-report { margin-top: 9px; padding: 9px; background: var(--soft); border-radius: 5px; }
.review-report .review-text + .review-text { margin-top: 5px; }
.review-action { padding-top: 9px; border-top: 1px solid var(--line); }
.form-message { min-height: 1.2em; font-size: 13px; color: var(--success); }
.form-message.error, #workflow-status.error { color: var(--accent); }
.button:disabled { cursor: wait; opacity: .65; }

@media (max-width: 920px) { .archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .archive-toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .archive-toolbar > a { grid-column: 1 / -1; justify-self: start; }
  .workflow-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) { .archive-grid { grid-template-columns: minmax(0, 1fr); } }

.hero-art-head h2 { font: inherit; letter-spacing: inherit; }
.institute-workflow { margin: 0; padding: 5px 20px; list-style: none; }
.institute-workflow li { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 13px 0; }
.institute-workflow li + li { border-top: 1px solid var(--line); }
.institute-workflow li > span { font: 650 12px/1.5 var(--mono); color: var(--accent); }
.institute-workflow h3 { font-size: 16px; }
.institute-workflow p { margin: 3px 0; color: var(--muted); font-size: 14px; }
.institute-workflow a { margin-right: 14px; color: var(--ink); font-size: 13px; }
.research-areas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; list-style: none; margin: 0; padding: 16px 24px; font-size: 14px; }
.research-areas a, .archive-reset { color: var(--accent); }
.research-areas + .stream { border-top: 1px solid var(--line); }
.archive-reset { display: inline-block; margin-top: 10px; font-size: 14px; }
.archive-review-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-top: 13px; }
.archive-review-actions .button { min-height: 44px; padding: 8px 12px; }
.archive-review-state { color: var(--muted); font-size: 12px; }
.archive-review-state.error { color: var(--accent); }
.archive-snapshot { margin-bottom: 8px; }
.archive-snapshot ul { margin: 8px 0; padding-left: 18px; }
.archive-snapshot details { margin-top: 7px; }
.research-round { background: var(--stone-grain) repeat var(--soft); border-block: 1px solid var(--line); }
.research-round .archive-card { padding: 20px; }
.research-round .archive-links { display: grid; gap: 5px; }
#research-directory { margin-bottom: 26px; }
.inventory-filters { display: grid; grid-template-columns: minmax(0, 430px) minmax(180px, 250px); gap: 12px; }
.inventory-filters label { display: grid; gap: 4px; font-weight: 650; }
.inventory-filters input, .inventory-filters select {
  width: 100%; min-width: 0; min-height: 46px; border: 1px solid var(--control-edge); border-radius: 5px;
  padding: 8px 11px; background: var(--field); color: var(--ink); font: inherit; font-weight: 400;
}
.inventory-totals {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px;
  list-style: none; margin: 20px 0 10px; padding: 0;
}
.inventory-totals a {
  display: grid; gap: 4px; height: 100%; padding: clamp(10px, 2vw, 20px); border: 1px solid var(--line);
  border-radius: 7px; background: linear-gradient(145deg, var(--surface) 55%, var(--soft)); text-decoration: none;
}
.inventory-totals a:hover { border-color: #a86e75; }
.inventory-totals strong { color: var(--accent); font: 400 clamp(27px, 4.4vw, 47px)/1 var(--display); }
.inventory-totals span { font-weight: 650; text-decoration: underline; }
.inventory-note, .data-area-summary { color: var(--muted); }
.inventory-details { margin: 10px 0 22px; }
.inventory-details a, .data-area-summary a, .specialty-links a { color: var(--accent); }
.data-area-summary { margin-bottom: 10px; }
.specialty-links { display: flex; flex-wrap: wrap; gap: 0 10px; padding-inline: 6px; border-top: 1px solid var(--line); }
.specialty-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .85rem; }
@media (max-width: 560px) {
  .inventory-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-filters { grid-template-columns: minmax(0, 1fr); }
}
.area-group { border-top: 1px solid var(--line); }
.area-group:last-child { border-bottom: 1px solid var(--line); }
.area-group summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 4px; }
.area-group summary:hover { color: var(--accent); }
.area-group summary .status::after { content: " +"; }
.area-group[open] summary .status::after { content: " −"; }
.area-group ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr)); gap: 8px; list-style: none; padding: 0 0 14px; margin: 0; }
.area-group li { background: var(--surface); border: 1px solid var(--line); border-radius: 4px; padding: 8px 10px; }
.area-group li > a { color: var(--accent); font-size: 14px; }
.area-group li > small { display: block; color: var(--muted); font-size: 12px; }
.directory-note { display: flex; flex-wrap: wrap; gap: 4px 12px; color: var(--muted); margin-top: 12px; font-size: 13px; }
.clinical-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 6px 18px; padding: 0 18px 12px 35px; }
.clinical-links a { color: var(--accent); }
.archive-empty { display: flex; flex-wrap: wrap; gap: 8px 14px; padding: 12px 0; }
.archive-empty a { color: var(--accent); }
.study-details { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 8px; font-size: 13px; }
.study-details summary { color: var(--accent); font-weight: 650; }
.study-details summary::before { content: "+ "; }
.study-details[open] summary::before { content: "− "; }
.study-details dl { margin: 8px 0 0; }
.study-details dt { font-weight: 650; }
.study-details dt:not(:first-child) { margin-top: 7px; }
.study-details dd { margin: 0; color: var(--muted); }

.reading-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); align-items: start; gap: 20px; }
.reading-panel { border: 1px solid var(--line); border-radius: 9px; background: var(--surface); padding: clamp(16px, 3vw, 29px); }
.reading-panel h2 { font: 550 clamp(26px, 3vw, 35px)/1.2 var(--display); margin-bottom: 15px; }
.panel-heading { display: flex; align-items: center; gap: 10px; }
.reading-libraries li > a.library-alternate { font-size: .95rem; }
.reading-jumps, .reading-controls, .reading-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.reading-jumps { margin-bottom: 18px; }
.reading-jumps .button, .reading-controls button, .reading-actions .button { min-height: 48px; font-size: 1rem; text-align: center; }
.reading-controls button { padding: 8px 13px; border: 1px solid var(--control-edge); border-radius: 5px; background: var(--surface); color: var(--accent); font-weight: 650; }
.reading-controls button[aria-pressed="true"] { background: var(--deep); color: var(--white); border-color: var(--accent); }
.reading-controls button[aria-pressed="false"]:hover { background: var(--soft); }
.reading-status, .reading-note { color: var(--muted); font-size: .95rem; }
.reading-status { margin-block: 12px; }
.reading-note { margin-top: 14px; }
.reading-feed, .reading-libraries { list-style: none; margin: 0; padding: 0; }
.reading-feed li, .reading-libraries li { border-top: 1px solid var(--line); padding: 7px 0 11px; }
.reading-feed li > a, .reading-libraries li > a, .reading-actions > a, .reading-note > a {
  display: inline-flex; align-items: center; min-height: 44px; color: var(--accent); font-weight: 650; line-height: 1.35;
}
.reading-feed li > a, .reading-libraries li > a { font-size: 1.125rem; overflow-wrap: anywhere; }
.reading-feed li > p, .reading-libraries li > p { color: var(--muted); font-size: 1rem; line-height: 1.45; }
.reading-actions { margin-top: 9px; }
.publisher-layout { grid-template-columns: minmax(0, 2.15fr) minmax(245px, 1fr); }
.publisher-feed { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; }
.publisher-feed:empty { display: none; }
.publisher-feed + .publisher-feed:not(:empty) { margin-top: 14px; }
.publisher-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: linear-gradient(152deg, var(--surface) 40%, var(--soft));
  box-shadow: 0 12px 26px -19px #000, inset 0 1px #ffffff10;
}
.publisher-card:hover { border-color: #af7480; }
.publisher-card article { display: flex; flex-direction: column; height: 100%; }
.publisher-spotlight ~ .publisher-card:nth-child(even):last-child { grid-column: 1 / -1; }
.publisher-spotlight {
  grid-column: 1 / -1;
  border-color: var(--line);
  background: linear-gradient(145deg, var(--surface) 42%, var(--accent-soft));
  color: var(--ink);
  box-shadow: 0 12px 24px -21px #3f131b;
}
.publisher-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 8px; padding: 17px; }
.publisher-spotlight .publisher-copy { padding: clamp(17px, 3vw, 26px); }
.publisher-copy h3 { font: 500 clamp(1.25rem, 2.1vw, 1.65rem)/1.16 var(--display); overflow-wrap: anywhere; }
.publisher-spotlight .publisher-copy h3 { font-size: clamp(1.7rem, 3.1vw, 2.65rem); }
.publisher-label { width: fit-content; padding: 3px 8px; border: 1px solid #79505a; border-radius: 4px; color: var(--accent); background: var(--accent-soft); font-size: .8rem; font-weight: 750; line-height: 1.35; }
.publisher-spotlight .publisher-label { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.publisher-meta, .publisher-description { font-size: .95rem; color: var(--muted); line-height: 1.5; }
.publisher-spotlight .publisher-meta, .publisher-spotlight .publisher-description { color: var(--muted); }
.publisher-description { max-width: 60ch; }
.publisher-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 7px; }
.publisher-actions .button, .publisher-viewer .button { font-size: .95rem; }
.publisher-original { color: var(--accent); border-color: #d7b7bb; text-decoration: underline; }
.publisher-original:hover { background: var(--surface); }
.publisher-spotlight .publisher-original { border-color: var(--control-edge); color: var(--accent); }
.publisher-spotlight .publisher-original:hover { background: var(--accent-soft); }
.publisher-art { position: relative; overflow: hidden; background: var(--soft); }
.publisher-art img { width: 100%; height: clamp(110px, 17vw, 170px); object-fit: cover; object-position: center 38%; }
.publisher-art::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, var(--surface), transparent 38%); }
.publisher-spotlight .publisher-art img { height: clamp(130px, 22vw, 245px); object-position: center 27%; }
.publisher-spotlight .publisher-art::after { background: linear-gradient(0deg, var(--surface), transparent 38%); }
.publisher-art figcaption { position: absolute; z-index: 1; inset: auto 10px 8px auto; color: #fff; font-size: .8rem; }
.publisher-art figcaption a { display: inline-flex; align-items: center; min-height: 34px; padding: 3px 8px; border-radius: 4px; background: #241719; }
.publisher-viewer {
  width: min(1100px, calc(100% - 24px));
  max-width: none;
  max-height: calc(100dvh - 24px);
  padding: 0;
  border: 1px solid #a8646e;
  border-radius: 11px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 20px 70px #17060b88;
}
.publisher-viewer::backdrop { background: #181012c9; }
.publisher-viewer-head, .publisher-viewer-links { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 9px 16px; padding: 13px clamp(12px, 2.5vw, 24px); }
.publisher-viewer-head { position: sticky; z-index: 2; top: 0; align-items: start; border-top: 4px solid var(--deep); border-bottom: 1px solid var(--line); background: var(--surface); }
.publisher-viewer-head > div { flex: 1 1 230px; }
.publisher-viewer-head h2 { margin: 5px 0; font-size: clamp(1.35rem, 3.25vw, 2.25rem); letter-spacing: -.025em; line-height: 1.1; }
.publisher-viewer-links { justify-content: flex-start; background: var(--soft); }
.publisher-viewer-links p { font-size: .92rem; }
#publisher-frame { display: block; width: 100%; height: 67dvh; min-height: 280px; border: 0; background: var(--field); }
.publisher-preview { max-width: 780px; margin: auto; padding: clamp(14px, 3vw, 27px); }
.publisher-preview .publisher-art { margin-bottom: 14px; border-radius: 7px; }
.publisher-preview .publisher-art img { max-height: 42dvh; height: auto; object-fit: contain; }
.publisher-preview .publisher-art::after { content: none; }
.publisher-preview h3 { margin-top: 16px; }
.publisher-preview ul { margin-block: 5px 0; padding-left: 24px; }
.publisher-preview li a { display: inline-flex; align-items: center; min-height: 44px; color: var(--accent); }
@media (min-width: 560px) {
  .publisher-spotlight ~ .publisher-card:nth-child(even):last-child article:has(.publisher-art) {
    display: grid;
    grid-template-columns: minmax(180px, 2fr) minmax(0, 3fr);
  }
  .publisher-spotlight ~ .publisher-card:nth-child(even):last-child .publisher-art img { height: 100%; }
  .publisher-spotlight ~ .publisher-card:nth-child(even):last-child .publisher-art::after {
    background: linear-gradient(270deg, var(--surface), transparent 24%);
  }
}
.site-help { background: var(--stone-grain) repeat var(--soft); border-block: 1px solid var(--line); }
.help-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 215px), 1fr)); gap: 10px; }
.help-options a { display: grid; align-content: start; gap: 8px; padding: 18px; border-radius: 8px; border: 1px solid var(--line); background: var(--surface); text-decoration: none; }
.help-options a:hover { background: var(--raised); border-color: #b77d86; }
.help-options strong { font-size: 1.125rem; color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.help-options span { color: var(--muted); font-size: 1rem; line-height: 1.45; }
@media (max-width: 760px) {
  .reading-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .reading-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reading-controls button { padding-inline: 7px; font-size: .9rem; line-height: 1.25; }
  .reading-jumps .button { flex: 1 1 9rem; padding-inline: 9px; font-size: .93rem; }
  .publisher-feed { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) { .research-areas { grid-template-columns: 1fr; } }

.world-section { background: var(--stone-grain) repeat var(--soft); border-block: 1px solid var(--line); }
.world-picker { display: block; font-size: 1.1rem; font-weight: 700; margin-bottom: 6px; }
.world-select { display: block; width: 100%; min-height: 48px; border: 1px solid var(--control-edge); background: var(--field); color: var(--ink); font: inherit; border-radius: 5px; padding: 8px; }
.world-universities { margin: 0; padding: 0 18px 10px 35px; }
.world-universities a { display: inline-flex; min-height: 44px; align-items: center; color: var(--accent); }
.translation-label { font-weight: 650; }
.specialty-guides { margin-block: 0 22px; }
/* Forum navigation, discussions, and conversation. */
.forum-section { background: transparent; color: var(--ink); }
.forum-heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; margin-bottom: 12px; }
.forum-heading h1 { font-size: clamp(34px, 5vw, 60px); }
.forum-heading .eyebrow { margin-bottom: 10px; }
.forum-heading > p, .forum-section > .frame > .reading-status { color: var(--muted); }
.forum-section .forum-rules { background: var(--soft); color: var(--ink); border-color: var(--line); }
.forum-section .forum-rules p { color: var(--muted); }
.forum-section .forum-rules summary { min-height: 44px; }
.forum-layout { display: grid; grid-template-columns: minmax(195px, .27fr) minmax(0, 1fr); min-height: 460px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 24px 48px -30px #000; }
.forum-card { background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 8px; padding: clamp(14px, 2.5vw, 24px); }
#forum-profile { max-width: 580px; }
.forum-sidebar { display: flex; flex-direction: column; min-width: 0; padding: 15px 11px; background: var(--soft); }
.forum-sidebar h3 { margin: 0 8px 6px; font-size: 1.05rem; }
#forum-channels { display: grid; gap: 12px; max-height: min(62vh, 560px); overflow: auto; padding: 0 4px 4px; }
.forum-channel-group { display: grid; gap: 3px; }
.forum-channel-group h4 { margin: 8px 7px 2px; color: var(--muted); font-size: .8rem; font-weight: 750; }
.forum-channel { display: grid; grid-template-columns: 14px minmax(0, 1fr); align-items: center; gap: 7px; min-height: 44px; padding: 6px 7px; border: 1px solid transparent; border-radius: 5px; color: var(--ink); background: transparent; text-align: left; font-size: .92rem; line-height: 1.3; }
.forum-channel::before { content: "#"; color: var(--accent); font-weight: 800; }
.forum-channel:hover { background: var(--raised); }
.forum-channel[aria-pressed="true"] { background: var(--deep); border-color: var(--deep); color: var(--white); font-weight: 700; }
.forum-channel[aria-pressed="true"]::before { color: white; }
.forum-sidebar .secondary { color: var(--accent); border-color: var(--control-edge); }
.forum-sidebar .secondary:hover { background: var(--raised); }
.forum-channel-toggle { display: none; }
.forum-main { min-width: 0; color: var(--ink); background: var(--surface); }
.forum-top { display: flex; align-items: start; justify-content: space-between; flex-wrap: wrap; gap: 8px 14px; padding: 15px clamp(12px, 2vw, 22px); border-bottom: 1px solid var(--line); background: var(--surface); }
.forum-top h3 { font: 400 clamp(24px, 3vw, 32px)/1.18 var(--display); margin-bottom: 3px; overflow-wrap: anywhere; }
.forum-top h3::before { content: "# "; color: var(--accent); font-family: var(--sans); }
.forum-top p { color: var(--muted); font-size: .96rem; }
.forum-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 9px; }
.forum-top .forum-actions { margin: 0; }
.forum-layout .button, .forum-card .button, #world-retry { min-height: 44px; font-size: .95rem; }
.forum-panes { display: grid; grid-template-columns: minmax(210px, .55fr) minmax(0, 1fr); min-height: 360px; }
.forum-topics { min-width: 0; padding: 12px; border-right: 1px solid var(--line); background: var(--soft); }
.forum-topics > h4 { margin: 0 0 7px; }
#forum-topic-list { display: grid; gap: 7px; max-height: min(62vh, 540px); overflow: auto; padding: 4px; }
.forum-conversation { display: flex; flex-direction: column; min-width: 0; padding: clamp(12px, 2vw, 20px); }
.forum-welcome { display: grid; place-items: center; align-content: center; min-height: 220px; gap: 10px; margin: auto 0; padding: 14px; text-align: center; }
.forum-welcome h4 { margin: 0; font: 400 clamp(21px, 3vw, 31px)/1.2 var(--display); }
.forum-empty { color: var(--muted); font-size: .92rem; }
.forum-post { padding: 12px 0; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.forum-topic { border: 1px solid var(--line); border-radius: 7px; background: var(--surface); padding: 9px 10px; }
.forum-topic:has(button[aria-pressed="true"]) { border-color: #af495a; box-shadow: inset 3px 0 var(--accent); background: var(--accent-soft); }
.forum-timeline-entry:first-child { border-top: 0; }
#forum-posts { max-height: min(52vh, 510px); overflow: auto; overscroll-behavior: contain; padding-inline: 5px; }
.forum-post h4, .forum-compose h4, .forum-replies-title { font-size: 1.125rem; margin: 0 0 4px; }
.forum-replies-title { padding-block: 9px; }
.forum-topic-title { display: inline-flex; min-height: 44px; align-items: center; padding: 0; background: transparent; border: 0; color: var(--accent); font-size: 1.04rem; font-weight: 700; text-decoration: underline; text-align: left; line-height: 1.3; }
.forum-meta { font-size: .86rem; color: var(--muted); margin-block: 3px; }
.forum-message { white-space: pre-wrap; margin-block: 6px; }
.forum-topic .forum-message { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .92rem; }
.forum-byline { display: flex; align-items: center; gap: 8px; }
.forum-avatar { display: grid; flex: 0 0 32px; min-height: 32px; place-items: center; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-weight: 750; font-size: .75rem; }
.forum-report summary { display: inline-flex; min-height: 44px; align-items: center; color: var(--accent); text-decoration: underline; }
.forum-report .workflow-form { max-width: 370px; }
.forum-compose { margin-top: 12px; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.forum-compose textarea { min-height: 72px; }
#forum-more { align-self: start; margin-top: 8px; }
.forum-layout[data-view="guest"] .forum-panes { grid-template-columns: minmax(0, 1fr); }
.forum-layout[data-view="guest"] .forum-topics { display: none; }
@media (max-width: 920px) {
  .forum-panes { grid-template-columns: minmax(0, 1fr); min-height: 210px; }
  .forum-topics { border-right: 0; }
  .forum-layout[data-view="channel"] .forum-conversation { display: none; }
  .forum-layout[data-view="thread"] .forum-topics, .forum-layout[data-view="compose"] .forum-topics { display: none; }
}
@media (max-width: 640px) {
  .forum-layout { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .forum-channel-toggle { display: inline-flex; justify-content: start; width: 100%; color: var(--ink); background: var(--soft); border: 0; border-radius: 0; }
  .forum-channel-toggle:hover { background: var(--raised); }
  .forum-channel-toggle::after { content: "+"; margin-left: auto; font-size: 1.15rem; }
  .forum-channel-toggle[aria-expanded="true"]::after { content: "−"; }
  .forum-layout:not(.channels-open) .forum-sidebar { display: none; }
  #forum-channels { max-height: 48vh; }
  .forum-panes { min-height: 160px; }
  .forum-welcome { min-height: 160px; }
  #forum-posts { max-height: 48vh; }
}

.medical-library { background: var(--stone-grain) repeat var(--soft); border-block: 1px solid var(--line); }
.library-entry { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 360px); gap: 15px; align-items: start; margin-bottom: 15px; }
.library-overview, .library-link-row, .library-institution { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 16px; }
.library-overview { justify-content: space-between; margin-top: 10px; }
.library-overview p { font-size: .95rem; color: var(--muted); }
.library-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.library-search label, .library-institution label { display: grid; gap: 4px; min-width: 0; font-weight: 650; }
.library-search select, .library-search input:not([type=checkbox]), .library-institution select { width: 100%; min-height: 45px; padding: 7px 9px; border: 1px solid var(--control-edge); border-radius: 5px; background: var(--field); color: var(--ink); font: inherit; }
.library-search .library-checkbox { display: flex; align-items: center; min-height: 44px; gap: 7px; }
.library-search button { justify-self: start; }
.library-search-options { grid-column: 1 / -1; border-top: 1px solid var(--line); }
.library-search-options summary { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 44px; color: var(--accent); font-weight: 700; }
.library-filter-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.library-institution { margin-top: 14px; justify-content: space-between; align-items: end; }
.library-institution label { flex: 0 1 450px; }
.library-link-row a, .library-institution a, .area-group .area-library-link { color: var(--accent); }
.library-link-row a { display: inline-flex; align-items: center; min-height: 40px; font-weight: 650; }
.area-group .area-library-link { display: inline-block; margin-top: 4px; font-size: .8rem; }
.library-card { min-width: 0; }
#library-more { margin-top: 14px; }
.research-table { overflow-x: auto; max-width: 100%; }
.research-table table { border-collapse: collapse; width: 100%; min-width: 365px; background: var(--surface); }
.research-table th, .research-table td { padding: 8px 10px; border: 1px solid var(--line); text-align: left; }
.research-table thead th { background: var(--soft); }
.data-sources-heading { margin: 30px 0 12px; font-size: 1.35rem; }
@media (max-width: 760px) {
  .library-entry { grid-template-columns: minmax(0, 1fr); }
  .library-entry .editorial-photo-image { aspect-ratio: 16 / 6; }
}
@media (max-width: 485px) {
  .library-search, .library-filter-fields { grid-template-columns: minmax(0, 1fr); }
  .library-search button { justify-self: stretch; }
}
.research-table caption { padding: 8px 0; text-align: left; font-weight: 700; }
.research-table .data-detail { margin-block: 7px; }
.research-table .data-detail[open] { overflow-x: auto; }
.data-search { display: grid; gap: 5px; max-width: 460px; font-weight: 650; }
.data-search input { width: 100%; min-height: 45px; padding: 8px 10px; border: 1px solid var(--control-edge); border-radius: 5px; background: var(--field); color: var(--ink); font: inherit; }


/* Separate destinations and shared navigation. */
.breadcrumb-shell { background: var(--paper); border-bottom: 1px solid var(--line); }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 0 9px; margin-block: 0; padding: 0; list-style: none; color: var(--muted); font-size: .89rem; }
.breadcrumbs li { display: inline-flex; align-items: center; gap: 9px; }
.breadcrumbs li + li::before { content: "/"; color: var(--muted); }
.breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; color: var(--accent); }
.breadcrumbs [aria-current] { padding-block: 7px; font-weight: 650; }
.page-inner main > .section { padding-block: clamp(25px, 5vw, 63px); }
.page-inner .section-intro h1 { font-size: clamp(36px, 6vw, 67px); }
.page-inner .section-intro .eyebrow { margin-bottom: 11px; }
.header nav [aria-current] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 7px; }
.home-directory { padding-block: clamp(27px, 5vw, 65px); }
.home-destinations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.home-destinations a { display: grid; align-content: start; gap: 8px; padding: 17px; min-height: 126px; border: 1px solid var(--line); border-radius: 9px; background: linear-gradient(145deg, var(--surface) 55%, var(--soft)); text-decoration: none; }
.home-destinations a:hover { border-color: #ae7880; }
.home-destinations strong { color: var(--accent); font-size: 1.13rem; text-decoration: underline; }
.home-destinations span { color: var(--muted); line-height: 1.4; }
.hero-workflow[open] summary > span:last-child { font-size: 0; }
.hero-workflow[open] summary > span:last-child::after { content: "−"; font-size: 1rem; }
.hero-workflow summary { min-height: 44px; }
.library-nav, .library-quick { margin-bottom: 14px; }
.library-collection { margin: 18px 0 12px; font-size: clamp(1.55rem, 3vw, 2.2rem); letter-spacing: -.025em; }
.specialty-group li > a { display: grid; align-content: center; gap: 3px; min-height: 48px; padding: 6px; }
.specialty-group li > a small { color: var(--muted); text-decoration: none; }
#archive-more { margin-top: 14px; }
.single-workflow { grid-template-columns: minmax(0, 760px); }
.page-review .panel { max-width: 860px; }
.home-project {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
  gap: 14px; padding: clamp(16px, 2.5vw, 28px); border: 1px solid var(--line); border-radius: 9px;
  background: linear-gradient(115deg, var(--accent-soft), var(--surface) 70%);
}
.home-project h2 { font-size: clamp(23px, 3vw, 34px); letter-spacing: -.035em; line-height: 1.1; }
.home-project p { margin-top: 5px; color: var(--muted); }
.home-project .button { min-height: 48px; font-size: .95rem; }
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.project-card {
  min-width: 0; display: grid; grid-template-rows: auto auto auto 1fr auto; justify-items: start; gap: 12px;
  padding: clamp(16px, 3vw, 28px); border: 1px solid var(--line); border-radius: 9px; background: var(--surface);
}
.project-card:first-child { border-top: 3px solid var(--accent); }
.project-card h2, .project-section h2 { font-size: clamp(27px, 4vw, 41px); letter-spacing: -.035em; line-height: 1.11; }
.project-card h2 a { text-decoration-thickness: 1px; }
.project-card > p, .project-lede p, .project-section > p { color: var(--muted); }
.project-card-meta, .project-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 18px; }
.project-card .status, .project-lede .status { font-size: .77rem; }
.project-meta { margin: 0; align-items: start; }
.project-meta dt { color: var(--muted); font-size: .85rem; }
.project-meta dd { margin: 0; font-weight: 650; }
.project-lede p { margin-top: 8px; }
.project-callout { padding: clamp(16px, 2.7vw, 27px); border-left: 4px solid var(--accent); border-radius: 5px; background: var(--soft); }
.project-callout strong { display: block; }
.project-callout p + p, .project-section p + p { margin-top: 10px; }
.project-callout a, .project-evidence a { color: var(--accent); }
.project-section { margin-top: clamp(25px, 5vw, 48px); }
.project-section h2 { margin-bottom: 12px; }
.project-section > p { max-width: 78ch; }
.project-evidence {
  width: 100%; margin-block: 14px; border-collapse: collapse; table-layout: fixed; line-height: 1.45;
  background: var(--surface);
}
.project-evidence th, .project-evidence td {
  padding: clamp(6px, 1.6vw, 14px); border: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: anywhere;
}
.project-evidence th:first-child { width: 25%; }
.project-evidence thead th, .project-evidence tbody th { background: var(--soft); }
.project-evidence small { display: block; color: var(--muted); font-size: .92em; }
.project-evidence td a { display: flex; align-items: center; min-height: 44px; width: fit-content; }
@media (max-width: 650px) {
  .home-project { grid-template-columns: auto minmax(0, 1fr); }
  .home-project .button { grid-column: 1 / -1; justify-self: start; }
  .project-grid { grid-template-columns: minmax(0, 1fr); }
  .project-evidence { font-size: .9rem; }
}
.method-resource-link { margin-top: 14px; }
.catalog-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-block: 12px;
}
.catalog-tile {
  min-width: 0; padding: clamp(14px, 2.6vw, 23px); border: 1px solid var(--line);
  border-radius: 8px; background: var(--surface); overflow-wrap: anywhere;
}
.catalog-tile h2 { font-size: clamp(24px, 3.4vw, 34px); line-height: 1.12; }
.catalog-tile p { margin-top: 7px; color: var(--muted); }
.catalog-tile a, .catalog-figures a, .catalog-codes a, .catalog-system a { color: var(--accent); }
.catalog-tile a { display: flex; align-items: center; min-height: 44px; width: fit-content; }
.giving-section-title { font-size: clamp(27px, 4vw, 41px); letter-spacing: -.035em; line-height: 1.11; }
.catalog-tile dt, .account-panel dt { font-weight: 700; }
.catalog-tile dd, .account-panel dd { margin: 0 0 7px; }
.catalog-tile ul { padding-left: 20px; }
.catalog-figures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-block: 16px; }
.catalog-figures figure { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--surface); }
.catalog-figures img { width: 100%; height: clamp(165px, 32vw, 310px); object-fit: contain; background: #eee7dd; }
.catalog-figures figcaption { padding: 10px 13px; color: var(--muted); font-size: .9rem; }
.catalog-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 0; list-style: none; }
.catalog-codes li { display: flex; align-items: center; gap: 10px; padding: 0 10px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface); }
.catalog-codes strong { flex: 0 0 3rem; color: var(--accent); font-family: var(--mono); }
.catalog-codes a { display: inline-flex; align-items: center; min-height: 44px; }
.catalog-system summary { min-height: 48px; }
.catalog-select { display: grid; gap: 5px; width: min(100%, 440px); font-weight: 650; }
.catalog-select select, .ada-form input {
  width: 100%; min-width: 0; min-height: 46px; padding: 8px 10px; border: 1px solid var(--control-edge);
  border-radius: 5px; color: var(--ink); background: var(--field); font: inherit;
}
.ada-assistant { margin: 10px 0 15px; border-color: var(--line); color: var(--ink); }
.ada-assistant summary { min-height: 48px; color: var(--accent); }
.ada-assistant summary:hover, .ada-assistant summary:focus-visible { background: var(--raised); }
.ada-assistant p { color: var(--muted); }
.ada-form { display: grid; gap: 7px; padding-inline: 13px; }
.ada-form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; max-width: 720px; }
.ada-form input { font-size: 1rem; }
.ada-form button { font-size: .92rem; }
.ada-assistant ul { margin-top: 0; padding-bottom: 8px; }
.ada-assistant a { display: inline-flex; align-items: center; min-height: 44px; color: var(--accent); }
.account-panel { max-width: 720px; overflow-wrap: anywhere; }
#account-signin-note { margin: -6px 0 20px; }
.account-panel + .account-panel { margin-top: 18px; }
.account-panel h2 { font-size: clamp(26px, 4vw, 36px); letter-spacing: -.035em; }
.account-panel .reading-jumps { margin: 12px 0 0; }
.personal-reading-list { list-style: none; padding: 0; margin: 12px 0 0; }
.personal-reading-list li { display: flex; justify-content: space-between; align-items: center; gap: 8px 16px; border-top: 1px solid var(--line); padding-block: 10px; }
.personal-reading-list small { display: block; color: var(--muted); }
.personal-reading-list a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 650; text-decoration-color: var(--accent); }
.personal-reading-list button { flex: none; }
.reading-save { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; margin-top: 9px; }
.reading-save a { color: var(--accent); font-size: .88rem; }
.library-search .reading-save { grid-column: 1 / -1; margin-top: 0; }
@media (max-width: 420px) {
  .header-actions { display: grid; justify-items: end; }
  .header-account { font-size: .78rem; }
  .header-actions a { min-height: 44px; }
}
@media (max-width: 760px) { .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 510px) {
  .catalog-grid, .catalog-codes, .catalog-figures, .ada-form > div { grid-template-columns: minmax(0, 1fr); }
}
.study-brief {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
  gap: 20px; padding: clamp(18px, 3.2vw, 34px); border-radius: 9px;
  background: var(--stone-grain) repeat var(--soft); color: var(--ink);
}
.study-brief h2, .resource-directory h2 {
  font-size: clamp(27px, 4vw, 40px); letter-spacing: -.035em; line-height: 1.13;
}
.study-brief p { margin-top: 9px; max-width: 58ch; color: var(--muted); }
.study-brief-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.study-brief-actions a { min-height: 48px; font-size: .95rem; text-align: center; }
.study-brief-actions a:focus-visible { outline-color: var(--accent); }
.study-submit { color: var(--accent); border-color: var(--control-edge); }
.study-submit:hover { background: var(--raised); }
.resource-directory { margin-top: clamp(28px, 5vw, 54px); }
.resource-directory h2 { margin-bottom: 15px; }
.resource-group {
  margin-bottom: 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface);
}
.resource-group summary {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 14px clamp(13px, 2.2vw, 22px); border-radius: 7px;
}
.resource-group summary:hover, .resource-group[open] summary { background: var(--soft); }
.resource-group[open] summary { border-radius: 7px 7px 0 0; }
.resource-group summary strong, .resource-group summary small { display: block; }
.resource-group summary strong { font-size: 1.12rem; line-height: 1.3; }
.resource-group summary small { margin-top: 3px; font-size: .93rem; color: var(--muted); }
.resource-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none;
  margin: 0; padding: 0; gap: 1px; border-top: 1px solid var(--line); background: var(--line);
}
.resource-grid li { min-width: 0; padding: 12px clamp(13px, 2.2vw, 22px); background: var(--surface); }
.resource-grid li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.resource-grid li > a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; color: var(--accent); }
.resource-grid p { color: var(--muted); line-height: 1.45; }
.resource-grid p a { display: inline-block; padding-block: 4px; color: var(--accent); }
@media (max-width: 820px) { .study-brief { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
  .study-brief-actions a { flex: 1 1 9rem; }
  .resource-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .home-destinations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 460px) {
  .home-destinations { grid-template-columns: minmax(0, 1fr); }
  .home-destinations a { min-height: auto; }
}

/* Library entry, reading shelves, and source directory. */
.library-section { margin-block: 30px; }
.library-section h2 { font: 600 clamp(23px, 3vw, 33px)/1.2 var(--display); }
.library-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 8px 24px; margin-bottom: 12px; }
.library-section-heading p { margin-top: 4px; color: var(--muted); }
.library-section-heading > a, .shelf-all a, .library-tools a, .region-cards a { color: var(--accent); font-weight: 650; }
.library-section-heading > a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
.library-tiles, .library-featured, .library-source-links, .source-grid, .region-cards {
  display: grid; gap: 10px; list-style: none; margin: 0; padding: 0;
}
.library-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; }
.library-tiles a {
  display: flex; flex-direction: column; justify-content: center; gap: 3px; min-height: 96px; height: 100%; padding: 13px 15px;
  border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 7px;
  background: linear-gradient(135deg, var(--surface) 60%, var(--soft)); text-decoration: none;
}
.library-tiles a:hover, .library-tiles a:focus-visible { border-color: var(--accent); }
.library-tiles strong { color: var(--accent); line-height: 1.35; }
.library-tiles span { color: var(--muted); font-size: .94rem; line-height: 1.45; }
.library-subjects { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.library-subjects a { display: inline-flex; align-items: center; min-height: 44px; padding: 5px 12px; border: 1px solid var(--control-edge); border-radius: 6px; background: var(--surface); color: var(--ink); text-decoration-color: var(--accent); font-size: .95rem; font-weight: 600; }
.library-subjects a:hover { color: var(--accent); border-color: var(--accent); }
.library-featured, .library-source-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.library-featured > li, .source-card, .region-cards > li {
  min-width: 0; border: 1px solid var(--line); border-radius: 7px; padding: 13px 15px; background: var(--surface);
  overflow-wrap: anywhere;
}
.library-featured h3, .region-cards h3 { font-size: .95rem; line-height: 1.4; color: var(--accent); }
.library-featured h3 a { text-decoration: none; }
.library-featured h3 a:hover { text-decoration: underline; }
.shelf-records { list-style: none; margin: 0; padding: 0; }
.shelf-records li { padding: 9px 0; }
.shelf-records li + li { border-top: 1px solid var(--line); }
.shelf-records a { font-weight: 650; line-height: 1.5; }
.shelf-records p { margin-top: 4px; color: var(--muted); font-size: .88rem; line-height: 1.45; }
.library-partners { padding: clamp(14px, 3vw, 24px); background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.library-source-links { gap: 0 14px; }
.library-source-links a, .library-tools a { display: inline-flex; align-items: center; min-height: 44px; }
.library-source-links a { font-weight: 650; }
.library-tools { display: flex; flex-wrap: wrap; gap: 0 18px; margin-top: 7px; border-top: 1px solid var(--line); }
.trial-search { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 14px; }
.trial-search > label { display: grid; gap: 4px; min-width: 0; font-weight: 650; }
.trial-search > label:first-child { flex: 2 1 17rem; }
.trial-search > label:nth-child(2) { flex: 1 1 12rem; }
.trial-search :is(input[type="search"], select) {
  width: 100%; min-width: 0; min-height: 46px; padding: 8px 10px;
  border: 1px solid var(--control-edge); border-radius: 5px; color: var(--ink); background: var(--field); font: inherit;
}
.trial-search > .trial-results-option { display: flex; align-items: center; gap: 7px; min-height: 46px; }
.trial-results-option input { flex: none; inline-size: 1rem; block-size: 1rem; accent-color: var(--deep); }
.trial-search > button { font-size: 1rem; }
.trial-destinations { margin-top: 14px; }
.trial-details { display: grid; gap: 7px; margin: 12px 0 0; font-size: .94rem; }
.trial-details dt { font-weight: 650; }
.trial-details dd { margin: 0; color: var(--muted); }
.trial-record-actions { display: flex; flex-wrap: wrap; gap: 0 13px; margin-top: 9px; }
.trial-record-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--accent); font-weight: 650; }
#trial-records { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
#trial-more { margin-top: 14px; }
@media (max-width: 540px) {
  .trial-search { flex-direction: column; align-items: stretch; }
  .trial-search > label:first-child, .trial-search > label:nth-child(2) { flex: initial; }
}
.library-collection { scroll-margin-top: 35px; }
.source-filter { display: grid; gap: 5px; width: min(100%, 550px); margin: 14px 0; font-weight: 650; }
.source-filter input { width: 100%; min-height: 45px; padding: 8px 10px; border: 1px solid var(--control-edge); border-radius: 5px; background: var(--surface); color: var(--ink); }
.source-filter .reading-status { margin: 0; }
.source-group { border-bottom: 1px solid var(--line); margin-top: 4px; }
.source-group summary {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 58px;
  padding: 8px 9px; font-size: 1.02rem;
}
.source-group summary:hover { color: var(--accent); }
.source-group summary small { display: block; margin-top: 1px; color: var(--muted); font-weight: 400; }
.source-group .source-grid, .source-group .shelf-records { padding: 4px 8px 12px; }
.source-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; }
.source-card { display: flex; flex-direction: column; gap: 4px; }
.source-card h3 { font-size: 1.05rem; line-height: 1.38; }
.source-card p { color: var(--muted); font-size: .93rem; line-height: 1.48; }
.source-card .source-meta { color: var(--accent); font-size: .85rem; font-weight: 700; }
.source-card .source-org { font-weight: 600; }
.source-link { align-self: start; display: inline-flex; gap: 6px; align-items: center; min-height: 44px; margin-top: auto; color: var(--accent); font-weight: 650; }
.shelf-all { padding: 0 8px 12px; }
.region-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.region-cards p { display: grid; margin-top: 5px; }
.region-cards p a { display: flex; align-items: center; min-height: 40px; font-size: .92rem; color: var(--ink); }
.home-publisher-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.home-publisher-category { min-width: 0; padding: clamp(14px, 2.4vw, 24px); border: 1px solid var(--line); border-top: 3px solid var(--deep); border-radius: 10px; background: var(--surface); }
.home-publisher-category h3 { font: 550 clamp(23px, 2.5vw, 30px)/1.15 var(--display); }
.home-publisher-category h3 a { text-decoration: none; }
.home-publisher-category h3 a:hover { color: var(--accent); text-decoration: underline; }
.home-publisher-category .publisher-art { margin-top: 12px; border-radius: 6px; }
.home-publisher-category .publisher-art img { height: clamp(110px, 15vw, 164px); }
.home-publisher-items { margin: 10px 0 0; padding: 0; list-style: none; }
.home-publisher-items > li { padding: 5px 0 9px; border-bottom: 1px solid var(--line); }
.home-publisher-items h4 { margin: 0; font-size: 1rem; line-height: 1.4; }
.home-publisher-items h4 a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 5px; color: var(--ink); text-decoration-color: var(--accent); }
.home-publisher-items h4 a:hover { color: var(--accent); }
.home-publisher-items p { color: var(--muted); font-size: .875rem; line-height: 1.45; }
.home-live-publisher { margin-top: 8px; border-top: 1px solid var(--line); }
.home-live-publisher summary { display: flex; justify-content: space-between; align-items: center; gap: 7px; min-height: 44px; padding-block: 5px; color: var(--accent); font-size: .9rem; font-weight: 650; }
.home-live-publisher > a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); }
.home-live-publisher iframe { display: block; width: 100%; height: min(62vh, 560px); border: 1px solid var(--line); background: var(--field); }
@media (max-width: 900px) {
  .library-tiles, .source-grid, .region-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 570px) {
  .library-section { margin-block: 24px; }
  .library-section-heading { display: block; }
  .library-tiles, .library-featured, .library-source-links, .source-grid, .region-cards, .home-publisher-grid { grid-template-columns: minmax(0, 1fr); }
  .library-tiles a { min-height: 70px; }
  .source-card { padding: 12px; }
}

.funding-hero { padding-block: clamp(35px, 6vw, 72px); color: var(--ink); background: var(--stone-grain) repeat var(--soft); border-bottom: 1px solid var(--rule); }
.funding-hero h1 { max-width: 800px; }
.funding-hero .eyebrow { color: var(--accent); }
.funding-hero p:not(.eyebrow) { max-width: 650px; margin-top: 16px; color: var(--muted); }
.funding-hero .reading-jumps { margin: 22px 0 0; }
.funding-hero .button.secondary { color: var(--accent); background: var(--surface); border-color: var(--control-edge); }
.funding-hero .button.secondary:hover { background: var(--raised); }
.funding-section { margin-top: clamp(28px, 5vw, 50px); padding-top: clamp(20px, 3vw, 32px); border-top: 1px solid var(--line); }
.funding-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0 0; padding: 0; }
.funding-card { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.funding-card p { flex: 1; }
.funding-card > .button { margin-top: 4px; text-align: center; }
.funding-project { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; padding: 16px; background: var(--soft); border: 1px solid var(--line); border-radius: 8px; }
.funding-project p { max-width: 720px; }
.funding-opportunities { margin-top: 18px; }
.funding-grants .source-card { border-top: 2px solid var(--accent); }
.funding-inquiry > p { max-width: 720px; margin-block: 9px; }
.funding-form { max-width: 730px; margin-top: 14px; }
.funding-form .consent, .funding-form .form-message { grid-column: 1 / -1; }
.funding-inbox { list-style: none; }
.funding-inbox-actions { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: end; margin-top: 8px; }
.funding-inbox-actions label { display: grid; gap: 4px; }
.funding-inbox-actions select { min-height: 44px; padding: 6px; font: inherit; }
.funding-inquiry-brief { overflow-wrap: anywhere; white-space: pre-wrap; }
@media (max-width: 600px) {
  .funding-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Shared visual treatment and mobile navigation. */
input::placeholder, textarea::placeholder { color: var(--muted); opacity: .85; }
input[type="checkbox"] { accent-color: var(--accent); }
.header nav [aria-current] { text-decoration-color: var(--accent); }
.header-cta::before { content: ""; width: 6px; height: 6px; border-radius: 50%; margin-right: 7px; background: var(--accent); }
.hero h1::after { content: ""; display: block; width: 44px; height: 3px; margin-top: 18px; background: var(--accent); }
.home-project { margin-top: clamp(14px, 2.5vw, 30px); }
.home-project, .home-destinations a, .publisher-card, .panel, .archive-card, .library-tiles a, .library-search { border-radius: 12px; }
.home-destinations a:hover, .library-tiles a:hover, .archive-card:focus-within { border-color: var(--accent); }
.eyebrow i { background: var(--accent); }
.page-inner .section-intro h1, .hero h1 { letter-spacing: -.045em; line-height: 1.04; }
.reading-controls button, .secondary, .primary { border-radius: 8px; }
.primary { border-color: var(--deep); }
.publisher-viewer { color: var(--ink); }
.publisher-original { border-color: var(--control-edge); }
.publisher-original:hover { background: var(--raised); }
.source-card, .forum-card, .queue-entry { border-radius: 10px; }
.forum-channel { border-radius: 7px; }
.ada-assistant { background: var(--soft); }
.mobile-nav { display: none; }

@media (max-width: 840px) {
  html { scroll-padding-top: 112px; }
  .header nav {
    display: flex;
    justify-content: space-between;
    gap: 3px;
    margin-inline: -4px;
    padding-inline: 4px;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--control-edge) transparent;
  }
  .header nav a { padding-inline: 5px; font-size: .84rem; }
  .header nav { border-top: 1px solid var(--line); }
  .header nav a:focus-visible { outline-offset: -2px; }
}

@media (max-width: 760px) {
  html { scroll-padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  body { padding-bottom: calc(58px + env(safe-area-inset-bottom)); }
  .hero-grid { gap: 19px; }
  .hero { padding-block: 28px; }
  .hero .eyebrow { margin-bottom: 12px; }
  .hero h1 { font-size: clamp(36px, 9.6vw, 60px); max-width: 17ch; }
  .hero h1::after { margin-top: 14px; }
  .hero-image { aspect-ratio: 2.15; }
  .hero-art { margin-top: 0; }
  .mobile-nav {
    position: fixed;
    z-index: 6;
    inset: auto 0 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    padding: 5px max(8px, env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    border-top: 1px solid var(--rule);
    background: var(--chrome);
    color: var(--ink);
  }
  .mobile-nav a {
    display: grid;
    place-items: center;
    min-height: 46px;
    padding: 3px;
    border-radius: 7px;
    font-size: .86rem;
    font-weight: 650;
    text-decoration: none;
  }
  .mobile-nav a[aria-current] { background: var(--accent-soft); color: var(--accent); }
  .mobile-nav a:hover { background: var(--raised); color: var(--ink); }
  .mobile-nav a:focus-visible { outline-offset: -2px; }
}

@media (max-width: 350px) {
  .hero-actions { grid-template-columns: minmax(0, 1fr); }
}

/* The reading palette changes the site chrome and text surfaces. Images and embeds keep their own rendering. */
:root[data-reading-theme="stone"] {
  color-scheme: light;
  --ink: #222120;
  --muted: #423e3a;
  --accent: #761a26;
  --accent-soft: #ebd9d8;
  --deep: #81202b;
  --deep-hover: #641822;
  --rule: #272523;
  --control-edge: #605a55;
  --chrome: #e4e0db;
  --success: #23553a;
}
:root[data-reading-theme="stone"] .reading-page {
  --stone-grain: linear-gradient(#dedad5e6, #dedad5e6), url("/assets/reading-room-sandstone.webp?v=29");
  --paper: #dedad5;
  --surface: #eeeae5;
  --soft: #e3ded8;
  --raised: #d8d2cc;
  --field: #f1ede8;
  --line: #69635e;
}
[data-reading-theme="stone"] .reading-page .status:not(.planned, .frontier) { background: #d8e6db; }
:root:not([data-reading-theme="stone"]) .reading-page { --muted: #d1ccc8; }
:root[data-reading-text-size] { font-size: 112.5%; }
:root[data-reading-text-size="large"] { font-size: 125%; }
:root[data-reading-text-size="extra-large"] { font-size: 150%; }
.reading-page { font-size: 1rem; line-height: 1.5; }
.reading-page main { overflow-wrap: anywhere; }
.reading-page .header-account { font-size: 14px; }
.reading-page :is(.feature-description, .reading-note, .coverage p, .project-section > p) { max-width: 70ch; }
.reading-page :is(.publisher-description, .reading-feed li > p, .reading-libraries li > p, .archive-card > p:not(.type), .coverage p) {
  font-size: 1rem;
  line-height: 1.5;
}
.reading-page :is(.archive-links, .archive-review-state, .archive-toolbar label, .library-overview p, .library-tiles span) { font-size: .9rem; }
.reading-page :is(.archive-toolbar input, .archive-toolbar select, .library-search button) { font-size: 1rem; }
.reading-page .archive-card h3 { font-size: 1.25rem; }
.reading-page .archive-card :is(.type, .status) { font-size: .75rem; }
.reading-page :is(.archive-card, .research-table, .project-meta, .project-evidence) {
  font-variant-numeric: lining-nums tabular-nums;
}
.reading-preferences {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 9px 16px;
  margin-top: 16px;
  padding: 11px 15px;
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--accent);
  border-radius: 8px;
  background: var(--surface);
}
.reading-preferences p { align-self: center; margin-inline-end: 6px; font-weight: 700; }
.reading-preferences label { display: grid; gap: 3px; min-width: 0; font-size: .9rem; font-weight: 600; }
.reading-preferences select {
  width: 100%;
  min-height: 44px;
  padding: 5px 8px;
  border: 1px solid var(--control-edge);
  border-radius: 5px;
  color: var(--ink);
  background: var(--field);
  font: 1rem var(--sans);
}
[data-reading-text-size="extra-large"] .publisher-layout { grid-template-columns: minmax(0, 1fr); }
[data-reading-text-size="extra-large"] .archive-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
@media (max-width: 760px) {
  .reading-page .header nav { justify-content: start; }
  .reading-page .header nav a { padding-inline: 7px; font-size: 14px; }
  .reading-page .header-cta { font-size: 13px; }
}
@media (max-width: 760px) and (max-height: 400px) {
  html[data-reading-text-size] { scroll-padding-top: 8px; }
  .reading-page .header { position: static; }
}
@media (max-width: 540px) {
  .reading-page .library-search, .reading-page .library-filter-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .reading-preferences { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reading-preferences p { grid-column: 1 / -1; }
  [data-reading-text-size="extra-large"] .reading-preferences { grid-template-columns: minmax(0, 1fr); }
}
