@media (prefers-reduced-motion:reduce){h1.svelte-1elxaub{transform:scaleY(var(--header-title-stretch))}}h1.svelte-1elxaub{transform-origin:top;white-space:nowrap;width:max-content;font-size:min(10vw,7rem)}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){h1.svelte-1elxaub{animation-name:svelte-1elxaub-extended-animation;animation-fill-mode:forwards;animation-timeline:view();animation-range:entry 100lvh exit 0%}}}.marquee.svelte-1elxaub{padding-inline:var(--page-padding);width:100%;height:clamp(10lvh, calc(10lvh + (40lvh - 10lvh) * (100vw - 375px) / 1065px), 40lvh);overflow:clip}.marquee.svelte-1elxaub .marquee__inner:where(.svelte-1elxaub){width:max-content;position:sticky;top:0}@keyframes svelte-1elxaub-extended-animation{0%{font-weight:300;transform:translate(0)}to{transform:translateX(var(--header-title-translate));color:var(--color-primary);font-weight:900}}picture.svelte-1q37ri0{display:contents}.profile-photo.svelte-1q37ri0{width:var(--profile-photo-size);aspect-ratio:1;margin-inline-start:var(--hero-padding);margin-bottom:calc(-1 * var(--profile-photo-size));z-index:5;display:block;position:relative}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()) and (animation-range:exit 0% exit 50%) and (timeline-scope:--hero){.profile-photo.svelte-1q37ri0{top:var(--hero-padding);transform-origin:100% 0;animation-name:svelte-1q37ri0-photo-morph;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--hero;animation-range:exit calc(0% - var(--hero-padding)) exit 50%;transition:translate .3s ease-out;position:sticky}}}.hero.svelte-1q37ri0{padding-inline:var(--hero-padding);view-timeline:--hero;flex-wrap:wrap;align-items:center;gap:1rem;display:flex}@media (width>=800px){.hero.svelte-1q37ri0{flex-wrap:nowrap}}.hero.svelte-1q37ri0 .photo-slot:where(.svelte-1q37ri0){aspect-ratio:1;flex:none;width:min(420px,100%)}.hero.svelte-1q37ri0 .intro:where(.svelte-1q37ri0){flex:auto}@media (width>=800px) and (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()) and (animation-range:exit 0% exit 50%) and (timeline-scope:--hero){.hero.svelte-1q37ri0 .intro:where(.svelte-1q37ri0){top:var(--hero-padding);animation-name:svelte-1q37ri0-intro-slide;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--hero;animation-range:exit calc(0% - var(--hero-padding)) exit 50%;align-self:flex-end;position:sticky}}}@keyframes svelte-1q37ri0-intro-slide{to{translate:calc(-420px - 1rem)}}@keyframes svelte-1q37ri0-photo-morph{0%{clip-path:polygon(0% 100%,0% 0%,20% 0%,50% 0%,80% 0%,100% 0%,100% 100%,80% 100%,65% 100%,50% 100%,35% 100%,20% 100%);margin-inline-start:var(--hero-padding);scale:1}25%,35%{clip-path:polygon(0% 100%,0% 0%,20% 0%,50% 45%,80% 0%,100% 0%,100% 100%,80% 100%,80% 35%,50% 80%,20% 35%,20% 100%)}55%,65%{clip-path:polygon(0% 100%,0% 0%,100% 0%,100% 20%,25% 20%,25% 40%,80% 40%,80% 60%,25% 60%,25% 80%,100% 80%,100% 100%)}0%,99%{pointer-events:none}90%{clip-path:polygon(14.64% 85.36%,1.7% 62.94%,1.7% 37.06%,14.64% 14.64%,37.06% 1.7%,62.94% 1.7%,85.36% 14.64%,98.3% 37.06%,98.3% 62.94%,85.36% 85.36%,62.94% 98.3%,37.06% 98.3%)}to{scale:var(--profile-icon-scale);clip-path:circle(50%);pointer-events:auto;margin-inline-start:calc(100% - var(--hero-padding) - var(--profile-photo-size))}}nav.svelte-1h32yp1{border-top:solid var(--color-text) 2px;background-color:var(--color-glass);z-index:10;justify-content:space-around;width:100%;transition:transform .3s;display:flex;position:fixed;bottom:0;overflow:clip;transform:translateY(0)}nav.svelte-1h32yp1.nav-hidden{transform:translateY(100%)}nav.svelte-1h32yp1 a:where(.svelte-1h32yp1){padding:.5rem}nav.svelte-1h32yp1 a:where(.svelte-1h32yp1):after{bottom:.5rem}nav.svelte-1h32yp1 a:where(.svelte-1h32yp1):before{content:"";z-index:-1;background:radial-gradient(closest-side, var(--color-background) 50%, transparent);opacity:0;transition:opacity .2s;position:absolute;inset-block:0;inset-inline:-3rem}nav.svelte-1h32yp1 a:where(.svelte-1h32yp1):hover:before,nav.svelte-1h32yp1 a:where(.svelte-1h32yp1):focus-visible:before{opacity:1}.musical-text.svelte-19xo3jx{flex-direction:column;align-items:flex-start;gap:1rem;display:flex;container-type:inline-size}.text.svelte-19xo3jx{font-family:inter;font-size:clamp(2rem,8vw,5rem);font-weight:100;line-height:1.1}.text.svelte-19xo3jx.fits{white-space:nowrap;font-size:min(5rem, 100cqi / var(--text-ems))}.sizers.svelte-19xo3jx{visibility:hidden;width:0;height:0;position:absolute;overflow:hidden}.sizers.svelte-19xo3jx span:where(.svelte-19xo3jx){white-space:pre;position:absolute}.weight-sizer.svelte-19xo3jx{font-weight:900}.equalizer-sizer.svelte-19xo3jx{letter-spacing:-.04em;font-weight:600}.word.svelte-19xo3jx{white-space:nowrap;line-height:var(--line-height)}.letter.svelte-19xo3jx{transform-origin:bottom;line-height:1;display:inline-block}@media (prefers-reduced-motion:no-preference){.letter.svelte-19xo3jx{font-weight:calc(100 + var(--beat) * 800);scale:1 calc(1 + var(--beat) * .25)}}.musical-text.svelte-19xo3jx:has(input[value=equalizer]:where(.svelte-19xo3jx):checked) .text:where(.svelte-19xo3jx){padding-top:2em}.musical-text.svelte-19xo3jx:has(input[value=equalizer]:where(.svelte-19xo3jx):checked) .letter:where(.svelte-19xo3jx){letter-spacing:-.04em;font-weight:600;scale:1 1.3}@media (prefers-reduced-motion:no-preference){.musical-text.svelte-19xo3jx:has(input[value=equalizer]:where(.svelte-19xo3jx):checked) .letter:where(.svelte-19xo3jx){scale:1 calc(1.3 + var(--level) * 1.7)}}.controls.svelte-19xo3jx{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.play-toggle.svelte-19xo3jx{text-align:start}.apple-music-link.svelte-19xo3jx{width:2.75rem;height:2.75rem;color:var(--color-text);border-radius:.5rem;justify-content:center;align-items:center;display:inline-flex}.apple-music-link.svelte-19xo3jx:after{content:none}.apple-music-link.svelte-19xo3jx svg:where(.svelte-19xo3jx){width:1.75rem;height:1.75rem;transition:translate .2s}.apple-music-link.svelte-19xo3jx:hover svg:where(.svelte-19xo3jx),.apple-music-link.svelte-19xo3jx:focus-visible svg:where(.svelte-19xo3jx){translate:.25rem -.25rem}.apple-music-link.svelte-19xo3jx:focus-visible{outline:3px solid var(--color-text);outline-offset:2px}@media (prefers-reduced-motion:reduce){.apple-music-link.svelte-19xo3jx svg:where(.svelte-19xo3jx){transition:none}}#biography.svelte-1bj8c4p{flex-direction:column;min-height:100dvh;display:flex}#biography.svelte-1bj8c4p ul:where(.svelte-1bj8c4p){margin-bottom:1lh}#biography.svelte-1bj8c4p .biography-music:where(.svelte-1bj8c4p){flex-direction:column;flex-grow:1;justify-content:flex-end;display:flex}#biography.svelte-1bj8c4p .biography-music-sticky:where(.svelte-1bj8c4p){position:sticky;bottom:4rem}#biography.svelte-1bj8c4p .hint:where(.svelte-1bj8c4p){cursor:help;position:relative}#biography.svelte-1bj8c4p .hint:where(.svelte-1bj8c4p):after{content:attr(data-tooltip);white-space:nowrap;background:var(--color-text);color:var(--color-background);opacity:0;pointer-events:none;z-index:20;border-radius:.25rem;margin-top:.35rem;padding:.25rem .5rem;font-size:.75rem;transition:opacity .2s;position:absolute;top:100%;left:50%;transform:translate(-50%)}#biography.svelte-1bj8c4p .hint:where(.svelte-1bj8c4p):hover:after{opacity:1}#projects.svelte-1tes396{padding-inline:0}#projects.svelte-1tes396 h2:where(.svelte-1tes396){margin-inline:var(--page-padding)}#projects.svelte-1tes396 .project-toolbar:where(.svelte-1tes396){z-index:1;padding:.75rem var(--page-padding);background-color:var(--color-glass);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex;position:sticky;top:0}#projects.svelte-1tes396 .project-video-toggle:where(.svelte-1tes396){margin-inline-start:auto}#projects.svelte-1tes396 .project-counter:where(.svelte-1tes396){font-variant-numeric:tabular-nums;white-space:nowrap;font-family:ibm,serif;font-size:1.25rem}#projects.svelte-1tes396 .project-stage:where(.svelte-1tes396){position:relative;container-type:inline-size}#projects.svelte-1tes396 .project-details:where(.svelte-1tes396){display:none}#projects.svelte-1tes396 .project-list:where(.svelte-1tes396){position:relative}#projects.svelte-1tes396 .project-list:where(.svelte-1tes396)[data-enhanced] .project-card:where(.svelte-1tes396){transform-origin:100% 0;will-change:transform}#projects.svelte-1tes396 .project-card:where(.svelte-1tes396){scroll-snap-align:center;view-timeline:--project-card block;display:grid;position:relative}#projects.svelte-1tes396 .project-card:where(.svelte-1tes396) picture:where(.svelte-1tes396){display:contents}#projects.svelte-1tes396 .project-card:where(.svelte-1tes396) .project-media:where(.svelte-1tes396){object-fit:cover;transform-origin:100%;width:100%;height:auto;display:block}#projects.svelte-1tes396 .project-card:where(.svelte-1tes396) h3:where(.svelte-1tes396){opacity:0;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:clamp(1.5rem,4cqi,3rem);line-height:1.1;position:absolute;inset:0}#projects.svelte-1tes396 .project-card:where(.svelte-1tes396) h3:where(.svelte-1tes396) a:where(.svelte-1tes396){position:static}#projects.svelte-1tes396 .project-card:where(.svelte-1tes396) h3:where(.svelte-1tes396) a:where(.svelte-1tes396):before{content:"";position:absolute;inset:0}#projects.svelte-1tes396 .project-card:where(.svelte-1tes396) p:where(.svelte-1tes396){clip-path:inset(50%);white-space:nowrap;width:1px;max-width:60ch;height:1px;font-size:1rem;line-height:1.5;position:absolute;overflow:hidden}#projects.svelte-1tes396 .project-card:where(.svelte-1tes396):has(a:where(.svelte-1tes396):focus-visible) .project-media:where(.svelte-1tes396){outline:3px solid var(--color-primary);outline-offset:-3px}@container (width>=48rem){#projects.svelte-1tes396 .project-details:where(.svelte-1tes396){z-index:1;width:calc(var(--page-padding) + var(--project-text-width));pointer-events:none;padding-inline-start:var(--page-padding);display:block;position:absolute;inset-block:0;inset-inline-start:0}#projects.svelte-1tes396 .project-details-content:where(.svelte-1tes396){align-content:center;height:100svh;display:grid;position:sticky;top:0}#projects.svelte-1tes396 .project-details-content:where(.svelte-1tes396) a:where(.svelte-1tes396){pointer-events:auto;width:fit-content;display:block}#projects.svelte-1tes396 .project-details-content:where(.svelte-1tes396) p:where(.svelte-1tes396){max-width:60ch;line-height:1.5}#projects.svelte-1tes396 .project-details-content:where(.svelte-1tes396) .project-details-title:where(.svelte-1tes396){font-family:ibm,serif;font-size:clamp(1.5rem, calc(var(--project-text-width) * .14), 4.5rem);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;margin-bottom:.75rem;line-height:1.05}#projects.svelte-1tes396 .project-card:where(.svelte-1tes396){grid-template-columns:minmax(0, 1fr) var(--project-image-width);column-gap:var(--project-gap);grid-template-rows:1fr auto;padding-inline-start:var(--page-padding)}#projects.svelte-1tes396 .project-card:where(.svelte-1tes396) .project-media:where(.svelte-1tes396){grid-area:1/2/-1}#projects.svelte-1tes396 .project-card:where(.svelte-1tes396) h3:where(.svelte-1tes396) a:where(.svelte-1tes396):before{width:var(--project-image-width);inset-inline-start:auto}#projects.svelte-1tes396 .project-list:where(.svelte-1tes396):not([data-enhanced]) .project-card:where(.svelte-1tes396) h3:where(.svelte-1tes396){opacity:1;align-self:end;position:static}#projects.svelte-1tes396 .project-list:where(.svelte-1tes396):not([data-enhanced]) .project-card:where(.svelte-1tes396) p:where(.svelte-1tes396){clip-path:none;white-space:normal;width:auto;height:auto;padding-block:.5rem 2rem;position:static;overflow:visible}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){#projects.svelte-1tes396 .project-list:where(.svelte-1tes396):not([data-enhanced]) .project-card:where(.svelte-1tes396) .project-media:where(.svelte-1tes396){animation:linear both svelte-1tes396-project-scale;animation-timeline:--project-card}@container (width>=48rem){#projects.svelte-1tes396 .project-list:where(.svelte-1tes396):not([data-enhanced]) .project-card:where(.svelte-1tes396) h3:where(.svelte-1tes396),#projects.svelte-1tes396 .project-list:where(.svelte-1tes396):not([data-enhanced]) .project-card:where(.svelte-1tes396) p:where(.svelte-1tes396){animation:linear both svelte-1tes396-project-fade;animation-timeline:--project-card}}}}:is(#projects.svelte-1tes396:has(input[value=school]:where(.svelte-1tes396):checked) .project-card:where(.svelte-1tes396):not([data-category=school]),#projects.svelte-1tes396:has(input[value=personal]:where(.svelte-1tes396):checked) .project-card:where(.svelte-1tes396):not([data-category=personal])){display:none}#projects.svelte-1tes396:has(input[value=personal]:where(.svelte-1tes396):checked) .project-empty:where(.svelte-1tes396){padding:2rem var(--page-padding);display:block}@keyframes svelte-1tes396-project-scale{0%{animation-timing-function:ease-in-out;transform:scale(.72)}50%{animation-timing-function:ease-in-out;transform:scale(1)}to{transform:scale(.72)}}@keyframes svelte-1tes396-project-fade{0%,25%{opacity:0}40%,60%{opacity:1}75%,to{opacity:0}}#contact.svelte-wt4tt0 ul:where(.svelte-wt4tt0) li:where(.svelte-wt4tt0){width:fit-content}#contact.svelte-wt4tt0 ul:where(.svelte-wt4tt0) li:where(.svelte-wt4tt0) a:where(.svelte-wt4tt0){align-items:center;gap:.25rem;display:flex}#contact.svelte-wt4tt0 .social-icon:where(.svelte-wt4tt0){background-color:currentColor;flex-shrink:0;width:1.5rem;height:1.5rem;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (width>768px){#contact.svelte-wt4tt0 ul:where(.svelte-wt4tt0){justify-content:space-evenly;display:flex}}.page-footer.svelte-jz8lnl{padding:2rem var(--page-padding);justify-content:flex-end;margin-bottom:2.8rem;display:flex}.to-dark.svelte-jz8lnl,.to-light.svelte-jz8lnl{align-items:center;gap:.5rem;display:inline-flex}.to-light.svelte-jz8lnl,:root[data-theme=dark] .to-dark.svelte-jz8lnl{display:none}:root[data-theme=dark] .to-light.svelte-jz8lnl{display:inline-flex}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .to-dark.svelte-jz8lnl{display:none}:root:not([data-theme=light]) .to-light.svelte-jz8lnl{display:inline-flex}}.page-start.svelte-1uha8ag{min-height:100dvh;padding-bottom:calc(var(--profile-photo-size) * var(--profile-icon-scale))}
