@font-face{font-family:inter;src:url(../media/Inter_VariableFont_opsz,wght-s.p.1ci5nhn25kwyu.ttf)format("truetype");font-display:swap;font-style:normal}@font-face{font-family:inter;src:url(../media/Inter_Italic_VariableFont_opsz,wght-s.p.02txx7iev_dgs.ttf)format("truetype");font-display:swap;font-style:italic}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_ae5b5a05-module__AtX2uq__className{font-family:inter,inter Fallback}.inter_ae5b5a05-module__AtX2uq__variable{--font-sans:"inter", "inter Fallback"}
@font-face{font-family:instrumentSerif;src:url(../media/InstrumentSerif_Regular-s.p.0accj_e91w0ot.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:instrumentSerif;src:url(../media/InstrumentSerif_Italic-s.p.3kkrvz04v7cah.ttf)format("truetype");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:instrumentSerif Fallback;src:local(Arial);ascent-override:128.92%;descent-override:40.37%;line-gap-override:0.0%;size-adjust:76.79%}.instrumentserif_e169108d-module__ztRYpa__className{font-family:instrumentSerif,instrumentSerif Fallback}.instrumentserif_e169108d-module__ztRYpa__variable{--font-serif:"instrumentSerif", "instrumentSerif Fallback"}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
:root{--white:#fff;--ink-900:#0e0e0e;--ink-800:#1e1e1e;--gray-50:#f4f4f4;--gray-400:#8e8e8e;--gray-500:#737373;--gray-600:#666;--sand-50:#f9f5f3;--sand-200:#ded9d6;--slate-200:#bfc0c4;--slate-400:#77777a;--slate-500:#626264;--slate-700:#3b3b3d;--pink-500:#c4788b;--black-a035:#00000009;--black-a120:#0000001f;--black-a240:#0000003d;--black-a880:#000000e0;--white-a045:#ffffff0b;--white-a140:#ffffff24;--white-a180:#ffffff2e;--white-a400:#fff6;--white-a750:#ffffffbf;--background:var(--sand-50);--text-primary:var(--ink-900);--text-secondary:var(--gray-500);--border:var(--black-a120);--surface-hover:var(--black-a035);--surface-placeholder:var(--sand-200);--accent:var(--pink-500);--cursor-page-fill:var(--ink-900);--cursor-page-label:var(--white)}[data-theme=dark]{--background:var(--ink-900);--text-primary:var(--gray-50);--text-secondary:var(--gray-400);--border:var(--white-a140);--surface-hover:var(--white-a045);--surface-placeholder:var(--ink-800);--cursor-page-fill:var(--white);--cursor-page-label:var(--ink-900)}:root{--fg-on-dark:var(--white);--fg-on-light:var(--ink-900);--selection-bg:var(--accent);--selection-color:var(--fg-on-dark);--chrome-fg:var(--fg-on-dark);--chrome-fg-active:var(--gray-600);--chrome-track:var(--white-a180);--chrome-track-hover:var(--white-a400);--scrim:var(--black-a880);--scrim-text:var(--white-a750);--raised-bg:var(--slate-700);--raised-border:var(--slate-500);--raised-divider:var(--slate-400);--raised-text:var(--slate-200);--raised-shadow:var(--black-a240)}
:root{--font-inter:var(--font-sans), "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-instrument:var(--font-serif), "Instrument Serif", Georgia, "Times New Roman", serif;--leading-display:.95;--leading-h1:1.05;--leading-h2:1.2;--leading-h3:1.25;--leading-body:1.6;--leading-body-sm:1.5;--leading-caption:1.4;--text-h1-sans:clamp(2.75rem, 5.5vw, 4.5rem);--tracking-h1-sans:-.065em;--weight-h1-sans:400;--text-h2-sans:clamp(1.75rem, 3.2vw, 2.5rem);--tracking-h2-sans:-.055em;--weight-h2-sans:400;--text-h3-sans:clamp(1.15rem, 1.8vw, 1.45rem);--tracking-h3-sans:-.025em;--weight-h3-sans:400;--text-body-sans:1rem;--tracking-body-sans:normal;--weight-body-sans:400;--text-body-sm-sans:.875rem;--tracking-body-sm-sans:-.01em;--weight-body-sm-sans:400;--text-caption-sans:.66rem;--tracking-caption-sans:.08em;--weight-caption-sans:400;--text-display-sans:clamp(3.5rem, 12vw, 12rem);--tracking-display-sans:-.07em;--weight-display-sans:400;--text-display-sm-sans:clamp(1.9rem, 4.2vw, 3.4rem);--tracking-display-sm-sans:-.055em;--weight-display-sm-sans:400;--text-display-xl-sans:clamp(4rem, 15vw, 15rem);--tracking-display-xl-sans:-.07em;--weight-display-xl-sans:400;--text-display-serif:clamp(3.9rem, 13.4vw, 13.4rem);--tracking-display-serif:-.075em;--weight-display-serif:400;--text-display-xl-serif:clamp(4.5rem, 16.8vw, 16.8rem);--tracking-display-xl-serif:-.075em;--weight-display-xl-serif:400;--text-h1-serif:clamp(3.25rem, 6.5vw, 5.35rem);--tracking-h1-serif:-.075em;--weight-h1-serif:400;--text-h2-serif:clamp(2rem, 3.6vw, 2.9rem);--tracking-h2-serif:-.055em;--weight-h2-serif:400;--text-h3-serif:clamp(1.25rem, 2vw, 1.6rem);--tracking-h3-serif:-.035em;--weight-h3-serif:400;--text-body-serif:1.08rem;--tracking-body-serif:-.01em;--weight-body-serif:400}.display-sans{font-family:var(--font-inter);font-size:var(--text-display-sans);line-height:var(--leading-display);letter-spacing:var(--tracking-display-sans);font-weight:var(--weight-display-sans)}.display-serif,.display-serif-italic{font-family:var(--font-instrument);font-size:var(--text-display-serif);line-height:var(--leading-display);letter-spacing:var(--tracking-display-serif);font-weight:var(--weight-display-serif)}.display-serif-italic{font-style:italic}.display-sm-sans{font-family:var(--font-inter);font-size:var(--text-display-sm-sans);line-height:var(--leading-h2);letter-spacing:var(--tracking-display-sm-sans);font-weight:var(--weight-display-sm-sans)}.display-xl-sans{font-family:var(--font-inter);font-size:var(--text-display-xl-sans);line-height:var(--leading-display);letter-spacing:var(--tracking-display-xl-sans);font-weight:var(--weight-display-xl-sans)}.display-xl-serif,.display-xl-serif-italic{font-family:var(--font-instrument);font-size:var(--text-display-xl-serif);line-height:var(--leading-display);letter-spacing:var(--tracking-display-xl-serif);font-weight:var(--weight-display-xl-serif)}.display-xl-serif-italic{font-style:italic}.h1-sans,h1.sans{font-family:var(--font-inter);font-size:var(--text-h1-sans);line-height:var(--leading-h1);letter-spacing:var(--tracking-h1-sans);font-weight:var(--weight-h1-sans)}.h2-sans,h2.sans{font-family:var(--font-inter);font-size:var(--text-h2-sans);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2-sans);font-weight:var(--weight-h2-sans)}.h3-sans,h3.sans{font-family:var(--font-inter);font-size:var(--text-h3-sans);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3-sans);font-weight:var(--weight-h3-sans)}.body-sans,p.sans{font-family:var(--font-inter);font-size:var(--text-body-sans);line-height:var(--leading-body);letter-spacing:var(--tracking-body-sans);font-weight:var(--weight-body-sans)}.body-sm-sans{font-family:var(--font-inter);font-size:var(--text-body-sm-sans);line-height:var(--leading-body-sm);letter-spacing:var(--tracking-body-sm-sans);font-weight:var(--weight-body-sm-sans)}.caption-sans{font-family:var(--font-inter);font-size:var(--text-caption-sans);line-height:var(--leading-caption);letter-spacing:var(--tracking-caption-sans);font-weight:var(--weight-caption-sans);text-transform:uppercase}.h1-serif,h1.serif,.h1-serif-italic{font-family:var(--font-instrument);font-size:var(--text-h1-serif);line-height:var(--leading-h1);letter-spacing:var(--tracking-h1-serif);font-weight:var(--weight-h1-serif)}.h1-serif-italic{font-style:italic}.h2-serif,h2.serif,.h2-serif-italic{font-family:var(--font-instrument);font-size:var(--text-h2-serif);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2-serif);font-weight:var(--weight-h2-serif)}.h2-serif-italic{font-style:italic}.h3-serif,h3.serif,.h3-serif-italic{font-family:var(--font-instrument);font-size:var(--text-h3-serif);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3-serif);font-weight:var(--weight-h3-serif)}.h3-serif-italic{font-style:italic}.body-serif,p.serif,.body-serif-italic{font-family:var(--font-instrument);font-size:var(--text-body-serif);line-height:var(--leading-body);letter-spacing:var(--tracking-body-serif);font-weight:var(--weight-body-serif)}.body-serif-italic{font-style:italic}.font-sans{font-family:var(--font-inter)}.font-serif{font-family:var(--font-instrument)}.italic{font-style:italic}.text-primary{color:var(--text-primary)}.text-muted{color:var(--text-secondary)}
:root{--doodle-stroke:1.5px;--grid-gap:clamp(1.25rem, 2.8vw, 2.75rem);--page-pad-x:clamp(1rem, 2.2vw, 2.25rem);--page-pad-y:clamp(.75rem, 1.5vw, 1.25rem);--page-pad-block:clamp(3.5rem, 6.5vh, 5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--block-gap:clamp(2.5rem, 5vw, 4.5rem);--section-sm:clamp(2rem, 4.5vw, 4rem);--section-md:clamp(3rem, 6vw, 5.5rem);--section-lg:clamp(4.5rem, 9vw, 8rem);--gap-tight:clamp(.4rem, .9vw, .85rem);--hero-stage-height-compact:clamp(420px, 52vh, 580px);--hero-stage-height-full:clamp(480px, 70vh, 760px);--hero-media-width:clamp(500px, 62vw, 920px);--hero-media-height:clamp(580px, 80vh, 880px)}@media (max-width:860px){:root{--grid-gap:1.25rem}}@media (max-width:640px){:root{--grid-gap:1rem;--page-pad-x:1rem}}
:root{--ease-standard:cubic-bezier(.2, .9, .25, 1);--ease-draw:cubic-bezier(.65, 0, .35, 1);--ease-cursor-morph:cubic-bezier(.34, 1.2, .64, 1);--cursor-grow-ease:cubic-bezier(.32, .72, 0, 1);--ease-blink:steps(1, end);--ease-linear:linear;--motion-instant:0s;--motion-theme:.35s;--motion-link-fade:.22s;--motion-underline:.55s;--motion-underline-exit:.396s;--motion-connect-draw:.7s;--motion-connect-delay:.3s;--motion-resume-arrow:.9s;--motion-tab-hover:.194s;--motion-tab-underline-enter:.282s;--motion-row-leave:.14s;--motion-row-dot-in:.5s;--motion-row-dot-out:.32s;--motion-about-circle:.616s;--motion-about-bracket-move:.37s;--motion-about-bracket-fade:.176s;--motion-about-bracket-delay:70ms;--motion-about-cursor-blink:1s;--cursor-grow-duration:.28s;--motion-cursor-morph:.42s;--motion-cursor-move:.282s;--motion-cursor-fade:.22s;--motion-cursor-label-color:.25s;--motion-cursor-label-delay:0s;--motion-cursor-press:.2s;--motion-cursor-icon:.32s;--theme-transition:background-color var(--motion-theme) var(--ease-standard), color var(--motion-theme) var(--ease-standard), border-color var(--motion-theme) var(--ease-standard), fill var(--motion-theme) var(--ease-standard), stroke var(--motion-theme) var(--ease-standard)}
*,:before,:after{box-sizing:border-box;transition:var(--theme-transition);margin:0;padding:0;transition-property:background-color,fill,stroke}.text-primary,.text-muted,.theme-switch,.theme-switch *{transition-property:color,background-color,fill,stroke}::selection{background-color:var(--selection-bg);color:var(--selection-color)}::selection{background-color:var(--selection-bg);color:var(--selection-color)}@font-face{font-family:Caveat;src:url(/fonts/caveat/Caveat.ttf)format("truetype");font-weight:400 700;font-style:normal;font-display:swap}html,body{overflow-anchor:none;overscroll-behavior-x:none;overscroll-behavior-y:none;background-color:var(--background);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-inter);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:var(--theme-transition);overflow-x:clip}html.lightbox-open,body.lightbox-open,html.lightbox-open .portfolio-scroll-container,body.lightbox-open .portfolio-scroll-container{overscroll-behavior:none!important;touch-action:none!important}html.lightbox-open .site-header,body.lightbox-open .site-header{visibility:hidden!important;pointer-events:none!important;transform:translateY(-100%)!important}html.lightbox-open .site-footer,body.lightbox-open .site-footer{visibility:hidden!important;pointer-events:none!important;transform:translateY(100%)!important}@media (prefers-reduced-motion:reduce){html.lightbox-open :is(.site-header,.site-footer),body.lightbox-open :is(.site-header,.site-footer){opacity:0!important;transform:none!important}}@supports not ((hanging-punctuation:first) and (font:-apple-system-body)){html,body,.portfolio-scroll-container{scrollbar-width:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}.portfolio-scroll-container::-webkit-scrollbar{display:none}}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-offset:4px;outline:2px solid}
.grid-4{column-gap:var(--grid-gap);padding-left:var(--page-pad-x);padding-right:var(--page-pad-x);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.col-1{grid-column:1/2}.col-2{grid-column:2/3}.col-3{grid-column:3/4}.col-4{grid-column:4/5}.col-span-2{grid-column:span 2/span 2}.col-span-4{grid-column:span 4/span 4}.col-2-4{grid-column:2/5}@media (max-width:860px){.grid-4{column-gap:var(--space-5);row-gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.col-1{grid-column:1/2}.col-2{grid-column:2/3}.col-3{grid-column:1/2}.col-4{grid-column:2/3}.col-2-4{grid-column:1/3}.col-span-4{grid-column:1/-1}}@media (max-width:640px){.grid-4{column-gap:0;row-gap:var(--space-6);grid-template-columns:1fr}.col-1,.col-2,.col-3,.col-4,.col-2-4,.col-span-4{width:100%;grid-column:1/-1!important}}
@supports (hanging-punctuation:first) and (font:-apple-system-body){.scroll-progress{display:none}}.scroll-progress{pointer-events:none;z-index:1000;width:3px;position:fixed;inset:0 auto 0 0}.scroll-progress-fill{background:var(--text-primary);transform-origin:top;will-change:transform;width:100%;height:100%}.header-menu-label{display:none}.site-header.blend-suspended,html[data-next-project] :is(.site-header,.site-footer){mix-blend-mode:normal!important}:root:not([data-theme=dark]) .site-header.blend-suspended,html:not([data-theme=dark])[data-next-project] :is(.site-header,.site-footer){filter:invert()}.nav-link{align-items:center;gap:var(--space-1);color:var(--chrome-fg);transition:opacity var(--motion-link-fade) var(--ease-standard), var(--theme-transition);display:inline-flex}.nav-link:hover{opacity:.7}.connect-group{align-items:center;gap:var(--space-3);justify-content:flex-end;display:inline-flex}.connect-arrow{background-color:currentColor;align-items:center;width:64px;height:1px;display:inline-flex;position:relative}.connect-arrow:after{content:"";border-top:1px solid;border-right:1px solid;width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.social-link{transition:opacity var(--motion-link-fade) var(--ease-standard), var(--theme-transition)}.header-col-more{display:none}.header-more-list{align-items:flex-end;gap:var(--space-2);padding:var(--space-3) 0 0;flex-direction:column;margin:0;list-style:none;display:flex;position:absolute;top:100%;right:0}.projects-menu-connect{display:none}.projects-menu-connect-row{align-items:baseline;gap:var(--space-4);width:100%;display:flex}.projects-menu-connect-row .nav-link{color:var(--text-primary)}.nav-button-swap{vertical-align:middle;align-items:center;height:1.4em;display:inline-flex;position:relative}.nav-link,.social-link{text-decoration:none;position:relative}.site-header .nav-link:before,.site-footer .social-link:before,.site-footer .theme-switch:before{content:"";position:absolute;inset:-.65rem}.site-header .nav-link:before{top:-6rem}.site-header .header-more-list .nav-link:before{inset:-.3rem -.65rem}.site-header .header-col-home .nav-link:before{left:calc(var(--page-pad-x) * -1);width:calc(9em + var(--page-pad-x));right:auto}.site-header .header-col-projects .nav-link:before{width:6em;right:auto}.site-header .header-col-resume .nav-link:before{right:calc(var(--page-pad-x) * -1)}.site-footer .social-link:before{bottom:-6rem;left:-.6rem;right:-.6rem}.nav-link:after,.social-link:after{content:"";pointer-events:none;transform-origin:0;background:currentColor;height:1px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(1)}.nav-link.underline-running:after,.social-link.underline-running:after{animation:slideUnderline var(--motion-underline) var(--ease-draw) forwards}[data-chrome=out] :is(.nav-link,.social-link):after{transition:none;transform:scaleX(0)}[data-chrome=out] .connect-arrow{clip-path:inset(-8px 100% -8px 0);transition:none}[data-chrome=in] .connect-arrow{clip-path:inset(-8px -8px -8px 0);transition:clip-path var(--motion-connect-draw) var(--ease-draw) var(--motion-connect-delay)}[data-chrome=in] :is(.nav-link,.social-link):after{transition:transform var(--motion-connect-draw) var(--ease-draw) var(--motion-connect-delay)}.nav-link[data-exiting]:after{transition:transform var(--motion-underline-exit) var(--ease-draw);transform:translate(101%)}.resume-arrow{flex:none;align-self:center;width:.72em;height:.72em;margin-left:.15em;overflow:visible}.resume-arrow-stem{transform-origin:1px 9px}.arrow-looping .resume-arrow-stem{animation:resumeArrowStem var(--motion-resume-arrow) var(--ease-linear) infinite}.arrow-looping .resume-arrow-head{animation:resumeArrowHead var(--motion-resume-arrow) var(--ease-linear) infinite}@keyframes resumeArrowStem{0%,to{transform:scale(1)}50%{transform:scale(1.32)}}@keyframes resumeArrowHead{0%,to{transform:translate(0)}50%{transform:translate(2.56px,-2.56px)}}@keyframes slideUnderline{0%{transform-origin:100%;animation-timing-function:var(--ease-draw);transform:scaleX(1)}49.9%{transform-origin:100%;transform:scaleX(0)}50%{transform-origin:0;animation-timing-function:var(--ease-standard);transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.nav-link:after,.social-link:after{transition:none!important;animation:none!important;transform:scaleX(1)!important}.resume-arrow-stem,.resume-arrow-head{animation:none!important}.theme-switch-circle{transition:none!important}}.social-link:hover{opacity:.6}.theme-switch{width:1.6em;height:1.2em;color:var(--chrome-fg);font:inherit;cursor:pointer;--theme-switch-swap:.6em;--theme-switch-offset:-.2em;transition:var(--theme-transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.theme-switch-circle{width:1em;height:1em;transition:transform var(--motion-theme) var(--ease-standard);flex:none;display:block}.theme-switch-circle--ring{transform:translateX(calc(var(--theme-switch-offset) * -1))}.theme-switch-circle--disc{transform:translateX(var(--theme-switch-offset))}[data-theme=dark] .theme-switch-circle--ring{transform:translateX(calc(var(--theme-switch-swap) - var(--theme-switch-offset)))}[data-theme=dark] .theme-switch-circle--disc{transform:translateX(calc(var(--theme-switch-swap) * -1 + var(--theme-switch-offset)))}.dash-indicators{align-items:center;gap:var(--space-2);display:flex}.dash-item{cursor:pointer;background:0 0;border:none;outline:none;align-items:center;width:44px;height:3px;padding:0;display:flex;position:relative}.dash-item:before{content:"";cursor:pointer;position:absolute;inset:-21px -4px}.dash-item-track{background-color:var(--chrome-track);width:100%;height:100%;transition:height var(--motion-link-fade) var(--ease-standard), background-color var(--motion-theme) var(--ease-standard);border-radius:999px;position:relative;overflow:hidden}.dash-item:hover .dash-item-track{background-color:var(--chrome-track-hover);height:5.4px}.dash-item-fill{transform-origin:0;background-color:var(--chrome-fg);will-change:transform;border-radius:999px;width:100%;height:100%;position:absolute;top:0;left:0}@media (max-width:860px){.projects-menu-connect,.footer-connect .connect-group>.body-serif-italic,.footer-connect .connect-group>.connect-arrow{display:none}.site-footer .footer-theme{display:none!important}.site-footer{grid-template-columns:repeat(4,minmax(0,1fr))}.site-footer .footer-title{grid-column:1}.site-footer .footer-location{grid-column:2}.site-footer .footer-connect{grid-column:4;justify-self:end}}@media (min-width:641px) and (max-width:860px){.site-header{grid-template-columns:repeat(4,minmax(0,1fr))}.site-header .header-col-home{grid-column:1}.site-header .header-col-projects{grid-column:2}.site-header .header-col-resume{grid-column:4}}@media (max-width:640px){.header-projects-label{display:none}.header-menu-label{display:inline}.site-header{grid-template-rows:auto!important;grid-template-columns:auto minmax(4rem,1fr) auto auto!important;align-items:center!important;gap:0 clamp(1rem,4vw,3.5rem)!important;width:100%!important;display:grid!important}.site-header .header-col-resume{grid-area:1/4/auto/5!important;justify-self:end!important}.site-header .header-col-home{grid-area:1/1/auto/2!important}.site-header .header-col-projects{grid-area:1/3/auto/4!important;justify-self:end!important}.site-footer{display:none!important}.projects-menu-connect{width:100%;margin-top:var(--space-8);padding-inline:var(--page-pad-x);display:flex}.projects-menu-connect .connect-group>.body-serif-italic,.projects-menu-connect .connect-group>.connect-arrow{display:none}.site-header .header-col-resume{display:none!important}.site-header .header-col-more{grid-area:1/4/auto/5;justify-self:end;display:flex;position:relative}}
.about-view{--about-accent:var(--accent);z-index:90;padding:var(--space-20) 0;background:var(--background);color:var(--text-primary);pointer-events:auto;align-items:center;display:flex;position:fixed;inset:0;overflow:clip auto}.about-circled-word{white-space:nowrap;display:inline-block;position:relative}.about-circled-word svg{pointer-events:none;width:calc(100% + .4em);height:1.55em;position:absolute;top:50%;left:-.2em;overflow:visible;transform:translateY(-50%)rotate(-4deg)}.about-circled-word path{fill:none;stroke:var(--about-accent);stroke-width:var(--doodle-stroke);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.about-underlined-word{white-space:nowrap;display:inline-block;position:relative}.about-underlined-word svg{pointer-events:none;width:calc(100% + .1em);height:.22em;position:absolute;bottom:-.08em;left:-.05em;overflow:visible}.about-underlined-word path{fill:none;stroke:var(--about-accent);stroke-width:var(--doodle-stroke);stroke-linecap:round;vector-effect:non-scaling-stroke}.about-cursor-word{white-space:nowrap;display:inline-block}.about-cursor-word:after{content:"";background:var(--about-accent);vertical-align:-.08em;width:2px;height:.82em;animation:about-cursor-blink var(--motion-about-cursor-blink) var(--ease-blink) infinite;margin-left:.04em;display:inline-block}.about-cursor-word.is-suggesting:after{background:var(--about-accent);animation:none}.about-smile-token{display:inline-block;position:relative}.about-smile-token.is-selected{background:var(--about-accent);color:var(--fg-on-dark);border-radius:.08em}.about-emoji-suggestion{z-index:2;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--raised-border);background:var(--raised-bg);box-shadow:0 8px 18px var(--raised-shadow);color:var(--raised-text);font-family:var(--font-inter);letter-spacing:normal;white-space:nowrap;pointer-events:none;border-radius:999px;font-size:1.25rem;font-weight:400;line-height:1;display:inline-flex;position:absolute;top:calc(100% + .4rem);left:50%}.about-emoji-option{font-size:1.25em}.about-emoji-divider{background:var(--raised-divider);width:1px;height:1.1em}.about-emoji-dismiss{place-items:center;width:1em;height:1em;font-weight:500;display:grid}@keyframes about-cursor-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.about-circled-word path,.about-underlined-word path{transition:none}.about-cursor-word:after{animation:none}}@media (max-width:640px){.about-view,.projects-index-view{--view-pad-top:clamp(5.5rem, 13vh, 7.25rem)}.about-view{padding-bottom:var(--space-12)!important}}.about-view,.projects-index-view{--view-pad-top:clamp(5.5rem, 9vh, 8rem);align-items:flex-start;padding-top:var(--view-pad-top)!important;justify-content:flex-start!important}@media (min-width:861px){.about-view,.projects-index-view{--view-pad-top:clamp(12rem, 23vh, 17rem)}}
.scroll-cue{align-items:center;gap:var(--space-4);text-transform:uppercase;letter-spacing:var(--tracking-caption-sans);flex-direction:column;margin:0;display:flex}.scroll-cue-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:.9s ease-in-out infinite alternate scroll-cue-dot;display:block}@keyframes scroll-cue-dot{0%{transform:translateY(-9px)}to{transform:translateY(5px)}}@media (prefers-reduced-motion:reduce){.scroll-cue-dot{animation:none}}
.about-view.about-scroller::-webkit-scrollbar{display:none}.about-view.about-scroller{overscroll-behavior:contain;scrollbar-width:none;display:block;padding:0!important}.about-scene{position:relative}.about-sticky{height:100svh;padding-inline:var(--page-pad-x);justify-content:center;align-items:center;display:flex;position:sticky;top:0;overflow:hidden}.about-scene[data-live=false] .about-sticky{height:auto;min-height:70svh;padding-block:var(--space-20);position:relative}.about-intro-scene{height:var(--intro-height,402svh)}.about-intro-scene[data-live=false]{height:auto}.about-intro-stage{width:100%;height:100%;position:relative}.about-intro-panel{padding-inline:var(--page-pad-x);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.about-intro-copy{width:calc((100vw - 2 * var(--page-pad-x) - var(--grid-gap)) / 2);height:clamp(460px,78svh,860px);position:relative}.about-intro-card{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:3;width:min(52vw,720px);height:auto;position:absolute;top:56%;translate:-50% -50%}.about-intro-scene[data-live=false] .about-intro-stage{gap:var(--space-12);height:auto;display:grid}.about-intro-scene[data-live=false] .about-intro-panel{min-height:60svh;position:static}.about-intro-scene[data-live=false] .about-intro-copy{gap:var(--space-8);height:auto;display:grid;overflow:visible;-webkit-mask-image:none;mask-image:none}.about-intro-scene[data-live=false] .about-typed-flow{position:static}.about-intro-scene[data-live=false] .about-typed-word{opacity:1}.about-hero-title{text-align:center;transform-origin:50%}.about-projects-cue{z-index:9998;top:var(--page-pad-y);left:var(--page-pad-x);pointer-events:none;width:max-content;position:fixed}.about-projects-arrow{width:clamp(50px,5vw,70px);height:auto;stroke:var(--about-accent,var(--accent));stroke-width:var(--doodle-stroke);stroke-linecap:round;stroke-linejoin:round;pointer-events:none;position:absolute;top:0;left:0}.about-projects-arrow path{vector-effect:non-scaling-stroke}.about-scroll-cue{position:absolute;bottom:12svh;left:50%;translate:-50%}.about-scroll-reminder{z-index:4;pointer-events:none}.about-closer{white-space:nowrap;margin:0;position:absolute;top:50%;left:50%;translate:-50% -50%}.about-intro-scene[data-live=false] .about-closer{white-space:normal;position:static;translate:none}.about-typed-flow{text-align:left;margin:0;padding:.95em .5em .55em;position:absolute;top:0;left:0;right:0}.about-typed-word{white-space:nowrap;display:inline-block}.about-typed-char{opacity:0;transition:opacity .12s var(--ease-standard);position:relative}.about-typed-char[data-shown=true]{opacity:1}.about-scroll-character{transition:none}.about-typed-break{height:.7em;display:block}.about-typed-caret{background:var(--about-accent);width:2px;height:.82em;animation:about-cursor-blink var(--motion-about-cursor-blink) var(--ease-blink) infinite;margin-left:.06em;display:block;position:absolute;top:.16em;left:100%}.about-recently{z-index:1;height:340svh}.about-recently[data-live=false]{height:auto}.about-recently .about-sticky{clip-path:inset(0);justify-content:flex-start;padding-inline:0;overflow:clip visible}.about-recently[data-live=false] .about-sticky{clip-path:none;scroll-snap-type:x proximity;scrollbar-width:none;overflow-x:auto}.about-recently[data-live=false] .about-sticky::-webkit-scrollbar{display:none}.about-recently[data-live=false] .about-recently-track{height:80svh}.about-recently-track{box-sizing:border-box;height:100%;padding:clamp(4rem, 11svh, 6.5rem) var(--page-pad-x) clamp(4rem, 11svh, 6.5rem) calc(var(--page-pad-x) + 115svh);will-change:transform;align-self:stretch;align-items:center;gap:clamp(3rem,8vw,8rem);display:flex}.about-recently-title{flex:none;align-self:center;padding-right:clamp(2rem,6vw,6rem)}.about-recent-journey{flex:none;align-items:center;gap:clamp(3rem,8vw,8rem);height:100%;display:flex;position:relative}.about-recent{gap:var(--space-3);scroll-snap-align:center;align-self:start;min-width:0;margin:0;display:grid}.about-recent-composition{scroll-snap-align:start;flex:none;align-items:center;gap:14svh;height:100%;display:flex;position:relative}.about-recent-trail{pointer-events:none;width:100%;height:100%;color:var(--about-accent,var(--accent));position:absolute;inset:0;overflow:visible}.about-recent-trail>path{fill:none;stroke:currentColor;stroke-width:var(--doodle-stroke);vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:8 7 11 8 7 7}.about-recent-pair,.about-recent-quartet{flex:none;grid-template-rows:repeat(16,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));column-gap:2svh;height:100%;display:grid}.about-recent-pair{width:72svh}.about-recent-pair>:first-child{grid-area:2/1/auto/3}.about-recent-pair>:last-child{grid-area:7/4/auto/9}.about-recent-pair--opening>:first-child{grid-row:1}.about-recent-pair--opening>:first-child .about-recent-frame{aspect-ratio:3/4}.about-recent-quartet{width:110svh}.about-recent-quartet>:first-child{grid-area:1/1/auto/2}.about-recent-quartet>:nth-child(2){grid-area:5/2/auto/6}.about-recent-quartet>:nth-child(3){grid-area:3/8/auto/9}.about-recent-quartet>:nth-child(4){grid-area:9/6/auto/8}.about-recent-quartet>:nth-child(4) .about-recent-frame{aspect-ratio:3/4}.about-recent-anchor{flex:none;width:72svh}.about-recent-anchor .about-recent{position:relative}.about-recent-anchor figcaption{bottom:calc(100% + var(--space-3));position:absolute}.about-recent figcaption,.about-origin-photo figcaption{text-transform:uppercase}.about-recent-frame{aspect-ratio:1;width:100%;position:relative;overflow:hidden}.about-recent-media{position:absolute;inset:0 -12%}.about-recent-placeholder{background:color-mix(in srgb, var(--text-primary) 8%, var(--background));position:absolute;inset:0}.about-listening{height:100svh;margin-top:-27svh}.about-listening .about-sticky{position:relative}.about-listening[data-live=false]{height:auto}.about-listening-stage{width:min(100%,80rem);height:min(100%,52rem);position:relative}.about-listening[data-live=false] .about-listening-stage{height:80svh}.about-music-word{white-space:nowrap;display:inline-block;position:relative}.about-music-vinyl{width:1.05em;height:1.05em;color:var(--about-accent,var(--accent));position:absolute;top:-.65em;right:-.7em;transform:rotate(-12deg)}.about-music-vinyl g path{stroke-dasharray:1 2;stroke-dashoffset:1.02px}.about-vinyl-center{opacity:0}.about-music-vinyl[data-animate=true]{animation:10s linear 1.5s infinite about-vinyl-spin}.about-music-vinyl[data-animate=true] g path{animation:about-vinyl-draw .9s var(--ease-standard) both}.about-music-vinyl g path:nth-child(2){animation-delay:.15s}.about-music-vinyl g path:nth-child(3){animation-delay:.3s}.about-music-vinyl g path:nth-child(4){animation-delay:.45s}.about-music-vinyl g path:nth-child(5){animation-delay:.6s}.about-music-vinyl[data-animate=true] .about-vinyl-center{animation:.2s ease-out 1.1s both about-vinyl-center}@keyframes about-vinyl-draw{to{stroke-dashoffset:0}}@keyframes about-vinyl-center{to{opacity:1}}@keyframes about-vinyl-spin{0%{transform:rotate(-12deg)}to{transform:rotate(348deg)}}.about-music-earpods{width:2.3em;height:4.6em;color:var(--about-accent,var(--accent));pointer-events:none;position:absolute;top:calc(100% + .2em);left:25%;overflow:visible}.about-music-earpods path{stroke-dasharray:1 2;stroke-dashoffset:1.02px}.about-music-earpods[data-animate=true] .about-earpod-left{animation:about-vinyl-draw .65s var(--ease-standard) .3s both}.about-music-earpods[data-animate=true] .about-earpod-right{animation:about-vinyl-draw .65s var(--ease-standard) .7s both}.about-music-earpods[data-animate=true] .about-earpods-cord-left{animation:about-vinyl-draw .3s var(--ease-standard) 1.2s both}.about-music-earpods[data-animate=true] .about-earpods-cord-right{animation:about-vinyl-draw .3s var(--ease-standard) 1.3s both}.about-music-earpods[data-animate=true] .about-earpods-wire{animation:about-vinyl-draw .7s var(--ease-standard) 1.6s both}.about-music-earpods[data-animate=true] .about-earpods-wing-one{animation:.1s linear 2.3s both about-vinyl-draw}.about-music-earpods[data-animate=true] .about-earpods-wing-two{animation:.1s linear 2.4s both about-vinyl-draw}.about-music-vinyl[data-scroll=true],.about-music-vinyl[data-scroll=true] g path,.about-music-vinyl[data-scroll=true] .about-vinyl-center,.about-music-earpods[data-scroll=true] path{animation:none}.about-music-vinyl[data-scroll=true] g path{stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * (var(--music-draw-progress) / .6)), 1.02)}.about-music-vinyl[data-scroll=true] g path:nth-child(2){stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * ((var(--music-draw-progress) - .1) / .6)), 1.02)}.about-music-vinyl[data-scroll=true] g path:nth-child(3){stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * ((var(--music-draw-progress) - .2) / .6)), 1.02)}.about-music-vinyl[data-scroll=true] g path:nth-child(4){stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * ((var(--music-draw-progress) - .3) / .6)), 1.02)}.about-music-vinyl[data-scroll=true] g path:nth-child(5){stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * ((var(--music-draw-progress) - .4) / .6)), 1.02)}.about-music-vinyl[data-scroll=true] .about-vinyl-center{opacity:clamp(0, calc((var(--music-draw-progress) - .85) / .15), 1)}.about-music-earpods[data-scroll=true] .about-earpod-left{stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * (var(--music-draw-progress) / .35)), 1.02)}.about-music-earpods[data-scroll=true] .about-earpod-right{stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * ((var(--music-draw-progress) - .15) / .35)), 1.02)}.about-music-earpods[data-scroll=true] .about-earpods-cord-left{stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * ((var(--music-draw-progress) - .3) / .15)), 1.02)}.about-music-earpods[data-scroll=true] .about-earpods-cord-right{stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * ((var(--music-draw-progress) - .35) / .15)), 1.02)}.about-music-earpods[data-scroll=true] .about-earpods-wire{stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * ((var(--music-draw-progress) - .5) / .38)), 1.02)}.about-music-earpods[data-scroll=true] .about-earpods-wing-one{stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * ((var(--music-draw-progress) - .88) / .06)), 1.02)}.about-music-earpods[data-scroll=true] .about-earpods-wing-two{stroke-dashoffset:clamp(0, calc(1.02 - 1.02 * ((var(--music-draw-progress) - .94) / .06)), 1.02)}@media (prefers-reduced-motion:reduce){.about-music-vinyl{animation:none}.about-music-vinyl g path{stroke-dashoffset:0;animation:none}.about-vinyl-center{opacity:1;animation:none}.about-music-earpods path{stroke-dashoffset:0;animation:none}}.about-listening-title{text-align:center;width:max-content;max-width:90%;position:absolute;top:50%;left:50%;translate:-50% -50%}.about-ticker-sizer{visibility:hidden}.about-music-graphics-stage{pointer-events:none}.about-ticker-character{white-space:pre}.about-ticker-text{white-space:nowrap;position:absolute;inset:0}.about-listening-card{--cover:clamp(6rem, 12vw, 10rem);left:var(--x);top:var(--y);gap:var(--space-2);width:var(--cover);margin:0;display:grid;position:absolute;translate:-50% -50%}.about-listening-card[data-size=sm]{--cover:clamp(4.5rem, 9vw, 7.5rem)}.about-listening-card[data-size=md]{--cover:clamp(6rem, 12vw, 10rem)}.about-listening-card[data-size=lg]{--cover:clamp(7.5rem, 15vw, 13rem)}.about-listening-cover{aspect-ratio:1;width:100%;position:relative;overflow:hidden}.about-listening-placeholder{background:color-mix(in srgb, var(--text-primary) 14%, var(--background));position:absolute;inset:0}.about-listening-card figcaption{text-transform:uppercase;text-align:center}.about-closing{text-align:center;min-height:100svh}.about-closing-stage{align-content:center;justify-items:center;gap:var(--space-10);width:100%;height:100svh;padding:var(--space-20) var(--page-pad-x);display:grid;position:sticky;top:0;left:0}.about-closing[data-live=false] .about-closing-stage{position:relative}.about-closing-line{appearance:none;color:inherit;text-align:inherit;background:0 0;border:0;font-family:inherit}.about-closing-work{display:inline-block;position:relative}.project-preview.about-work-preview{z-index:97}.about-closing-underline{width:100%;height:.14em;color:var(--about-accent,var(--accent));pointer-events:none;position:absolute;bottom:-.07em;left:0;overflow:visible}@media (max-width:860px){.about-listening-title{width:90%}.about-listening-card,.about-listening-card[data-size]{--cover:26vw}}.about-origin{width:calc(100vw - 2 * var(--page-pad-x));scroll-snap-align:start;flex:none;grid-template-rows:repeat(12,minmax(0,1fr));grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(.75rem,1.5svh,1.5rem);height:100%;display:grid;position:relative}.about-origin-copy{z-index:2;grid-area:4/1/span 6/span 7;align-self:center}.about-origin-copy>p:first-child{margin-bottom:1.5rem}.about-origin-title{margin:0 0 2rem}.about-origin-title .display-serif-italic{white-space:nowrap}.about-origin-sub{margin:0}.about-origin-sub>span{white-space:nowrap;display:block}.about-origin-sub>span:last-child{padding-left:3.2em}.about-origin-photo{align-self:start;gap:var(--space-3);min-width:0;margin:0;display:grid}.about-origin-photo .about-recent-frame{width:100%}.about-origin-photo--street{grid-area:1/8/auto/span 3}.about-origin-photo--harbour{z-index:3;grid-area:8/11/auto/span 2}.about-origin-location{grid-area:1/11/auto/span 2;margin:0}.about-origin-ticket{z-index:2;width:22%;height:auto;position:absolute;top:68%;left:52%;transform:rotate(-10deg)}.about-origin-arrow{width:10%;color:var(--about-accent,var(--accent));position:absolute;top:68%;left:42%}@media (max-width:749px){.about-origin-copy{grid-area:1/1/span 4/-1;align-self:start}.about-origin-title{margin-bottom:1rem}.about-origin-photo--street{grid-area:6/5/auto/span 6}.about-origin-photo--harbour{grid-area:10/9/auto/span 4}.about-origin-location{grid-area:6/1/auto/span 4}.about-origin-ticket{width:40%;top:83%;left:25%}.about-origin-arrow{width:23%;top:65%;left:4%}}.about-playlists{gap:var(--grid-gap);padding:0 var(--page-pad-x) clamp(5rem, 12svh, 9rem);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:-32svh;display:grid;position:relative}.about-intro-scene[data-live=false]+.about-playlists{margin-top:0}.about-song-list{grid-column:1/-1;margin:0;padding:0;list-style:none}.about-song-preview .project-preview-card{aspect-ratio:1;width:clamp(120px,12vw,180px)}.about-song-item{position:relative}.about-song-row{appearance:none;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;align-items:baseline;column-gap:var(--grid-gap);padding-inline:0;padding-block:var(--space-5);border:0;border-top:1px solid var(--border);background:0 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.about-song-item:last-child .about-song-row{border-bottom:1px solid var(--border)}.about-song-row:focus-visible{outline:2px solid var(--about-accent);outline-offset:4px}.about-song-row:disabled{cursor:default}.about-song-number{position:relative}.about-song-control{font-family:sans-serif;font-size:.7em;display:none}.about-song-row:not(:disabled):hover .about-song-index,.about-song-row:focus-visible .about-song-index,.about-song-row[data-playing=true] .about-song-index{display:none}.about-song-row:not(:disabled):hover .about-song-control,.about-song-row:focus-visible .about-song-control,.about-song-row[data-playing=true] .about-song-control{display:inline}.about-song-row[data-playing=true] .about-song-title{color:var(--about-accent)}.about-song-link{padding:.5rem;position:absolute;top:50%;right:0;transform:translateY(-50%)}.about-song-attribution{margin:var(--space-4) 0 0;grid-column:1/-1}.about-song-title{grid-column:2/span 2}.about-song-artist{text-align:left;padding-right:2rem}@media (max-width:749px){.about-playlists{grid-template-columns:1fr;gap:2.5rem}.about-song-list{grid-column:1}.about-song-row{grid-template-columns:2rem minmax(0,1fr) minmax(0,1fr);column-gap:.75rem}.about-song-title{grid-column:2}}@media (max-width:640px){.about-intro-copy{width:100%}}.about-commits{pointer-events:none;z-index:1;place-content:center;display:grid;position:absolute;inset:0}.about-commit-grid{display:grid;position:relative}.about-commit-field{grid-template-columns:inherit;grid-template-rows:inherit;gap:inherit;display:grid;position:absolute;inset:0}.about-commit-tile{opacity:0;background:var(--tile-color);width:100%;height:100%;transition:opacity .3s var(--ease-standard), transform .3s var(--ease-standard);transform:scale(.4)}.about-commit-tile[data-on=true]{opacity:clamp(0, calc(1 - (var(--tiles-clear,0) - var(--tile-clear-at,0)) / .2), 1);transform:none}.about-commit-tile[data-level="1"]{--tile-color:color-mix(in srgb, var(--about-accent,var(--accent)) 28%, var(--background))}.about-commit-tile[data-level="2"]{--tile-color:color-mix(in srgb, var(--about-accent,var(--accent)) 50%, var(--background))}.about-commit-tile[data-level="3"]{--tile-color:color-mix(in srgb, var(--about-accent,var(--accent)) 76%, var(--background))}.about-commit-tile[data-level="4"]{--tile-color:var(--about-accent,var(--accent))}.about-intro-panel-new,.about-intro-panel-closer{z-index:2}.about-intro-panel{pointer-events:none}.about-commit-slots{margin:auto;position:absolute;inset:0}.about-commit-slots .about-listening-card{visibility:hidden}.about-commit-cover{pointer-events:auto;z-index:3;margin:0;position:relative}.about-commit-cover-tint{background:var(--about-accent,var(--accent));position:absolute;inset:0}.about-commit-cover-media.about-listening-cover{aspect-ratio:auto;width:auto;position:absolute;inset:0}.about-commit-cover-inner{position:absolute;inset:0}.about-artist-image{transition:transform .35s var(--ease-standard);display:block;overflow:visible}.about-commit-cover-inner>.about-artist-image{position:absolute;inset:0}.about-artist-image:hover{transform:scale(1.1) rotate(var(--artist-hover-rotate,-5deg))}.about-commit-cover:has(.about-artist-image:hover){z-index:4}.about-artist-notes{width:12%;height:30%;color:var(--about-accent,var(--accent));pointer-events:none;opacity:0;transition:opacity .35s ease-out;position:absolute;top:-27%;left:96%;overflow:visible}.about-artist-image:hover .about-artist-notes{opacity:1}.about-artist-note{--note-drift:12px;--note-turn:18deg;transform-box:fill-box;transform-origin:50%;animation:3.2s linear infinite artist-note-float}.about-artist-note:nth-child(2){--note-drift:-8px;--note-turn:-14deg;animation-delay:-.8s}.about-artist-note:nth-child(3){--note-drift:22px;--note-turn:26deg;animation-delay:-1.6s}.about-artist-note:nth-child(4){--note-drift:3px;--note-turn:-8deg;animation-delay:-2.4s}@keyframes artist-note-float{0%{opacity:0;transform:translate(0)scale(.65)rotate(0)}15%{opacity:.85}55%{opacity:.75}to{opacity:0;transform:translate(var(--note-drift), -60px) scale(1) rotate(var(--note-turn))}}@media (prefers-reduced-motion:reduce){.about-artist-image,.about-artist-notes{transition:none}.about-artist-note{animation:none}}.about-commit-cover-label{pointer-events:none;position:absolute;inset:0}.about-commit-cover-caption{white-space:nowrap;text-align:center;text-transform:uppercase;position:absolute;left:50%;translate:-50%}.about-commit-static{gap:var(--space-8);justify-items:center;display:grid}.about-commit-static .about-listening-title{position:static;translate:none}.about-commit-static ul{justify-content:center;gap:var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.about-commit-static-card{gap:var(--space-1);text-align:center;text-transform:uppercase;width:min(26vw,9rem);margin:0;display:grid}.about-ticket-layer{z-index:92;pointer-events:none;position:fixed;inset:0;overflow:hidden}.about-ticket-card{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;height:auto;position:absolute;top:0;left:0}.about-recently[data-live=true] .about-origin-ticket{visibility:hidden}.about-recently[data-live=true] .about-origin-arrow path{stroke-dasharray:1 2;stroke-dashoffset:1.02px}
.projects-table{width:100%}.project-row{text-align:left;column-gap:var(--grid-gap);width:100%;padding:var(--space-5) 0;cursor:pointer;transition:var(--theme-transition);grid-template-columns:repeat(4,minmax(0,1fr));align-items:baseline;display:grid;position:relative}.project-row.is-revealed:hover{background-color:var(--surface-hover)}.project-row-dot{background-color:var(--accent);opacity:0;width:.34em;height:.34em;transition:opacity var(--motion-row-dot-in) var(--ease-standard), transform var(--motion-row-dot-in) var(--ease-standard);border-radius:50%;margin-top:-.17em;position:absolute;top:50%;left:-.95em;transform:scale(0)}.project-row.is-revealed .project-row-dot{opacity:1;transform:scale(1)}.projects-index-view[data-leaving] .project-row-dot{opacity:0;transition:opacity var(--motion-row-dot-out) var(--ease-draw), transform var(--motion-row-dot-out) var(--ease-draw);transform:scale(0)}.project-row .col-2{width:fit-content;position:relative}.project-row .col-2:after,.feature-tabs-tab-title:after,.sticky-section-nav-title:after{content:"";pointer-events:none;transform-origin:100%;height:1px;transition:transform var(--motion-tab-hover) var(--ease-draw);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.project-row:hover .col-2.is-revealed:after,.feature-tabs-tab:hover .feature-tabs-tab-title.is-revealed:after,.sticky-section-nav-item:hover .sticky-section-nav-title:after{transform-origin:0;transition:transform var(--motion-tab-underline-enter) var(--ease-standard);transform:scaleX(1)}.projects-index-view[data-leaving]{pointer-events:none!important}.projects-index-view[data-leaving] .project-row,.projects-index-view[data-leaving] .project-row:hover,.projects-index-view[data-leaving] .project-row.is-revealed:hover{transition:background-color var(--motion-row-leave) var(--ease-standard);background-color:#0000}.projects-index-view[data-leaving] .project-row .col-2:after,.projects-index-view[data-leaving] .project-row:hover .col-2.is-revealed:after{transform-origin:100%;transition:transform var(--motion-row-leave) var(--ease-draw);transform:scaleX(0)}@media (prefers-reduced-motion:reduce){.project-row .col-2:after,.feature-tabs-tab-title:after,.sticky-section-nav-title:after{transition:none!important}}@media (max-width:860px){.project-row{row-gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.project-row-role{display:none}}@media (max-width:640px){.project-row{row-gap:var(--space-1);grid-template-columns:repeat(2,minmax(0,1fr))}.project-row .col-1{grid-column:1/2!important}.project-row .col-2{grid-column:2/3!important}}.project-preview{z-index:91;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.project-preview-card{aspect-ratio:4/3;width:clamp(180px,19vw,300px);position:absolute;top:0;left:0;overflow:hidden}.project-preview-image{position:absolute;inset:0}html[data-cover-flight] .project-hero-media{opacity:0!important}@media (max-width:640px){.projects-index-view{visibility:hidden}}
.projects-gallery{z-index:92;padding-block:var(--space-16);pointer-events:auto;overscroll-behavior-x:contain;scrollbar-width:none;align-items:center;display:flex;position:fixed;inset:0;overflow:auto hidden}.gallery-backdrop{z-index:80;background:var(--background);pointer-events:none;position:fixed;inset:0}.projects-gallery::-webkit-scrollbar{display:none}.gallery-track{--gallery-stagger:8svh;align-items:flex-start;gap:var(--grid-gap);padding-inline:var(--page-pad-x);width:max-content;display:flex}.gallery-item{gap:var(--space-3);width:min(36vw,62svh);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:none;padding:0;transition:opacity .4s ease-in-out;display:grid;position:relative}.gallery-item:before{content:"";inset:0 calc(var(--grid-gap) / -2) calc(-1 * var(--gallery-stagger));position:absolute}.gallery-item-content{gap:var(--space-3);display:grid}.gallery-item:not(.is-intro){clip-path:none!important}.gallery-item:nth-child(2n){margin-top:var(--gallery-stagger)}.gallery-item:nth-child(2n):before{top:calc(-1 * var(--gallery-stagger));bottom:0}.gallery-cover{aspect-ratio:4/3;background:var(--surface-placeholder);display:block;position:relative;overflow:hidden}.gallery-item.is-intro{pointer-events:none}.gallery-item.is-intro .gallery-caption{opacity:0}.gallery-caption{transition:opacity .6s var(--ease-standard);justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}@media (hover:hover){.gallery-track:has(.gallery-item:hover) .gallery-item:not(:hover){opacity:.4!important}}@media (max-width:640px){.projects-gallery{overscroll-behavior:auto;-webkit-overflow-scrolling:touch;padding-block:0;display:block;overflow:hidden auto}.gallery-track{--gallery-stagger:0px;gap:var(--space-8);width:100%;padding:clamp(5.5rem, 13vh, 7.25rem) var(--page-pad-x) var(--space-20);flex-direction:column}.gallery-heading{column-gap:var(--space-5);row-gap:var(--space-1);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gallery-heading-title{flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:.35em;display:flex}.gallery-heading-years{white-space:nowrap;grid-column:1/-1;display:block}.gallery-item{width:100%}.gallery-item:before{inset:0 0 calc(var(--space-8) / -2)}}@media (prefers-reduced-motion:reduce){.gallery-item{transition:none}}
.project-metadata-grid{min-height:clamp(8.5rem,11vw,10.5rem)}.project-hero-stage{flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.project-hero-stage-detail{height:var(--hero-stage-height-compact)}.project-hero-meta{z-index:20;width:100%;position:absolute;top:50%;transform:translateY(-50%)}.project-hero-media{width:var(--hero-media-width);height:var(--hero-media-height);max-width:100%;max-height:100%;position:relative}@media (min-width:641px) and (max-width:860px){.project-metadata-grid{row-gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));min-height:auto}.project-metadata-grid .col-4{grid-column:2/3}}@media (max-width:640px){.morphing-canvas{padding-top:var(--space-4)!important}.project-transition-proxy{padding-top:calc(var(--page-pad-block) + var(--space-4))!important;padding-bottom:0!important}.project-hero-stage{row-gap:var(--space-3);padding-inline:var(--page-pad-x);will-change:height;grid-template-rows:3.5rem minmax(0,1fr) auto!important;grid-template-columns:minmax(0,1fr)!important;align-content:center!important;align-items:stretch!important;height:min(85svh,900px)!important;display:grid!important}.project-hero-stage-detail{grid-template-rows:3.5rem auto!important;height:auto!important}.project-hero-stage-detail>.project-hero-media{aspect-ratio:1440/990;height:auto!important}.project-hero-stage-detail:after{display:none}.project-hero-meta{grid-row:1;column-gap:var(--space-4)!important;pointer-events:none!important;grid-template-rows:3.5rem!important;grid-template-columns:minmax(0,1fr) auto!important;padding:0!important;display:grid!important;position:static!important;transform:none!important}.project-hero-meta>.col-2,.project-hero-meta>.col-3{display:none}.project-hero-meta .project-hero-title{width:auto;grid-area:1/1/auto/2!important;height:3.5rem!important}.project-hero-meta .project-hero-year{width:auto;min-width:5rem;grid-area:1/2/auto/3!important;justify-content:flex-end!important;height:3.5rem!important}.project-hero-year>div{padding-right:.2em!important;left:auto!important;right:0!important}.project-hero-media{contain:paint;grid-area:1/1;overflow:hidden;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}.project-hero-media picture{display:block;position:absolute;inset:0;transform:translateZ(0)}.project-hero-artwork{height:calc(min(85svh,900px) - 7rem)!important}.project-hero-stage-detail>.project-hero-media{transform:none!important}.project-hero-media img,.project-hero-media video{backface-visibility:hidden;transform:translateZ(0);object-fit:contain!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;position:absolute!important;inset:0!important}.project-hero-stage>.project-hero-media{grid-row:2}.project-hero-stage:after{content:"";height:calc(var(--space-3) + 1.3125rem);grid-area:3/1}.project-metadata-grid{gap:var(--space-6)!important;min-height:auto!important;margin-bottom:var(--space-10)!important;flex-direction:column!important;display:flex!important}.project-metadata-grid>div{width:100%;gap:var(--space-2)!important}.project-metadata-list{flex-wrap:wrap;align-items:baseline;flex-direction:row!important;gap:0!important}.project-metadata-list>.body-sans{align-items:baseline;line-height:1.4;display:inline-flex}.project-metadata-list>.body-sans:not(:last-child):after{content:"·";margin-inline:var(--space-2);color:var(--text-secondary)}}@media (min-width:641px){.project-hero-title h1,.project-hero-title h2{max-width:max(0px, calc(50vw - clamp(250px, 31vw, 460px) - var(--page-pad-x) - 1rem));white-space:normal;overflow-wrap:anywhere}}@media (min-width:641px) and (max-width:760px){.project-hero-year .h2-serif-italic{font-size:1.25rem}}
.block-grid{grid-template-columns:repeat(var(--cols,4), minmax(0, 1fr));gap:var(--cell-gap,var(--gap-tight));width:100%;display:grid}.block-grid-stretch{align-items:stretch}.block-cell{grid-column:var(--col-start,span var(--col-span,1)) / span var(--col-span,1)}.case-study-image-grid-3{--cols:3}.case-study-image-cell{flex-direction:column;width:100%;display:flex}.case-study-image-cell-empty{pointer-events:none;width:100%}.case-study-text-grid{width:100%;margin-top:var(--page-pad-y);flex-direction:column;display:flex}.case-study-text-cell{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.case-study-label-row{margin-bottom:var(--space-2)}.case-study-content-row{align-items:flex-start}.case-study-stats-grid{column-gap:var(--grid-gap);row-gap:var(--space-10)}.feature-tabs-image-col{width:100%;position:relative}.feature-tabs-content-col{height:100%;min-height:100%;padding:var(--gap-tight) 0 var(--gap-tight) var(--gap-tight);flex-direction:column;grid-column:3/span 2;justify-content:space-between;display:flex}.feature-tabs-desktop-list{width:100%}.feature-tabs-tablist{flex-direction:column;width:100%;display:flex}.feature-tabs-description{column-gap:var(--gap-tight);margin-top:var(--block-gap);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.feature-tabs-description-stack{grid-column:1/2;min-height:4.5rem;display:grid}.feature-tabs-mobile-controller,.feature-tabs-mobile-image-nav{display:none}.feature-tabs-description-sizer{visibility:hidden;pointer-events:none;grid-area:1/1;display:grid}.feature-tabs-description-sizer>*{grid-area:1/1}.sticky-section-nav-title{width:fit-content;display:inline-block;position:relative}.case-study-tab-nav-item{align-items:baseline;gap:var(--gap-tight);padding:var(--space-2) 0;display:flex}.case-study-tab-nav-number{flex:0 0 1.4em}.feature-tabs-tab-title{width:fit-content;position:relative}.sticky-section-nav-title{font-family:var(--font-inter);font-size:var(--text-h3-sans);line-height:var(--leading-h3);letter-spacing:var(--still-tracking-h3-sans);font-weight:var(--weight-h3-sans);font-style:normal}.sticky-section-nav-item.is-active .sticky-section-nav-title{font-weight:500}@media (max-width:860px){.case-study-image-grid-4{--cols:2}.case-study-image-grid-4>.case-study-wide-media,.feature-tabs-image-col,.feature-tabs-content-col{grid-column:1/-1}}@media (max-width:640px){.case-study-content-wrapper{padding-top:var(--space-4)!important}.case-study-stats-grid,.case-study-label-row,.case-study-content-row,.case-study-image-grid-2,.case-study-image-grid-3,.case-study-image-grid-span{grid-template-columns:1fr}.case-study-image-grid-2>*,.case-study-image-grid-3>*,.case-study-image-grid-span>*{grid-column:1/-1}.case-study-label-row{row-gap:var(--space-1);margin-bottom:var(--space-1)}.case-study-content-row{row-gap:var(--space-5)}.feature-tabs-content-col{padding:var(--space-4) 0 0}.feature-tabs-desktop-list{display:none}.feature-tabs-mobile-controller{width:100%;display:block}.feature-tabs-mobile-image-nav{z-index:2;display:flex;position:absolute;inset:0}.feature-tabs-mobile-image-nav button{cursor:pointer;background:0 0;border:0;width:50%}.feature-tabs-mobile-image-nav button:disabled{cursor:default}.feature-tabs-mobile-image-nav button:focus-visible{outline:2px solid var(--text-primary);outline-offset:-2px}.feature-tabs-mobile-dashes{align-items:center;gap:var(--space-2);width:100%;display:flex}.feature-tabs-mobile-dash{flex:1 1 0;height:3px;padding:0;position:relative}.feature-tabs-mobile-dash:before{content:"";position:absolute;inset:-12px -3px}.feature-tabs-mobile-dash-track,.feature-tabs-mobile-dash-fill{border-radius:2px;height:100%;display:block}.feature-tabs-mobile-dash-track{background-color:var(--border);width:100%;overflow:hidden}.feature-tabs-mobile-dash-fill{transform-origin:0;background-color:var(--text-primary);width:100%}.feature-tabs-mobile-title-row{align-items:center;gap:var(--space-3);margin-top:var(--space-5);display:flex}.feature-tabs-mobile-title{flex:1;min-width:0}.feature-tabs-mobile-active{align-items:baseline;gap:var(--space-3);width:100%;display:flex;overflow:hidden}.feature-tabs-mobile-arrows{gap:var(--space-1);flex:none;display:flex}.feature-tabs-mobile-arrows button{width:2.5rem;height:2.5rem;color:var(--text-primary);font:1.5rem var(--font-inter);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.feature-tabs-mobile-arrows button:disabled{color:var(--text-secondary);opacity:.4;cursor:default}.feature-tabs-mobile-arrows button:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.feature-tabs-mobile-active .h3-serif-italic{color:var(--text-secondary)}.feature-tabs-description{margin-top:var(--space-3);display:block}.feature-tabs-description>div{min-height:0}.case-study-statement-content{text-align:left!important;align-items:flex-start!important}.case-study-statement-inner{margin-left:0!important;margin-right:0!important}}.case-study-next-project-section{width:100%;height:200dvh;position:relative}.case-study-next-project-sticky{background-color:var(--background);width:100%;height:100dvh;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;display:flex;position:sticky;top:0;overflow:hidden}.case-study-next-project-caption{z-index:2;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:calc(50% + clamp(140px,20vh,220px));left:0;right:0}.case-study-next-project-reduced-motion{height:100dvh}.case-study-next-project-reduced-motion .case-study-next-project-sticky{position:relative}.case-study-sticky-sections-wrapper{width:100%;padding-top:var(--section-md);padding-bottom:clamp(6rem,12vw,12rem);position:relative}.sticky-sections-layout{align-items:flex-start;position:relative}.sticky-sections-sidebar{z-index:10;align-self:flex-start;position:sticky;top:50%;transform:translateY(-50%)}.sticky-sections-sidebar nav{flex-direction:column;gap:0;display:flex}.sticky-sections-stack{flex-direction:column;gap:clamp(10rem,26vh,22rem);width:100%;display:flex}.sticky-section-block-item{width:100%}.sticky-section-block-grid{column-gap:var(--gap-tight);row-gap:var(--page-pad-x);grid-template-columns:1fr 2fr;align-items:stretch;width:100%;display:grid}.sticky-section-img-col2,.sticky-section-title-col{grid-column:1/2;width:100%}.sticky-section-img-col34,.sticky-section-desc-col{grid-column:2/3;width:100%}.sticky-section-img-col34{height:100%}.sticky-section-title-col{padding-right:var(--grid-gap)}@media (max-width:860px){.sticky-sections-sidebar{margin-bottom:var(--space-8);position:static;transform:none}.sticky-section-nav-item{padding:var(--space-1) 0;gap:.45em}.sticky-sections-sidebar nav{gap:var(--space-3) var(--space-5);flex-flow:wrap}.sticky-section-block-grid{row-gap:var(--space-6);grid-template-columns:1fr}.sticky-section-title-col,.sticky-section-desc-col,.sticky-section-img-col2,.sticky-section-img-col34{grid-column:1/-1;padding-right:0}}
button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;outline:none}#cursor{--cursor-size:18px;background-color:var(--chrome-fg);border-radius:calc(var(--cursor-size) / 2);height:var(--cursor-size);width:var(--cursor-size);z-index:10005;opacity:0;mix-blend-mode:difference;transition:width var(--cursor-grow-duration) var(--cursor-grow-ease), height var(--cursor-grow-duration) var(--cursor-grow-ease), border-radius var(--cursor-grow-duration) var(--cursor-grow-ease), transform var(--cursor-scale-duration,var(--cursor-grow-duration)) var(--cursor-grow-ease), opacity var(--motion-cursor-fade) var(--ease-standard), background-color var(--motion-theme) var(--ease-standard), box-shadow var(--motion-theme) var(--ease-standard);pointer-events:none;transform-origin:50%;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;transform:translate(-50%,-50%)scale(.6)}#cursor.active{opacity:1;transform:translate(-50%,-50%)scale(1)}#cursor.hover{--cursor-size:24px;box-shadow:inset 0 0 0 .5px var(--chrome-fg);background-color:#0000;transform:translate(-50%,-50%)scale(2.4)}#cursor.magnet{transition:width var(--motion-cursor-morph) var(--ease-cursor-morph), height var(--motion-cursor-morph) var(--ease-cursor-morph), border-radius var(--motion-cursor-morph) var(--ease-cursor-morph), transform var(--motion-cursor-move) var(--ease-standard), opacity var(--motion-cursor-fade) var(--ease-standard), background-color var(--motion-theme) var(--ease-standard), box-shadow var(--motion-theme) var(--ease-standard)}#cursor.lock{transition:width var(--motion-cursor-morph) var(--ease-cursor-morph), height var(--motion-cursor-morph) var(--ease-cursor-morph), border-radius var(--motion-cursor-morph) var(--ease-cursor-morph), transform var(--motion-cursor-move) var(--ease-standard), opacity var(--motion-cursor-fade) var(--ease-standard), background-color var(--motion-theme) var(--ease-standard), box-shadow var(--motion-theme) var(--ease-standard);width:var(--lock-w,18px);height:var(--lock-h,18px);border-radius:calc(var(--lock-h,18px) / 2);transform:translate(-50%,-50%)scale(1)}#cursor.active.lock.is-clicking{transform:translate(-50%,-50%)scale(.94)}#cursor.is-clicking{--cursor-scale-duration:var(--motion-cursor-press);transform:translate(-50%,-50%)scale(.48)}#cursor.active.is-clicking,#cursor.see-project.is-clicking{transform:translate(-50%,-50%)scale(.8)}#cursor.hover.is-clicking{transform:translate(-50%,-50%)scale(1.92)}#cursor.see-project{--cursor-size:136px;background-color:var(--chrome-fg);mix-blend-mode:difference;box-shadow:none;transform:translate(-50%,-50%)scale(1)}#cursor.see-project.see-nav,#cursor.see-project.see-icon{--cursor-size:72px}#cursor-label-layer{transition:scale var(--cursor-grow-duration) var(--cursor-grow-ease);z-index:10006;pointer-events:none;mix-blend-mode:difference;justify-content:center;align-items:center;width:0;height:0;display:flex;position:fixed;top:0;left:0}#cursor.see-project.is-clicking~#cursor-label-layer{transition-duration:var(--motion-cursor-press);scale:.8}#cursor:not(.active)~#cursor-label-layer{opacity:0}html[data-cursor-media=adaptive] #cursor{--motion-theme:var(--motion-instant)}html[data-cursor-media=adaptive] #cursor.see-project{mix-blend-mode:normal;background-color:var(--cursor-page-fill)}#cursor-media{border-radius:inherit;pointer-events:none;display:none;position:absolute;inset:0}html[data-cursor-media=adaptive] #cursor.see-project>#cursor-media{display:block}.cursor-media-clip{border-radius:inherit;clip-path:var(--media-clip,inset(100%));position:absolute;inset:0}.cursor-media-disc{border-radius:inherit;position:absolute;inset:0}.cursor-media-dark .cursor-media-disc{background-color:var(--fg-on-dark);box-shadow:0 0 0 .75px var(--fg-on-dark)}.cursor-media-light .cursor-media-disc{background-color:var(--fg-on-light);box-shadow:0 0 0 .75px var(--fg-on-light)}html[data-cursor-media=adaptive] #cursor.see-project~#cursor-label-layer{mix-blend-mode:normal}.cursor-label-clip{justify-content:center;align-items:center;width:240px;height:240px;display:flex;position:absolute;top:-120px;left:-120px}.cursor-label-clip-dark{clip-path:var(--label-clip-dark,inset(100%))}.cursor-label-clip-light{clip-path:var(--label-clip-light,inset(100%))}html[data-cursor-media=adaptive] #cursor.see-project~#cursor-label-layer .cursor-label{color:var(--cursor-page-label);transition:opacity var(--motion-cursor-fade) var(--ease-standard) var(--motion-cursor-label-delay), transform var(--motion-cursor-fade) var(--ease-standard) var(--motion-cursor-label-delay), color var(--motion-cursor-label-color) var(--ease-standard)}html[data-cursor-media=adaptive] #cursor~#cursor-label-layer .cursor-label-clip-dark .cursor-label-media{color:var(--fg-on-light)}html[data-cursor-media=adaptive] #cursor~#cursor-label-layer .cursor-label-clip-light .cursor-label-media{color:var(--fg-on-dark)}#cursor.see-project.see-nav~#cursor-label-layer .cursor-label{letter-spacing:0;font-size:1.45rem;font-weight:400}#cursor.see-project.see-icon~#cursor-label-layer .cursor-label{font-variation-settings:"wght" 200;letter-spacing:0;font-size:2.75rem;font-weight:200;line-height:1}#cursor.see-project.see-compact{--cursor-size:104px}.cursor-label-icon svg{width:.6em;height:.6em;display:block;overflow:visible}.cursor-label-icon .icon-bar{fill:none;stroke:currentColor;stroke-width:1.4px;vector-effect:non-scaling-stroke}.cursor-label-icon svg,.cursor-label-icon .icon-cross{transition:transform var(--motion-cursor-icon) var(--ease-draw)}.cursor-label-icon .icon-cross{transform-box:fill-box;transform-origin:50%}.cursor-label-icon[data-icon=minus] svg{transform:rotate(180deg)}.cursor-label-icon[data-icon=minus] .icon-cross{transform:scaleY(0)}@media (prefers-reduced-motion:reduce){.cursor-label-icon svg,.cursor-label-icon .icon-cross{transition:none}}.cursor-label-char{white-space:pre;display:inline-block}.cursor-label-line{white-space:nowrap;will-change:transform;grid-area:1/1;align-self:center;display:block}.cursor-label{opacity:0;transition:opacity var(--motion-cursor-fade) var(--ease-standard), transform var(--motion-cursor-fade) var(--ease-standard);font-family:var(--font-inter);letter-spacing:.04em;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;color:var(--fg-on-dark);flex:none;justify-items:center;margin:-.35em -.1em;padding:.35em .1em;font-size:.8125rem;font-weight:500;line-height:1;display:grid;overflow:hidden;transform:scale(.75)}#cursor.see-project~#cursor-label-layer .cursor-label{opacity:1;transition-delay:var(--motion-cursor-label-delay), var(--motion-cursor-label-delay), var(--motion-instant);transform:scale(1)}@media (pointer:fine){.custom-cursor-ready,.custom-cursor-ready *,.custom-cursor-ready :before,.custom-cursor-ready :after{cursor:none!important}}@media (max-width:640px),(pointer:coarse){*,:before,:after,html,body{cursor:auto!important}#cursor,#cursor-label-layer{display:none!important}}
.dog-pet{left:0;bottom:calc(3rem + 16px + env(safe-area-inset-bottom));z-index:9998;pointer-events:none;-webkit-user-select:none;user-select:none;width:128px;height:96px;position:fixed}.dog-pet-shadow{fill:#292018;opacity:.18;pointer-events:none;width:80px;height:16px;position:absolute;bottom:-8px;left:24px}.dog-pet-pose{visibility:hidden;pointer-events:none;position:absolute;inset:0}.dog-pet[data-state=happy] .dog-pet-happy,.dog-pet[data-state=standing] .dog-pet-standing,.dog-pet[data-state=walking] .dog-pet-walking,.dog-pet[data-state=eating] .dog-pet-eating,.dog-pet[data-state=sleeping] .dog-pet-sleeping,.dog-pet[data-state=music] .dog-pet-music{visibility:inherit}.dog-pet-music img{filter:saturate(.705)brightness(.964);width:104px;bottom:-9.1px;left:12px}.dog-pet img{max-width:none;height:auto;image-rendering:pixelated;position:absolute}.dog-pet-happy img{width:120px;bottom:-16.25px;left:4px}.dog-pet-walking img{filter:saturate(.922)brightness(1.013);width:136px;bottom:-27.2px;left:-4px}.dog-pet-sleeping img{filter:saturate(.965)brightness(.963);width:128px;bottom:-30.4px;left:0}.dog-pet-standing img{filter:saturate(.794)brightness(.989);width:118px;bottom:-16.225px;left:5px}.dog-pet-eating img{filter:saturate(.84)brightness(1.032);width:128px;bottom:-19.2px;left:0}.dog-pet-hover-area{pointer-events:auto;position:absolute;inset:-44px -17px 0}.dog-pet-trigger{cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:12px;position:absolute;inset:0}.dog-pet-trigger:focus-visible{outline:1px solid var(--text-primary);outline-offset:3px}.dog-pet-menu{width:max-content;color:var(--text-primary);visibility:hidden;pointer-events:none;gap:6px;padding-bottom:8px;display:flex;position:absolute;bottom:100%;left:0}.dog-pet[data-menu-open=true] .dog-pet-menu{visibility:inherit;pointer-events:auto}.dog-pet-menu button{border:1px solid color-mix(in srgb, var(--text-primary) 16%, transparent);background:var(--background);width:36px;height:36px;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1.4;display:flex;position:relative;box-shadow:0 2px 8px #0000000d}.dog-pet-menu button:before{content:"";position:absolute;inset:-1px -4px}.dog-pet-menu button:hover,.dog-pet-menu button:focus-visible,.dog-pet-menu button[aria-pressed=true]{background:color-mix(in srgb, var(--text-primary) 7%, var(--background))}.dog-pet-mode{border:1px solid color-mix(in srgb, var(--text-primary) 16%, transparent);background:var(--background);border-radius:18px;height:36px;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000d}.dog-pet-menu .dog-pet-mode button{height:100%;box-shadow:none;background:0 0;border:0;border-radius:0}.dog-pet-menu .dog-pet-mode button:before{inset:-1px 0}.dog-pet-menu .dog-pet-mode button+button{border-left:1px solid color-mix(in srgb, var(--text-primary) 16%, transparent)}.dog-pet-menu .dog-pet-mode button:hover,.dog-pet-menu .dog-pet-mode button:focus-visible{background:color-mix(in srgb, var(--text-primary) 7%, var(--background))}.dog-pet-menu .dog-pet-mode button[aria-pressed=true]{background:var(--text-primary);color:var(--background)}.dog-pet-action-icon{fill:currentColor;flex-shrink:0;width:24px;height:24px}.dog-pet-treat,.dog-pet-speech{border:1px solid color-mix(in srgb, var(--text-primary) 16%, transparent);background:var(--background);width:max-content;color:var(--text-primary);pointer-events:none;transform-origin:50% 100%;padding:8px;animation:.18s steps(4,end) both dog-bubble-pop;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.dog-pet-speech svg{max-width:calc(100vw - 82px);height:auto}.dog-pet-letter{animation:1ms step-end both dog-letter-type;animation-delay:calc(.18s + var(--i) * 40ms)}@keyframes dog-bubble-pop{0%{translate:0 6px;scale:1 0}to{translate:0;scale:1}}.dog-pet-treat[data-leaving],.dog-pet-speech[data-leaving]{animation:.14s steps(3,end) both dog-bubble-out}.dog-pet-speech[data-leaving] .dog-pet-letter{animation:none}@keyframes dog-bubble-out{0%{translate:0;scale:1}to{translate:0 6px;scale:1 0}}@keyframes dog-letter-type{0%{opacity:0}to{opacity:1}}.dog-pet-sleep-particles,.dog-pet-music-particles{width:64px;height:80px;color:var(--text-primary);fill:currentColor;pointer-events:none;position:absolute;bottom:16px;left:30px;overflow:visible}.dog-pet-music-particles{color:var(--pink-500);left:100px}.dog-pet-sleep-z,.dog-pet-music-note{--z-drift:18px;animation:3.6s steps(18,end) infinite dog-sleep-float}.dog-pet-sleep-z:nth-child(2),.dog-pet-music-note:nth-child(2){--z-drift:8px;animation-delay:-1.2s}.dog-pet-sleep-z:nth-child(3),.dog-pet-music-note:nth-child(3){--z-drift:26px;animation-delay:-2.4s}@keyframes dog-sleep-float{0%{opacity:0;transform:translate(8px,68px)scale(2)}15%{opacity:.6}70%{opacity:.45}to{opacity:0;transform:translate(var(--z-drift), 10px) scale(3)}}@media (prefers-reduced-motion:reduce){.dog-pet-treat,.dog-pet-speech,.dog-pet-treat[data-leaving],.dog-pet-speech[data-leaving],.dog-pet-letter{animation:none}.dog-pet-sleep-z,.dog-pet-music-note{opacity:.5;animation:none;transform:translate(8px,68px)scale(2)}.dog-pet-sleep-z:nth-child(2),.dog-pet-music-note:nth-child(2){transform:translate(16px,48px)scale(2.5)}.dog-pet-sleep-z:nth-child(3),.dog-pet-music-note:nth-child(3){transform:translate(26px,24px)scale(3)}}

