.research-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #c8c4be; border: 1px solid #c8c4be; }
.research-category { min-width: 0; min-height: 290px; padding: clamp(28px, 3vw, 44px); display: flex; flex-direction: column; background: var(--paper); transition: background .2s ease; }
.research-category:hover { background: #e8ede8; }
.research-category > span, .source-type { color: var(--garnet); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.research-category h2 { margin: 32px 0 20px; font: 500 clamp(32px, 3vw, 46px)/1.15 var(--display); letter-spacing: -.03em; overflow-wrap: anywhere; }
.research-category p { margin: 0 0 28px; color: var(--slate); font-size: 16px; line-height: 1.65; }
.research-category strong { margin-top: auto; color: var(--garnet); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.research-meta { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px; }
.research-meta span { padding: 8px 11px; color: var(--slate); border: 1px solid #c7c2bc; font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.source-list { border-top: 1px solid #c8c4be; }
.source-row { padding: clamp(28px, 3vw, 42px) 0; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.8fr); gap: clamp(28px, 4vw, 64px); align-items: start; border-bottom: 1px solid #c8c4be; }
.source-heading, .source-details, .source-cell { min-width: 0; }
.source-heading h2 { margin: 14px 0 0; font: 500 clamp(26px, 2.2vw, 34px)/1.2 var(--display); letter-spacing: -.025em; overflow-wrap: anywhere; }
.source-heading h2 a { display: inline; }
.source-heading h2 a:hover { color: var(--garnet); }
.source-arrow { font: 500 20px/1 var(--sans); white-space: nowrap; }
.source-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.source-cell strong { display: block; margin-bottom: 12px; color: var(--ink); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.source-cell p { margin: 0; color: var(--slate); font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.signal-chips { margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 7px; list-style: none; }
.signal-chips li { padding: 6px 9px; color: var(--slate); background: var(--paper-deep); font-size: 10px; font-weight: 700; line-height: 1.4; letter-spacing: .04em; text-transform: uppercase; }
.research-note { max-width: 920px; }
.research-note h2 { margin: 22px 0; font: 500 clamp(32px, 3.5vw, 52px)/1.12 var(--display); letter-spacing: -.03em; }
.research-note p { color: var(--slate); font-size: 17px; line-height: 1.7; }
.source-list-band { padding-top: 40px; padding-bottom: 56px; }
@media (max-width: 1000px) {
  .source-row { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .source-heading h2 { max-width: 100%; font-size: 30px; }
}
@media (max-width: 700px) {
  .research-directory, .source-details { grid-template-columns: minmax(0, 1fr); }
  .research-category { min-height: 0; }
  .source-details { gap: 20px; }
  .source-heading h2 { font-size: 28px; }
}
