/* Research resources only. Existing portal pages and homepage keep their presentation. */
.research-page .research-main { max-width: 1200px; padding: 28px 40px 72px; }
.research-page .research-skip { position: absolute; left: -10000px; top: 8px; z-index: 20; background: white; padding: 12px; }
.research-page .research-skip:focus { left: 12px; }
.research-page .resource-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 12px 0; border-bottom: 1px solid #c8dcec; font-size: 14px; }
.research-page .resource-nav a { color: #07529a; text-decoration: none; font-weight: 650; }
.research-page .resource-nav a:hover { text-decoration: underline; }
.research-page .research-heading { padding: 46px 0 30px; max-width: 900px; }
.research-page h1 { font-size: clamp(30px, 3.4vw, 49px); line-height: 1.16; letter-spacing: -.025em; margin: 12px 0 20px; overflow-wrap: anywhere; }
.research-page h2 { font-size: 25px; line-height: 1.3; letter-spacing: -.015em; margin: 0 0 16px; }
.research-page h3 { font-size: 14px; margin: 24px 0 10px; }
.research-page .research-intro { font-size: 19px; max-width: 780px; color: #475d70; }
.research-page .research-callout { border-left: 3px solid #0878e8; padding: 20px 24px; background: #eef6fc; color: #203b52; margin: 0 0 32px; }
.research-page .demo-grid, .research-page .method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.research-page .demo-card, .research-page .method-card { border: 1px solid #b5d1e6; background: #fff; padding: 30px; min-width: 0; }
.research-page .demo-card { display: flex; flex-direction: column; align-items: flex-start; }
.research-page .research-index { color: #076bd0; font-size: 13px; font-weight: 750; display: block; margin-bottom: 20px; }
.research-page .demo-state { color: #07529a; font-size: 13px; font-weight: 700; margin: 4px 0 20px; }
.research-page .demo-card p { max-width: 58ch; }
.research-page .demo-organism { font-size: 20px; margin-top: 0; }
.research-page .reference-list { padding-left: 20px; font-size: 14px; }
.research-page .reference-list li { margin: 7px 0; }
.research-page .demo-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 25px 0 18px; }
.research-page .demo-actions .button { font-size: 14px; padding: 12px 16px; }
.research-page .method-link { display: inline-block; margin-top: auto; padding-top: 24px; color: #07529a; font-size: 15px; font-weight: 650; }
.research-page .checksum { font-size: 13px; width: 100%; color: #41586b; }
.research-page .checksum summary { cursor: pointer; padding: 6px 0; }
.research-page code { display: block; white-space: normal; overflow-wrap: anywhere; padding: 12px; background: #f0f5f9; font-size: 12px; margin-top: 8px; }
.research-page .method-section { border-top: 1px solid #c8dcec; padding-top: 30px; margin-top: 40px; max-width: 900px; scroll-margin-top: 24px; }
.research-page .method-section p { max-width: 80ch; margin: 14px 0; }
.research-page .table-scroll { overflow-x: auto; width: 100%; margin-top: 24px; }
.research-page table { border-collapse: collapse; min-width: 570px; width: 100%; font-size: 15px; }
.research-page caption { text-align: left; font-size: 13px; color: #475d70; padding-bottom: 12px; }
.research-page th, .research-page td { padding: 13px 16px; border-bottom: 1px solid #d5e2ec; text-align: left; vertical-align: top; }
.research-page thead th { background: #eaf3fb; color: #124e7d; }
.research-page blockquote { margin: 20px 0; border-left: 3px solid #0878e8; padding: 18px 24px; background: #eef6fc; overflow-wrap: anywhere; }
.research-page .software-links { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 0; list-style: none; }
.research-page .research-note { margin: 48px 0 0; color: #475d70; font-size: 14px; border-left: 3px solid #0878e8; padding-left: 15px; }
.research-page .footer-links .resource-nav { border: none; padding: 0; margin-bottom: 14px; }
.research-page a:focus-visible, .research-page summary:focus-visible, .research-page .table-scroll:focus-visible { outline: 3px solid #e87921; outline-offset: 4px; }
.research-page [hidden] { display: none !important; }
@media (max-width: 760px) {
  .research-page .research-main { padding: 22px 22px 48px; }
  .research-page .research-heading { padding-top: 30px; }
  .research-page .demo-grid, .research-page .method-grid { grid-template-columns: 1fr; }
  .research-page .demo-card, .research-page .method-card { padding: 24px; }
  .research-page .research-intro { font-size: 17px; }
  .research-page h2 { font-size: 23px; }
}
@media (max-width: 420px) {
  .research-page .research-main { padding-left: 18px; padding-right: 18px; }
  .research-page .demo-card, .research-page .method-card { padding: 20px; }
  .research-page .resource-nav { gap: 10px 18px; font-size: 13px; }
}
@media print {
  .research-page { background: white; color: black; }
  .research-page .site-header, .research-page .site-footer, .research-page .resource-nav, .research-page .research-skip { display: none; }
  .research-page .research-main { max-width: none; padding: 0; }
  .research-page .research-heading { padding-top: 0; }
  .research-page .method-section { max-width: none; break-inside: avoid; }
  .research-page .table-scroll { overflow: visible; }
  .research-page table { min-width: 0; }
  .research-page a { color: black; }
}
