/* Self-hosted variable fonts (Latin + Latin Extended), SIL Open Font License: DM Sans, Manrope. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/dm-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/dm-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/manrope-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root {
  --paper:#f6f6ef;
  --ink:#193e30;
  --muted:#5e7358;
  --line:#d7dfd0;
  --forest:#092b22;
  --serif:Georgia,'Times New Roman',serif;
  --sans:'DM Sans',Arial,sans-serif;
  --heading:'Manrope',Arial,sans-serif;
  --header-height:84px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-height) + 24px)
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:1rem/1.7 var(--sans)
}
a {
  color:inherit;
  text-decoration:none
}
button,input {
  font:inherit
}
button {
  color:inherit;
  cursor:pointer;
  border:0
}
button,a,summary {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #719565;
  outline-offset:4px
}
::selection {
  background:#18523c;
  color:#f2f5e7
}
img {
  display:block;
  max-width:100%;
  height:auto
}
h1,h2,h3,p,figure {
  margin:0
}
h1,h2 {
  font:400 4rem/1.1 var(--serif);
  letter-spacing:-.045em
}
h1 em,h2 em {
  font-weight:400;
  color:#69855d
}
h3 {
  font:550 1.2rem/1.4 var(--heading);
  letter-spacing:-.03em
}
p {
  text-wrap:pretty
}
.wrap {
  width:min(1336px,calc(100% - 112px));
  margin-inline:auto
}
.section-space {
  padding-block:96px
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:.875rem;
  letter-spacing:.1em;
  line-height:1.6;
  font-weight:550;
  color:#58735f
}
.eyebrow-line {
  width:24px;
  height:1px;
  background:#829c6e
}
.icon {
  display:inline-block;
  width:20px;
  height:20px;
  flex:0 0 auto;
  vertical-align:middle
}
.icon-external {
  width:14px;
  height:14px;
  opacity:.75
}
.skip {
  position:fixed;
  top:-100px;
  left:16px;
  z-index:100;
  background:var(--paper);
  padding:12px
}
.skip:focus {
  top:12px
}
/* The two report choices stay in reach without covering the page. */
.header {
  position:sticky;
  top:0;
  z-index:30;
  min-height:var(--header-height);
  padding:16px max(28px,calc((100vw - 1336px)/2));
  display:flex;
  align-items:center;
  gap:30px;
  border-bottom:1px solid var(--line);
  background:#f6f6eff5;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px)
}
.brand {
  display:inline-flex;
  flex:0 0 auto
}
.brand img {
  width:166px
}
.header nav {
  display:flex;
  align-items:center;
  gap:25px;
  margin-left:auto;
  font-size:.875rem;
  white-space:nowrap
}
.header nav a {
  padding-block:10px
}
.header nav a:hover {
  color:#668857
}
.header-actions {
  display:flex;
  align-items:center;
  gap:12px
}
.header-actions .button {
  font-size:.875rem;
  padding:11px 15px;
  min-height:46px;
  gap:9px
}
.header-github {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 5px;
  font-size:.875rem
}
.header-github .icon-external {
  display:none
}
.menu-toggle {
  display:none;
  background:transparent;
  width:44px;
  height:44px;
  place-items:center;
  flex:0 0 auto
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:15px 21px;
  min-height:52px;
  border:1px solid transparent;
  border-radius:8px;
  font-size:1rem;
  font-weight:550;
  line-height:1.4;
  text-align:center;
  background:transparent;
  transition:background .18s,border-color .18s
}
.button>span {
  font:inherit
}
.button-dark {
  background:var(--forest);
  color:#f2f5e7
}
.button-dark:hover {
  background:#18523c
}
.button-light {
  background:#dcebbb;
  color:var(--forest)
}
.button-light:hover {
  background:#e6f3c8
}
.button-outline {
  border-color:#bbc9b1;
  background:transparent
}
.button-outline:hover,.button-quiet:hover {
  background:#e9eedf
}
.button-quiet {
  border-color:transparent
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:.9375rem;
  background:transparent;
  padding:0;
  line-height:1.6
}
.text-link:hover {
  color:#618449
}
.github-link {
  gap:9px
}
.mobile-report-actions {
  display:none
}
.hero {
  padding-top:40px;
  padding-bottom:56px;
  display:grid;
  grid-template-columns:1.04fr 1fr;
  gap:55px;
  align-items:stretch
}
.hero-copy {
  min-width:0;
  padding-top:34px;
  display:flex;
  flex-direction:column;
  align-items:flex-start
}
.hero h1 {
  font-size:clamp(3rem,4.5vw,4.65rem);
  margin:27px 0;
  line-height:1.08;
  letter-spacing:-.052em
}
.hero-intro {
  font-size:1.2rem;
  line-height:1.65;
  max-width:520px
}
.hero-intro strong {
  font-weight:600
}
.hero-detail {
  font-size:1rem;
  line-height:1.85;
  color:var(--muted)
}
.hero-detail strong {
  font-weight:550;
  color:#365841
}
.hero-deliverable {
  margin-top:15px;
  font-size:1rem;
  color:var(--muted)
}
.hero-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px
}
.cta-caption {
  font-size:.875rem;
  line-height:1.7;
  color:var(--muted);
  max-width:420px;
  margin-top:14px
}
.hero-footnote {
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  padding-top:32px;
  margin-top:auto;
  font-size:.875rem;
  letter-spacing:.02em;
  color:#5c7054
}
.hero-art {
  position:relative;
  min-height:590px;
  overflow:hidden;
  background:#092e29;
  border-radius:26px;
  isolation:isolate;
  color:#eff3e6;
  box-shadow:0 22px 55px -35px #193e3040
}
.hero-art>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% 45%;
  mix-blend-mode:lighten
}
.hero-art:after {
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(0deg,#092b22f7 0%,#092b22b5 19%,#092b2220 53%,transparent 74%);
  pointer-events:none
}
.art-topline {
  position:absolute;
  z-index:1;
  top:24px;
  left:29px;
  right:29px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:.8125rem;
  letter-spacing:.04em;
  color:#c1d4bd
}
.hero-art figcaption {
  position:absolute;
  z-index:1;
  left:35px;
  right:25px;
  bottom:90px
}
.hero-art blockquote {
  margin:0 0 17px;
  font:400 clamp(2.3rem,3.4vw,3.5rem)/1.09 var(--serif);
  letter-spacing:-.025em
}
.attribution {
  font-size:.875rem;
  letter-spacing:.04em;
  color:#d0ddbb
}
.art-bottomline {
  position:absolute;
  bottom:23px;
  left:35px;
  right:30px;
  border-top:1px solid #c9d6b940;
  padding-top:15px;
  display:flex;
  justify-content:space-between;
  gap:15px;
  font-size:.75rem;
  letter-spacing:.04em;
  color:#b0c3a7
}
.art-bottomline>span:last-child {
  white-space:nowrap
}
/* A consistent disclosure pattern preserves the depth without requiring it. */
.disclosure {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  min-width:0
}
.disclosure+ .disclosure {
  border-top:0
}
.disclosure summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 0;
  cursor:pointer
}
.disclosure summary::-webkit-details-marker {
  display:none
}
.disclosure summary::marker {
  content:''
}
.disclosure summary>span {
  min-width:0
}
.disclosure summary strong {
  font:550 1rem/1.5 var(--heading);
  letter-spacing:-.025em
}
.disclosure summary small {
  display:block;
  font-size:.9375rem;
  line-height:1.65;
  color:var(--muted);
  margin-top:5px
}
.disclosure summary .icon-plus {
  border:1px solid #bdcdb2;
  border-radius:50%;
  padding:5px;
  width:32px;
  height:32px;
  transition:transform .18s;
  flex-shrink:0
}
.disclosure summary:hover .icon-plus {
  background:#e7eddc
}
.disclosure[open]>summary>.icon-plus {
  transform:rotate(45deg)
}
.disclosure-content {
  padding-bottom:28px
}
.disclosure-content a {
  text-decoration:underline;
  text-decoration-color:#8fa782;
  text-underline-offset:4px
}
.disclosure-content a:hover {
  color:#234f39
}
.disclosure:not([open])>.disclosure-content {
  display:none
}
.hero-disclosure {
  width:100%;
  max-width:500px;
  margin-top:22px
}
.hero-disclosure summary {
  padding:14px 0
}
.hero-disclosure summary strong {
  font-family:var(--sans);
  font-size:.9375rem
}
.hero-disclosure .disclosure-content {
  padding-bottom:20px
}
.details-intro {
  font-size:.875rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:16px
}
.dark {
  background:var(--forest);
  color:#edf2df
}
.dark .eyebrow {
  color:#c6d6a7
}
.dark h2 em {
  color:#c2d598
}
.dark .disclosure {
  border-color:#385341
}
.dark .disclosure summary small {
  color:#adbf9f
}
.dark .disclosure summary .icon-plus {
  border-color:#587050
}
.dark .disclosure summary:hover .icon-plus {
  background:#ffffff0a
}
.report-showcase {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px 70px;
  align-items:center;
  padding-top:24px;
  padding-bottom:48px
}
.report-showcase h2 {
  font-size:clamp(2.6rem,3.8vw,3.8rem);
  margin:20px 0 23px;
  line-height:1.12
}
.report-showcase-copy>p {
  font-size:1rem;
  line-height:1.85;
  color:var(--muted);
  max-width:510px
}
.report-showcase-copy>p+p {
  margin-top:16px
}
.report-showcase-copy>.button {
  margin-top:24px
}
.report-showcase-sheet {
  padding:29px 32px;
  background:#fffef8;
  border:1px solid #d9e1d0;
  border-radius:4px;
  box-shadow:8px 8px 0 #e5eadd,16px 16px 0 #eff1e7;
  min-width:0;
  margin-right:16px
}
.report-sheet-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding-bottom:20px;
  border-bottom:1px solid var(--line)
}
.report-sheet-top>span {
  font-size:.8125rem;
  letter-spacing:.07em;
  color:#657b59
}
.report-page-count {
  display:flex;
  align-items:center;
  gap:25px;
  padding:25px 0
}
.report-page-count>strong {
  font:400 clamp(5rem,7.7vw,7.4rem)/1 var(--serif);
  letter-spacing:-.05em
}
.report-page-count>span {
  font-size:1rem;
  color:var(--muted)
}
.report-scope-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
  padding:23px 0;
  border-top:1px solid var(--line)
}
.report-scope-grid strong {
  display:block;
  font:400 clamp(1.9rem,2.8vw,2.7rem)/1.15 var(--serif);
  letter-spacing:-.03em
}
.report-scope-grid span {
  display:block;
  font-size:.875rem;
  line-height:1.5;
  color:var(--muted);
  margin-top:9px
}
.report-reading-breakdown {
  font-size:.875rem;
  color:var(--muted)
}
.report-sheet-bottom {
  margin-top:22px;
  padding-top:17px;
  border-top:1px solid var(--line);
  font-size:.8125rem;
  letter-spacing:.04em;
  color:#657b59
}
.report-disclosure {
  grid-column:1/-1;
  margin-top:16px
}
.report-measurements h2,.report-evidence h2 {
  font-size:2.7rem;
  margin:18px 0 28px
}
.report-measurements {
  padding-top:12px
}
.report-evidence {
  margin-top:38px
}
.measurement-grid,.evidence-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:25px 35px
}
.measurement-grid article,.evidence-grid article {
  padding:22px 0;
  border-top:1px solid var(--line)
}
.measurement-grid strong,.evidence-grid strong {
  font:400 2.9rem/1.15 var(--serif);
  letter-spacing:-.04em
}
.measurement-grid h3,.evidence-grid h3 {
  font-size:1.125rem;
  margin:16px 0 12px
}
.measurement-grid p,.evidence-grid p,.report-scope-context {
  font-size:1rem;
  line-height:1.8;
  color:var(--muted)
}
/* The readings summary leads the grid as a full-width row with the copy
   beside the number; the six metric cards below fill two rows of three. */
.measurement-grid .measurement-lead {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  grid-template-areas:"num copy" "title copy";
  column-gap:35px;
  align-content:start
}
.measurement-lead strong {
  grid-area:num
}
.measurement-lead h3 {
  grid-area:title;
  align-self:start
}
.measurement-lead p {
  grid-area:copy;
  margin:0;
  padding-top:12px
}
.scope-strip {
  padding:0 0 52px
}
.scope-intro {
  font-size:1rem;
  line-height:1.75;
  color:var(--muted);
  margin-bottom:22px
}
.scope-intro strong {
  color:var(--ink);
  font-weight:550
}
.scope-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px 40px;
  padding-top:8px
}
.scope-stat strong {
  display:block;
  font:400 3.1rem/1.2 var(--serif);
  letter-spacing:-.025em
}
.scope-stat h3 {
  font-size:1rem;
  margin-top:9px
}
.scope-stat span {
  display:block;
  font-size:.875rem;
  color:var(--muted);
  margin-top:6px
}
.mission {
  position:relative;
  overflow:hidden;
  isolation:isolate
}
.mission-image {
  position:absolute;
  right:0;
  top:0;
  width:78%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:-2;
  mix-blend-mode:lighten
}
.mission:after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,#092b22 0%,#092b22f5 29%,#092b22ab 55%,#092b2220 100%)
}
.mission-content {
  padding-block:88px
}
.mission h2 {
  font-size:clamp(2.5rem,4.05vw,4.25rem);
  margin-top:25px;
  line-height:1.13;
  max-width:850px
}
.mission-prose {
  max-width:560px;
  margin-top:28px
}
.mission-prose p {
  font-size:1rem;
  line-height:1.85;
  color:#bdcdb7;
  margin-bottom:17px
}
.mission-prose a {
  text-decoration:underline;
  text-decoration-color:#8da37f;
  text-underline-offset:4px
}
.mission-prose .mission-lede {
  font-size:1.3rem;
  line-height:1.55;
  color:#e2eccf;
  margin-bottom:21px
}
.mission-prose .mission-conviction {
  color:#e2eccf
}
.mission-prose .mission-statement {
  font:400 1.55rem/1.45 var(--serif);
  color:#e2eccf;
  margin-top:28px
}
.mission-prose .disclosure {
  margin-top:27px
}
.mission-prose .disclosure-content {
  padding-bottom:8px
}
.mission-caption {
  display:flex;
  gap:13px;
  align-items:center;
  font-size:.8125rem;
  letter-spacing:.08em;
  color:#b4c8a4;
  margin-top:35px
}
.mission-caption>span {
  width:27px;
  border-top:1px solid #9ab083;
  flex:0 0 auto
}
.section-title {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:60px;
  margin-bottom:45px
}
.section-title>div:first-child {
  flex:1;
  min-width:0
}
.section-title h2 {
  font-size:clamp(2.5rem,4.1vw,4.1rem);
  margin-top:22px;
  line-height:1.13
}
.section-title>p,.section-title>div+div {
  max-width:470px;
  font-size:1rem;
  line-height:1.85;
  color:var(--muted);
  flex:0 1 44%;
  padding-top:58px
}
.pipeline {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px
}
.pipeline article {
  border-top:1px solid #abc198;
  padding-top:20px;
  min-width:0
}
.pipeline-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:23px
}
.step {
  font:400 1.7rem/1.3 var(--serif);
  color:#6d855d
}
.small-label {
  font-size:.8125rem;
  letter-spacing:.025em;
  color:#5a7150
}
.pipeline h3 {
  font-size:1.15rem;
  margin-bottom:15px
}
.pipeline p {
  font-size:1rem;
  line-height:1.8;
  color:var(--muted)
}
.pipeline .text-link {
  margin-top:19px
}
.tool-chips,.feature-tags,.metabolite-chips,.pathogen-types {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:20px
}
.tool-chips span,.feature-tags span,.metabolite-chips span,.pathogen-types span {
  font-size:.8125rem;
  line-height:1.6;
  border:1px solid #d0dcc3;
  border-radius:5px;
  padding:4px 8px;
  color:#536e45;
  background:#ecf1e5
}
.technology-analysis {
  margin-top:44px
}
.method-disclosure>.disclosure-content {
  padding-bottom:22px
}
.feature {
  padding:30px 32px;
  background:#edf2e6;
  border:1px solid #d9e4cd;
  border-radius:10px;
  min-width:0
}
.feature-index {
  font-size:.8125rem;
  letter-spacing:.08em;
  color:#607c4d;
  margin-bottom:21px
}
.feature h3 {
  font:400 2.3rem/1.17 var(--serif);
  letter-spacing:-.04em;
  margin-bottom:20px
}
.feature p {
  font-size:1rem;
  line-height:1.85;
  color:#577149
}
.feature .fine-print {
  font-size:.875rem;
  margin-top:21px;
  color:#5c744f
}
.feature-body {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:40px;
  align-items:center
}
.deep-learning {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:0 40px
}
.deep-learning>.feature-index {
  grid-column:1/-1
}
.deep-learning>h3 {
  grid-column:1;
  grid-row:2;
  font-size:2.7rem;
  margin:0
}
.learning-copy {
  grid-column:2;
  grid-row:2
}
.learning-copy p+p {
  margin-top:17px
}
.learning-copy strong {
  font-weight:600;
  color:#436231
}
.learning-copy a {
  text-decoration:underline;
  text-underline-offset:4px
}
.learning-metrics {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid #cbd9ba
}
.learning-metrics>div {
  border-right:1px solid #cbd9ba;
  padding-right:20px
}
.learning-metrics>div:last-child {
  border:0
}
.learning-metrics strong {
  display:block;
  font:400 2.8rem/1.2 var(--serif);
  letter-spacing:-.025em;
  color:#476c34
}
.learning-metrics span {
  display:block;
  font-size:.875rem;
  color:#5c774c;
  line-height:1.7;
  margin-top:7px;
  max-width:240px
}
.learning-footer {
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-top:24px
}
.implementation-label {
  font-size:.8125rem;
  color:#5c774c;
  letter-spacing:.03em
}
.learning-links {
  display:flex;
  gap:23px;
  flex-wrap:wrap
}
.learning-links .text-link {
  font-size:.875rem;
  color:#456933
}
.profile-graphic {
  padding:25px;
  border:1px solid #cddcc0;
  border-radius:6px
}
.mini-heading {
  display:flex;
  justify-content:space-between;
  gap:15px;
  font-size:.8125rem;
  letter-spacing:.03em;
  color:#587342;
  margin-bottom:24px
}
.profile-line {
  display:flex;
  align-items:center;
  gap:15px;
  margin:16px 0;
  font-size:.875rem
}
.profile-line i {
  height:8px;
  flex:1;
  border-radius:3px;
  background:linear-gradient(90deg,#92ad77 var(--bar),#dce6cf var(--bar))
}
.profile-line b {
  font-weight:400
}
.profile-bottom {
  border-top:1px solid #cbdabf;
  margin-top:23px;
  padding-top:16px;
  display:flex;
  gap:20px;
  font-size:.875rem
}
.profile-graphic .graphic-note {
  font-size:.875rem;
  margin-top:12px
}
.pathogen {
  background:#e8efdf
}
.science .section-title>div+div {
  color:#b8c9ac
}
.science-subcopy {
  margin-top:17px;
  font:italic 1.35rem/1.6 var(--serif);
  color:#d1dfb5
}
.science-ambition {
  margin-top:16px
}
.science-ambition a {
  color:#d7e5b8;
  text-decoration:underline;
  text-decoration-color:#6f8c5c;
  text-underline-offset:4px
}
.science-ambition a:hover {
  color:#f1f6e5;
  text-decoration-color:#b0c79a
}
/* Sits below the open-source projects disclosure, above the contribute call. */
.science-journals {
  padding-top:34px;
  padding-bottom:33px;
  border-bottom:1px solid #385341
}
.science-journals>span {
  font-size:.8125rem;
  letter-spacing:.1em;
  color:#b8cc9f
}
.science-journals>div {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:25px;
  margin-top:23px
}
.journal-nature {
  font:400 1.85rem/1.2 var(--serif);
  letter-spacing:-.04em;
  color:#c7d8b2
}
.journal-nature:hover {
  color:#f1f6e5
}
.science-journals p {
  font-size:.875rem;
  color:#a8bf98;
  margin-top:21px
}
.journal-band-link {
  margin-top:15px;
  color:#c6dda9;
  font-size:.9375rem
}
.journal-band-link:hover {
  color:#f1f6e5;
  text-decoration:underline;
  text-underline-offset:4px
}
.journal-band-link .icon {
  width:16px;
  height:16px
}
.research-stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:50px;
  margin:44px 0
}
.research-stats article {
  min-width:0
}
.research-stats strong {
  font:400 4.4rem/1.2 var(--serif);
  letter-spacing:-.035em;
  color:#d7e5b8
}
.research-stats h3 {
  font-size:1rem;
  margin-top:10px;
  color:#d2dfbb;
  font-weight:500
}
.research-stats p {
  color:#adc29f;
  font-size:1rem;
  line-height:1.8;
  margin-top:12px
}
.research-stats a {
  color:#c6dda9;
  display:inline-flex;
  gap:9px;
  font-size:.875rem;
  margin-top:15px
}
.open-tools-heading {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:.8125rem;
  letter-spacing:.08em;
  color:#bad0a4;
  margin-bottom:20px
}
.tool-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid #385341;
  border-left:1px solid #385341
}
.tool-grid>.tool-featured {
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:28px;
  padding:26px 28px;
  border-right:1px solid #385341;
  border-bottom:1px solid #385341;
  background:#b1ce7712
}
.tool-featured>div {
  flex:0 0 170px
}
.tool-featured strong {
  font:400 2.7rem/1.1 var(--serif);
  letter-spacing:-.035em;
  color:#dfebc4
}
.tool-featured-description {
  font-size:1rem;
  line-height:1.8;
  color:#bbd0a5
}
.tool-featured>.icon-external {
  margin-left:auto
}
.tool-grid>.project-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:24px 20px;
  border-right:1px solid #385341;
  border-bottom:1px solid #385341
}
.project-category {
  font-size:.8125rem;
  line-height:1.65;
  letter-spacing:.015em;
  color:#aec799;
  margin-bottom:13px
}
.project-card h3 {
  font-size:1.2rem;
  font-weight:500;
  line-height:1.4;
  color:#d4e3b4;
  overflow-wrap:anywhere;
  margin-bottom:12px
}
.project-card h3 a {
  display:block
}
.project-card h3 .icon {
  width:16px;
  height:16px;
  margin-right:6px
}
.project-card h3 .icon-external {
  display:none
}
.project-card p {
  font-size:.9375rem;
  line-height:1.85;
  color:#b9cda8;
  margin-bottom:22px
}
.project-links {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin-top:auto
}
.project-links a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.875rem;
  line-height:1.65;
  color:#c7deb0
}
.project-links .icon {
  width:16px;
  height:16px
}
.project-links a:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.science-note {
  font-size:.875rem;
  color:#b5c9a5;
  margin-top:20px;
  line-height:1.8
}
.contribute-callout {
  margin-top:32px;
  display:flex;
  align-items:center;
  gap:35px
}
.contribute-callout h3 {
  font:400 2rem/1.2 var(--serif);
  margin-bottom:15px
}
.contribute-callout p {
  font-size:1rem;
  line-height:1.8;
  color:#b7caaa;
  max-width:670px
}
.contribute-callout .button {
  flex:0 0 auto
}
/* The complete origin story keeps its editorial portrait and natural page scroll. */
.founder {
  background:#edf1e8;
  border-top:1px solid var(--line)
}
.founder-heading {
  margin-bottom:50px
}
.founder-heading h2 {
  font-size:clamp(2.7rem,4.5vw,4.5rem);
  line-height:1.12;
  margin-top:22px
}
.founder-layout {
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(45px,6.4vw,100px);
  align-items:start
}
.founder-profile {
  position:sticky;
  top:calc(var(--header-height) + 24px);
  min-width:0;
  max-width:480px
}
.founder-portrait {
  position:relative;
  overflow:hidden;
  border-radius:26px;
  background:var(--forest);
  isolation:isolate;
  box-shadow:0 22px 55px -35px #193e3059
}
.founder-portrait img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 35%
}
.founder-portrait:after {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,#092b2225 70%,#092b22d9 100%)
}
.founder-portrait figcaption {
  position:absolute;
  z-index:1;
  bottom:27px;
  left:28px;
  right:28px;
  display:flex;
  flex-direction:column;
  gap:3px;
  color:#eff3e6
}
.founder-portrait figcaption strong {
  font-family:var(--heading);
  font-size:1.125rem;
  font-weight:550
}
.founder-portrait figcaption span {
  font-size:.875rem;
  color:#c3d3b4;
  max-width:31ch;
  line-height:1.55
}
.founder-quote {
  font:400 clamp(1.5rem,2.2vw,2rem)/1.4 var(--serif);
  letter-spacing:-.025em;
  color:#526c4d;
  margin:30px 8px 0
}
.founder-story {
  font-size:1.0625rem;
  line-height:1.9;
  max-width:690px;
  color:#486047;
  min-width:0
}
.founder-story p+p {
  margin-top:22px
}
.founder-story .founder-lede {
  font:400 1.75rem/1.3 var(--serif);
  letter-spacing:-.025em;
  color:var(--ink);
  margin:0 0 20px
}
.founder-story h3 {
  font:400 1.75rem/1.3 var(--serif);
  letter-spacing:-.025em;
  color:var(--ink);
  margin:37px 0 18px
}
.founder-story strong {
  color:var(--ink);
  font-weight:600
}
.founder-story a {
  text-decoration:underline;
  text-decoration-color:#8fa782;
  text-underline-offset:4px
}
.founder-story a:hover {
  color:#234f39
}
.founder-story .founder-ending {
  font-size:1.1875rem;
  line-height:1.8;
  color:var(--ink);
  border-top:1px solid #cad7c2;
  padding-top:26px;
  margin-top:29px
}
.closing {
  padding-block:82px;
  position:relative;
  overflow:hidden
}
.closing>.wrap {
  position:relative
}
.closing h2 {
  font-size:clamp(3.3rem,5.1vw,5rem);
  margin-top:25px;
  line-height:1.1;
  position:relative;
  z-index:1
}
.closing p {
  font-size:1.0625rem;
  color:#bacfa9;
  margin-top:23px;
  line-height:1.8;
  max-width:710px;
  position:relative;
  z-index:1
}
.closing-actions {
  display:flex;
  gap:13px;
  flex-wrap:wrap;
  margin-top:28px;
  position:relative;
  z-index:1
}
.closing .button-outline {
  color:#dcebbb;
  border-color:#738568
}
.closing .button-outline:hover {
  background:#ffffff0a
}
.closing-disclosure {
  max-width:710px;
  margin-top:32px;
  position:relative;
  z-index:1
}
.closing-mark {
  position:absolute;
  right:0;
  top:17px;
  width:400px;
  opacity:.12;
  filter:grayscale(1) sepia(1) saturate(.8);
  transform:rotate(-13deg);
  pointer-events:none
}
.footer {
  padding-top:34px;
  padding-bottom:28px
}
.footer-main {
  display:flex;
  align-items:center;
  gap:25px;
  padding-bottom:25px
}
.footer-main>p {
  font:italic 1.0625rem/1.6 var(--serif);
  color:var(--muted)
}
.footer-links {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:25px
}
.footer-bottom {
  border-top:1px solid var(--line);
  padding-top:18px;
  display:flex;
  gap:25px;
  font-size:.875rem;
  color:var(--muted)
}
/* One field, one clear next step. Native dialog manages focus and modality. */
.report-dialog {
  border:1px solid #d7dfcf;
  border-radius:20px;
  padding:42px;
  width:min(540px,calc(100% - 32px));
  max-height:calc(100dvh - 40px);
  max-height:calc(100svh - 40px);
  overflow:auto;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 24px 100px #031a2260
}
.report-dialog::backdrop {
  background:#031b17a8;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px)
}
.dialog-close {
  position:absolute;
  top:13px;
  right:13px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:transparent
}
.dialog-close:hover {
  background:#e6eddf
}
.dialog-document {
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  background:#e5eddb;
  border-radius:15px;
  margin-bottom:22px
}
.dialog-document .icon {
  width:28px;
  height:28px
}
.report-dialog .eyebrow {
  font-size:.8125rem;
  letter-spacing:.07em;
  margin-bottom:13px
}
.report-dialog h2 {
  font-size:2.5rem;
  line-height:1.12;
  margin:0 0 17px
}
.report-dialog p {
  font-size:1rem;
  color:var(--muted);
  line-height:1.75
}
.request-benefits {
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  margin:21px 0 26px;
  padding-block:14px;
  border-block:1px solid var(--line);
  font-size:.8125rem;
  color:#526b46
}
.request-benefits span+span {
  border-left:1px solid #c6d3bb;
  padding-left:12px
}
.report-dialog form>label {
  display:block;
  font-size:.9375rem;
  font-weight:550;
  margin-bottom:8px
}
.report-dialog input[type=email] {
  display:block;
  width:100%;
  min-width:0;
  min-height:54px;
  font-size:1rem;
  padding:13px 14px;
  border:1px solid #a6b79b;
  border-radius:7px;
  background:#fff;
  color:var(--ink);
  appearance:none;
  -webkit-appearance:none
}
.report-dialog input[aria-invalid=true] {
  border-color:#984633
}
.report-dialog form>.button {
  width:100%;
  margin-top:13px;
  min-height:54px
}
.button:disabled {
  cursor:wait;
  opacity:.7
}
.report-dialog .email-note {
  font-size:.8125rem;
  line-height:1.65;
  margin-top:14px
}
.report-dialog .interest-status {
  font-size:.9375rem;
  margin-top:13px
}
.interest-status:empty {
  display:none
}
.report-dialog .interest-status.error {
  color:#943c2c
}
.form-trap {
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden
}
.request-success .button {
  margin-top:27px;
  width:100%
}
.request-success[hidden],.request-form-view[hidden] {
  display:none
}
/* Private demand totals, not linked in the public navigation. */
.insights {
  max-width:1200px
}
.insights>.brand {
  margin-bottom:32px
}
.insights>.eyebrow {
  margin-bottom:20px
}
.insights h1 {
  font-size:clamp(2.7rem,5vw,4rem);
  margin-bottom:24px
}
.insights>p {
  max-width:800px;
  margin:20px 0;
  color:var(--muted)
}
.insights-metrics {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:35px 0
}
.insights-metrics article {
  border:1px solid var(--line);
  padding:24px
}
.insights-metrics strong {
  display:block;
  font:400 3rem/1.2 var(--serif)
}
.insights-metrics span {
  display:block;
  font-size:1rem;
  color:var(--muted);
  margin-top:12px
}
.insights h2 {
  font-size:2rem;
  margin:42px 0 20px
}
.insights-table {
  overflow:auto
}
.insights table {
  width:100%;
  border-collapse:collapse;
  text-align:left
}
.insights th,.insights td {
  padding:14px;
  border-bottom:1px solid var(--line);
  font-size:1rem
}
@media(min-width:1600px) {
  .hero {
    gap:75px
  }
  .hero-art {
    min-height:640px
  }
  .hero-copy {
    padding-top:45px
  }
}
@media(max-width:1250px) {
  .wrap {
    width:calc(100% - 72px)
  }
  .header {
    gap:20px;
    padding-inline:28px
  }
  .header nav {
    gap:18px
  }
  .header-actions {
    gap:8px
  }
  .header-actions .button {
    padding-inline:12px
  }
  .hero {
    gap:35px
  }
  .hero-art {
    min-height:610px
  }
  .hero h1 {
    font-size:clamp(2.65rem,4.4vw,4.3rem)
  }
  .hero-actions .button {
    padding-inline:15px
  }
  .section-title {
    gap:40px
  }
  .pipeline {
    gap:22px
  }
  .tool-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .report-showcase {
    gap:36px
  }
  .report-showcase-sheet {
    padding:24px
  }
  .learning-footer {
    flex-direction:column;
    align-items:flex-start
  }
  .science-journals .journal-nature {
    font-size:1.6rem
  }
}
@media(max-width:1100px) {
  .header nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    margin:0;
    padding:15px 28px 22px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    box-shadow:0 14px 20px #092b220c
  }
  .header nav.open {
    display:flex
  }
  .header nav a {
    padding:12px
  }
  .header-actions {
    margin-left:auto
  }
  .menu-toggle {
    display:grid
  }
  .header-github {
    margin-right:8px
  }
  .pipeline {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:32px
  }
  .section-title {
    display:block;
    margin-bottom:38px
  }
  .section-title>p,.section-title>div+div {
    max-width:640px;
    margin-top:22px;
    padding-top:0
  }
  .hero h1 {
    font-size:clamp(2.55rem,4.3vw,4rem)
  }
  .hero-copy {
    padding-top:20px
  }
  .hero-intro {
    font-size:1.1rem
  }
  .hero-actions {
    gap:10px
  }
  .hero-actions .button {
    font-size:.9375rem
  }
  .hero-footnote {
    font-size:.8125rem
  }
  .hero-art {
    min-height:610px
  }
  .art-topline {
    left:24px;
    right:24px;
    flex-direction:column;
    gap:4px
  }
  .hero-art figcaption {
    left:26px;
    bottom:108px
  }
  .hero-art blockquote {
    font-size:2.5rem
  }
  .art-bottomline {
    left:26px;
    right:24px
  }
  .report-showcase h2 {
    /* "gut health metrics." measures 7.4em; the two-column layout gives the
       copy half of the wrap less the gap, so size from that on tablets. */
    font-size:min(2.8rem,calc((100vw - 108px) / 2 / 7.6))
  }
  .science-journals>div {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px
  }
  .science-journals .journal-nature {
    font-size:1.85rem
  }
  .research-stats {
    gap:30px
  }
  .research-stats strong {
    font-size:3.6rem
  }
  .deep-learning {
    gap:0 30px
  }
  .deep-learning>h3 {
    font-size:2.2rem
  }
  .feature-body {
    gap:30px
  }
  .contribute-callout {
    flex-direction:column;
    align-items:flex-start;
    gap:22px
  }
  .founder-layout {
    gap:35px
  }
  .founder-quote {
    font-size:1.55rem;
    margin:25px 3px 0
  }
  .measurement-grid,.evidence-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:760px) {
  :root {
    --header-height:72px
  }
  .wrap {
    width:calc(100% - 40px)
  }
  .section-space {
    padding-block:62px
  }
  .header {
    padding:12px 20px;
    gap:10px
  }
  .header .brand img {
    width:151px
  }
  .header-actions .button {
    display:none
  }
  .header-github {
    margin:0;
    padding:8px;
    gap:7px
  }
  .header-github .icon {
    width:19px;
    height:19px
  }
  .menu-toggle {
    width:40px;
    height:40px
  }
  .header nav {
    padding:10px 20px 16px
  }
  .mobile-report-actions {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:35;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:12px 16px max(12px,env(safe-area-inset-bottom));
    background:#f6f6eff7;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-top:1px solid var(--line);
    box-shadow:0 -8px 30px #092b2206
  }
  .mobile-report-actions .button {
    font-size:.875rem;
    padding:13px 8px;
    gap:8px;
    min-height:48px
  }
  .mobile-report-actions .icon {
    width:18px;
    height:18px
  }
  body {
    padding-bottom:calc(78px + env(safe-area-inset-bottom));
    scroll-padding-bottom:100px
  }
  .hero {
    grid-template-columns:1fr;
    gap:0;
    padding-top:32px;
    padding-bottom:45px
  }
  /* On a phone the portrait sits between the intro and the actions, so the
     picture is on the first screen rather than below every button. The copy
     wrapper becomes transparent to the grid and its children are ordered:
     eyebrow, title, intro, portrait, then the disclosure and the actions. */
  .hero-copy {
    display:contents
  }
  .hero-disclosure,.hero-actions,.cta-caption,.hero-footnote {
    order:1
  }
  .hero h1 {
    /* The wider line, "Radically great AI", measures 7em at this tracking;
       sizing from the column width keeps it on two lines and edge to edge on
       every phone. */
    font-size:min(calc((100vw - 40px) / 7.2),4rem);
    margin:20px 0 22px;
    line-height:1.05
  }
  .hero-intro {
    font-size:1.125rem;
    max-width:600px
  }
  .hero-disclosure {
    max-width:none;
    margin-top:28px
  }
  .hero-actions {
    gap:12px;
    margin-top:23px
  }
  .hero-actions .button {
    font-size:1rem;
    padding:15px 17px
  }
  .hero-footnote {
    font-size:.8125rem;
    padding-top:25px;
    gap:5px 10px;
    margin-top:0
  }
  .hero-art {
    min-height:520px;
    margin-top:30px;
    border-radius:22px
  }
  .hero-art>img {
    object-position:58% 43%
  }
  .hero-art blockquote {
    font-size:3rem
  }
  .hero-art figcaption {
    left:28px;
    bottom:92px
  }
  .art-topline {
    flex-direction:row;
    font-size:.75rem;
    left:25px;
    right:25px
  }
  .art-bottomline {
    font-size:.75rem
  }
  .report-showcase {
    grid-template-columns:1fr;
    gap:31px;
    padding-top:5px;
    padding-bottom:32px
  }
  .report-showcase h2 {
    font-size:min(2.7rem,calc((100vw - 40px) / 7.6))
  }
  .report-showcase-sheet {
    margin-right:12px;
    box-shadow:6px 6px 0 #e5eadd,12px 12px 0 #eff1e7;
    padding:24px
  }
  .report-page-count>strong {
    font-size:5.5rem
  }
  .report-scope-grid {
    gap:12px
  }
  .report-scope-grid strong {
    font-size:clamp(1.8rem,6.2vw,2.7rem)
  }
  .report-scope-grid span {
    font-size:.875rem
  }
  .report-disclosure {
    margin-top:10px
  }
  .scope-strip {
    padding-bottom:38px
  }
  .scope-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:27px 20px
  }
  .scope-stat strong {
    font-size:2.6rem
  }
  .scope-stat h3 {
    font-size:.9375rem
  }
  .scope-stat span {
    font-size:.875rem
  }
  .scope-intro {
    font-size:1rem
  }
  .disclosure summary {
    padding:20px 0;
    gap:18px
  }
  .disclosure summary small {
    font-size:.875rem
  }
  .disclosure-content {
    padding-bottom:22px
  }
  .mission-content {
    padding-block:58px
  }
  .mission-image {
    width:100%;
    object-position:58% 50%
  }
  .mission:after {
    background:linear-gradient(90deg,#092b22ed,#092b22bb)
  }
  .mission h2 {
    font-size:2.7rem;
    line-height:1.13
  }
  .mission-prose {
    max-width:none;
    margin-top:25px
  }
  .mission-prose .mission-lede {
    font-size:1.2rem
  }
  .mission-caption {
    font-size:.75rem
  }
  .section-title {
    display:block;
    margin-bottom:34px
  }
  .section-title>p,.section-title>div+div {
    max-width:none;
    margin-top:24px
  }
  .section-title h2 {
    font-size:2.7rem;
    margin-top:18px
  }
  .pipeline {
    gap:30px 22px
  }
  .pipeline h3 {
    font-size:1.125rem
  }
  .pipeline-top {
    gap:7px;
    margin-bottom:18px
  }
  .small-label {
    font-size:.75rem
  }
  .tool-chips {
    gap:5px
  }
  .technology-analysis {
    margin-top:35px
  }
  .feature {
    padding:24px 20px
  }
  .feature h3 {
    font-size:2rem
  }
  .feature-body,.deep-learning {
    display:block
  }
  .deep-learning>h3 {
    font-size:2.1rem;
    margin-bottom:22px
  }
  .learning-metrics {
    gap:14px;
    margin-top:24px;
    padding-top:22px
  }
  .learning-metrics>div {
    padding-right:9px
  }
  .learning-metrics strong {
    font-size:2.15rem
  }
  .learning-metrics span {
    font-size:.875rem;
    line-height:1.6
  }
  .learning-footer {
    margin-top:23px;
    gap:15px
  }
  .learning-links {
    gap:15px
  }
  .profile-graphic {
    margin-top:25px;
    padding:20px
  }
  .science-journals>div {
    gap:21px
  }
  .science-journals .journal-nature {
    font-size:1.6rem
  }
  .research-stats {
    grid-template-columns:1fr;
    gap:25px;
    margin:31px 0
  }
  .research-stats article {
    display:grid;
    grid-template-columns:135px 1fr;
    gap:0 15px
  }
  .research-stats strong {
    font-size:3rem;
    grid-column:1;
    grid-row:1/3
  }
  .research-stats h3 {
    margin-top:4px;
    grid-column:2
  }
  .research-stats p {
    font-size:.9375rem;
    margin-top:6px;
    grid-column:2
  }
  .research-stats a {
    grid-column:2
  }
  .open-tools-heading {
    font-size:.75rem;
    flex-direction:column;
    gap:6px
  }
  .tool-grid {
    grid-template-columns:1fr
  }
  .tool-grid>.tool-featured {
    flex-wrap:wrap;
    padding:24px 20px;
    gap:14px
  }
  .tool-featured>div {
    flex-basis:calc(100% - 60px)
  }
  .tool-featured-description {
    flex-basis:100%;
    order:1;
    font-size:1rem
  }
  .tool-featured>.icon-external {
    margin-left:0
  }
  .tool-grid>.project-card {
    padding:24px 20px
  }
  .project-card h3 {
    font-size:1.2rem
  }
  .project-card p {
    font-size:1rem
  }
  .contribute-callout h3 {
    font-size:1.85rem
  }
  .founder-layout {
    grid-template-columns:1fr;
    gap:34px
  }
  .founder-profile {
    position:static;
    max-width:480px;
    width:100%;
    margin:auto
  }
  .founder-heading {
    margin-bottom:33px
  }
  .founder-heading h2 {
    font-size:2.65rem;
    margin-top:18px
  }
  .founder-portrait {
    border-radius:22px
  }
  .founder-portrait figcaption {
    left:24px;
    bottom:24px
  }
  .founder-quote {
    font-size:1.75rem;
    margin:26px 4px 0
  }
  .founder-story {
    font-size:1rem;
    line-height:1.85;
    max-width:none
  }
  .founder-story .founder-lede {
    font-size:1.25rem
  }
  .founder-story h3 {
    font-size:1.6rem;
    margin-top:29px
  }
  .founder-story .founder-ending {
    font-size:1.125rem
  }
  .closing {
    padding-block:60px
  }
  .closing h2 {
    font-size:2.8rem
  }
  .closing-mark {
    width:280px;
    right:-70px;
    top:60px;
    opacity:.08
  }
  .closing p {
    font-size:1rem
  }
  .closing-disclosure {
    margin-top:29px
  }
  .footer-main {
    flex-wrap:wrap;
    gap:12px
  }
  .footer-main>img {
    width:124px;
    height:auto
  }
  .footer-links {
    gap:14px;
    white-space:nowrap
  }
  .footer-links .text-link {
    font-size:.875rem;
    gap:7px
  }
  .footer-main>p {
    font-size:.875rem;
    order:2;
    flex-basis:100%
  }
  .footer-bottom {
    flex-direction:column;
    gap:7px;
    font-size:.8125rem
  }
  .report-dialog {
    padding:32px 24px 27px;
    max-height:calc(100dvh - 32px);
    max-height:calc(100svh - 32px);
    border-radius:16px
  }
  .report-dialog h2 {
    font-size:2.2rem
  }
  .dialog-document {
    margin-bottom:20px
  }
  .request-benefits {
    gap:6px 9px;
    font-size:.75rem
  }
  .request-benefits span+span {
    padding-left:9px
  }
  .measurement-grid,.evidence-grid {
    grid-template-columns:1fr;
    gap:10px
  }
  .measurement-grid .measurement-lead {
    display:block
  }
  .measurement-grid .measurement-lead p {
    padding-top:0
  }
  .report-measurements h2,.report-evidence h2 {
    font-size:2.3rem
  }
  .insights-metrics {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
/* Below 480px two journal columns are narrower than the word "Communications"
   (179px at this size), which ran into its neighbour and off the right edge
   of the page; one name per line instead. */
@media(max-width:480px) {
  .science-journals>div {
    grid-template-columns:1fr;
    gap:10px
  }
}
@media(max-width:420px) {
  .footer-main>img {
    width:112px
  }
  .footer-links {
    gap:12px
  }
  .footer-links .text-link {
    font-size:.8125rem
  }
  .footer-links .icon {
    width:18px;
    height:18px
  }
  .hero-actions {
    width:100%;
    gap:9px
  }
  .hero-actions .button {
    font-size:.875rem;
    flex:1;
    gap:8px;
    white-space:nowrap;
    padding-inline:8px
  }
  .hero-actions .icon {
    width:18px;
    height:18px
  }
  .hero-art {
    min-height:480px
  }
  .hero-art blockquote {
    font-size:2.7rem
  }
  .hero-intro {
    font-size:1.0625rem
  }
  .pipeline {
    grid-template-columns:1fr;
    gap:27px
  }
  .pipeline-top {
    margin-bottom:14px
  }
  .pipeline p {
    font-size:1rem
  }
  .tool-chips {
    margin-top:15px
  }
  .report-showcase-sheet {
    padding:22px 18px
  }
  .report-sheet-top>span {
    font-size:.75rem
  }
  .report-sheet-top img {
    width:126px
  }
  .report-page-count {
    gap:18px
  }
  .report-page-count>span {
    font-size:.9375rem
  }
  .research-stats article {
    display:block
  }
  .research-stats h3 {
    margin-top:7px
  }
  .research-stats p {
    margin-top:9px
  }
  .learning-metrics {
    grid-template-columns:1fr;
    gap:17px
  }
  .learning-metrics>div {
    display:flex;
    align-items:center;
    gap:20px;
    border:0;
    padding:0
  }
  .learning-metrics strong {
    width:82px;
    flex-shrink:0
  }
  .learning-metrics span {
    margin:0
  }
  .closing-actions .button {
    font-size:.9375rem;
    padding-inline:13px
  }
  .mission h2,.section-title h2 {
    font-size:2.45rem
  }
  .header-github>span {
    display:none
  }
  .hero .eyebrow {
    font-size:.8125rem
  }
  .insights-metrics {
    grid-template-columns:1fr
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important
  }
}
/* Accommodate the free-report labels without crowding persistent actions. */
@media(min-width:761px) and (max-width:1100px) {
  .header {
    gap:14px
  }
  .header .brand img {
    width:151px
  }
  .header-actions .button {
    padding-inline:10px
  }
}
@media(max-width:760px) {
  .request-benefits {
    flex-wrap:nowrap;
    justify-content:center;
    gap:0;
    white-space:nowrap
  }
  .request-benefits span+span {
    margin-left:10px;
    padding-left:10px
  }
}
/* Keep both report expand controls together, separated by a single rule. */
.report-disclosures {
  grid-column:1/-1;
  margin-top:16px
}
.report-disclosures>.report-disclosure {
  margin-top:0
}
@media(max-width:760px) {
  .report-disclosures {
    margin-top:10px
  }
}
/* Keep portrait labels above the image treatment, with quiet contrast over marble. */
.hero-art>img {
  z-index:0
}
.hero-art:after {
  z-index:1;
  background:linear-gradient(180deg,rgba(5,29,22,.64) 0%,rgba(5,29,22,.28) 12%,transparent 30%),linear-gradient(0deg,#092b22f7 0%,#092b22b5 19%,#092b2220 53%,transparent 74%)
}
.hero-art .art-topline,.hero-art figcaption,.hero-art .art-bottomline {
  z-index:2
}
.hero-art .art-topline,.hero-art .art-bottomline {
  color:#d0ddbb;
  font-weight:550;
  text-shadow:0 1px 1px rgba(3,20,15,.85),0 0 4px rgba(3,20,15,.60),0 2px 10px rgba(3,20,15,.45)
}
/* Narrow phones (360px): "Get sample report" stays on one line in the bar. */
@media(max-width:370px) {
  .mobile-report-actions .button {
    font-size:.8125rem;
    gap:6px;
    padding-inline:6px
  }
}
/* The smallest phones (320px): the footer row still fits on one line, and
   the report bar drops its icons so both labels do too. */
@media(max-width:340px) {
  .footer-main>img {
    width:96px
  }
  .footer-links .text-link {
    font-size:.75rem;
    gap:6px
  }
  .mobile-report-actions .icon {
    display:none
  }
}
/* ── Institution logo band (home) and the research catalog page ─────────── */
/* Component display rules must never outrank the hidden attribute. */
[hidden] {
  display:none!important
}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0
}
/* The published research that the report is built on, named by institution.
   In the report section the whole band is one link down to the open-science
   section; there, the dark variant repeats the logos with no caption. */
.report-research-band {
  grid-column:1/-1;
  margin-top:6px;
  padding-top:30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:24px
}
.report-research-band>p {
  font-size:.8125rem;
  line-height:1.6;
  letter-spacing:.05em;
  color:#5e7358;
  text-align:center
}
.report-research-band:hover>p {
  color:#58735f;
  text-decoration:underline;
  text-underline-offset:4px
}
.report-research-band.is-dark {
  margin-top:0;
  padding-top:0;
  padding-bottom:34px;
  border-bottom:1px solid #385341
}
.report-research-logos {
  --logo-h:clamp(20px,2.05vw,30px);
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(16px,2.2vw,42px)
}
.report-research-logos img {
  flex:0 0 auto;
  width:auto;
  height:calc(var(--logo-h) * var(--k,1))
}
.report-research-logos .logo-harvard {
  --k:1
}
.report-research-logos .logo-nih {
  --k:.74
}
.report-research-logos .logo-stanford {
  --k:1
}
.report-research-logos .logo-mayo {
  --k:1.4
}
.report-research-logos .logo-mit {
  --k:.93
}
.report-research-logos .logo-cleveland {
  --k:.78
}
.report-research-logos .logo-oxford {
  --k:1.07
}
.report-research-logos .logo-broad {
  --k:1
}
@media(max-width:1100px) {
  .report-research-band {
    gap:22px
  }
  .report-research-logos {
    --logo-h:27px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    justify-items:center;
    gap:28px 18px
  }
}
@media(max-width:620px) {
  .report-research-logos {
    --logo-h:25px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px 16px
  }
}
/* The catalog page opens with the invitation, then the numbers. */
.research-intro {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:56px;
  align-items:start;
  padding-top:52px;
  padding-bottom:46px
}
.research-intro h1 {
  font-size:clamp(2.8rem,4.3vw,4.35rem);
  margin:26px 0 24px;
  line-height:1.1
}
.research-intro-copy>p {
  font-size:1rem;
  line-height:1.85;
  color:var(--muted);
  max-width:620px
}
.research-intro-copy>p+p {
  margin-top:17px
}
.research-intro-copy .research-lede {
  font:400 1.45rem/1.5 var(--serif);
  letter-spacing:-.02em;
  color:var(--ink);
  margin-bottom:20px
}
.research-intro-copy strong {
  font-weight:550;
  color:#365841
}
.research-stats-panel {
  padding:27px 30px 24px;
  background:#fffef8;
  border:1px solid #d9e1d0;
  border-radius:4px;
  box-shadow:8px 8px 0 #e5eadd,16px 16px 0 #eff1e7;
  margin-right:16px
}
.research-stats-top {
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
  font-size:.8125rem;
  letter-spacing:.07em;
  color:#657b59
}
.research-stat-lead {
  display:flex;
  align-items:center;
  gap:22px;
  padding:22px 0
}
.research-stat-lead strong {
  font:400 clamp(3.4rem,5vw,4.9rem)/1 var(--serif);
  letter-spacing:-.045em
}
.research-stat-lead span {
  font-size:1rem;
  line-height:1.6;
  color:var(--muted)
}
.research-stat-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px 22px;
  padding:21px 0;
  border-top:1px solid var(--line)
}
.research-stat-grid strong {
  display:block;
  font:400 2rem/1.15 var(--serif);
  letter-spacing:-.03em
}
.research-stat-grid span {
  display:block;
  font-size:.875rem;
  line-height:1.5;
  color:var(--muted);
  margin-top:7px
}
.research-stats-note {
  padding-top:16px;
  border-top:1px solid var(--line);
  font-size:.8125rem;
  line-height:1.6;
  color:#657b59
}
.research-guide {
  padding-bottom:54px
}
.research-guide-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px 32px
}
.research-guide-grid article {
  padding-top:19px;
  border-top:1px solid #abc198;
  min-width:0
}
.research-guide-grid h3 {
  font-size:1.0625rem;
  margin-bottom:11px
}
.research-guide-grid p {
  font-size:.9375rem;
  line-height:1.75;
  color:var(--muted)
}
/* Closes the catalog section, below the paging control. */
.research-caveat {
  margin-top:42px;
  padding:19px 22px;
  background:#edf2e6;
  border:1px solid #d9e4cd;
  border-radius:10px;
  font-size:.875rem;
  line-height:1.8;
  color:#577149
}
/* Search, filters, and the table itself. */
.research-catalog {
  padding-bottom:78px
}
.research-catalog-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  flex-wrap:wrap;
  padding-bottom:22px;
  border-bottom:1px solid var(--line)
}
.research-catalog-head h2 {
  font-size:clamp(2rem,2.9vw,2.7rem);
  line-height:1.15
}
.research-catalog-head p {
  font-size:.9375rem;
  color:var(--muted);
  max-width:430px
}
.research-controls {
  display:grid;
  gap:18px;
  padding:24px 0 6px
}
.research-search label,.research-field label {
  display:block;
  font-size:.8125rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#6b8064;
  margin-bottom:7px
}
.research-search-field {
  display:flex;
  align-items:center;
  gap:11px;
  padding:0 14px;
  background:#fffef8;
  border:1px solid #a6b79b;
  border-radius:8px
}
.research-search-field:focus-within {
  border-color:#719565;
  box-shadow:0 0 0 3px #7195651f
}
.research-search-field .icon-search {
  color:#6b8064;
  flex:0 0 auto
}
.research-search-field input {
  flex:1;
  min-width:0;
  min-height:52px;
  border:0;
  background:transparent;
  color:var(--ink);
  font-size:1rem;
  appearance:none;
  -webkit-appearance:none
}
.research-search-field input:focus {
  outline:0
}
.research-search-field input::-webkit-search-cancel-button {
  display:none
}
.research-clear {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:transparent;
  color:#58735f;
  flex:0 0 auto
}
.research-clear:hover {
  background:#e9eedf
}
.research-selects {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px
}
.research-field select {
  width:100%;
  min-height:48px;
  padding:11px 38px 11px 13px;
  font-size:.9375rem;
  color:var(--ink);
  background:#fffef8 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235f7c68' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center;
  border:1px solid #bbc9b1;
  border-radius:8px;
  appearance:none;
  -webkit-appearance:none;
  text-overflow:ellipsis
}
.research-field select:hover {
  border-color:#a6b79b
}
.research-status {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  padding:24px 0 14px
}
.research-status p {
  font-size:.9375rem;
  color:var(--muted)
}
/* No scroll container here: the sticky header needs the page as its scrollport. */
.research-table-wrap {
  overflow:visible
}
.research-table {
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  text-align:left
}
.research-table thead th {
  position:sticky;
  top:calc(var(--header-height) - 1px);
  z-index:2;
  padding:13px 16px 12px 0;
  background:var(--paper);
  border-bottom:1px solid #abc198;
  font:550 .8125rem/1.5 var(--heading);
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#58735f;
  white-space:nowrap
}
.research-table .col-name {
  width:21.5%
}
.research-table .col-what {
  width:20.5%
}
.research-table .col-how {
  width:22.5%
}
.research-table .col-inst {
  width:14%
}
.research-table .col-country {
  width:11%
}
.research-table .col-link {
  width:10%
}
.research-table td {
  padding:19px 16px 19px 0;
  border-bottom:1px solid var(--line);
  font-size:.9375rem;
  line-height:1.7;
  color:var(--muted);
  vertical-align:top;
  overflow-wrap:break-word
}
.research-row.is-open>td {
  border-bottom-color:transparent
}
.research-row:hover>td {
  background:#f1f3e9
}
.research-name {
  font:550 .9375rem/1.5 var(--heading);
  letter-spacing:-.015em;
  color:var(--ink)
}
.research-meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 7px;
  margin-top:7px;
  font-size:.8125rem;
  line-height:1.5;
  color:#6f8467
}
.research-sep {
  color:#a7b79d
}
.col-inst .research-sep,.col-country .research-sep {
  margin:0 4px
}
.research-rest {
  display:block;
  margin-top:4px;
  font-size:.8125rem;
  color:#5e7358
}
.research-flag {
  padding:1px 7px;
  border:1px solid #cdb98f;
  border-radius:20px;
  background:#f4eddc;
  font-size:.75rem;
  letter-spacing:.02em;
  color:#7d6633
}
.research-info {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:11px;
  padding:0;
  background:transparent;
  font-size:.8125rem;
  color:#5d7c4c
}
.research-info:hover {
  color:#3c5c2b
}
.research-info-mark {
  display:grid;
  place-items:center;
  width:19px;
  height:19px;
  border:1px solid #b6c8a9;
  border-radius:50%;
  font:650 .6875rem/1 var(--heading);
  font-style:italic
}
.research-info:hover .research-info-mark {
  background:#e7eddc
}
.research-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:.9375rem;
  font-weight:550;
  color:#34563f
}
.research-link:hover {
  color:#618449;
  text-decoration:underline;
  text-underline-offset:4px
}
.research-link-host {
  display:block;
  margin-top:5px;
  font-size:.8125rem;
  color:#5e7358;
  overflow-wrap:anywhere
}
.research-detail>td {
  padding:0 0 22px;
  border-bottom:1px solid var(--line)
}
.research-detail-meta {
  display:flex;
  flex-wrap:wrap;
  gap:9px 10px;
  margin-bottom:16px
}
.research-detail-meta span {
  padding:7px 11px;
  background:#edf2e6;
  border:1px solid #d9e4cd;
  border-radius:6px;
  font-size:.8125rem;
  line-height:1.5;
  color:#577149
}
.research-detail-meta b {
  display:block;
  font-weight:550;
  font-size:.75rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#6b8064
}
.research-detail-block {
  margin-bottom:15px;
  max-width:1000px
}
.research-detail-block h4 {
  margin:0 0 9px;
  font:550 .875rem/1.5 var(--heading);
  letter-spacing:.02em;
  color:var(--ink)
}
.research-detail-block ul {
  margin:0;
  padding-left:19px
}
.research-detail-block li,.research-detail-block p {
  font-size:.9375rem;
  line-height:1.8;
  color:var(--muted)
}
.research-detail-block li+li {
  margin-top:7px
}
.research-detail-block b {
  font-weight:550;
  color:#456037
}
.research-detail-block a {
  color:#3f6330;
  text-decoration:underline;
  text-decoration-color:#8fa782;
  text-underline-offset:3px;
  overflow-wrap:anywhere
}
.research-detail-block a:hover {
  color:#234f39
}
.research-detail-basis {
  font-size:.875rem;
  line-height:1.75;
  color:#6f8467;
  max-width:1000px;
  margin-bottom:8px
}
.research-detail-links {
  display:flex;
  flex-wrap:wrap;
  gap:9px 10px;
  margin-top:13px
}
.research-detail-links a {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 12px;
  border:1px solid #cdd9c1;
  border-radius:20px;
  background:#f1f5ea;
  font-size:.8125rem;
  color:#456933
}
.research-detail-links a:hover {
  background:#e7eddc
}
.research-empty {
  padding:52px 0 20px;
  text-align:center
}
.research-empty h3 {
  font:400 1.75rem/1.3 var(--serif);
  letter-spacing:-.02em;
  color:var(--ink);
  margin-bottom:12px
}
.research-empty p {
  font-size:1rem;
  color:var(--muted)
}
.research-empty .text-link {
  text-decoration:underline;
  text-underline-offset:4px
}
.research-more {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:13px;
  padding-top:34px
}
.research-more-note {
  font-size:.875rem;
  color:var(--muted)
}
.research-closing {
  padding-block:74px
}
.research-closing h2 {
  font-size:clamp(2.5rem,4vw,3.7rem);
  margin-top:24px;
  line-height:1.12
}
.research-closing p {
  font-size:1.0625rem;
  line-height:1.8;
  color:#bacfa9;
  margin-top:22px;
  max-width:720px
}
.research-closing .closing-actions {
  display:flex;
  gap:13px;
  flex-wrap:wrap;
  margin-top:28px
}
.research-closing .button-outline {
  color:#dcebbb;
  border-color:#738568
}
.research-closing .button-outline:hover {
  background:#ffffff0a
}
@media(max-width:1250px) {
  .research-intro {
    gap:40px
  }
  .research-guide-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 30px
  }
  .research-selects {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
/* Below the table's comfortable width, every record becomes its own card. */
@media(max-width:1100px) {
  .research-intro {
    grid-template-columns:1fr;
    gap:34px;
    padding-top:34px
  }
  .research-stats-panel {
    max-width:560px
  }
  .research-table,.research-table tbody,.research-table tr,.research-table td {
    display:block
  }
  .research-table thead {
    display:none
  }
  .research-table {
    table-layout:auto
  }
  .research-row {
    padding:22px 24px;
    margin-bottom:14px;
    background:#fffef8;
    border:1px solid #dae2d1;
    border-radius:12px
  }
  .research-row>td {
    padding:0;
    border:0;
    width:auto!important
  }
  .research-row:hover>td {
    background:transparent
  }
  .research-row>td+td {
    margin-top:15px
  }
  .research-row>td:empty {
    display:none
  }
  .research-row>td:not(.col-name):before {
    content:attr(data-label);
    display:block;
    margin-bottom:5px;
    font:550 .75rem/1.5 var(--heading);
    letter-spacing:.05em;
    text-transform:uppercase;
    color:#5e7358
  }
  .research-name {
    font-size:1.0625rem;
    line-height:1.45
  }
  .research-row.is-open {
    margin-bottom:0;
    border-bottom-color:transparent;
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
    padding-bottom:16px
  }
  .research-detail {
    margin-bottom:14px
  }
  .research-detail>td {
    padding:0 24px 22px;
    background:#fffef8;
    border:1px solid #dae2d1;
    border-top:0;
    border-radius:0 0 12px 12px
  }
  .research-link-host {
    display:inline;
    margin-left:8px
  }
}
@media(max-width:760px) {
  .research-intro {
    padding-top:22px;
    padding-bottom:34px
  }
  .research-intro h1 {
    font-size:2.7rem;
    margin:20px 0 20px
  }
  .research-intro-copy .research-lede {
    font-size:1.25rem
  }
  .research-stats-panel {
    padding:22px 20px 20px;
    margin-right:12px;
    box-shadow:6px 6px 0 #e5eadd,12px 12px 0 #eff1e7
  }
  .research-stat-lead {
    gap:16px;
    padding:18px 0
  }
  .research-stat-grid {
    gap:16px 18px
  }
  .research-stat-grid strong {
    font-size:1.75rem
  }
  .research-guide {
    padding-bottom:40px
  }
  .research-guide-grid {
    grid-template-columns:1fr;
    gap:18px
  }
  .research-caveat {
    margin-top:30px;
    padding:17px 18px;
    font-size:.875rem
  }
  .research-catalog {
    padding-bottom:58px
  }
  .research-catalog-head {
    display:block
  }
  .research-catalog-head p {
    margin-top:12px;
    max-width:none
  }
  .research-selects {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
  }
  .research-status {
    padding:20px 0 12px
  }
  .research-row {
    padding:20px
  }
  .research-detail>td {
    padding:0 20px 20px
  }
  .research-detail-meta span {
    padding:6px 10px
  }
  .research-closing {
    padding-block:56px
  }
  .research-closing h2 {
    font-size:2.5rem
  }
  .research-closing p {
    font-size:1rem
  }
  .research-more {
    padding-top:26px
  }
}
@media(max-width:480px) {
  .research-selects {
    grid-template-columns:1fr
  }
  .research-stat-grid {
    grid-template-columns:1fr
  }
}
