:root{color-scheme:dark;--color-paper:#080b12;--color-ink:#eceef2;--color-muted:#99a0ad;--color-line:#262c38;--color-accent:var(--color-ink);--work-width:84rem;--work-size:min(48%, 82vh);--work-interlock:-16%;--work-gap:var(--space-6);--work-lead:15vh;--work-edge:7.5rem;--work-overlap:.4;--work-paper:#efe9dc;--work-ink:#16181e;--work-muted:#6e6a62;--work-rule:#d3cbba;--work-plate:var(--color-paper);--work-plate-edge:#2a2f3b;--work-accent:var(--hero-name-color-in);--work-focus-width:3px;--work-handle-size:14px;--work-compare-hint:2s;--work-compare-hint-reach:15%;--work-play-size:clamp(2.75rem, 16cqw, 4rem);--work-star:#4f586c;--work-star-size:.8cqw;--work-star-lit:.8;--work-star-flare:.9s;--work-star-flare-scale:2.6;--work-star-hold:1.5s;--work-star-fade:1.2s;--work-now-opacity:.35;--egg-width:16.25rem;--egg-gap:7.5rem;--egg-star:#f4be8c;--egg-star-edge:#e9ad7f;--egg-rim:#171925;--egg-suit:#7d9f6e;--egg-bow:#c8453f;--egg-hair:#f6cf5e;--egg-scarf:var(--work-accent);--egg-skin:#f7e3cc;--tui-mat:#172136;--tui-bg:#07090d;--tui-edge:#242c3c;--tui-radius:.8em;--tui-shadow:0 1.5em 4em #00000080;--tui-white:#c8ccd4;--tui-bright:#fff;--tui-label:#bcbcbc;--tui-dark:#585858;--tui-slate:#878787;--tui-steel:#87afd7;--tui-green:#a8e07a;--tui-cyan:#7fe3ef;--tui-magenta:#e29cf5;--tui-orange:#ffaf00;--tui-yellow:#ffd580;--tui-red:#ff7b86;--work-pad:clamp(.9rem, 5cqw, 1.75rem);--work-label-size:clamp(.65rem, 2.6cqw, .8rem);--work-title-size:clamp(1.3rem, 7.5cqw, 2.4rem);--work-title-weight:500;--work-title-tracking:-.02em;--work-summary-size:clamp(.8rem, 3.4cqw, 1.05rem);--transition-screens:1.66;--nav-scroll-per-screen:.55s;--nav-scroll-max:2.2s;--card-radius:28px;--card-shadow:0 50px 120px #0000008c;--sky-speed:.5;--sky-base-ratio:1.7502;--sky-twilight-ratio:1.8462;--sky-tile-ratio:1.3124;--font-text:var(--font-site-family), "Helvetica Neue", Arial, sans-serif;--font-display:var(--font-site-family), "Helvetica Neue", Arial, sans-serif;--font-text-stretch:100%;--font-display-stretch:100%;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--step--1:.8rem;--step-0:1rem;--step-1:1.25rem;--step-2:1.563rem;--step-3:1.953rem;--step-4:2.441rem;--step-5:3.052rem;--leading:1.5;--measure:62ch;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4rem;--space-8:6rem;--gutter:clamp(1rem, 4vw, 2rem);--header-icon-size:1.25em;--header-icon-hover:var(--hero-name-color-in);--header-clear:11rem;--about-gallery:48rem;--photo-mount:var(--space-2);--photo-shadow:0 1.5rem 3rem #00000073;--demo-band:40rem;--wall-columns:5;--wall-gap:var(--space-3);--wall-height:100svh;--wall-fade:6rem;--wall-top-clear:5.5rem;--wall-scroll-gain:.0392;--wall-scroll-decay:.94;--wall-rate-min:-14;--wall-rate-max:18;--viewer-backdrop:#04060aeb;--viewer-pad:clamp(1rem, 4vw, 3rem);--viewer-close-size:1.5rem;--viewer-fade:.2s;--wall-speed-1:421s;--wall-speed-2:683s;--wall-speed-3:331s;--wall-speed-4:787s;--wall-speed-5:541s;--hero-reveal-radius:26vmax;--fluid-resolution:.1;--fluid-force:50;--fluid-cursor-size:18;--fluid-dissipation:.98;--fluid-iterations:4;--fluid-dt:.014;--fluid-threshold:.1;--fluid-softness:0;--fluid-idle-interval:2;--fluid-idle-duration:1.2;--fluid-idle-distance:.7;--fluid-idle-size:34;--hero-reveal-feather:55%;--hero-reveal-ease:.05;--hero-name-size:clamp(2.6rem, 6vw + 1.2rem, 5rem);--hero-name-line-size:min(var(--hero-name-size), calc((100vw - 2 * var(--gutter)) / 8.4));--hero-name-ring:1;--hero-name-tracking:.08em;--hero-name-weight:400;--hero-name-leading:1.32;--hero-name-case:lowercase;--hero-name-color:#eceef2;--hero-name-color-in:#ffdf7a;--duration-fast:.12s;--duration-base:.24s;--duration-slow:.48s;--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1)}@media (width<=64rem){:root{--wall-columns:3}}@media (width<=40rem){:root{--fluid-idle-size:16;--wall-columns:2;--wall-fade:3rem}}@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{min-height:100svh;line-height:var(--leading);-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}ul[role=list],ol[role=list]{padding:0;list-style:none}h1,h2,h3,h4{text-wrap:balance;overflow-wrap:anywhere}p,li,figcaption{text-wrap:pretty}}@layer base{body{font-family:var(--font-text);font-stretch:var(--font-text-stretch);font-size:var(--step-0);color:var(--color-ink);background:var(--color-paper)}h1,h2,h3{font-family:var(--font-display);font-stretch:var(--font-display-stretch);font-weight:500;line-height:1.1}h1{font-size:var(--step-4)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}a{color:var(--color-accent);text-underline-offset:.15em;text-decoration-thickness:from-font}:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}code,kbd,pre{font-family:var(--font-mono);font-size:.95em}pre{padding:var(--space-3);border:1px solid var(--color-line);overflow-x:auto}main.is-full{max-width:none;margin:0;padding:0}main:not(.is-full){max-width:calc(var(--measure) + 2 * var(--gutter));padding:var(--space-6) var(--gutter) var(--space-8);margin-inline:auto}@media (width<=44rem){main:not(.is-full){padding-block-start:var(--header-clear)}}@media (prefers-reduced-motion:no-preference){body.is-locked{block-size:100svh;flex-direction:column;min-height:0;display:flex;overflow:hidden}body.is-locked main{flex:1;min-block-size:0}}.site-header{z-index:2;padding:var(--space-4) var(--gutter);pointer-events:none;font-size:var(--step--1);letter-spacing:.08em;text-transform:lowercase;grid-template-columns:auto 1fr auto;place-content:start space-between;display:grid;position:fixed;inset:0}.site-header>*{pointer-events:auto}.site-header a{text-decoration:none}.site-header a:hover,.site-header [aria-current=page]{text-decoration:underline}.site-home{align-items:start;gap:var(--space-2);flex-direction:column;display:flex}.site-back{color:var(--color-muted)}.site-back:hover,.site-back:focus-visible{color:var(--color-ink)}.site-header nav{grid-column:3;justify-self:end}@media (width<=60rem){.site-header{position:absolute;bottom:auto}}.site-header nav ul{align-items:end;gap:var(--space-3);writing-mode:vertical-rl;flex-direction:column;display:flex}.site-header nav li{writing-mode:vertical-rl}.site-contact{justify-self:end;align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;grid-column:3;inline-size:1lh;display:flex}.site-contact a{justify-content:center;align-items:center;block-size:1lh;display:flex}.site-contact a:hover,.site-contact a:focus-visible{color:var(--header-icon-hover)}.site-contact svg{width:var(--header-icon-size);height:var(--header-icon-size)}.site-footer{z-index:1;gap:var(--space-3) var(--space-5);padding:var(--space-4) var(--gutter);flex-wrap:wrap;justify-content:space-between;display:flex;position:relative}.site-header [aria-current=page]{text-decoration:none}.site-footer,.meta{color:var(--color-muted);font-size:var(--step--1)}.skip-link{inset-inline-start:var(--gutter);padding:var(--space-2) var(--space-3);background:var(--color-ink);color:var(--color-paper);position:absolute;top:-100%}.skip-link:focus{top:var(--space-2)}.prose figure,.prose p>img:only-child,.photos figure{padding:var(--photo-mount);background:var(--work-paper);box-shadow:var(--photo-shadow)}.prose figure,.prose p:has(>img:only-child){margin-block:var(--space-6)}.prose img{width:100%;display:block}.prose figcaption{padding-top:var(--space-2);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.04em;color:color-mix(in oklab, var(--work-muted) 60%, var(--work-ink))}.prose>*+*{margin-block-start:var(--space-3)}.prose h2{margin-block-start:var(--space-6)}.prose h3,.entry-list>*+*{margin-block-start:var(--space-5)}}@layer components;@property --r{syntax:"<length>";inherits:false;initial-value:0}@property --mx{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --my{syntax:"<length-percentage>";inherits:false;initial-value:50%}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
