/* Scoped research entry; shared light/dark roles and source labels are retained. */
html body.layout-home #main .layout-home-first { padding-block: var(--space-12) var(--space-6); }
html body.layout-home #main #home-title { max-inline-size: 27ch; font-size: clamp(34px, 5vw, 60px); line-height: 1.08; letter-spacing: -.04em; margin-block-end: var(--space-4); }
html body.layout-home #main .home-lede { max-inline-size: 72ch; color: var(--text-2); margin-block-end: var(--space-6); }
html body.layout-home #main .home-research-kicker { margin: 0 0 var(--space-3); color: var(--text-2); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
html body.layout-home #main .home-layout-controls { max-inline-size: 780px; margin-block-end: var(--space-2); }
html body.layout-home #main .home-layout-search { display: flex; align-items: stretch; gap: var(--space-2); }
html body.layout-home #main .home-layout-search input { flex: 1; inline-size: 100%; min-inline-size: 0; border-radius: var(--radius-card); background: var(--surface) !important; color: var(--text) !important; }
html body.layout-home #main .home-layout-search input::placeholder { color: var(--text-2); opacity: 1; }
html body.layout-home #main .home-research-search-button { flex: none; min-block-size: 56px; padding: var(--space-2) var(--space-6); border: 1px solid var(--button-bg); border-radius: var(--radius-card); background: var(--button-bg); color: var(--button-text); font: inherit; font-weight: 600; cursor: pointer; }
html body.layout-home #main .home-research-access { margin: 0 0 var(--space-6); color: var(--text-2); font-size: 14px; }
html body.layout-home #main .home-research-entries { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
html body.layout-home #main .home-research-entries > a { display: grid; align-content: start; gap: var(--space-2); min-inline-size: 0; padding: var(--space-6); border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); color: var(--text); text-decoration: none !important; }
html body.layout-home #main .home-research-entries > a:hover { border-color: var(--accent); }
html body.layout-home #main .home-research-entries strong { font-size: 19px; line-height: 1.4; }
html body.layout-home #main .home-research-entries > a > span:not(.home-entry-action) { color: var(--text-2); line-height: 1.6; }
html body.layout-home #main .home-entry-number { font-size: 12px; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
html body.layout-home #main .home-entry-action { margin-block-start: var(--space-2); color: var(--accent); font-weight: 600; }
html body.layout-home #main .home-research-example { margin-block: var(--space-6) var(--space-12); padding: var(--space-6); border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); }
html body.layout-home #main .home-example-intro h2 { margin: 0 0 var(--space-2); max-inline-size: 32ch; font-size: clamp(24px, 3vw, 36px); line-height: 1.2; letter-spacing: -.025em; }
html body.layout-home #main .home-example-intro > p:last-child { margin: 0 0 var(--space-6); color: var(--text-2); }
html body.layout-home #main .home-research-example .change-study-scope > h2 { margin: 0 0 var(--space-3); font-size: 18px; }
html body.layout-home #main .home-research-example :is(.change-scope-basis, .change-scope-boundary, .change-scope-note) { color: var(--text-2); font-size: 14px; line-height: 1.7; }
html body.layout-home #main .home-research-example .change-scope-source { display: inline-block; font-size: 13px; font-weight: 400; }
html body.layout-home #main .home-research-example dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
html body.layout-home #main .home-research-example dl > div { min-inline-size: 0; }
html body.layout-home #main .home-research-example dt { color: var(--text-2); font-size: 13px; }
html body.layout-home #main .home-research-example dd { margin: var(--space-1) 0 0; font-weight: 600; overflow-wrap: anywhere; }
html body.layout-home #main .home-example-statements { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-block: var(--space-6); }
html body.layout-home #main .home-example-statement { min-inline-size: 0; border-block-start: 1px solid var(--border); padding-block-start: var(--space-4); }
html body.layout-home #main .home-example-statement h3 { margin: 0 0 var(--space-2); color: var(--text-2); font-size: 14px; font-weight: 600; }
html body.layout-home #main .home-example-statement blockquote { margin: 0; padding: 0; border: 0; font-size: clamp(21px, 2.5vw, 28px); line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
html body.layout-home #main .home-example-statement > p { margin: var(--space-2) 0 0; font-size: 14px; }
html body.layout-home #main .home-example-statement a { display: inline-flex; align-items: center; min-block-size: 44px; flex-wrap: wrap; gap: var(--space-1); }
html body.layout-home #main .home-example-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2) var(--space-4); padding-block-start: var(--space-4); border-block-start: 1px solid var(--border); }
html body.layout-home #main .home-example-footer > p { margin: 0; color: var(--text-2); font-size: 14px; }
html body.layout-home #main .home-example-open { display: inline-flex; align-items: center; min-block-size: 44px; font-weight: 600; }
html body.layout-home #main .home-example-next { margin-block-start: var(--space-3); }
html body.layout-home #main .home-example-next > a { display: inline-flex; align-items: center; min-block-size: 44px; font-weight: 600; }
html body.layout-home #main .home-example-next > p { margin: var(--space-1) 0 0; color: var(--text-2); font-size: 14px; overflow-wrap: anywhere; }
html body.layout-home #main .home-research-calendar { margin-block: var(--space-6); }
html body.layout-home #main .home-research-direction { margin-block: var(--space-12); padding-block-start: var(--space-6); border-block-start: 1px solid var(--border); }
html body.layout-home #main .home-research-direction > h2 { margin: 0 0 var(--space-2); font-size: 20px; }
html body.layout-home #main .home-research-direction > p { margin: 0; max-inline-size: 70ch; color: var(--text-2); }
html body.layout-home #main :is(.home-research-entries a, .home-example-open, .home-research-search-button):focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (max-width: 767px) {
  html body.layout-home #main .layout-home-first { padding-block: var(--space-6); }
  html body.layout-home #main #home-title { max-inline-size: 21ch; font-size: clamp(32px, 8.5vw, 42px); }
  html body.layout-home #main .home-layout-search input { font-size: 16px; }
  html body.layout-home #main .home-research-search-button { padding-inline: var(--space-4); }
  html body.layout-home #main .home-research-entries { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  html body.layout-home #main .home-research-entries > a { padding: var(--space-4); gap: var(--space-1); }
  html body.layout-home #main .home-entry-number { display: none; }
  html body.layout-home #main .home-entry-action { margin-block-start: var(--space-1); }
  html body.layout-home #main .home-research-example { padding: var(--space-4); margin-block: var(--space-4) var(--space-6); }
  html body.layout-home #main .home-research-example dl { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  html body.layout-home #main .home-example-statements { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
}
@media (max-width: 480px) {
  html body.layout-home #main .home-layout-search { flex-direction: column; }
}
/* Mobile source and record links remain full text and have room to tap. */
@media (max-width: 767px) {
  html body.layout-home #main a:not(.sr-only) { display: inline-flex; align-items: center; min-inline-size: 44px; min-block-size: 44px; max-inline-size: 100%; white-space: normal; overflow-wrap: anywhere; vertical-align: middle; }
  html body.layout-home #main .home-research-entries > a { display: grid; }
  html body.layout-home #main button.term-help { display: inline-flex; align-items: center; justify-content: center; min-inline-size: 44px; min-block-size: 44px; }
  html body.layout-home #main :is(summary, label:has(input:is([type="checkbox"], [type="radio"]))) { min-inline-size: 44px; min-block-size: 44px; }
}
