html{scroll-behavior:smooth}section{scroll-margin-top:5rem}@keyframes fadeInUp{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.prose a,.group:hover{transition:color .2s ease,transform .2s ease,box-shadow .2s ease}article a:hover,[data-view=article-grid] article:hover{transform:translateY(-2px)}.prose p{line-height:1.75}.prose strong{font-weight:600;color:inherit}a[href*="CV.pdf"],a[href*="Research%20Statement"],button{transition:opacity .2s ease,transform .15s ease}a[href*="CV.pdf"]:hover,a[href*="Research%20Statement"]:hover{opacity:.9}h2{letter-spacing:-.02em;font-weight:700}.prose a:not([class*=btn]):hover{text-decoration-thickness:2px}header{backdrop-filter:blur(8px)}footer{border-top:1px solid rgba(0,0,0,5%)}.dark footer{border-top-color:rgba(255,255,255,8%)}@media(min-width:1024px){.prose{max-width:75ch}}@media(min-width:768px){#section-markdown .max-w-prose{max-width:64rem}#section-markdown .prose>p{max-width:46rem;margin-left:auto;margin-right:auto;text-align:center}#section-markdown .research-grid{max-width:none}}.research-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin:2rem 0 .5rem;text-align:left}@media(min-width:768px){.research-grid{grid-template-columns:repeat(3,1fr)}}.research-card{border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;padding:1.25rem 1.25rem 1.4rem;transition:transform .2s ease,box-shadow .2s ease}.research-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px -12px rgba(15,23,42,.25)}.dark .research-card{border-color:#334155;background:rgba(30,41,59,.45)}.research-card .ico{display:block;font-size:1.6rem;line-height:1;margin-bottom:.6rem}.research-card h3{margin:0;font-size:1.02rem;font-weight:600;color:#0f172a}.dark .research-card h3{color:#fff}.research-card .tag{font-size:.72rem;font-weight:500;color:#d97706}.dark .research-card .tag{color:#fbbf24}.research-card .tag-muted{color:#94a3b8}.research-card p{margin:.5rem 0 0;font-size:.88rem;line-height:1.6;color:#475569}.dark .research-card p{color:#cbd5e1}.role-tags{display:block;margin-top:.25rem;font-size:.8rem;font-weight:400;opacity:.9}