/* Shared reading and interaction sizes. Display headings keep each page's scale. */
html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { font-size: 1rem; }
body :is(button, input, select, textarea) { font-size: 1rem; }
body :is(button, select, input:not([type=checkbox]):not([type=radio])) { min-height: 44px; }
body :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #ef8b7b;
  outline-offset: 4px;
}
body :is(.solid-link, .underlink, .arrow-link, .archive-link, .study-links .underlink,
  .nav-links > a, .menu-toggle, .art-controls button, .hero-rule > a,
  .proof-strip > a, .contact-bottom > div > a, footer > a,
  .wb-project-direct, .wb-detail-links > a, .wb-preview-toolbar > a,
  .wb-tool-grid a, .wb-research-more, .wb-background a,
  .rs-back, .back, .back-link, .source-links > a, .source-link, .action, .btn) {
  font-size: 1rem;
  line-height: 1.5;
  min-height: 44px;
}
body :is(.underlink, .archive-link, .proof-strip > a, .contact-bottom > div > a,
  footer > a, .source-links > a, .wb-detail-links > a, .wb-project-direct) {
  display: inline-flex;
  align-items: center;
  padding-block: 8px;
}
body :is(.signature, .signature small, .kicker, .hero-meta, .hero-rule,
  .study-meta, .study-number > span, .finding-line > span, .proof-strip > span,
  .proof-strip > small, .tool-index, .tool-tech, .note-number,
  .credentials > span, .contact-top > span, footer, .wb-eyebrow,
  .wb-brand > span, .wb-brand small, .wb-project small, .wb-project-number,
  .wb-studio-status, .wb-search-wrap label, .wb-inspect-notes dt,
  .wb-tags > span, .wb-tool-index, .wb-reading-links span) {
  font-size: .75rem;
  line-height: 1.6;
}
body :is(.hero-statement > p, .section-intro > div > p,
  .study-copy > p:not(.study-meta), .tool-description, .notes-grid p,
  .workbench-gateway small, .about-copy > p:not(.kicker), .credentials > p,
  .wb-intro-copy, .wb-project-detail > p:not(.wb-eyebrow),
  .wb-cover-copy > p, .wb-inspect-notes dd, .wb-source-note,
  .wb-reading-links small, .wb-data-body .sec-sub, .emerging-note, .ext-ethics p) {
  font-size: 1rem;
  line-height: 1.75;
}
body :is(.finding-line p, .wb-project em) { font-size: .875rem; line-height: 1.6; }
body .note-bottom { font-size: .875rem; line-height: 1.5; min-height: 44px; }
body .hero-statement > p { max-width: 43ch; }
body .hero-actions { flex-wrap: wrap; gap: 12px 24px; }
body .hero-bottom { align-items: flex-end; gap: 32px; }
body .art-controls { max-width: none; flex-shrink: 0; }
body .art-controls > div { flex-wrap: wrap; gap: 8px 16px; }
body .art-controls button { padding: 8px 4px; }
body .study { grid-template-columns: 90px .9fr 1.1fr; gap: 30px; }
body .study-links { gap: 8px 24px; }
body .study-number > span { overflow-wrap: anywhere; }
body .section-intro > div > p { max-width: 38ch; }
body .finding-line { flex-direction: column; gap: 5px; }
body .proof-strip { gap: 8px 24px; }
body .tool-row { grid-template-columns: 145px 1fr 1.25fr 110px 28px; gap: 24px; }
body .contact-bottom > div { flex-wrap: wrap; gap: 12px 24px; }
body .nav-links { gap: 24px; }
body .signature { gap: 12px; }
body .signature small { font-size: .625rem; }

/* A readable profile with a dedicated portrait, separate from the research. */
body .about-section { grid-template-columns: .7fr 1.3fr; gap: 70px; }
.about-index { padding-top: 6px; }
.about-index h2 { font-size: clamp(42px, 6vw, 76px); line-height: 1.05; letter-spacing: -.05em; margin: 22px 0; }
.about-index > p:last-child { color: #bfc1b9; font-size: 1rem; line-height: 1.7; }
.profile-portrait { margin: 24px 0 0; max-width: 340px; }
.profile-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border: 1px solid #37383a; }
.profile-portrait figcaption { margin-top: 12px; color: #afb1a9; font: 12px/1.6 var(--mono); }
body .about-copy .about-lead { font-size: 1.375rem !important; line-height: 1.6 !important; }
body .credentials { grid-template-columns: 100px 1fr; }

body.wb :is(#wb-search, #wb-motion, #wb-load, #wb-unload, #wb-expand,
  #wb-menu-toggle, #wb-nav-links > a, .wb-filters > button, .wb-feed-actions > button) {
  font-size: 1rem; min-height: 44px; line-height: 1.5;
}
body.wb :is(#wb-count, #wb-preview-address, #wb-preview-status, .wb-feed-actions > span) {
  font-size: .8125rem; line-height: 1.6;
}
body.wb .wb-studio-grid { grid-template-columns: 340px minmax(0, 1fr); }
body.wb .wb-project-list { max-height: 740px; }
body.wb .wb-project-detail { min-height: 200px; }
body.wb .wb-detail-links { flex-wrap: wrap; gap: 8px 24px; }
body.wb .wb-preview-toolbar { flex-wrap: wrap; gap: 12px; }
body.wb .wb-project-direct { margin-left: 44px; padding-right: 14px; }

@media (min-width: 1101px) {
  body .hero-stage { padding-top: 64px; min-height: 650px; }
  body .hero-bottom { margin-top: 44px; }
  body .art-controls { position: relative; z-index: 2; padding: 14px 0 0 20px; background: linear-gradient(90deg, transparent, #090a0b 24%); }
}

@media (max-width: 1100px) {
  body .nav-links { gap: 16px; }
  body .signature small { display: none; }
  body .hero-bottom { flex-direction: column; align-items: flex-start; }
  body .art-controls { text-align: left; margin-top: 0; }
  body .art-controls > div { flex-direction: row; }
  body .tool-row { grid-template-columns: 120px 1fr 1.2fr 24px; }
  body .tool-tech { display: none; }
  body.wb .wb-studio-grid { grid-template-columns: 300px minmax(0, 1fr); }
}
@media (max-width: 900px) {
  body.wb .wb-studio-grid { grid-template-columns: 1fr; }
  body.wb .wb-project-list { max-height: 360px; }
  body .study { grid-template-columns: 60px 1fr 1.1fr; gap: 22px; }
  body .about-section { gap: 32px; }
}
@media (max-width: 600px) {
  body .signature { font-size: .6875rem; }
  body .hero-meta { font-size: .6875rem; flex-wrap: wrap; }
  body .hero-meta > span { max-width: none !important; text-align: left !important; }
  body .hero-discipline { font-size: .875rem; }
  body .hero-stage { padding-top: 38px; min-height: auto; }
  body .hero-bottom { margin-top: 290px; gap: 20px; }
  body .hero-rule { flex-direction: column; gap: 8px; }
  body .hero-rule > span, body .hero-rule > a { max-width: none; text-align: left; }
  body .signal-art { width: 100%; right: 0; top: 190px; }
  body .signal-art figcaption { display: none; }
  body .art-controls { display: block; margin-bottom: 20px; }
  body .art-controls > div { gap: 6px 16px; }
  body .study { grid-template-columns: 1fr; gap: 20px; }
  body .study-number { display: flex; align-items: center; gap: 16px; }
  body .study-number > span { writing-mode: horizontal-tb; margin: 0; }
  body .study-art, body .study-copy { grid-column: 1; grid-row: auto; }
  body .section-intro > div > p { max-width: none; }
  body .tool-row { grid-template-columns: 1fr 24px; }
  body .about-section { grid-template-columns: 1fr; gap: 18px; }
  body .credentials { grid-template-columns: 1fr; }
  body .credentials > a { grid-column: 1; width: fit-content; }
  body .contact-top { flex-wrap: wrap; }
  body .contact-top > span { max-width: none !important; text-align: left !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
