.cover-visual{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline-offset:-4px}
.cover-visual.is-dragging{cursor:grabbing}
.orbit-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 24px 18px;font-size:12px;color:var(--muted);gap:16px}
.orbit-reset{background:transparent;color:inherit;font-size:12px;min-height:40px;padding:8px 12px;border-radius:22px;transition:background .2s,transform .2s}
.orbit-reset:hover{background:#e4e9e9;color:var(--ink)}
.orbit-reset:active{transform:scale(.97)}
.research-cover{min-height:490px}.cover-visual{min-height:300px}
.publication-figure img,.card-thumb img{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.publication-figure:hover img{transform:scale(1.025)}
@media(max-width:600px){.research-cover{min-height:410px}.cover-visual{min-height:230px}.orbit-toolbar{padding:0 15px 12px;font-size:11px}.orbit-reset{font-size:11px}}
@media(prefers-reduced-motion:reduce){.publication-figure img,.card-thumb img{transition:none}.publication-figure:hover img{transform:none}}
.cover-visual:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.hero h1{animation:none}.hero-letter{display:inline-block}
@media(prefers-reduced-motion:no-preference){.hero-letter{animation:letter-arrive .78s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--letter)*35ms);transform-origin:0 100%}@keyframes letter-arrive{from{opacity:.15;transform:translateY(26px) rotate(5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}}
