/* Conveyor belts (src/conveyor.js): a full-width window with a row of cards that drifts across it and loops.
   Shared by the sample cards and the Research section. The edges fade so cards slide in and out softly. */
.belt-window{position:relative;width:100vw;margin-inline:calc(50% - 50vw);overflow:hidden;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.belt-window.is-dragging,.belt-window.is-dragging *{cursor:grabbing}
.belt-track{display:flex;gap:var(--belt-gap,24px);width:max-content;margin:0;padding:var(--belt-pad,28px) 0 var(--belt-pad-bottom,80px);list-style:none;will-change:transform}   /* the bottom room keeps the card shadows inside the window */
.belt-window img{pointer-events:none;-webkit-user-drag:none}
.belt-window.is-still{overflow-x:auto;cursor:auto;-webkit-mask-image:none;mask-image:none;scroll-snap-type:x proximity}
.belt-window.is-still .belt-track{padding-inline:24px}
.belt-window.is-still .belt-item{scroll-snap-align:center}

/* Research: simple title cards that open the paper. */
.research{position:relative;padding:8px 0 40px;overflow-x:clip}
.research .sample-intro{width:calc(100% - 56px);margin-inline:auto}
.research-window{margin-top:14px;--belt-gap:20px;--belt-pad:22px;--belt-pad-bottom:84px}
.research-item{flex:none}
.research-card{backdrop-filter:none;position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:22px;width:clamp(220px,19vw,290px);height:136px;padding:22px 24px 20px;border-radius:24px;color:var(--ink);transition:transform .3s cubic-bezier(.2,.7,.15,1),box-shadow .3s,border-color .3s}
.research-title{padding-right:22px;font-size:clamp(18px,1.45vw,21px);font-weight:500;line-height:1.18;letter-spacing:-.035em;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.research-meta{font-size:12px;line-height:1.3;color:var(--muted);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.research-open{position:absolute;right:18px;top:20px;width:20px;height:20px;color:#7d9cc2;transition:color .2s,transform .2s}
.research-card:is(:hover,:focus-visible){transform:translateY(-6px);border-color:#fff;box-shadow:0 38px 66px -26px #23456e66,0 0 0 1px #77b3f94d,inset 0 1px 0 #fff}
.research-card:is(:hover,:focus-visible) .research-open{color:var(--accent);transform:translate(2px,-2px)}
@media(max-width:899px){.research{padding-bottom:30px}}
@media(max-width:620px){.research{padding-bottom:24px}.research .sample-intro{width:calc(100% - 40px)}.research-window{margin-top:8px;--belt-gap:14px;--belt-pad:18px;--belt-pad-bottom:72px}.research-card{width:208px;height:124px;padding:18px 19px 17px;border-radius:20px}.research-title{font-size:17px}.research-open{right:14px;top:16px;width:18px;height:18px}}
