.scroll-cue[data-astro-cid-pu5xfkck]{color:inherit;padding:var(--space-4) var(--space-12);margin:calc(var(--space-4) * -1) calc(var(--space-12) * -1);display:block}.scroll-cue-box[data-astro-cid-pu5xfkck]{width:var(--space-24);height:var(--space-40);display:block;position:relative}.scroll-cue-icon[data-astro-cid-pu5xfkck]{width:var(--space-24);height:var(--space-24);animation:scroll-cue-bounce var(--scroll-cue-bounce);display:block;position:absolute;bottom:0;left:0}@keyframes scroll-cue-bounce{0%{animation-timing-function:ease-in-out;transform:translateY(0)}50%{transform:translateY(calc(var(--space-16) * -1));animation-timing-function:ease-out}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.scroll-cue-icon[data-astro-cid-pu5xfkck]{animation:none}}.hero[data-astro-cid-ge2uvauf]{justify-content:flex-end;gap:var(--space-56);min-height:100svh;padding:max(var(--section-padding-top), var(--nav-height)) var(--space-page-margin) var(--section-padding-bottom);background:var(--bg-surface);color:var(--fg-primary);flex-direction:column;display:flex}.hero-headline[data-astro-cid-ge2uvauf]{max-width:var(--max-width-672);font-family:var(--heading-h1-font-family);font-weight:var(--heading-h1-font-weight);font-size:var(--heading-h1-font-size);line-height:var(--heading-h1-line-height);letter-spacing:var(--heading-letter-spacing);text-wrap:pretty;overflow-wrap:break-word;margin:0}.hero-meta[data-astro-cid-ge2uvauf]{justify-content:space-between;align-items:flex-end;gap:var(--space-8);display:flex}.hero-meta-items[data-astro-cid-ge2uvauf]{align-items:flex-end;column-gap:var(--space-96);row-gap:var(--space-0);flex-wrap:wrap;flex:1 1 0;min-width:0;margin:0;padding:0;display:flex}.hero-meta-item[data-astro-cid-ge2uvauf]{padding-bottom:var(--space-12);font-family:var(--body-font-family);font-weight:var(--body-font-weight);font-size:var(--body-font-size);line-height:var(--body-line-height)}.hero-meta-item[data-astro-cid-ge2uvauf] dt[data-astro-cid-ge2uvauf]{color:var(--fg-secondary)}.hero-meta-item[data-astro-cid-ge2uvauf] dd[data-astro-cid-ge2uvauf]{color:var(--fg-primary);margin:0}.hero-status[data-astro-cid-ge2uvauf]{align-items:center;gap:var(--space-8);display:flex}.status-icon[data-astro-cid-ge2uvauf]{width:var(--space-8);height:var(--space-8);background:var(--status-available);flex:none;-webkit-mask:url("data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%3e%3cpath%20d='M3%207.8C3%206.11984%203%205.27976%203.32698%204.63803C3.6146%204.07354%204.07354%203.6146%204.63803%203.32698C5.27976%203%206.11984%203%207.8%203H16.2C17.8802%203%2018.7202%203%2019.362%203.32698C19.9265%203.6146%2020.3854%204.07354%2020.673%204.63803C21%205.27976%2021%206.11984%2021%207.8V16.2C21%2017.8802%2021%2018.7202%2020.673%2019.362C20.3854%2019.9265%2019.9265%2020.3854%2019.362%2020.673C18.7202%2021%2017.8802%2021%2016.2%2021H7.8C6.11984%2021%205.27976%2021%204.63803%2020.673C4.07354%2020.3854%203.6146%2019.9265%203.32698%2019.362C3%2018.7202%203%2017.8802%203%2016.2V7.8Z'%20fill='currentColor'/%3e%3c/g%3e%3c/svg%3e") 50%/100% 100% no-repeat;mask:url("data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%3e%3cpath%20d='M3%207.8C3%206.11984%203%205.27976%203.32698%204.63803C3.6146%204.07354%204.07354%203.6146%204.63803%203.32698C5.27976%203%206.11984%203%207.8%203H16.2C17.8802%203%2018.7202%203%2019.362%203.32698C19.9265%203.6146%2020.3854%204.07354%2020.673%204.63803C21%205.27976%2021%206.11984%2021%207.8V16.2C21%2017.8802%2021%2018.7202%2020.673%2019.362C20.3854%2019.9265%2019.9265%2020.3854%2019.362%2020.673C18.7202%2021%2017.8802%2021%2016.2%2021H7.8C6.11984%2021%205.27976%2021%204.63803%2020.673C4.07354%2020.3854%203.6146%2019.9265%203.32698%2019.362C3%2018.7202%203%2017.8802%203%2016.2V7.8Z'%20fill='currentColor'/%3e%3c/g%3e%3c/svg%3e") 50%/100% 100% no-repeat}.hero-scroll-cue[data-astro-cid-ge2uvauf]{padding-bottom:var(--space-16);flex:none}.project-card[data-astro-cid-y2vllrex]{gap:var(--space-16);padding-bottom:var(--card-padding-bottom);flex-direction:column;display:flex;position:relative}.project-thumbnail[data-astro-cid-y2vllrex]{isolation:isolate;clip-path:inset(0 round var(--media-radius-md));border-radius:var(--media-radius-md);background:var(--bg-card);aspect-ratio:var(--project-thumbnail-ratio-horizontal);overflow:clip}.project-card[data-astro-cid-y2vllrex][data-shape=vertical] .project-thumbnail[data-astro-cid-y2vllrex]{aspect-ratio:var(--project-thumbnail-ratio-vertical)}.project-thumbnail[data-astro-cid-y2vllrex] picture,.project-thumbnail[data-astro-cid-y2vllrex] img{width:100%;height:100%;display:block}.project-thumbnail[data-astro-cid-y2vllrex] img{object-fit:cover}.project-info[data-astro-cid-y2vllrex]{gap:var(--space-2);padding:var(--space-0) var(--space-4);overflow-wrap:break-word;flex-direction:column;display:flex}.project-title[data-astro-cid-y2vllrex]{color:var(--fg-primary);font-family:var(--heading-h4-font-family);font-weight:var(--heading-h4-font-weight);font-size:var(--heading-h4-font-size);line-height:var(--heading-h4-line-height);letter-spacing:var(--heading-letter-spacing);margin:0}.project-link[data-astro-cid-y2vllrex]{color:inherit;text-decoration:none}.project-link[data-astro-cid-y2vllrex]:after{content:"";inset:var(--space-0) var(--space-0) var(--card-padding-bottom);border-radius:var(--media-radius-md);position:absolute}.project-link[data-astro-cid-y2vllrex]:focus-visible{outline:none}.project-link[data-astro-cid-y2vllrex]:focus-visible:after{outline:var(--focus-ring-width) solid var(--fg-primary);outline-offset:var(--focus-ring-offset)}@media (prefers-reduced-motion:no-preference){.project-thumbnail[data-astro-cid-y2vllrex] img{transition:transform var(--card-hover-duration) var(--card-hover-easing)}.project-card[data-astro-cid-y2vllrex]:has(.project-link:focus-visible) .project-thumbnail[data-astro-cid-y2vllrex] img{transform:scale(var(--card-hover-scale))}@media (hover:hover){.project-card[data-astro-cid-y2vllrex]:has(.project-link:hover) .project-thumbnail[data-astro-cid-y2vllrex] img{transform:scale(var(--card-hover-scale))}}}.project-summary[data-astro-cid-y2vllrex]{color:var(--fg-secondary);font-family:var(--body-font-family);font-weight:var(--body-font-weight);font-size:var(--body-font-size);line-height:var(--body-line-height);margin:0}.project-list[data-astro-cid-pf5okai3]{columns:var(--min-width-320) 2;column-gap:var(--space-56);padding:var(--space-0);margin:0;list-style:none}.project-list[data-astro-cid-pf5okai3] li[data-astro-cid-pf5okai3]{break-inside:avoid}.divider[data-astro-cid-boktbqod]{margin:calc(var(--divider-padding-top) - var(--divider-width)) calc(var(--space-page-margin) * -1) var(--space-0);border-top:var(--divider-width) solid var(--border-subtle)}.carousel-buttons[data-astro-cid-lcxxyc55]{flex:none;display:flex}@media (width<48rem){.carousel-buttons[data-astro-cid-lcxxyc55]{display:none}}.carousel-button[data-astro-cid-lcxxyc55]{width:var(--space-40);height:var(--space-40);color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin:0;padding:0;display:grid;position:relative}.carousel-button[data-astro-cid-lcxxyc55]:after{content:"";position:absolute}.carousel-button-previous[data-astro-cid-lcxxyc55]:after{inset:calc(var(--space-2) * -1) var(--space-0) calc(var(--space-2) * -1) calc(var(--space-4) * -1)}.carousel-button-next[data-astro-cid-lcxxyc55]:after{inset:calc(var(--space-2) * -1) calc(var(--space-4) * -1) calc(var(--space-2) * -1) var(--space-0)}.carousel-button-icon[data-astro-cid-lcxxyc55]{width:var(--space-24);height:var(--space-24);display:inline-flex}.carousel-button[data-astro-cid-lcxxyc55][aria-disabled=true]{opacity:var(--opacity-50);cursor:default}.carousel-card[data-astro-cid-qwve7olq]{gap:var(--space-12);flex-direction:column;margin:0;display:flex}.carousel-card[data-astro-cid-qwve7olq][data-variant=bits]{width:var(--bits-card-width)}.carousel-card[data-astro-cid-qwve7olq][data-variant=about]{width:var(--about-card-width)}.carousel-media[data-astro-cid-qwve7olq]{border-radius:var(--media-radius-md);background:var(--bg-card);position:relative;overflow:clip}.carousel-card[data-astro-cid-qwve7olq][data-variant=bits] .carousel-media[data-astro-cid-qwve7olq]{aspect-ratio:var(--bits-card-ratio)}.carousel-card[data-astro-cid-qwve7olq][data-variant=about] .carousel-media[data-astro-cid-qwve7olq]{aspect-ratio:var(--about-card-ratio)}.carousel-media[data-astro-cid-qwve7olq] picture,.carousel-media[data-astro-cid-qwve7olq] img,.carousel-video[data-astro-cid-qwve7olq]{width:100%;height:100%;display:block}.carousel-media[data-astro-cid-qwve7olq] img,.carousel-video[data-astro-cid-qwve7olq]{object-fit:cover}.carousel-video[data-astro-cid-qwve7olq]{opacity:0;position:absolute;inset:0}.carousel-video[data-astro-cid-qwve7olq].is-playing{opacity:1}.carousel-caption[data-astro-cid-qwve7olq]{color:var(--fg-primary);font-family:var(--caption-font-family);font-weight:var(--caption-font-weight);font-size:var(--caption-font-size);line-height:var(--caption-line-height);text-wrap:pretty}.carousel[data-astro-cid-dktwrlyp]{margin-inline:calc(var(--space-page-margin) * -1);padding-inline:var(--space-page-margin);scroll-snap-type:x mandatory;scroll-padding-inline:var(--space-page-margin);overscroll-behavior-x:contain;scrollbar-width:none;overflow:auto hidden}.carousel[data-astro-cid-dktwrlyp]::-webkit-scrollbar{display:none}.carousel-list[data-astro-cid-dktwrlyp]{gap:var(--carousel-gap);width:max-content;margin:0;padding:0;list-style:none;display:flex}.carousel-list[data-astro-cid-dktwrlyp]>li{scroll-snap-align:start;flex:none}.bits[data-astro-cid-5mlssxwf]{padding-bottom:var(--space-80)}.work[data-astro-cid-t3eiqlen]{min-height:100svh;padding:max(var(--section-padding-top), var(--nav-height)) var(--space-page-margin) var(--section-padding-bottom);background:var(--bg-surface);color:var(--fg-primary)}.experience[data-astro-cid-bl6cniha]{padding:var(--space-48) var(--space-0);grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.experience-headline[data-astro-cid-bl6cniha]{color:var(--fg-primary);font-family:var(--heading-h2-font-family);font-weight:var(--heading-h2-font-weight);font-size:var(--heading-h2-font-size);line-height:var(--heading-h2-line-height);letter-spacing:var(--heading-letter-spacing);align-self:start;margin:0}.experience-content[data-astro-cid-bl6cniha]{width:100%;max-width:var(--max-width-672);padding-top:var(--space-16);color:var(--fg-primary);font-family:var(--body-font-family);font-weight:var(--body-font-weight);font-size:var(--body-font-size);line-height:var(--body-line-height);margin-inline-start:auto}.experience-body[data-astro-cid-bl6cniha]{padding-bottom:var(--space-48)}.experience-body[data-astro-cid-bl6cniha] p[data-astro-cid-bl6cniha]{margin:0 0 var(--paragraph-spacing-body)}.experience-body[data-astro-cid-bl6cniha] p[data-astro-cid-bl6cniha]:last-child{margin-bottom:var(--space-0)}.experience-list[data-astro-cid-bl6cniha]{margin:0;padding:0;list-style:none}.experience-item[data-astro-cid-bl6cniha]{padding:var(--space-16) var(--space-0);box-shadow:inset 0 calc(var(--divider-width) * -1) 0 var(--border-subtle);grid-template-columns:minmax(0,2fr) minmax(0,1fr);display:grid}.experience-item[data-astro-cid-bl6cniha]:first-child{box-shadow:inset 0 var(--divider-width) 0 var(--border-subtle), inset 0 calc(var(--divider-width) * -1) 0 var(--border-subtle)}.experience-main[data-astro-cid-bl6cniha]{gap:var(--space-8) var(--space-0);flex-wrap:wrap;align-items:flex-start;display:flex}.experience-company[data-astro-cid-bl6cniha],.experience-roles[data-astro-cid-bl6cniha]{min-width:var(--min-width-128);flex:1 0 0}.experience-role[data-astro-cid-bl6cniha]{display:block}.experience-dates[data-astro-cid-bl6cniha]{text-align:right}@media (width<80rem){.experience[data-astro-cid-bl6cniha]{grid-template-columns:minmax(0,1fr)}.experience-content[data-astro-cid-bl6cniha]{margin-inline-start:0}}.about[data-astro-cid-oxgmilyn]{min-height:100svh;padding:max(var(--section-padding-top), var(--nav-height)) var(--space-page-margin) var(--section-padding-bottom);background:var(--bg-surface);color:var(--fg-primary)}.about-biography[data-astro-cid-oxgmilyn]{max-width:var(--max-width-576);padding:var(--section-header-padding-y) var(--space-0);font-family:var(--body-font-family);font-weight:var(--body-font-weight);font-size:var(--body-font-size);line-height:var(--body-line-height)}.about-headline[data-astro-cid-oxgmilyn]{margin:0 0 var(--space-16);font-family:var(--heading-h2-font-family);font-weight:var(--heading-h2-font-weight);font-size:var(--heading-h2-font-size);line-height:var(--heading-h2-line-height);letter-spacing:var(--heading-letter-spacing)}.about-biography[data-astro-cid-oxgmilyn] p[data-astro-cid-oxgmilyn]{margin:0 0 var(--paragraph-spacing-body)}.about-biography[data-astro-cid-oxgmilyn] p[data-astro-cid-oxgmilyn]:last-child{margin-bottom:var(--space-0)}.about-carousel[data-astro-cid-oxgmilyn]{padding-bottom:var(--section-padding-bottom)}.about-arrows[data-astro-cid-oxgmilyn]{padding-bottom:var(--space-24);justify-content:flex-end;display:flex}@media (width<48rem){.about-arrows[data-astro-cid-oxgmilyn]{display:none}}.copy-button-wrap[data-astro-cid-yulf4ecu]{max-width:100%;position:relative}.copy-button[data-astro-cid-yulf4ecu]{align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-12);border-radius:var(--radius-4);background:var(--button-default);color:var(--fg-primary);font-family:var(--body-font-family);font-weight:var(--body-font-weight);font-size:var(--body-font-size);line-height:var(--body-line-height);text-align:left;appearance:none;border:0;max-width:100%;display:inline-flex;position:relative}.copy-button-text[data-astro-cid-yulf4ecu]{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;min-width:0}.copy-button[data-astro-cid-yulf4ecu]:after{content:"";inset-block:min(0px, calc((100% - var(--tap-target)) / 2));inset-inline:var(--space-0);position:absolute}.copy-button[data-astro-cid-yulf4ecu]{--copy-icon:url(/_astro/copy.BxjYYcTq.svg);--check-icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='currentColor'%20d='M21.41%206%209.71%2017.7a1%201%200%200%201-1.42%200L2.6%2012%204%2010.59l5%205%2011-11z'/%3e%3c/svg%3e")}.copy-button-icon[data-astro-cid-yulf4ecu]{width:var(--space-16);height:var(--space-16);-webkit-mask:var(--copy-icon) center / 100% 100% no-repeat;mask:var(--copy-icon) center / 100% 100% no-repeat;background:currentColor;flex:none}.copy-button[data-astro-cid-yulf4ecu][data-state=copied] .copy-button-icon[data-astro-cid-yulf4ecu]{-webkit-mask-image:var(--check-icon);mask-image:var(--check-icon)}@media (hover:hover){.copy-button[data-astro-cid-yulf4ecu]{cursor:pointer}.copy-button[data-astro-cid-yulf4ecu]:hover{background:var(--button-hover)}}.copy-button-status[data-astro-cid-yulf4ecu]{top:100%;left:var(--space-0);width:max-content;max-width:100%;margin:var(--space-8) var(--space-0) var(--space-0);padding:var(--space-0);font-family:var(--body-font-family);font-weight:var(--caption-font-weight);font-size:var(--caption-font-size);line-height:var(--caption-line-height);color:var(--fg-primary);clip-path:inset(50%);white-space:nowrap;position:absolute;overflow:hidden}.copy-button-status[data-astro-cid-yulf4ecu][data-visible]{clip-path:none;white-space:normal;overflow:visible}.contact[data-astro-cid-he3spzz3]{background:var(--bg-surface);min-height:100svh;color:var(--fg-primary);flex-direction:column;display:flex}.contact-content[data-astro-cid-he3spzz3]{padding:max(var(--section-padding-top), var(--nav-height)) var(--space-page-margin) var(--section-padding-bottom);flex:1 0 auto}.contact-main[data-astro-cid-he3spzz3]{align-items:flex-start;gap:var(--space-32);padding:var(--section-header-padding-y) var(--space-0);flex-direction:column;display:flex}.contact-header[data-astro-cid-he3spzz3]{gap:var(--space-12);width:100%;max-width:var(--max-width-576);flex-direction:column;display:flex}.contact-headline[data-astro-cid-he3spzz3]{font-family:var(--heading-h2-font-family);font-weight:var(--heading-h2-font-weight);font-size:var(--heading-h2-font-size);line-height:var(--heading-h2-line-height);letter-spacing:var(--heading-letter-spacing);text-wrap:balance;margin:0}.contact-sub[data-astro-cid-he3spzz3]{font-family:var(--body-font-family);font-weight:var(--body-font-weight);font-size:var(--body-font-size);line-height:var(--body-line-height);text-wrap:pretty;margin:0;container-type:inline-size}@container (width<22em){.contact-sub-break[data-astro-cid-he3spzz3]{display:none}}
