/* Homepage category index: typography, proportion and a single rule between links. */
.home-main .category-merch { padding-block: 40px; background: #071917; color: #f6f2e9; scroll-margin-top: 110px; }
#category-editorial-title { scroll-margin-top: 150px; }
.research-category-index { display: grid; grid-template-columns: minmax(0, .35fr) minmax(0, .65fr); gap: 40px; align-items: start; }
.research-category-index__intro { align-self: stretch; display: flex; flex-direction: column; justify-content: center; text-align: left; transform: translateY(-8px); }
.research-category-index__eyebrow { display: none; }
.home-main .research-category-index__intro h2 { margin: 0; max-width: 12ch; color: #f7faf8; font: 700 clamp(48px, 3.65vw, 54px)/1.03 var(--font-display, var(--font-body)); letter-spacing: -.045em; text-wrap: balance; }
.research-category-index__intro h2 span { display: block; }
.home-main .category-merch a { color: inherit; text-decoration: none; }
.research-category-index__list { min-width: 0; }
.research-category-index__row { display: grid; grid-template-columns: minmax(0,1fr) auto 20px; align-items: center; gap: 18px; min-height: 80px; padding-block: 12px; }
.research-category-index__row + .research-category-index__row { border-top: 1px solid rgba(196,216,203,.13); transition: border-color 180ms ease; }
.research-category-index__name { color: #e7ece3; font: 500 clamp(26px, 1.85vw, 29px)/1.2 var(--font-display, var(--font-body)); letter-spacing: -.025em; transition: color 180ms ease; }
.research-category-index__count { color: #9fb3a8; font: 400 12px/1.4 var(--font-body); white-space: nowrap; transition: color 180ms ease; }
.research-category-index__arrow { color: #b9cbc0; font-size: 23px; line-height: 1; transition: transform 180ms ease, color 180ms ease; }
.home-main .category-merch a:focus-visible { outline: 2px solid #c6dacb; outline-offset: 5px; }
.research-category-index__row:focus-visible .research-category-index__name, .research-category-index__row:focus-visible .research-category-index__count { color: #fffdf3; }
.research-category-index__row:focus-visible .research-category-index__arrow { transform: translateX(4px); }
@media (min-width: 1101px) {
 .research-category-index { grid-template-columns: minmax(0, .42fr) minmax(0, .58fr); gap: 72px; }
 .research-category-index__intro { transform: translate(-32px, -8px); }
}
@media (min-width: 1350px) {
 .research-category-index__intro { transform: translate(-52px, -8px); }
}
@media (hover: hover) {
 .research-category-index__row:hover .research-category-index__name, .research-category-index__row:hover .research-category-index__count { color: #fffdf3; }
 .research-category-index__row:hover { border-top-color: rgba(196,216,203,.22); }
 .research-category-index__row:hover .research-category-index__arrow { transform: translateX(4px); }
}
@media (min-width: 801px) and (max-width: 1100px) {
 .research-category-index { gap: 32px; }
 .research-category-index__row { gap: 14px; }
 .research-category-index__name { font-size: 25px; }
}
@media (max-width: 800px) {
 .home-main .category-merch { padding-block: 28px; }
 .research-category-index { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .research-category-index__intro { align-self: start; display: block; padding: 0; text-align: left; transform: none; }
 .home-main .research-category-index__intro h2 { max-width: 15ch; margin-inline: 0; font-size: 38px; }
 .research-category-index__row { min-height: 70px; padding-block: 10px; }
}
@media (max-width: 480px) {
 .home-main .category-merch { padding-block: 24px; }
 .research-category-index { gap: 28px; }
 .home-main .research-category-index__intro h2 { max-width: 14ch; font-size: 36px; }
 .research-category-index__row { grid-template-columns: minmax(0,1fr) 20px; grid-template-rows: auto auto; gap: 5px 20px; min-height: 68px; padding-block: 10px; }
 .research-category-index__name { font-size: 22px; grid-column: 1; }
 .research-category-index__count { grid-column: 1; grid-row: 2; }
 .research-category-index__arrow { grid-column: 2; grid-row: 2; justify-self: end; }
}
@media (prefers-reduced-motion: reduce) {
 .research-category-index__row, .research-category-index__name, .research-category-index__count, .research-category-index__arrow { transition: none; transform: none !important; }
}
/* One repeated DNA field across the shared green section. */
.home-main .category-merch { position: relative; isolation: isolate; overflow: hidden; }
.research-category-index { position: relative; z-index: 1; }
.research-category-index__media { position: absolute; inset: 0; display: flex; justify-content: center; gap: var(--dna-strand-gap, 32px); overflow: hidden; pointer-events: none; }
/* Identical foreground crops, without per-strand background panels. */
.research-category-index__primary,
.research-category-index__depth { position: relative; flex: 0 0 160px; width: 160px; height: 100%; overflow: hidden; mix-blend-mode: screen; mask-image: linear-gradient(90deg, transparent, #000 24%, #000 76%, transparent); }
/* Screen removes the source's dark floor; the shared surface stays continuous.
   The subtle uniform opacity keeps category text readable across the field. */
.research-category-index__media img,
.research-category-index__video { position: absolute; top: 0; left: 50%; width: auto; max-width: none; height: 100%; transform: translateX(-19%); filter: contrast(1.4) brightness(.9); opacity: .20; }
.research-category-index__video { opacity: 0; transition: opacity 300ms ease; }
.research-category-index__media > [hidden] { display: none; }
/* The left strands frame the headline. The strands beneath category rows recede
   progressively, retaining the scientific texture without a repeated backdrop. */
.research-category-index__primary .research-category-index__poster,
.research-category-index__primary .research-category-index__video { opacity: .30; }
.research-category-index__depth:nth-child(2) .research-category-index__poster,
.research-category-index__depth:nth-child(2) .research-category-index__video { opacity: .24; }
.research-category-index__depth:nth-child(3) .research-category-index__poster,
.research-category-index__depth:nth-child(3) .research-category-index__video { opacity: .18; }
.research-category-index__depth:nth-child(4) .research-category-index__poster,
.research-category-index__depth:nth-child(4) .research-category-index__video { opacity: .11; filter: contrast(1.4) brightness(.82); }
.research-category-index__depth:nth-child(n+5) .research-category-index__poster,
.research-category-index__depth:nth-child(n+5) .research-category-index__video { opacity: .07; filter: contrast(1.4) brightness(.76); }
@media (max-width: 800px) {
 .research-category-index__media { display: block; }
 .research-category-index__primary,
 .research-category-index__depth { position: absolute; width: min(48vw, 190px); height: 100%; overflow: visible; }
 .research-category-index__primary { inset: 0 auto 0 4%; }
 .research-category-index__depth:nth-child(2) { inset: 0 2% 0 auto; }
 .research-category-index__media > :nth-child(n+3) { display: none; }
 .research-category-index__media img, .research-category-index__video { top: 0; height: 100%; margin-top: 0; }
 .research-category-index__media > .research-category-index__primary .research-category-index__poster,
 .research-category-index__media > .research-category-index__primary .research-category-index__video,
 .research-category-index__media > .research-category-index__depth .research-category-index__poster,
 .research-category-index__media > .research-category-index__depth .research-category-index__video { opacity: .20; filter: contrast(1.4) brightness(.9); }
 .research-category-index__primary .research-category-index__poster,
 .research-category-index__primary .research-category-index__video { opacity: .18; mask-image: linear-gradient(to bottom, #000 0%, #000 52%, transparent 88%); }
 .research-category-index__depth:nth-child(2) .research-category-index__poster,
 .research-category-index__depth:nth-child(2) .research-category-index__video { opacity: .12; mask-image: linear-gradient(to bottom, transparent 8%, #000 42%, #000 100%); }
}
@media (min-width: 481px) and (max-width: 800px) {
 .research-category-index__primary, .research-category-index__depth { width: min(38vw, 220px); }
}
@media (prefers-reduced-motion: reduce) {
 .research-category-index__video { display: none; transition: none; }
}
/* Each strand replaces its own poster only after actual playback begins. */
.research-category-index__media > :not(.is-playing) .research-category-index__video { opacity: 0; }
.research-category-index__media > .is-playing .research-category-index__poster { opacity: 0; }
