#research{padding-left:4vw;padding-right:4vw}
#research .people{--rail-gap:24px;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 96px)/4.5);gap:var(--rail-gap);max-width:none;margin:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;padding:6px 0 8px;cursor:grab}
#research .person{position:relative;display:block;min-width:0;min-height:0;aspect-ratio:3/4;max-height:none;scroll-snap-align:start;margin:0;border-radius:22px;overflow:hidden;isolation:isolate;background:#e5e4e0;color:#131313;cursor:default;transform:none}
#research .person .ph3,#research .person:hover .ph3{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;filter:none;transform:none;transition:none}
#research .person .lbl{position:absolute;left:12px;top:12px;right:auto;padding:8px 15px;max-width:calc(100% - 40px);border-radius:999px;background:rgba(255,255,255,.94);border:1px solid #ffffff9c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#131313;font-size:13px;font-weight:600;line-height:1.3;text-shadow:none;opacity:1;z-index:2}
#research .person .pcard{position:absolute;left:10px;right:10px;bottom:10px;box-sizing:border-box;padding:16px;border-radius:14px;max-height:calc(100% - 62px);overflow:auto;background:rgba(255,255,255,.92);border:1px solid #ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 22px #0000000a;color:#131313;font-size:clamp(14px,1vw,17px);font-weight:400;line-height:1.55;transform:none;opacity:1;visibility:visible;z-index:1}
#research .research-card-title{display:block;font-size:18px;font-weight:650;margin-bottom:9px;letter-spacing:-.02em}
#research .pcard p{margin:0}
#research .research-sample{display:block;margin-top:18px;color:#53615b;font-size:10px;letter-spacing:.1em;font-weight:600}
#research .research-preview-note{font-size:12px;color:#7b7b76;margin:24px auto 0;max-width:1800px}
#research .person:focus-visible{outline:3px solid #3983ff;outline-offset:5px}
@media(hover:hover) and (pointer:fine){
 #research .person .pcard{opacity:0;visibility:hidden;transform:translateY(9px);transition:opacity 180ms ease,transform 180ms ease,visibility 180ms}
 #research .person:hover .pcard,#research .person:focus-visible .pcard{opacity:1;visibility:visible;transform:none}
}
@media(max-width:999px){#research .people{--rail-gap:20px;grid-auto-columns:calc((100% - 40px)/2.5)}}
@media(max-width:620px){#research .people{--rail-gap:16px;grid-auto-columns:calc((100% - 16px)/1.2)}#research .person .pcard{left:12px;right:12px;bottom:12px;padding:16px}}
@media(prefers-reduced-motion:reduce){#research .person .pcard{transition:none;transform:none}}

#research .people::-webkit-scrollbar{display:none}
#research .people.is-dragging{scroll-behavior:auto;scroll-snap-type:none;cursor:grabbing;user-select:none}
#research .people.is-dragging .person{cursor:grabbing}
#research .people.is-dragging .pcard{pointer-events:none}
#research .people:focus-visible{outline:2px solid #3983ff;outline-offset:5px}
#research .research-rail-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
#research .research-rail-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d9d9d4;border-radius:50%;background:transparent;color:#252525;font-size:21px;cursor:pointer;transition:background 150ms ease}
#research .research-rail-controls button:hover{background:#fff}
#research .research-rail-controls button:disabled{opacity:.3;cursor:default}
#research .research-rail-controls button:focus-visible{outline:2px solid #3983ff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){#research .people{scroll-behavior:auto}}

/* Shared black, gray and blue palette; a compact overlay leaves the scene visible. */
#research .person .pcard{padding:18px;border-color:rgba(255,255,255,.8);box-shadow:0 4px 18px rgba(0,0,0,.06)}
#research .person .research-card-title{display:flex;align-items:center;gap:8px;font-size:var(--type-label);font-weight:600;line-height:1.4;letter-spacing:0;margin-bottom:10px}
#research .research-card-title::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ui-blue);flex:none}
#research .person .pcard p{color:#535353;font-size:var(--type-body);line-height:1.5}
#research .research-sample{margin-top:14px;color:#757575;font-size:11px;font-weight:400;letter-spacing:.02em;text-transform:none}
@media(hover:hover) and (pointer:fine){#research .person:hover .lbl,#research .person:focus-visible .lbl{opacity:0}}
