.title[data-astro-cid-ge2uvauf]{font-size:min(calc((100vw - 2 * var(--spacing-edge)) / 4.75), calc(var(--container-page) / 4.75));margin-left:-.04em;line-height:.86;position:relative}.line[data-astro-cid-ge2uvauf]{padding-bottom:.06em;display:block;overflow:hidden}.letter[data-astro-cid-ge2uvauf]{display:inline-block}@media (prefers-reduced-motion:no-preference){.letter[data-astro-cid-ge2uvauf]:nth-child(2){animation-delay:30ms}.letter[data-astro-cid-ge2uvauf]:nth-child(3){animation-delay:60ms}.letter[data-astro-cid-ge2uvauf]:nth-child(4){animation-delay:90ms}.letter[data-astro-cid-ge2uvauf]:nth-child(5){animation-delay:.12s}.letter[data-astro-cid-ge2uvauf]:nth-child(6){animation-delay:.15s}.letter[data-astro-cid-ge2uvauf]:nth-child(7){animation-delay:.18s}.letter[data-astro-cid-ge2uvauf]:nth-child(8){animation-delay:.21s}.letter[data-astro-cid-ge2uvauf]:nth-child(9){animation-delay:.24s}.letter[data-astro-cid-ge2uvauf]:nth-child(10){animation-delay:.27s}.letter[data-astro-cid-ge2uvauf]:nth-child(11){animation-delay:.3s}.letter[data-astro-cid-ge2uvauf]:nth-child(12){animation-delay:.33s}}.lit[data-astro-cid-ge2uvauf]{opacity:0;mask-image:radial-gradient(260px circle at var(--mx,-999px) var(--my,-999px), #000, transparent);transition:opacity .4s}.hero[data-astro-cid-ge2uvauf][data-lit] .lit[data-astro-cid-ge2uvauf]{opacity:1}.item[data-astro-cid-2va2lm5y]{border-top:1px solid var(--rule);padding-block:1.5rem}.item[data-astro-cid-2va2lm5y]:first-child{border-top:0}@media (width>=40rem){.item-grid[data-astro-cid-2va2lm5y]{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.item[data-astro-cid-2va2lm5y]{padding:1.5rem var(--spacing-gutter) 1.5rem 0}.item[data-astro-cid-2va2lm5y]:nth-child(2){border-top:0}.item[data-astro-cid-2va2lm5y]:nth-child(2n){padding-left:var(--spacing-gutter);border-left:1px solid var(--rule)}}@media (width>=64rem){.cols-3[data-astro-cid-2va2lm5y]{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4[data-astro-cid-2va2lm5y]{grid-template-columns:repeat(4,minmax(0,1fr))}.item[data-astro-cid-2va2lm5y]{border-top:0;padding-block:1.5rem 0}.item[data-astro-cid-2va2lm5y]:nth-child(2n),.item[data-astro-cid-2va2lm5y]+.item[data-astro-cid-2va2lm5y]{padding-left:var(--spacing-gutter);border-left:1px solid var(--rule)}.item[data-astro-cid-2va2lm5y]:first-child{border-left:0;padding-left:0}}.project-row[data-astro-cid-kvy7xguz]{border-top:1px solid var(--rule);background:var(--bg);cursor:pointer;grid-template-columns:minmax(0,1fr);row-gap:1.5rem;padding-block:clamp(2rem,1rem + 3vw,4rem);display:grid;position:relative}.name[data-astro-cid-kvy7xguz] a[data-astro-cid-kvy7xguz]:after{content:"";z-index:1;position:absolute;inset:0}.project-row[data-astro-cid-kvy7xguz]:last-child{border-bottom:1px solid var(--rule)}.idx[data-astro-cid-kvy7xguz]{margin-bottom:-.75rem}.name[data-astro-cid-kvy7xguz]{line-height:1.1}.shift[data-astro-cid-kvy7xguz]{transition:transform .45s var(--ease-out-expo);display:inline-block}.name[data-astro-cid-kvy7xguz] .arrow{color:var(--accent);margin-left:.4em}@media (hover:hover){.project-row[data-astro-cid-kvy7xguz]:hover .shift[data-astro-cid-kvy7xguz]{transform:translate(.6rem)}}@media (width>=64rem){.project-row[data-astro-cid-kvy7xguz]{column-gap:var(--spacing-gutter);grid-template-rows:auto auto 1fr;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.idx[data-astro-cid-kvy7xguz]{grid-area:1/1;margin:0}.name[data-astro-cid-kvy7xguz],.summary[data-astro-cid-kvy7xguz]{grid-column:2/span 4}.name[data-astro-cid-kvy7xguz]{grid-row:1}.summary[data-astro-cid-kvy7xguz]{grid-row:2}.fig[data-astro-cid-kvy7xguz]{grid-area:1/6/span 3/span 7}}.contact-mail[data-astro-cid-lcdefpme]{background:linear-gradient(var(--accent), var(--accent)) 0 100% / 0% max(3px, .07em) no-repeat;transition:background-size .5s var(--ease-out-expo)}.contact-mail[data-astro-cid-lcdefpme]:focus-visible{background-size:100% max(3px,.07em)}@media (hover:hover){.contact-mail[data-astro-cid-lcdefpme]:hover{background-size:100% max(3px,.07em)}}@media (hover:none),(width<=40rem){.contact-mail[data-astro-cid-lcdefpme]{background-size:100% max(3px,.07em)}}
