/* Decorative cursor; the native pointer remains available. */
.cursor-follower{position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;z-index:1000;opacity:0;transition:opacity .18s;contain:layout style}.cursor-follower.is-visible{opacity:1}.cursor-follower::before,.cursor-follower::after{content:'';position:absolute;top:0;left:0;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}.cursor-follower::before{width:7px;height:7px;background:#a295ff;box-shadow:0 0 9px #8d7bff55;transition:background .2s,width .2s,height .2s}.cursor-follower::after{width:26px;height:26px;border:1px solid #a295ff65;background:#9c87ff07;transition:width .22s,height .22s,border-color .22s,background .22s}.cursor-follower.is-interactive::before{width:5px;height:5px;background:#4bdcc2}.cursor-follower.is-interactive::after{width:39px;height:39px;border-color:#4bdcc287;background:#4bdcc20b}.light .cursor-follower::before{background:#6950d9}.light .cursor-follower::after{border-color:#6950d988}
#projects .project,#research .project{position:relative;isolation:isolate;transition:transform .23s ease,border-color .23s ease,box-shadow .23s ease}
#projects .project::before,#research .project::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(230px circle at var(--spot-x,50%) var(--spot-y,50%),#9784ff17,transparent 75%);opacity:0;transition:opacity .25s;z-index:0}
#projects .project-body,#research .project-body,#projects .project-cover,#research .project-cover{position:relative;z-index:1}
#projects .project-cover img,#research .project-cover img{transition:transform .35s ease,filter .35s ease}
#projects .project:focus-within,#research .project:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #9784ff12}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){#projects .project:hover,#research .project:hover{transform:translateY(-3px);border-color:#9480ee99;box-shadow:0 10px 24px #0003}#projects .project.pointer-over::before,#research .project.pointer-over::before{opacity:1}#projects .project:hover .project-cover img,#research .project:hover .project-cover img{transform:scale(1.07);filter:saturate(1.08)}.light #projects .project:hover,.light #research .project:hover{box-shadow:0 8px 24px #30395a13}}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-follower{display:none!important}#projects .project::before,#research .project::before{display:none}#projects .project,#research .project,#projects .project-cover img,#research .project-cover img{transition:none!important}#projects .project:hover,#research .project:hover,#projects .project:hover .project-cover img,#research .project:hover .project-cover img{transform:none!important}}
