@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}.icon[data-astro-cid-ccg5yoga]{flex:none;block-size:1em;inline-size:1em;display:inline-flex}.icon[data-astro-cid-ccg5yoga] svg{block-size:100%;inline-size:100%;display:block}.links[data-astro-cid-pyod6dlc]{gap:var(--space-3xs) var(--space-xs);flex-wrap:wrap;display:flex}a[data-astro-cid-pyod6dlc]{align-items:center;gap:var(--space-sm);color:var(--ink);transition:color var(--dur-fast) var(--ease-out);text-decoration:none;display:inline-flex}a[data-astro-cid-pyod6dlc]:hover{color:var(--ink)}.icon[data-astro-cid-pyod6dlc]{font-size:var(--fs-sm)}.link-pills[data-astro-cid-pyod6dlc]{gap:var(--space-xs) var(--space-sm);flex-wrap:wrap;display:flex}.link-pill[data-astro-cid-pyod6dlc]{--pill-edge:var(--card-edge);--pill-edge-engaged:var(--card-edge-strong);gap:var(--space-sm);color:var(--ink)}.link-cta[data-astro-cid-jo6i4kqk]{font-size:var(--fs-lg)}.site-footer[data-astro-cid-jo6i4kqk]{gap:var(--space-xl);font-size:var(--fs-md);color:var(--ink);text-align:center;padding-block-end:var(--space-m);display:grid}.site-footer[data-astro-cid-jo6i4kqk]>nav{margin-block-start:calc(var(--space-m) - var(--space-xl))}.site-footer[data-astro-cid-jo6i4kqk] .links,.site-footer[data-astro-cid-jo6i4kqk] .link-pills{justify-content:center}.facts[data-astro-cid-jo6i4kqk]{gap:var(--space-3xs);display:grid}.facts[data-astro-cid-jo6i4kqk] .fact{justify-content:center}.copy[data-astro-cid-jo6i4kqk]{color:var(--ink-faint)}.links-wrap[data-astro-cid-jo6i4kqk]{justify-content:center;display:flex}.site-header[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:baseline;gap:var(--space-sm) var(--space-m);padding-block:var(--space-l) var(--space-s);padding-inline:var(--gutter-wide);min-block-size:calc(var(--pill-block-size) + var(--space-l) + var(--space-s));flex-wrap:wrap;display:flex}.site-title[data-astro-cid-nen7h5rs]{font-size:var(--fs-md);color:var(--ink);font-weight:500;text-decoration:none}.site-title[data-astro-cid-nen7h5rs]:where(:hover,:focus-visible){text-underline-offset:.2em;text-decoration:underline}nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:var(--space-s);flex-wrap:wrap;display:flex}@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}img,video{height:auto}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;text-wrap:balance}ul[role=list],ol[role=list]{padding:0;list-style:none}a{color:inherit;text-decoration-color:color-mix(in oklch, currentColor 35%, transparent);text-underline-offset:.2em;text-decoration-thickness:from-font}table{border-collapse:collapse;border-spacing:0}:target{scroll-margin-block-start:6rem}}@layer tokens{@property --reveal{syntax:"<number>";inherits:false;initial-value:0}@property --rule-width{syntax:"<length>";inherits:false;initial-value:1px}:root{color-scheme:light;--paper:light-dark(#fff,oklch(15% .004 85));--paper-sunk:light-dark(oklch(96.4% .004 85),oklch(12.5% .004 85));--ink:light-dark(#171717,oklch(96.5% .003 85));--ink-faint:light-dark(oklch(48% .005 85),oklch(70% .005 85));--rule:light-dark(oklch(88% .004 85),oklch(27% .005 85));--card-edge:light-dark(#eaeae6,oklch(27% .005 85));--card-edge-strong:light-dark(oklch(72% .005 85),oklch(62% .005 85));--accent:light-dark(oklch(58% .18 38),oklch(72% .16 38));--offwhite:#f0f0f0;--font-sans:"Saans", -apple-system, BlinkMacSystemFont, ui-sans-serif, system-ui, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"Saans Semi Mono", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--fs-sm:clamp(.85rem, .82rem + .14vw, .94rem);--fs-md:1rem;--fs-lg:clamp(1.2rem, 1.1rem + .5vw, 1.25rem);--fs-xl:clamp(1.45rem, 1.25rem + 1vw, 2.1rem);--lh-tight:1.02;--lh-heading:1.1;--lh-body:1.55;--tracking-tight:-.022em;--tracking-wide:.06em;--space-3xs:clamp(.25rem, .24rem + .05vw, .3rem);--space-sm:clamp(.4rem, .38rem + .1vw, .5rem);--space-xs:clamp(.6rem, .55rem + .25vw, .8rem);--space-s:clamp(.9rem, .8rem + .5vw, 1.3rem);--space-m:clamp(1.4rem, 1.2rem + 1vw, 2.2rem);--space-l:clamp(2rem, 1.6rem + 2vw, 3.4rem);--space-xl:clamp(3rem, 2.2rem + 4vw, 6rem);--space-2xl:clamp(4.5rem, 3rem + 7vw, 10rem);--page-max:94rem;--page-pad:clamp(1rem, .6rem + 2vw, 2.5rem);--gutter-wide:calc(var(--page-pad) + var(--space-m));--measure:62ch;--measure-tight:46ch;--grid-gap:48px;--gallery-gap:var(--space-s);--pill-block-size:40px;--tray-height:95svh;--radius:20px;--radius-sm:12px;--shadow-lift:0 21px 6px #0000, 0 14px 5px #00000003, 0 8px 5px #0000000d, 0 3px 3px #00000017, 0 1px 2px #0000001a;--glass-fill:#ffffff1a;--glass-edge:#ffffff40;--glass-edge-strong:#fff9;--glass-blur:12px;--glass-shadow:inset 0 1px 0 #fff3, inset 0 0 16px #ffffff0d, 0 8px 32px #0000001f;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.14s;--dur-base:.24s;--dur-slow:.42s;--dur-tray:.5s;--dur-tray-exit:.3s;--ease-tray:cubic-bezier(.32, .72, 0, 1);--ease-tray-exit:cubic-bezier(.25, .46, .45, .94);--tray-frame:10px;--tray-frame-wide:calc(var(--tray-frame) * 3);--tray-radius:calc(var(--radius) / 2)}@font-face{font-family:Saans;src:url(/fonts/Saans-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Saans;src:url(/fonts/Saans-SemiBold.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Saans Semi Mono;src:url(/fonts/SaansSemiMono-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}}@layer base{@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-base);animation-timing-function:var(--ease-out)}html{scrollbar-gutter:stable}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-body);font-synthesis-weight:none;text-rendering:optimizelegibility}::selection{background:color-mix(in oklch, var(--accent) 28%, transparent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}:where(a):hover{text-decoration-color:currentColor}.page{inline-size:100%;max-inline-size:var(--page-max);padding-inline:var(--page-pad);margin-inline:auto}main{display:block}.section{gap:var(--space-m);padding-block:var(--space-2xl) var(--space-xl);display:grid;container-type:inline-size}.section+.section{padding-block-start:var(--space-xl)}.columns{gap:var(--grid-gap);grid-template-columns:minmax(0,1fr);display:grid}@container (width>=46rem){.columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.work-rows{gap:var(--grid-gap);display:grid}.work-row{gap:var(--grid-gap);grid-template-columns:minmax(0,1fr);display:grid}@container (width>=46rem){.work-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width>=70.5rem){.work-row[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}.stack{align-content:start;gap:var(--space-s);display:grid}.cluster{align-items:baseline;gap:var(--space-3xs) var(--space-s);flex-wrap:wrap;display:flex}h1,h2{font-family:var(--font-mono)}h2{font-size:var(--fs-lg);font-weight:500}.display{font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}.lede{font-size:var(--fs-lg);color:var(--ink);text-wrap:pretty;line-height:1.35}.lede>*+*{margin-block-start:var(--space-s)}@supports (margin-block-start:1lh){.lede>*+*{margin-block-start:1lh}}.hr{border:0;border-block-start:var(--rule-width) solid var(--rule);margin:0}@keyframes reveal{0%{--reveal:0}to{--reveal:1}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){[data-reveal]{opacity:var(--reveal);translate:0 calc((1 - var(--reveal)) * .75rem);animation:linear both reveal}:where([data-reveal]){animation-timeline:view();animation-range:entry entry 55%}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components{.card{background:var(--paper);border:1px solid var(--card-edge);border-radius:var(--radius);--card-pad:clamp(var(--space-m), 6vw, 96px);padding:var(--card-pad);container-type:inline-size}.card--flush{padding:0;position:relative;overflow:hidden}.card--flush :where(.card){background:0 0;border:0;border-radius:0;padding:0}.fact{justify-content:space-between;align-items:baseline;gap:var(--space-s);display:flex}.fact[hidden]{display:none}.fact-listening{align-items:center;gap:var(--space-xs)}.vinyl{flex:none;block-size:40px;inline-size:40px;display:block}.fact-listening .fact-value{justify-content:flex-end;align-items:center;gap:var(--space-xs);display:flex}.fact-track{min-inline-size:0}.fact-artist{color:var(--ink-faint)}.album-stack{flex:none;block-size:48px;inline-size:84px;display:inline-block;position:relative}.album-card{block-size:44px;inline-size:44px;transition:translate var(--dur-base) var(--ease-out);place-items:center;margin-inline-start:-22px;display:grid;position:absolute;inset-block-start:4px;inset-inline-start:50%}.album-card:first-child{z-index:3}.album-card:nth-child(2){z-index:2;translate:-17px 1px}.album-card:nth-child(3){z-index:1;translate:17px 1px}.album-card-face{block-size:40px;inline-size:40px;box-shadow:0 0 0 1px var(--card-edge-strong), 0 1px 2px #0000001a;transition:translate var(--dur-fast) var(--ease-out), rotate var(--dur-base) var(--ease-out), scale var(--dur-fast) var(--ease-out);border-radius:5px;display:block}.album-card:nth-child(2) .album-card-face{rotate:-9deg}.album-card:nth-child(3) .album-card-face{rotate:9deg}.album-card-face img{object-fit:cover;border-radius:inherit;background:var(--paper-sunk);block-size:100%;inline-size:100%;display:block}@starting-style{.album-card{opacity:0;translate:0 -10px}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.album-card:hover{z-index:10;block-size:52px;inline-size:52px;margin-inline-start:-26px;inset-block-start:0}.album-card:hover .album-card-face{transition-duration:var(--dur-fast);translate:0 -8px;rotate:0deg;scale:1.3}}.album-card:after{content:attr(data-tooltip);background:var(--ink);inline-size:max-content;max-inline-size:16rem;color:var(--paper);font-size:var(--fs-sm);text-align:center;white-space:normal;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out), translate var(--dur-fast) var(--ease-out);border-radius:8px;padding:4px 8px;line-height:1.3;position:absolute;inset-block-end:calc(100% + 12px);inset-inline-start:50%;translate:-50% 2px}@media (hover:hover) and (pointer:fine){.album-card:hover:after{opacity:1;transition-delay:var(--dur-fast);translate:-50%}}@media (prefers-reduced-motion:reduce){.album-card:after{translate:-50%}.album-card:hover:after{transition-delay:0s}}.fact-label{font-family:var(--font-mono);font-size:var(--fs-md);letter-spacing:var(--tracking-wide);color:var(--ink-faint)}.fact-value{text-align:end;overflow-wrap:anywhere;min-inline-size:0;color:var(--ink);margin:0}.fact-value a{text-decoration-color:color-mix(in oklch, currentColor 45%, transparent)}.fact-value a:hover{color:var(--ink)}.glass{isolation:isolate;border:1px solid var(--glass-edge);border-radius:var(--radius);background:var(--glass-fill);box-shadow:var(--glass-shadow);color:#fff;position:relative}.glass:before{content:"";z-index:-1;border-radius:inherit;backdrop-filter:blur(var(--glass-blur)) saturate(1.6);position:absolute;inset:0}.nav-pill{appearance:none;--pill-edge:#ececec;--pill-edge-engaged:var(--ink);block-size:var(--pill-block-size);border:1px solid var(--pill-edge);border-radius:var(--radius);font-family:inherit;font-size:var(--fs-md);white-space:nowrap;color:var(--ink);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;gap:4px;padding:0 16px 2px;text-decoration:none;display:inline-flex}.nav-pill[data-state]{padding-inline:16px 14px}.nav-pill:hover,.nav-pill[aria-current=page],.nav-pill[data-state=open]{border-color:var(--pill-edge-engaged)}.nav-pill-chevron{block-size:16px;inline-size:16px;transition:rotate var(--dur-fast) var(--ease-out);flex:none}.nav-pill[data-state=open] .nav-pill-chevron{rotate:180deg}.nav-pill.glass{--pill-edge:var(--glass-edge);--pill-edge-engaged:var(--glass-edge-strong);background:var(--glass-fill);box-shadow:var(--glass-shadow);color:#fff}.chip{block-size:var(--pill-block-size);border:1px solid var(--ink);border-radius:var(--radius);font-family:inherit;font-size:var(--fs-md);white-space:nowrap;justify-content:center;align-items:center;width:fit-content;padding:8px 16px;display:inline-flex}.icon-swap{flex:none;place-items:center;block-size:1em;inline-size:1em;display:grid}.icon-swap>.icon{grid-area:1/1}.icon-swap>.icon:last-child{opacity:0;scale:.75}@media (hover:hover) and (pointer:fine){:where(a,button):where(:hover) .icon-swap>.icon:first-child{opacity:0}:where(a,button):where(:hover) .icon-swap>.icon:last-child{opacity:1}}:where(a,button):where(:focus-visible) .icon-swap>.icon:first-child{opacity:0}:where(a,button):where(:focus-visible) .icon-swap>.icon:last-child{opacity:1}.scene{background:var(--paper-sunk);border-radius:var(--radius);position:relative;overflow:hidden;container-type:inline-size}.scene--bare{background:0 0;border-radius:0}.project-mark{block-size:60px;inline-size:60px;margin-inline:auto}.scene-stage{position:absolute;inset:0}.scene-poster{object-fit:cover;block-size:100%;inline-size:100%;position:absolute;inset:0}.scene:has(.scene-stage[data-ready]) .scene-poster{visibility:hidden}.scene canvas{block-size:100%;inline-size:100%;display:block}.project-media img,.project-media video{overflow-clip-margin:unset;border-radius:var(--radius);block-size:auto;inline-size:100%}.project-media video{background:var(--paper-sunk)}.nav-menu{z-index:50;border-radius:calc(var(--radius) / 2);background:var(--paper);min-inline-size:12rem;transform-origin:var(--radix-dropdown-menu-content-transform-origin);animation:nav-menu-in var(--dur-fast) var(--ease-out);border:1px solid #ececec;padding:8px;box-shadow:0 8px 32px #0000001f}.nav-menu[data-state=closed]{animation:nav-menu-out .1s var(--ease-in-out)}.nav-menu-item{border-radius:var(--radius-sm);block-size:40px;font-size:var(--fs-md);color:var(--ink);cursor:pointer;user-select:none;outline:none;align-items:center;gap:8px;padding:0 12px;text-decoration:none;display:flex}.nav-menu-icon{flex:none;block-size:1em;inline-size:1em;display:inline-flex}.nav-menu-icon svg{block-size:100%;inline-size:100%;display:block}.nav-menu-item[data-highlighted]{background:var(--paper-sunk)}@keyframes nav-menu-in{0%{opacity:0;scale:.96}}@keyframes nav-menu-out{to{opacity:0;scale:.96}}.shell{background:var(--paper);grid-template-rows:auto 1fr auto;min-block-size:100svh;display:grid}.page-frame{--overshoot:calc(var(--tray-radius) + var(--tray-frame));--frame-y:calc(var(--overshoot) + var(--tray-frame));--frame-x:calc(var(--overshoot) + var(--tray-frame-wide));inset:calc(-1 * var(--overshoot));z-index:40;box-sizing:border-box;pointer-events:none;border-radius:calc(var(--tray-radius) + var(--frame-x)) / calc(var(--tray-radius) + var(--frame-y));transition:border-width var(--dur-tray) var(--ease-tray);border:0 solid #000;position:fixed}.page-frame:not([data-open=true]){transition-duration:var(--dur-tray-exit);transition-timing-function:var(--ease-tray-exit)}.page-frame[data-open=true]{border-width:var(--frame-y) var(--frame-x) 0}html[data-tray-open] .shell{border-radius:var(--tray-radius);overflow:hidden}.close-chip{appearance:none;border:1px solid var(--card-edge);border-radius:calc(var(--radius) / 2);background:var(--paper);block-size:44px;inline-size:44px;color:var(--ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);place-items:center;padding:0;display:grid;box-shadow:0 8px 32px #0000001f}.close-chip:hover{background:var(--paper-sunk)}.close-chip svg{block-size:20px;inline-size:20px}.project-tray-overlay{z-index:40;background:0 0;position:fixed;inset:0}.project-tray{inset-inline:0;z-index:50;block-size:var(--tray-height);background:var(--paper);border-radius:var(--tray-radius) var(--tray-radius) 0 0;box-shadow:0 -1px 0 var(--card-edge), 0 -12px 40px #0000001a;flex-direction:column;display:flex;position:fixed;bottom:0;overflow:hidden}.project-tray-bar{padding:8px var(--space-xs) 0;flex:none;grid-template-columns:44px 1fr 44px;align-items:center;display:grid}.project-tray-bar>[data-vaul-handle]{grid-column:2}.project-tray-close{grid-column:3}.project-tray-scroll{overscroll-behavior:contain;min-block-size:0;outline:none;flex:1;padding-block-end:env(safe-area-inset-bottom);overflow-y:auto}}@layer utils{.visually-hidden:not(:focus):not(:active){clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.measure{max-inline-size:var(--measure)}.faint{color:var(--ink-faint)}.measure-tight{max-inline-size:var(--measure-tight)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}}.project-tray[data-vaul-drawer]{touch-action:pan-y;user-select:text}.project-tray[data-vaul-drawer][data-state=closed]{animation-duration:var(--dur-tray-exit);animation-timing-function:var(--ease-tray-exit)}.project-tray[data-vaul-drawer] [data-vaul-handle],.project-tray[data-vaul-drawer] [data-vaul-handle-hitarea]{touch-action:none}.project-tray[data-vaul-drawer] [data-vaul-handle]{background:0 0;justify-self:stretch;block-size:100%;inline-size:auto;margin-inline:0}.project-tray[data-vaul-drawer] [data-vaul-handle]:before{content:"";background:var(--rule);border-radius:1rem;block-size:5px;inline-size:32px;position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%}html[data-tray-open]{padding-right:0!important}.skip-link[data-astro-cid-z4jru4n3]{left:var(--space-s);top:var(--space-s);z-index:10;padding:var(--space-sm) var(--space-xs);background:var(--ink);color:var(--paper);text-decoration:none;position:absolute;translate:0 -200%}.skip-link[data-astro-cid-z4jru4n3]:focus-visible{translate:0}main[data-astro-cid-z4jru4n3]:focus{outline:none}
