@layer tokens{:root{--bg-l:oklch(97.6% .004 275);--bg-d:oklch(14.5% .006 275);--surface-l:oklch(100% 0 0);--surface-d:oklch(19% .007 275);--sunken-l:oklch(94.4% .005 275);--sunken-d:oklch(22% .008 275);--heading-l:oklch(17% .012 275);--heading-d:oklch(97% .004 275);--body-l:oklch(37% .012 275);--body-d:oklch(80% .008 275);--muted-l:oklch(52% .012 275);--muted-d:oklch(64% .01 275);--accent-l:oklch(50% .095 173);--accent-d:oklch(91% .135 173);--hairline-l:oklch(17% .012 275/.1);--hairline-d:oklch(100% 0 0/.08);--shade-l:oklch(25% .03 275/.1);--shade-d:oklch(0% 0 0/.5);--highlight-l:oklch(100% 0 0/.9);--highlight-d:oklch(100% 0 0/.06);--lift-l:oklch(100% 0 0/.85);--lift-d:oklch(100% 0 0/.01);--bg:light-dark(var(--bg-l),var(--bg-d));--surface:light-dark(var(--surface-l),var(--surface-d));--sunken:light-dark(var(--sunken-l),var(--sunken-d));--heading:light-dark(var(--heading-l),var(--heading-d));--body:light-dark(var(--body-l),var(--body-d));--muted:light-dark(var(--muted-l),var(--muted-d));--accent:light-dark(var(--accent-l),var(--accent-d));--hairline:light-dark(var(--hairline-l),var(--hairline-d));--shade:light-dark(var(--shade-l),var(--shade-d));--highlight:light-dark(var(--highlight-l),var(--highlight-d));--lift:light-dark(var(--lift-l),var(--lift-d));--tint:color-mix(in oklab, var(--heading), transparent 93%);--brand-from:light-dark(oklch(55% .2 255),oklch(74% .14 250));--brand-to:light-dark(oklch(52% .24 300),oklch(72% .17 305));--success:light-dark(oklch(52% .14 155),oklch(76% .15 155));--hero-bg:oklch(92% 0 0);--hero-dim-body:oklch(30% .012 275);--hero-dim-muted:oklch(35% .012 275);--hero-dim-accent:oklch(40% .075 173);--shadow:0 1px 2px var(--shade), 0 1.5rem 3rem -1.5rem var(--shade), inset 0 1px 0 var(--highlight);--font:"Geist", "Geist Fallback", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono", "Geist Mono Fallback", ui-monospace, monospace;--serif:"Instrument Serif", "Instrument Serif Fallback", ui-serif, Georgia, serif;--ch:.663em;--ch-medium:.673em;--radius-xl:2.25rem;--radius-lg:1.75rem;--radius-md:1.125rem;--radius-pill:999px;--gutter:clamp(1.375rem, 4vw, 3rem);--column-gap:clamp(1.5rem, 3vw, 3rem);--max:100rem;--section-gap:clamp(6rem, 12vw, 11rem);--header-offset:5.5rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--dot-pitch:1.25rem;@supports not (color:light-dark(#000, #fff)){--bg:var(--bg-l);--surface:var(--surface-l);--sunken:var(--sunken-l);--heading:var(--heading-l);--body:var(--body-l);--muted:var(--muted-l);--accent:var(--accent-l);--hairline:var(--hairline-l);--shade:var(--shade-l);--highlight:var(--highlight-l);--lift:var(--lift-l);@media (prefers-color-scheme:dark){--bg:var(--bg-d);--surface:var(--surface-d);--sunken:var(--sunken-d);--heading:var(--heading-d);--body:var(--body-d);--muted:var(--muted-d);--accent:var(--accent-d);--hairline:var(--hairline-d);--shade:var(--shade-d);--highlight:var(--highlight-d);--lift:var(--lift-d)}}}}@layer base{*,:before,:after{box-sizing:border-box}html{color-scheme:light dark;accent-color:var(--accent);scrollbar-color:color-mix(in oklab, var(--heading), transparent 75%) transparent;scroll-behavior:smooth;scroll-padding-top:var(--header-offset);@media (prefers-reduced-motion:reduce){scroll-behavior:auto}&.lenis{scroll-behavior:auto}}body{background:var(--bg);color:var(--body);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6;overflow-x:clip;&::selection,& ::selection{background:color-mix(in oklab, var(--accent), transparent 70%);color:var(--heading)}}h1,h2,h3,p,dl,dd,figure,blockquote,ul,ol{margin:0}ul,ol{padding:0;list-style:none}img{max-width:100%;height:auto;display:block}h1,h2,h3{color:var(--heading);text-wrap:balance;font-weight:500}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.375rem}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}}@layer components{.icon{flex:none;width:.875em;height:.875em}.link{width:fit-content;color:var(--heading);text-underline-offset:.25em;text-decoration:underline 1px;text-decoration-color:color-mix(in oklab, var(--heading), transparent 65%);transition:text-decoration-color .15s var(--ease-out);align-items:center;gap:.3em;font-weight:500;display:inline-flex;& .icon{transition:translate .2s var(--ease-out)}&:hover{text-decoration-color:var(--heading);& .icon{translate:.12em -.12em}}&.link-inline{display:inline;& .icon{vertical-align:-.1em;margin-left:.3em}&:hover .icon{translate:.2em}}}.button{border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;width:fit-content;height:3rem;transition:background-color .15s var(--ease-out), scale .15s var(--ease-out);border:0;justify-content:center;align-items:center;gap:.4em;padding-inline:1.375rem;font-family:inherit;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex;&:active{scale:.97}&.button-primary{background:var(--heading);color:var(--bg);&:hover{background:color-mix(in oklab, var(--heading), var(--bg) 18%)}}&.button-secondary{background:var(--tint);color:var(--heading);&:hover{background:color-mix(in oklab, var(--heading), transparent 88%)}}&.button-small{height:2.5rem;padding-inline:1.125rem;font-size:.875rem}}.chips{color:var(--body);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;display:flex;& span{border-radius:var(--radius-pill);background:var(--tint);padding:.25rem .625rem}& .chips-index{color:var(--heading);background:0 0;margin-right:.5rem;padding:0}}.section{padding-top:var(--section-gap);.facts+&{padding-top:clamp(5rem,9vw,8rem)}}.eyebrow{color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:1rem;margin-bottom:clamp(2rem,4vw,3rem);font-size:.8125rem;display:flex;&:after{content:"";background:var(--hairline);flex:1;order:1;height:1px}& .eyebrow-count{order:2}}.section-title{max-width:calc(18 * var(--ch-medium));letter-spacing:-.035em;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;& span{color:var(--muted)}}.section-lede{max-width:calc(46 * var(--ch));font-size:clamp(1.0625rem,1.5vw,1.1875rem)}.section-head,.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.5rem clamp(2rem,6vw,6rem);display:grid;@media (width<=56.25rem){grid-template-columns:minmax(0,1fr)}}.section-head{align-items:start}.split-aside{flex-direction:column;align-items:flex-start;gap:1.5rem;display:flex}.specs{display:grid;& div{border-bottom:1px solid var(--hairline);grid-template-columns:6.5rem minmax(0,1fr);gap:1rem;padding-block:.75rem;display:grid;&:last-child{border-bottom:none}}& dt{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.8125rem;line-height:1.85}& dd{color:var(--heading);font-size:.9375rem}&.specs-wide div{grid-template-columns:9rem minmax(0,1fr);padding-block:1rem;@media (width<=30rem){grid-template-columns:minmax(0,1fr);gap:.25rem}}}.frame{--frame-radius:var(--radius-xl);--corner:max(0px, var(--frame-radius) - 1px);--inset:clamp(1rem, 2vw, 1.75rem);border:1px solid var(--hairline);border-radius:var(--frame-radius);overflow:hidden;@media (width<=37.5rem){--corner:0px;--inset:1.375rem;margin-inline:calc(var(--gutter) * -1);border-inline:0;border-radius:0}}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid;@media (width<=62.5rem){grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=37.5rem){margin-inline:calc(var(--gutter) * -1);padding:.5rem var(--gutter) 1.5rem;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;display:flex;overflow-x:auto}& li{display:flex;@media (width<=37.5rem){scroll-snap-align:start;flex:0 0 82%}}}.tile{border-radius:var(--radius-lg);background:var(--surface);width:100%;box-shadow:var(--shadow);transition:translate .2s var(--ease-out);flex-direction:column;gap:.375rem;padding:.75rem;text-decoration:none;display:flex;&:hover{translate:0 -2px}& img{aspect-ratio:16/10;border-radius:var(--radius-md);background:var(--sunken);object-fit:cover;object-position:var(--pos,50% 50%);width:100%;margin-bottom:.875rem}& .tile-title,& .tile-text,& .tile-meta{padding-inline:.5rem}& .tile-title{color:var(--heading);letter-spacing:-.015em;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:1.0625rem;font-weight:500;display:flex}& .tile-text{color:var(--body);font-size:.9375rem;line-height:1.5}& .tile-meta{color:var(--muted);margin-top:auto;padding-block:.875rem .5rem;font-size:.8125rem}}.prose{max-width:calc(58 * var(--ch));flex-direction:column;gap:1.25rem;font-size:clamp(1.125rem,1.6vw,1.3125rem);line-height:1.6;display:flex;& h2,& h3{letter-spacing:-.025em;margin-top:1.5rem;line-height:1.15}& h2{font-size:1.6em}& h3{font-size:1.25em}& a{color:var(--heading);text-underline-offset:.25em;text-decoration-color:color-mix(in oklab, var(--heading), transparent 65%)}& strong{color:var(--heading);font-weight:600}& ul,& ol{flex-direction:column;gap:.5rem;padding-left:1.25em;display:flex}& ul{list-style:outside}& ol{list-style:decimal}& li::marker{color:var(--muted)}& code{background:var(--tint);color:var(--heading);font-family:var(--mono);border-radius:.375rem;padding:.1em .35em;font-size:.85em}& pre{border-radius:var(--radius-md);padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.6;overflow-x:auto;& code{font-size:inherit;background:0 0;padding:0}}}}@layer sections{.header{z-index:20;pointer-events:none;transition:padding-top .3s var(--ease-out);justify-content:center;padding-top:0;display:flex;position:fixed;inset:0 0 auto;&[data-over-hero]:not([data-condensed]){color-scheme:light;@media (prefers-color-scheme:dark){--body:var(--hero-dim-body);--muted:var(--hero-dim-muted)}}&[data-condensed]{padding-top:.75rem;@media (width<=37.5rem){padding-top:0}& .header-bar{width:min(100% - 2 * var(--gutter), 48rem);background-color:color-mix(in oklab, var(--surface), transparent 18%);height:3.5rem;box-shadow:var(--shadow);backdrop-filter:blur(.6rem)saturate(1.6);padding-inline:1.25rem .5rem;@media (width<=37.5rem){width:100%;height:4rem;padding-inline:var(--gutter)}}& .header-time{opacity:0;max-width:0}& .header-end{gap:0}}}.header-bar{width:min(100% - 2 * var(--gutter), var(--max));pointer-events:auto;height:6.25rem;transition:width .4s var(--ease-out), height .3s var(--ease-out), padding .3s var(--ease-out), background-color .3s var(--ease-out), box-shadow .3s var(--ease-out), backdrop-filter .3s var(--ease-out);background-color:#0000;border-radius:1.75rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1.5rem;padding-inline:0;display:grid;box-shadow:0 1px 2px #0000,0 1.5rem 3rem -1.5rem #0000,inset 0 1px #0000;@media (width<=37.5rem){width:100%;padding-inline:var(--gutter);border-radius:0;grid-template-columns:minmax(0,1fr) auto}}.header-brand{width:fit-content;color:var(--heading);letter-spacing:-.015em;white-space:nowrap;font-weight:600;line-height:normal;text-decoration:none;@media (width<=37.5rem){font-size:1.1875rem}& span{color:var(--muted);font-weight:500}}.header-nav{gap:.25rem;display:flex;position:relative;@media (width<=37.5rem){display:none}}.header-link{border-radius:var(--radius-pill);color:var(--body);transition:color .2s var(--ease-out);padding:.5rem .875rem;font-size:.9375rem;font-weight:500;text-decoration:none;&:hover{color:var(--heading)}}.header-active{gap:inherit;border-radius:var(--radius-pill);background:color-mix(in oklab, var(--accent), transparent 88%);clip-path:inset(0 var(--active-right,100%) 0 var(--active-left,0) round var(--radius-pill));opacity:0;pointer-events:none;transition:clip-path .3s var(--ease-out), opacity .25s var(--ease-out);display:flex;position:absolute;inset:0;.header-nav[data-current] &{opacity:1}.header-nav[data-instant] &{transition:opacity .25s var(--ease-out)}& .header-link{color:var(--accent)}}.header-end{transition:gap .3s var(--ease-out);justify-content:flex-end;align-items:center;gap:1.25rem;display:flex}.header-time{max-width:10rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;transition:max-width .3s var(--ease-out), opacity .2s var(--ease-out);font-size:.875rem;overflow:hidden;@media (width<=47.5rem){display:none}}.hero{--inset:.75rem;--fade-in:1.8s;--field:1;isolation:isolate;min-height:max(36rem, 70svh - 2 * var(--inset));margin:var(--inset);border-radius:var(--radius-xl);background:var(--hero-bg);color:var(--body);color-scheme:light;transition:background-color var(--fade-in) var(--ease-out);display:flex;position:relative;overflow:hidden;@media (width<=37.5rem){--inset:0rem;border-radius:0 0 var(--radius-xl) var(--radius-xl)}@media (prefers-color-scheme:dark){--field:.85;--body:var(--hero-dim-body);--muted:var(--hero-dim-muted);--accent:var(--hero-dim-accent);background:color-mix(in srgb, var(--hero-bg) calc(var(--field) * 100%), var(--bg-d));&:has(.hero-canvas.is-ready){background:var(--bg-d)}}}.hero-canvas{z-index:-2;opacity:0;width:100%;height:100%;transition:opacity var(--fade-in) var(--ease-out);position:absolute;inset:0;&.is-ready{opacity:var(--field)}}.hero-inner{width:min(100% - 2 * (var(--gutter) - var(--inset)), var(--max));flex-direction:column;justify-content:space-between;gap:3rem;margin-inline:auto;padding-block:clamp(8rem,18vh,12rem) clamp(1.5rem,3vw,2.25rem);display:flex}.hero-content{flex-direction:column;align-items:flex-start;gap:clamp(1.5rem,3vw,2rem);margin-block:auto;display:flex;@media (width<=37.5rem){margin-bottom:0}}.hero-title{letter-spacing:-.045em;flex-direction:column;max-width:16em;font-size:clamp(2.75rem,6.25vw,6rem);font-weight:400;line-height:1;display:flex;& em{font-family:var(--serif);letter-spacing:-.01em;padding-right:.06em;font-size:1.08em;font-style:italic}}.hero-gradient{background:linear-gradient(90deg, var(--heading), var(--accent));color:#0000;background-clip:text}.hero-lede{--enter-delay:.65s;max-width:calc(42 * var(--ch));margin-top:clamp(.5rem,1.5vw,1rem);font-size:clamp(1.0625rem,1.4vw,1.1875rem)}.hero-meta{--enter-delay:.95s;border-top:1px solid var(--hairline);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;padding-top:1.25rem;font-size:.75rem;display:grid;& p:nth-child(2){justify-self:center}@media (width<=37.5rem){grid-template-columns:minmax(0,1fr) auto;& p:first-child{display:none}& p:nth-child(2){justify-self:start}}}.hero-scroll{color:var(--heading);justify-self:end;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex;& .icon{@media (prefers-reduced-motion:no-preference){animation:scroll-nudge 3.2s var(--ease-out) 2.2s infinite;:root[data-js] .hero:not([data-play]) &{animation-play-state:paused}}}}.stats{margin-top:clamp(3rem,7vw,8rem);padding-block:clamp(1.5rem,3vw,2.25rem) clamp(2rem,4vw,3rem);display:flex;@media (width<=47.5rem){gap:2rem var(--column-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}& dt{font-size:.875rem}& dd{flex-wrap:wrap;order:-1;align-items:baseline;gap:.25rem .375rem;display:flex}}.stat{flex-direction:column;gap:.5rem;display:flex;@media (width>=47.5625rem){&:not(:first-child){flex:auto;grid-template-columns:minmax(1.5rem,1fr) 1px minmax(1.5rem,1fr) auto;align-content:start;column-gap:0;display:grid;&:before{content:"";background:var(--hairline);grid-area:1/2/3}& dd{grid-area:1/4}& dt{grid-area:2/4}}}}.stat-figure{color:var(--heading);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(2.25rem,4vw,3.5rem);font-weight:500;line-height:1;display:inline-block}.stat-unit{color:var(--muted);font-size:.9375rem}:is(.project,.more-item){--on:0;@media (hover:hover){&:hover{--on:1}}&:is(:focus-visible,:has(:focus-visible)){--on:1}&>*{opacity:calc(1 - var(--fade) * var(--dim) * (1 - var(--on)));transition:opacity .3s var(--ease-out)}}:is(.projects,.more-list){--dim:0;--fade:.6;&.more-list{--fade:.35}@media (width>=62.5625rem){@media (hover:hover){&:has(:is(.project,.more-item):hover){--dim:1}}&:has(:focus-visible){--dim:1}}}.projects{margin-top:clamp(3rem,6vw,5rem);@media (width<=37.5rem){border-top:0}}.project{--reach:24rem;--ink:light-dark(var(--accent-l),oklch(97% 0 0/.74));--faint:.25;--fine-core:.8px;--fine-edge:2px;--fine-ink:22%;--near-core:1.4px;--near-edge:2.6px;--near-ink:32%;isolation:isolate;padding:clamp(1.75rem, 3.5vw, 2.75rem) var(--inset);border-top:1px solid var(--hairline);border-radius:var(--corners,0);background-color:color-mix(in oklab, var(--lift) calc(var(--on) * 100%), transparent);transition:background-color .3s var(--ease-out);grid-template-columns:3rem minmax(0,1fr) minmax(0,17rem) 3rem;grid-template-areas:"index main meta arrow";gap:1.5rem clamp(1.5rem,3vw,3rem);display:grid;position:relative;@supports not (color:light-dark(#000, #fff)){--ink:var(--accent-l);@media (prefers-color-scheme:dark){--ink:var(--heading-d)}}&:before{content:"";z-index:-1;background:radial-gradient(circle, color-mix(in oklab, var(--ink) var(--fine-ink), transparent) var(--fine-core), transparent var(--fine-edge)) 0 0 / var(--dot-pitch) var(--dot-pitch);mask-image:radial-gradient(var(--reach) at var(--x,30%) var(--y,50%), #000, transparent), linear-gradient(rgb(0 0 0/var(--faint)) 0 0);opacity:var(--on);transition:opacity .3s var(--ease-out);position:absolute;inset:0}&:after{content:"";z-index:-1;background:radial-gradient(circle, color-mix(in oklab, var(--ink) var(--near-ink), transparent) var(--near-core), transparent var(--near-edge)) 0 0 / var(--dot-pitch) var(--dot-pitch);mask-image:radial-gradient(calc(var(--reach) / 2) at var(--x,30%) var(--y,50%), #000, transparent);opacity:var(--on);transition:opacity .3s var(--ease-out);position:absolute;inset:0}&[data-dots]{&:before,&:after{display:none}}& .project-dots{z-index:-1;width:100%;height:100%;color:var(--ink);opacity:var(--on);transition:opacity .3s var(--ease-out);pointer-events:none;position:absolute;inset:0}&:first-child{--corners:var(--corner) var(--corner) 0 0;@media (width>=37.5625rem){border-top:0}}&:last-child{--corners:0 0 var(--corner) var(--corner)}@media (width<=62.5rem){grid-template-columns:2.5rem minmax(0,1fr) 3rem;grid-template-areas:"index main arrow"".meta meta"}@media (width<=37.5rem){grid-template-columns:minmax(0,1fr) 2.75rem;grid-template-areas:"index arrow""main main""meta meta";row-gap:1.25rem;padding-block:2.25rem 2.5rem}&:has(.project-link:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}}.project-index{color:color-mix(in oklab, var(--heading) calc(var(--on) * 100%), var(--muted));font-family:var(--mono);transition:color .3s var(--ease-out), opacity .3s var(--ease-out);grid-area:index;padding-top:.125rem;font-size:.8125rem}.project-main{flex-direction:column;grid-area:main;align-items:flex-start;gap:1rem;display:flex}.project-title{letter-spacing:-.045em;font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:600;line-height:1}.project-link{color:inherit;text-decoration:none;&:after{content:"";z-index:1;position:absolute;inset:0}&:focus-visible{outline:none}}.project-name{color:var(--heading);position:relative}.project-text{max-width:calc(46 * var(--ch));font-size:1.0625rem}.project-meta{grid-area:meta;align-self:center}.project-specs{gap:.5rem;font-size:.875rem;display:grid;& div{grid-template-columns:4.5rem minmax(0,1fr);gap:1rem;display:grid}& dt{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;line-height:1.75}& dd{color:var(--heading)}}.project-arrow{aspect-ratio:1;background:color-mix(in oklab, var(--heading) calc(var(--on) * 100%), var(--tint));width:100%;color:color-mix(in oklab, var(--bg) calc(var(--on) * 100%), var(--heading));transition:background-color .3s var(--ease-out), color .3s var(--ease-out), opacity .3s var(--ease-out);border-radius:50%;grid-area:arrow;place-items:center;display:grid;& .icon{rotate:calc(var(--on) * 45deg);transition:rotate .3s var(--ease-out)}}.more{margin-top:clamp(3rem,6vw,5rem)}.more-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 2rem;margin-bottom:1.5rem;display:flex}.more-title{letter-spacing:-.02em;font-size:1.25rem}.more-links{gap:1.5rem;display:flex}.more-list{grid-template-columns:max-content fit-content(14rem) minmax(0,1fr) max-content;column-gap:clamp(1rem,3vw,2.5rem);display:grid;@media (width<=47.5rem){grid-template-columns:max-content minmax(0,1fr) auto}@media (width<=37.5rem){margin-inline:calc(var(--gutter) * -1)}& li{grid-column:1/-1;grid-template-columns:subgrid;display:grid;&+li{border-top:1px solid var(--hairline)}}}.more-item{--shift:0rem;--roll:.5s;--depth:1.6875rem;--side:1;--away:-1;--other-heading:var(--bg);--other-body:color-mix(in oklab, var(--bg) 78%, var(--heading));--other-muted:color-mix(in oklab, var(--bg) 60%, var(--heading));grid-column:1/-1;grid-template-columns:subgrid;perspective:100rem;text-decoration:none;display:grid;overflow:clip;@media (width>=37.5625rem){--shift:1rem}@media (prefers-reduced-motion:no-preference){@media (hover:hover){&:hover>.more-face-rest{transform:var(--rolled)}}&:is(:focus-visible,[data-snap=rest])>.more-face-rest{transform:var(--rolled)}}&[data-snap=rest]>.more-face-rest{transition:none}&:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}}.more-face{grid-area:1/1/auto/-1;grid-template-columns:subgrid;color:color-mix(in oklab, var(--other-body) calc(var(--lit) * 100%), var(--body));backface-visibility:hidden;transition:transform var(--roll) var(--ease-out), opacity .3s var(--ease-out);grid-template-areas:"index name text meta";align-items:baseline;padding-block:.875rem;display:grid;@media (prefers-reduced-motion:no-preference){will-change:transform}@media (width<=47.5rem){grid-template-areas:"index name meta"".text text";row-gap:.375rem;padding-block:1rem}@media (width<=37.5rem){padding-inline:var(--gutter)}}.more-face-rest{--lit:0;--rolled:translateZ(calc(var(--depth) * -1)) rotateX(calc(var(--away) * 90deg)) translateZ(var(--depth))}.more-face-lit{--lit:1;isolation:isolate;background:color-mix(in oklab, var(--heading) calc(50% + var(--on) * 50%), var(--bg));opacity:1;transform:translateZ(calc(var(--depth) * -1)) rotateX(calc((1 - var(--on)) * var(--side) * 90deg)) translateZ(var(--depth));transition:transform var(--roll) var(--ease-out), background-color var(--roll) var(--ease-out);@media (prefers-reduced-motion:reduce){opacity:var(--on);transition:opacity var(--roll) var(--ease-out);transform:none}.more-item[data-snap=lit]>&{--on:0;transition:none}}.more-index{color:color-mix(in oklab, var(--other-heading) calc(var(--lit) * 100%), var(--muted));font-family:var(--mono);translate:calc(var(--lit) * var(--shift)) 0;grid-area:index;font-size:.75rem}.more-name{color:color-mix(in oklab, var(--other-heading) calc(var(--lit) * 100%), var(--heading));letter-spacing:-.015em;overflow-wrap:anywhere;translate:calc(var(--lit) * var(--shift)) 0;grid-area:name;font-size:1rem;font-weight:500}.more-text{min-width:0;margin-inline:calc(var(--lit) * var(--shift));text-overflow:ellipsis;white-space:nowrap;grid-area:text;font-size:.9375rem;line-height:1.5;overflow:hidden;@media (width<=47.5rem){white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}}.more-meta{color:color-mix(in oklab, var(--other-muted) calc(var(--lit) * 100%), var(--muted));font-family:var(--mono);white-space:nowrap;translate:calc(var(--lit) * var(--shift) * -1) 0;flex-wrap:wrap;grid-area:meta;justify-self:end;gap:.25rem 1.25rem;font-size:.75rem;display:flex}.more-label{align-items:center;gap:.5rem;display:inline-flex;&:before{content:"";aspect-ratio:1;background:var(--label);border-radius:50%;width:.5rem}}.services{margin-top:clamp(3.5rem,7vw,6rem);@media (width>=56.25rem){grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(2rem,6vw,6rem);display:grid}}.services-list{gap:clamp(3rem,8vw,4.5rem);display:grid;@media (width>=56.25rem){gap:0}}.service{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex;@media (width>=56.25rem){min-height:42svh;transition:opacity .4s var(--ease-out);justify-content:center;.services-list[data-live] &:not([data-active]){opacity:.28}& .stage{display:none}}& .stage{--obj-w:clamp(10rem, 48cqi, 14rem);--grow:1.22;--w-max:51;--mon-w:82cqi;--lift:-2.5rem;aspect-ratio:4/5;width:min(100%,30rem);max-height:26rem;margin-top:1rem}& .stage-code{inset:auto auto 5% 6%}& .stage-hand{top:21%}}.service-index{color:var(--muted);font-family:var(--mono);transition:color .4s var(--ease-out);margin-bottom:clamp(.25rem,1vw,.75rem);font-size:.8125rem;.service[data-active] &{color:var(--heading)}}.service-name{letter-spacing:-.03em;font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:1.1}.service-text{max-width:calc(40 * var(--ch));font-size:1rem}.services-stage{display:none;@media (width>=56.25rem){display:block;& .stage{--stage-h:min(34rem, 70svh);top:max(6.5rem, (100svh - var(--stage-h)) / 2);height:var(--stage-h);position:sticky}}}.stage{--stage-bg:oklch(13% 0 0);--bg:oklch(14.5% 0 0);--surface:oklch(19% 0 0);--heading:oklch(97% 0 0);--body:oklch(80% 0 0);--muted:oklch(64% 0 0);--hairline:oklch(100% 0 0/.08);--shade:oklch(0% 0 0/.5);--highlight:oklch(100% 0 0/.06);--obj-w:clamp(10rem, 42cqi, 18rem);--grow:1.3;--w-max:55;--move:.8s var(--ease-out);--fade:.4s var(--ease-out);--dots:radial-gradient(circle, var(--heading) 1.1px, transparent 1.7px) 0 0 / 7px 7px;--win-pad:.75rem;--win-bar:1.625rem;--mon-w:72cqi;--mon-h:calc(var(--mon-w) * 9 / 16);--mon-r:.75rem;--lift:-5cqi;--lx:50%;--ly:46%;--light:0;--step:0;aspect-ratio:1;border:1px solid var(--hairline);border-radius:var(--radius-xl);background:radial-gradient(70% 70% at 50% 42%, oklch(17.5% 0 0), var(--stage-bg));color-scheme:dark;perspective:70rem;isolation:isolate;transition:--lx var(--move), --ly var(--move), --light var(--fade);place-items:center;display:grid;position:relative;overflow:hidden;container-type:inline-size;@media (prefers-reduced-motion:reduce){--move:0s;--fade:0s}@media (width>=56.25rem){.services-stage &{aspect-ratio:auto}}&:before{content:"";background:radial-gradient(circle, var(--hairline) 1px, transparent 1.5px) 0 0 / var(--dot-pitch) var(--dot-pitch);pointer-events:none;position:absolute;inset:0}&[data-state=ui]{--step:0;--lx:50%;--ly:46%}&[data-state=web]{--step:1;--lx:64%;--ly:34%}&[data-state="3d"]{--step:2;--lx:50%;--ly:28%}&[data-state=video]{--step:3;--lx:50%;--ly:36%}&[data-lit]{--light:1}}.stage-light{background:radial-gradient(26cqi at var(--lx) var(--ly), color-mix(in oklab, var(--heading), transparent 94%), transparent), radial-gradient(circle, color-mix(in oklab, var(--heading), transparent 60%) 1px, transparent 1.5px) 0 0 / var(--dot-pitch) var(--dot-pitch);mask-image:radial-gradient(36cqi at var(--lx) var(--ly), #000, transparent);pointer-events:none;position:absolute;inset:0}.stage-hover{background:radial-gradient(circle, color-mix(in oklab, var(--heading), transparent 68%) .8px, transparent 2px) 0 0 / var(--dot-pitch) var(--dot-pitch);mask-image:radial-gradient(16cqi at var(--x,-100rem) var(--y,-100rem), #000, transparent);opacity:var(--light);pointer-events:none;position:absolute;inset:0;&:before{content:"";background:radial-gradient(circle, color-mix(in oklab, var(--heading), transparent 55%) 1.4px, transparent 2.6px) 0 0 / var(--dot-pitch) var(--dot-pitch);mask-image:radial-gradient(8cqi at var(--x,-100rem) var(--y,-100rem), #000, transparent);position:absolute;inset:0}}.stage-file{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;font-size:.75rem;display:grid;position:absolute;inset:1.625rem auto auto 1.875rem;& span{opacity:0;translate:0 calc(clamp(-1, var(--n) - var(--step), 1) * .6em);transition:opacity var(--fade), translate var(--move);grid-area:1/1}}.stage[data-state=ui] [data-for=ui],.stage[data-state=web] [data-for=web],.stage[data-state="3d"] [data-for="3d"],.stage[data-state=video] [data-for=video]{opacity:1;transition-delay:.2s,0s}.stage-stats{color:var(--muted);font-family:var(--mono);opacity:0;pointer-events:none;transition:opacity var(--fade), translate var(--fade);grid-template-columns:auto auto;gap:.3125rem .625rem;font-size:.625rem;line-height:1;display:grid;position:absolute;inset:1.625rem 1.875rem auto auto;translate:0 -.25rem;& span{display:contents}& b{color:var(--heading);font-variant-numeric:tabular-nums;text-align:right;font-weight:400}}.stage-object{transform-style:preserve-3d;transition:transform var(--move);position:relative}.stage-window{inset:calc(-1 * (var(--win-bar) + var(--win-pad))) calc(-1 * var(--win-pad)) calc(-1 * var(--win-pad));border-radius:var(--radius-lg);background:var(--bg);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity var(--fade);position:absolute;&:before{content:"";top:calc(var(--win-bar) / 2);background:radial-gradient(circle, color-mix(in oklab, var(--heading), transparent 70%) .19rem, transparent .22rem) 0 50% / .7rem 100% repeat-x;width:2rem;height:.4rem;position:absolute;left:.875rem;translate:0 -50%}& .win-url{height:var(--win-bar);border-bottom:1px solid var(--hairline);color:var(--muted);font-family:var(--mono);place-items:center;font-size:.625rem;display:grid;position:absolute;inset:0 0 auto}}.stage-inspect{background:var(--surface);box-shadow:var(--shadow);color:var(--muted);font-family:var(--mono);white-space:nowrap;opacity:0;pointer-events:none;border-radius:.375rem;gap:.5rem;padding:.3125rem .5rem;font-size:.625rem;line-height:1;display:flex;position:absolute;top:-.375rem;left:.875rem;& b{color:var(--heading);font-weight:400}& span+span{font-variant-numeric:tabular-nums}}.stage-monitor{top:calc(50% + var(--lift));width:var(--mon-w);height:var(--mon-h);border:1px solid var(--hairline);border-radius:var(--mon-r);background:var(--stage-bg);opacity:0;pointer-events:none;transition:opacity var(--fade);position:absolute;left:50%;overflow:hidden;translate:-50% -50%;& .mon-video{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;filter:grayscale()contrast(1.05);position:absolute;inset:0}}.mon-titles{color:oklch(12% 0 0);letter-spacing:.03em;font-size:clamp(1.375rem,6.2cqi,3.125rem);font-weight:900;line-height:1;position:absolute;inset:0;& span{position:absolute;top:50%;translate:0 -50%}& [data-side=left]{left:6%}& [data-side=right]{right:6%}}.mon-guides{--line:color-mix(in oklab, var(--heading), transparent 70%);border:1px solid var(--line);outline:1px solid oklch(0% 0 0/.3);position:absolute;inset:5%;&:before,&:after{content:"";background:var(--line);position:absolute;top:50%;left:50%;translate:-50% -50%}&:before{width:.75rem;height:1px}&:after{width:1px;height:.75rem}}.obj{--turn:0;--size:1;width:calc(var(--obj-w) * var(--size));border-radius:var(--radius-lg);transform-style:preserve-3d;translate:calc(var(--obj-w) * (var(--size) - 1) / 2) calc(var(--obj-w) * (var(--size) - 1) * 9 / 32);rotate:calc(var(--turn) * (-30deg + var(--sway)));transition:background-color var(--fade), border-color var(--fade), box-shadow var(--fade), opacity var(--fade), --turn var(--move), --size var(--move);border:1px solid #0000;gap:clamp(.375rem,1.5cqi,.75rem);padding:.625rem .625rem .875rem;font-size:clamp(.6875rem,2.1cqi,.9375rem);line-height:1.4;display:grid;position:relative;@media (prefers-reduced-motion:no-preference){animation:7s ease-in-out infinite alternate paused stage-sway}&>*{transform-style:preserve-3d;transition:translate var(--move), background var(--fade), color var(--fade), border-color var(--fade), box-shadow var(--fade), opacity var(--fade)}&:before,&:after{content:"";border:1px solid color-mix(in oklab, var(--heading), transparent 80%);border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--fade);position:absolute;inset:-1px}&:before{translate:0 0 -.375rem}&:after{translate:0 0 -.75rem}}.obj-part{outline-offset:-1px;outline:1px solid #0000;position:relative}.obj-media{aspect-ratio:16/9;border-radius:var(--radius-md);isolation:isolate;border:1px solid #0000;& .obj-video{z-index:-1;border-radius:inherit;object-fit:cover;width:calc(100% + 2px);height:calc(100% + 2px);image-rendering:pixelated;filter:grayscale()contrast(1.05);opacity:0;transition:opacity var(--fade);position:absolute;inset:-1px}&:before{content:"";border-radius:inherit;opacity:0;transition:opacity var(--fade);background:radial-gradient(circle,oklch(100% 0 0/.14) .9px,#0000 1.4px) 0 0/6px 6px;position:absolute;inset:-1px}}.obj-vertex{aspect-ratio:1;background:var(--heading);opacity:0;width:.3125rem;transition:opacity var(--fade), scale .3s var(--ease-out);border-radius:1px;position:absolute;scale:.4;&:first-child{top:-.1875rem;left:-.1875rem}&:nth-child(2){top:-.1875rem;right:-.1875rem}&:nth-child(3){bottom:-.1875rem;left:-.1875rem}&:nth-child(4){bottom:-.1875rem;right:-.1875rem}}.obj-title{width:fit-content;color:var(--heading);letter-spacing:-.02em;margin-top:.25rem;font-size:1.35em;font-weight:500;line-height:1.1}.obj-text{color:var(--body)}.obj-button{border-radius:var(--radius-pill);background:var(--heading);width:fit-content;color:var(--bg);border:1px solid #0000;margin-top:.25rem;padding:.45em 1em;font-weight:500}.obj-select{--line:color-mix(in oklab, var(--heading), transparent 30%);border:1px solid var(--line);border-radius:calc(var(--radius-lg) + .375rem);opacity:0;pointer-events:none;transition:opacity var(--fade);position:absolute;inset:-.375rem}.obj-handle{aspect-ratio:1;border:1px solid var(--line);background:var(--bg);width:.4375rem;transition:scale .3s var(--ease-out);position:absolute;scale:.3;&:first-child{top:-.25rem;left:-.25rem}&:nth-child(2){top:-.25rem;right:-.25rem}&:nth-child(3){bottom:-.25rem;left:-.25rem}&:nth-child(4){bottom:-.25rem;right:-.25rem}}.obj-size{background:var(--heading);color:var(--bg);font-family:var(--mono);white-space:nowrap;opacity:0;pointer-events:none;counter-reset:w var(--w);border-radius:.375rem;padding:.3125rem .5rem;font-size:.625rem;line-height:1;position:absolute;top:calc(100% + .75rem);left:50%;translate:-50% .25rem;&:before{content:"W ";opacity:.55}&:after{content:counter(w) "cqi";font-variant-numeric:tabular-nums}}.stage-cursor{shape-rendering:crispedges;opacity:0;pointer-events:none;width:clamp(2rem,6cqi,3rem);height:auto;transition:opacity var(--fade);position:absolute;& .px-line{fill:oklch(14% 0 0)}& .px-fill{fill:oklch(98% 0 0)}}.stage-arrow{transition:opacity var(--fade), translate .6s var(--ease-out);top:86%;left:84%;translate:5cqi 6cqi}.stage-resize{top:50%;left:100%;translate:-50% -50%}.stage-hand{top:31%;left:46%;@media (prefers-reduced-motion:no-preference){animation:7s ease-in-out infinite alternate paused stage-drag}}.stage-code{border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow);font-family:var(--mono);opacity:0;transition:opacity var(--fade), translate var(--move);counter-reset:line;margin:0;padding:.875rem 1rem;font-size:clamp(.5625rem,1.55cqi,.75rem);line-height:1.7;position:absolute;inset:auto auto 8% 6%;translate:0 1rem;& .code-line{clip-path:inset(0 100% 0 0);width:fit-content;transition:clip-path 0s .4s;display:block;&:before{content:counter(line);counter-increment:line;width:1.25em;color:color-mix(in oklab, var(--muted), transparent 45%);text-align:right;margin-right:1em;display:inline-block}&:last-child:after{content:"";vertical-align:-.15em;background:var(--heading);opacity:0;width:1px;height:1.05em;margin-left:.125em;display:inline-block}}& .code-tag{color:var(--muted)}& .code-attr{color:var(--heading)}& .code-str,& .code-text{color:var(--body)}}.stage-timeline{border-top:1px solid var(--hairline);background:color-mix(in oklab, var(--stage-bg), transparent 15%);font-family:var(--mono);opacity:0;transition:opacity var(--fade), translate var(--move);gap:.5rem;padding:.75rem 1.5rem 1rem;display:grid;position:absolute;inset:auto 0 0;translate:0 1rem}.tl-head{justify-content:space-between;align-items:center;display:flex}.tl-transport{color:color-mix(in oklab, var(--muted), transparent 30%);gap:.5rem;display:flex;& svg{fill:currentColor;width:.6875rem;&:nth-child(2){color:var(--muted)}}}.tl-time{--tc-s:4;--tc-f:12;color:var(--muted);font-variant-numeric:tabular-nums;counter-reset:tc-s var(--tc-s) tc-f var(--tc-f);font-size:.625rem;&:after{content:"00:00:" counter(tc-s, decimal-leading-zero) ":" counter(tc-f, decimal-leading-zero)}}.tl-body{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem .625rem;display:grid;& .tl-ruler{grid-area:1/2}& .tl-label{grid-area:var(--row) / 1}& .tl-track{grid-area:var(--row) / 2}& .tl-playhead{grid-area:1/2/5/3}}.tl-ruler{background:repeating-linear-gradient(90deg, color-mix(in oklab, var(--heading), transparent 80%) 0 1px, transparent 1px 6.25%) bottom / 100% 30% no-repeat;height:.875rem;position:relative;& span{top:0;left:var(--at);border-left:1px solid color-mix(in oklab, var(--heading), transparent 65%);color:color-mix(in oklab, var(--muted), transparent 20%);padding-left:.1875rem;font-size:.5625rem;line-height:1;position:absolute}}.tl-label{color:color-mix(in oklab, var(--muted), transparent 20%);font-size:.5625rem}.tl-track{background:color-mix(in oklab, var(--heading), transparent 95%);border-radius:.3125rem;height:1rem;position:relative}.tl-clip{inset:2px auto 2px var(--from);width:calc(var(--to) - var(--from));background:color-mix(in oklab, var(--heading), transparent 86%);opacity:0;transition:opacity var(--fade), translate var(--fade);border-radius:.1875rem;align-items:center;padding-left:.3125rem;display:flex;position:absolute;overflow:hidden;translate:0 -.375rem;&>span{color:color-mix(in oklab, var(--heading), transparent 15%);font-size:.5625rem}&.tl-clip-film{background:repeating-linear-gradient(90deg,#0000 0 calc(2rem - 1px),oklch(0% 0 0/.5) calc(2rem - 1px) 2rem),url(/media/skater-frame.webp) 0/auto 100% repeat-x;&>span{background:oklch(0% 0 0/.55);border-radius:.1875rem;padding:.0625rem .25rem}}}.tl-audio .tl-clip{background:color-mix(in oklab, var(--heading), transparent 92%);padding:0 .25rem;& svg{width:100%;height:70%;fill:color-mix(in oklab, var(--heading), transparent 60%)}}.tl-playhead{pointer-events:none;align-self:stretch;position:relative;& span{background:var(--heading);opacity:0;width:1px;transition:opacity var(--fade);position:absolute;top:0;bottom:0;left:0;&:before{content:"";aspect-ratio:1;background:var(--heading);border-radius:50%;width:.4375rem;position:absolute;top:-.125rem;left:-.1875rem}}}.stage-floor{--line:color-mix(in oklab, var(--heading), transparent 88%);width:calc(var(--obj-w) * 2.6);aspect-ratio:1;background:linear-gradient(transparent calc(50% - .5px), color-mix(in oklab, var(--heading), transparent 45%) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(90deg, transparent calc(50% - .5px), color-mix(in oklab, var(--heading), transparent 65%) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(var(--line) 1px, transparent 1px) center / 1.5rem 1.5rem, linear-gradient(90deg, var(--line) 1px, transparent 1px) center / 1.5rem 1.5rem;opacity:0;pointer-events:none;transition:opacity var(--fade);position:absolute;top:50%;left:50%;translate:-50% -50% -2rem;rotate:-30deg;mask-image:radial-gradient(closest-side,#000 35%,#0000)}.stage-gizmo{aspect-ratio:1;width:3.5rem;color:var(--muted);font-family:var(--mono);opacity:0;transition:opacity var(--fade);font-size:.625rem;position:absolute;bottom:1.75rem;right:1.75rem;& span{top:calc(50% + sin(var(--angle)) * (var(--len) + .4375rem));left:calc(50% + cos(var(--angle)) * (var(--len) + .4375rem));line-height:1;position:absolute;translate:-50% -50%;&:before{content:"";width:var(--len);transform-origin:0;height:1px;transform:rotate(calc(var(--angle) + 180deg)) translateX(.4375rem);background:currentColor;position:absolute;top:50%;left:50%}}& .gz-x{--len:1.375rem;--angle:-18deg;color:var(--body)}& .gz-y{--len:.875rem;--angle:44deg}& .gz-z{--len:1.375rem;--angle:-90deg;color:var(--heading)}}.stage[data-state=ui]{--loop:12s;& .obj{border-color:var(--hairline);background:var(--surface)}& .obj-media{& .obj-video,&:before{opacity:1}}& .stage-arrow{opacity:1;translate:0}& .obj-select{opacity:1;transition-delay:.45s}& .obj-handle{transition-delay:calc(.5s + var(--i) * 40ms);scale:1}@media (prefers-reduced-motion:no-preference){& .obj{animation:stage-ui-resize var(--loop) ease-in-out 1.4s infinite}& .stage-arrow{animation:stage-ui-arrow var(--loop) ease-in-out 1.4s infinite}& .stage-resize{animation:stage-ui-grab var(--loop) linear 1.4s infinite}& .obj-size{animation:stage-ui-tip var(--loop) var(--ease-out) 1.4s infinite}}}.stage[data-state=web]{& .stage-object{transform:translate(19cqi,-6cqi)}& .stage-window{opacity:1;transition-delay:.2s}.service &{& .stage-object{transform:translate(18cqi,-18.5cqi)scale(.85);@container (width>=22rem){transform:translate(22cqi,-18.5cqi)}}& .stage-window{opacity:0}}& .obj{background:var(--surface);box-shadow:var(--shadow);outline-offset:-1px;transition-delay:var(--built), var(--built), var(--built), 0s;outline:1px solid #0000;@media (prefers-reduced-motion:no-preference){animation:stage-inspect-box 2.6s linear var(--done) both}}& .obj-part{transition-delay:var(--built);@media (prefers-reduced-motion:no-preference){animation:stage-paint .9s var(--ease-out) var(--built) both}&:before{transition-delay:var(--built)}}& .obj-media{& .obj-video{opacity:1;transition-delay:var(--built)}&:before{opacity:1}}& .stage-inspect{@media (prefers-reduced-motion:no-preference){animation:stage-inspect 2.6s var(--ease-out) var(--done) both}}& .stage-code{opacity:1;translate:0;& .code-line{clip-path:inset(0);transition:clip-path var(--type) steps(var(--n)) var(--start);&:last-child:after{animation:stage-blink 1s steps(2, jump-none) var(--end) infinite}}}}.stage[data-state="3d"]{& .stage-object{transform:rotateX(56deg)scale(.92)}& .obj{--turn:1;border-color:color-mix(in oklab, var(--heading), transparent 70%);background:color-mix(in oklab, var(--heading), transparent 96%);animation-play-state:running;&:before,&:after{opacity:1}}& .obj-part{transition-delay:calc((4 - var(--line)) * 70ms)}& .stage-floor{opacity:1;transition-delay:.1s}& .stage-gizmo{opacity:1;transition-delay:.45s}& .stage-hand{opacity:1;transition-delay:.35s;animation-play-state:running}& .stage-stats{opacity:1;transition-delay:.5s;translate:0}& .obj-media{border-color:color-mix(in oklab, var(--heading), transparent 20%);background:var(--dots);translate:0 0 4.5rem}& .obj-vertex{opacity:1;transition-delay:calc(.65s + var(--i) * 50ms);scale:1}& .obj-title,& .obj-text,& .obj-button{background:var(--dots);color:#0000;border-color:#0000}& .obj-title{translate:0 0 3rem}& .obj-text{translate:0 0 1.75rem}& .obj-button{translate:0 0 .75rem}}.stage[data-state=video]{& .stage-object{transform:translateY(var(--lift)) scale(.9)}& .obj{opacity:0;animation:none}& .stage-monitor{opacity:1}@media (prefers-reduced-motion:no-preference){& .mon-titles [data-side=left]{animation:stage-word-left 4s var(--ease-out) infinite}& .mon-titles [data-side=right]{animation:stage-word-right 4s var(--ease-out) infinite}& .tl-time{animation:4s steps(4,end) infinite stage-seconds,1s steps(25,end) infinite stage-frames}}& .stage-timeline{opacity:1;translate:0;& .tl-clip{opacity:1;transition-delay:calc(.3s + var(--i) * 90ms);translate:0}& .tl-playhead span{opacity:1;@media (prefers-reduced-motion:no-preference){animation:4s linear infinite stage-play}}}}@keyframes stage-paint{0%{filter:brightness(1.7)}to{filter:brightness()}}@keyframes stage-blink{0%{opacity:1}to{opacity:0}}@keyframes stage-inspect{0%{opacity:0;translate:0 .25rem}12%,78%{opacity:1;translate:0}to{opacity:0;translate:0}}@keyframes stage-inspect-box{0%,to{outline-color:#0000}12%,78%{outline-color:color-mix(in oklab, var(--heading), transparent 55%)}}@keyframes stage-ui-resize{0%,19%{--size:1;--w:42}30%,40%{--size:var(--grow);--w:var(--w-max)}51%,to{--size:1;--w:42}}@keyframes stage-ui-arrow{0%,10%{opacity:1;top:86%;left:84%}16%{opacity:1;top:50%;left:100%}17%,60%{opacity:0;top:50%;left:100%}61%{opacity:1;top:50%;left:100%}67%,to{opacity:1;top:86%;left:84%}}@keyframes stage-ui-grab{0%,16%{opacity:0}17%,60%{opacity:1}61%,to{opacity:0}}@keyframes stage-ui-tip{0%,17%{opacity:0;translate:-50% .25rem}19%,53%{opacity:1;translate:-50%}56%,to{opacity:0;translate:-50% .25rem}}@keyframes stage-sway{0%{--sway:-8deg}to{--sway:8deg}}@keyframes stage-drag{0%{translate:-3cqi}to{translate:3cqi}}@keyframes stage-word-left{0%,20%{clip-path:inset(0 100% 0 0);letter-spacing:.28em;opacity:1;translate:-.5em -50%}30%,90%{clip-path:inset(0);letter-spacing:.03em;opacity:1;translate:0 -50%}97%,to{clip-path:inset(0);letter-spacing:.03em;opacity:0;translate:.3em -50%}}@keyframes stage-word-right{0%,35%{clip-path:inset(0 0 0 100%);letter-spacing:.28em;opacity:1;translate:.5em -50%}45%,90%{clip-path:inset(0);letter-spacing:.03em;opacity:1;translate:0 -50%}97%,to{clip-path:inset(0);letter-spacing:.03em;opacity:0;translate:-.3em -50%}}@keyframes stage-seconds{0%{--tc-s:0}to{--tc-s:4}}@keyframes stage-frames{0%{--tc-f:0}to{--tc-f:25}}@keyframes stage-play{to{left:100%}}.about-portrait{width:min(100%,22rem);margin-top:clamp(.5rem,2vw,1.5rem);@media (width<=47.5rem){width:min(100%,18rem)}& img{--dots:radial-gradient(circle, #000 .7px, transparent 1.3px) 0 0 / 4px 4px;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;border-radius:var(--radius-lg);filter:grayscale()contrast(1.05);opacity:.85;width:100%;mask-image:linear-gradient(150deg,#000 50%,#0000);@media (prefers-color-scheme:dark){filter:grayscale()contrast(1.1)brightness(.75)}}@supports (mask-composite:intersect){& img{mask:linear-gradient(150deg, #000 var(--solid), transparent calc(var(--solid) + 16%)) add, var(--dots) intersect, linear-gradient(150deg, transparent calc(var(--solid) - 8%), #000 calc(var(--solid) + 10%), transparent 98%)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){& img{animation:linear both portrait-develop view();animation-range:entry 10% cover 45%}}}}.about{flex-direction:column;gap:clamp(2rem,4vw,3rem);display:flex;@media (width<=56.25rem){margin-top:1.5rem}}.about-quote{color:var(--heading);letter-spacing:-.035em;text-indent:-.4em;text-wrap:balance;font-size:clamp(1.5rem,2.25vw,2.125rem);font-weight:500;line-height:1.15;& span{color:var(--muted)}}.footer{--card-padding:clamp(1.5rem, 5vw, 4.5rem);padding-top:var(--section-gap)}.contact{padding:var(--card-padding) var(--card-padding) 0;border-radius:var(--radius-xl);background:var(--surface);color:var(--body);box-shadow:var(--shadow);color-scheme:dark;isolation:isolate;position:relative;overflow:hidden;container-type:inline-size;&:before{content:"";z-index:-1;background:radial-gradient(closest-side, var(--accent), transparent);opacity:.18;mix-blend-mode:color-dodge;pointer-events:none;height:80%;position:absolute;inset:auto -10% -40% 30%}&:after{content:"";z-index:-1;opacity:.4;pointer-events:none;background:url(/media/noise.svg);height:100%;position:absolute;inset:auto -10% -40% 30%;mask-image:radial-gradient(closest-side,#000,#0000)}}.contact-main{flex-direction:column;gap:clamp(2.5rem,5vw,4rem);display:flex}.contact-email-row{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}.contact-email{width:fit-content;color:var(--heading);letter-spacing:-.04em;text-underline-offset:.18em;text-decoration:underline .06em;text-decoration-color:color-mix(in oklab, var(--heading), transparent 70%);overflow-wrap:anywhere;transition:text-decoration-color .15s var(--ease-out);font-size:clamp(1.75rem,4.5cqi,4rem);font-weight:500;line-height:1.1;&:hover{text-decoration-color:var(--heading)}}.copy[data-state=copied]{background:color-mix(in oklab, var(--success), transparent 85%);color:var(--success)}.contact-columns{flex-wrap:wrap;gap:2rem clamp(3rem,8cqi,6rem);display:flex;@media (width<=30rem){grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem;display:grid;&>:last-child{grid-column:1/-1;grid-template-columns:subgrid;display:grid;&>*{grid-column:1/-1}& ul{grid-template-columns:subgrid;column-gap:normal;display:grid}}}& ul{flex-direction:column;gap:.5rem;display:flex}}.contact-label{color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;font-size:.8125rem}.wordmark{--light:0;color:var(--heading);letter-spacing:-.065em;white-space:nowrap;user-select:none;transition:--light .3s var(--ease-out);margin:clamp(3rem,8cqi,7rem) 0 -.11em;font-size:20.5cqi;font-weight:600;line-height:.8;position:relative;&[data-lit]{--light:1}& .wordmark-char{--fill:100%;isolation:isolate;background:linear-gradient(to top, var(--heading) var(--fill), transparent calc(var(--fill) + 15%));color:#0000;background-clip:text;margin:-.15em -.1em;padding:.15em .1em;display:inline-block;position:relative;&:before{content:attr(data-char);z-index:-1;padding:inherit;color:var(--heading);opacity:0;filter:url(#halftone-3);position:absolute;inset:0;@container (width>=38rem){filter:url(#halftone-4)}@container (width>=49rem){filter:url(#halftone-5)}@container (width>=60rem){filter:url(#halftone-6)}@container (width>=71rem){filter:url(#halftone-7)}}}& .wordmark-alias{--fill:-20%;--glow:16rem;--dim:.6;--dimmed:color-mix(in oklab, var(--heading) calc(var(--dim) * 100%), transparent);font-weight:500;&:before{opacity:1;background:radial-gradient(circle var(--glow) at var(--x,-100rem) var(--y,-100rem), color-mix(in oklab, var(--dimmed), var(--heading) calc(var(--light) * 100%)), var(--dimmed));color:#0000;background-clip:text}}&[data-dots] .wordmark-alias:before{visibility:hidden}&:not([data-dots]) .wordmark-dots{display:none}& .wordmark-dots{pointer-events:none;position:absolute}}.halftone{position:absolute}.legal{padding:1.75rem min(var(--card-padding), var(--radius-xl)) 2.25rem;color:var(--muted);justify-content:space-between;gap:1rem;font-size:.875rem;display:flex}.page{padding-top:clamp(8rem,14vw,11rem)}.post{flex-direction:column;gap:clamp(2.5rem,5vw,4rem);max-width:50rem;display:flex}.post-head{flex-direction:column;align-items:flex-start;gap:1.5rem;display:flex;& .section-title{max-width:calc(22 * var(--ch-medium))}& time{font-variant-numeric:tabular-nums}}.post-foot{border-top:1px solid var(--hairline);padding-top:2rem}}@layer animations{.enter{@media (prefers-reduced-motion:no-preference){animation:rise .7s var(--ease-out) var(--enter-delay,0s) backwards;:root[data-js] [data-intro]:not([data-play]) &{animation-play-state:paused}}}@media (prefers-reduced-motion:no-preference){:root[data-js]{& [data-reveal]:not([data-reveal=contents],[data-revealed]),& [data-reveal=contents]:not([data-revealed])>*{opacity:0}& [data-revealed=""]:not([data-reveal=contents]),& [data-reveal=contents][data-revealed=""]>*{animation:rise .7s var(--ease-out) var(--reveal-delay,0s) backwards}& .eyebrow[data-revealed=""]{animation-name:fade;&:after{transform-origin:0;animation:draw 1.1s var(--ease-out) var(--reveal-delay,0s) backwards}& .eyebrow-count{animation:fade .5s var(--ease-out) calc(var(--reveal-delay,0s) + .5s) backwards}}& .wordmark[data-revealed=""]>.wordmark-char{--char-delay:calc(var(--reveal-delay,0s) + var(--i) * 55ms);animation:wordmark-rise 1.1s var(--ease-out) var(--char-delay) backwards, wordmark-fill 1.3s var(--ease-out) calc(var(--char-delay) + .45s) backwards;&:before{animation:wordmark-dots 1.75s linear var(--char-delay) backwards}}}}@keyframes rise{0%{opacity:0;translate:0 1rem}}@keyframes fade{0%{opacity:0}}@keyframes draw{0%{scale:0 1}}@keyframes scroll-nudge{0%,40%,to{translate:0}20%{translate:0 .2em}}@keyframes wordmark-rise{0%{translate:0 110%}}@keyframes wordmark-fill{0%{--fill:-20%}}@keyframes wordmark-dots{0%,to{opacity:1}}@keyframes portrait-develop{0%{--solid:15%}}:root[data-js] .scramble{& .scramble-seg,& .scramble-sep{opacity:0}}.scramble-hidden{visibility:hidden}.scramble-layer{pointer-events:none;user-select:none;position:absolute;inset:0 auto auto 0}.scramble-glyph{white-space:pre;-webkit-text-fill-color:currentColor;position:absolute}}@layer utilities{.wrap{width:min(100% - 2 * var(--gutter), var(--max));margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@font-face{font-family:Geist Fallback;src:local(Arial),local(ArialMT);font-weight:100 450;size-adjust:101.42%;ascent-override:99.09%;descent-override:29.09%;line-gap-override:0%}@font-face{font-family:Geist Fallback;src:local(Arial),local(ArialMT);font-weight:451 550;size-adjust:103.66%;ascent-override:96.95%;descent-override:28.46%;line-gap-override:0%}@font-face{font-family:Geist Fallback;src:local(Arial Bold),local(Arial-BoldMT);font-weight:551 900;size-adjust:99.28%;ascent-override:101.23%;descent-override:29.71%;line-gap-override:0%}@font-face{font-family:Geist Mono Fallback;src:local(Courier New),local(CourierNewPSMT);size-adjust:99.98%;ascent-override:100.52%;descent-override:29.5%;line-gap-override:0%}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman Italic),local(TimesNewRomanPS-ItalicMT);font-style:italic;size-adjust:86.03%;ascent-override:115.08%;descent-override:36.04%;line-gap-override:0%}@property --solid{syntax:"<percentage>";inherits:false;initial-value:61%}@property --fill{syntax:"<percentage>";inherits:false;initial-value:100%}@property --light{syntax:"<number>";inherits:true;initial-value:0}@property --turn{syntax:"<number>";inherits:false;initial-value:0}@property --sway{syntax:"<angle>";inherits:false;initial-value:0deg}@property --lx{syntax:"<length-percentage>";inherits:true;initial-value:50%}@property --ly{syntax:"<length-percentage>";inherits:true;initial-value:50%}@property --size{syntax:"<number>";inherits:false;initial-value:1}@property --w{syntax:"<integer>";inherits:true;initial-value:42}@property --tc-s{syntax:"<integer>";inherits:false;initial-value:0}@property --tc-f{syntax:"<integer>";inherits:false;initial-value:0}
