@layer tokens,base,components,sections,animations,utilities;@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%}@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(52% .21 278);--accent-d: oklch(74% .15 278);--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(13% .02 275);--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{margin:0;background:var(--bg);color:var(--body);font-family:var(--font);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;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{display:block;max-width:100%;height:auto}h1,h2,h3{color:var(--heading);font-weight:500;text-wrap:balance}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.375rem}}@layer base{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-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}}@layer components{.icon{width:.875em;height:.875em;flex:none}.link{display:inline-flex;align-items:center;gap:.3em;width:fit-content;color:var(--heading);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;text-decoration-color:color-mix(in oklab,var(--heading),transparent 65%);transition:text-decoration-color .15s var(--ease-out);.icon{transition:translate .2s var(--ease-out)}&:hover{text-decoration-color:var(--heading);.icon{translate:.12em -.12em}}&.link-inline{display:inline;.icon{margin-left:.3em;vertical-align:-.1em}&:hover .icon{translate:.2em 0}}}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4em;width:fit-content;height:3rem;padding-inline:1.375rem;border:0;border-radius:var(--radius-pill);font-family:inherit;font-size:.9375rem;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s var(--ease-out),scale .15s var(--ease-out);&: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}}.status-dot{flex:none;width:.5rem;aspect-ratio:1;border-radius:50%;background:var(--accent);box-shadow:0 0 0 .25rem color-mix(in oklab,var(--accent),transparent 80%)}.chips{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:var(--body);font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;span{padding:.25rem .625rem;border-radius:var(--radius-pill);background:var(--tint)}.chips-index{margin-right:.5rem;padding:0;background:none;color:var(--heading)}}.section{padding-top:var(--section-gap);.facts+&{padding-top:clamp(5rem,9vw,8rem)}}.eyebrow{display:flex;align-items:center;gap:1rem;margin-bottom:clamp(2rem,4vw,3rem);color:var(--muted);font-family:var(--mono);font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;&:after{content:"";order:1;flex:1;height:1px;background:var(--hairline)}.eyebrow-count{order:2}}.section-title{max-width:calc(18 * var(--ch-medium));font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.035em;span{color:var(--muted)}}.section-lede{max-width:calc(46 * var(--ch));font-size:clamp(1.0625rem,1.5vw,1.1875rem)}.section-head,.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.5rem clamp(2rem,6vw,6rem);@media(max-width:56.25rem){grid-template-columns:minmax(0,1fr)}}.section-head{align-items:start}.split-aside{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}.specs{display:grid;div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:1rem;padding-block:.75rem;border-bottom:1px solid var(--hairline);&:last-child{border-bottom:none}}dt{color:var(--muted);font-family:var(--mono);font-size:.8125rem;line-height:1.85;letter-spacing:.06em;text-transform:uppercase}dd{color:var(--heading);font-size:.9375rem}&.specs-wide div{grid-template-columns:9rem minmax(0,1fr);padding-block:1rem;@media(max-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);overflow:hidden;border:1px solid var(--hairline);border-radius:var(--frame-radius);@media(max-width:37.5rem){--corner: 0px;--inset: 1.375rem;margin-inline:calc(var(--gutter) * -1);border-inline:0;border-radius:0}}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;@media(max-width:62.5rem){grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:37.5rem){display:flex;margin-inline:calc(var(--gutter) * -1);padding:.5rem var(--gutter) 1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none}li{display:flex;@media(max-width:37.5rem){flex:0 0 82%;scroll-snap-align:start}}}.tile{display:flex;flex-direction:column;gap:.375rem;width:100%;padding:.75rem;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);text-decoration:none;transition:translate .2s var(--ease-out);&:hover{translate:0 -2px}img{width:100%;aspect-ratio:16 / 10;margin-bottom:.875rem;border-radius:var(--radius-md);background:var(--sunken);object-fit:cover;object-position:var(--pos, 50% 50%)}.tile-title,.tile-text,.tile-meta{padding-inline:.5rem}.tile-title{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;color:var(--heading);font-size:1.0625rem;font-weight:500;letter-spacing:-.015em}.tile-text{color:var(--body);font-size:.9375rem;line-height:1.5}.tile-meta{margin-top:auto;padding-block:.875rem .5rem;color:var(--muted);font-size:.8125rem}}.prose{display:flex;flex-direction:column;gap:1.25rem;max-width:calc(58 * var(--ch));font-size:clamp(1.125rem,1.6vw,1.3125rem);line-height:1.6;h2,h3{margin-top:1.5rem;line-height:1.15;letter-spacing:-.025em}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{display:flex;flex-direction:column;gap:.5rem;padding-left:1.25em}ul{list-style:disc}ol{list-style:decimal}li::marker{color:var(--muted)}code{padding:.1em .35em;border-radius:.375rem;background:var(--tint);color:var(--heading);font-family:var(--mono);font-size:.85em}pre{overflow-x:auto;padding:1.25rem 1.5rem;border-radius:var(--radius-md);font-size:.875rem;line-height:1.6;code{padding:0;background:none;font-size:inherit}}}}@layer sections{.header{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:center;padding-top:0;pointer-events:none;transition:padding-top .3s var(--ease-out);&[data-over-hero]:not([data-condensed]){color-scheme:dark}&[data-condensed]{padding-top:.75rem;@media(max-width:37.5rem){padding-top:0}.header-bar{width:min(100% - 2 * var(--gutter),48rem);height:3.5rem;padding-inline:1.25rem .5rem;background-color:color-mix(in oklab,var(--surface),transparent 18%);box-shadow:var(--shadow);backdrop-filter:blur(.6rem) saturate(1.6);@media(max-width:37.5rem){width:100%;height:4rem;padding-inline:var(--gutter)}}.header-time{max-width:0;opacity:0}.header-end{gap:0}}}.header-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1.5rem;width:min(100% - 2 * var(--gutter),var(--max));height:6.25rem;padding-inline:0;border-radius:1.75rem;background-color:transparent;box-shadow:0 1px 2px transparent,0 1.5rem 3rem -1.5rem transparent,inset 0 1px 0 transparent;pointer-events:auto;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);@media(max-width:37.5rem){grid-template-columns:minmax(0,1fr) auto;width:100%;padding-inline:var(--gutter);border-radius:0}}.header-brand{width:fit-content;color:var(--heading);font-weight:600;letter-spacing:-.015em;text-decoration:none;white-space:nowrap;line-height:normal;@media(max-width:37.5rem){font-size:1.1875rem}span{color:var(--muted);font-weight:500}}.header-nav{position:relative;display:flex;gap:.25rem;@media(max-width:37.5rem){display:none}}.header-link{padding:.5rem .875rem;border-radius:var(--radius-pill);color:var(--body);font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .2s var(--ease-out);&:hover{color:var(--heading)}}.header-active{position:absolute;inset:0;display:flex;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);.header-nav[data-current] &{opacity:1}.header-nav[data-instant] &{transition:opacity .25s var(--ease-out)}.header-link{color:var(--accent)}}.header-end{display:flex;align-items:center;justify-content:flex-end;gap:1.25rem;transition:gap .3s var(--ease-out)}.header-time{max-width:10rem;overflow:hidden;color:var(--muted);font-size:.875rem;font-variant-numeric:tabular-nums;white-space:nowrap;transition:max-width .3s var(--ease-out),opacity .2s var(--ease-out);@media(max-width:47.5rem){display:none}}}@layer sections{.hero{--inset: .75rem;position:relative;isolation:isolate;display:flex;min-height:max(36rem,100svh - 2 * var(--inset));margin:var(--inset);overflow:hidden;border-radius:var(--radius-xl);background:var(--hero-bg);color:var(--body);color-scheme:dark;@media(max-width:37.5rem){--inset: 0rem;border-radius:0 0 var(--radius-xl) var(--radius-xl)}&:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 72% 55%,oklch(45% .2 280 / .45),transparent 70%)}&:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,oklch(13% .02 275 / .8),transparent 20%),linear-gradient(90deg,oklch(13% .02 275 / .85),oklch(13% .02 275 / .35) 45%,transparent 70%),linear-gradient(0deg,oklch(13% .02 275 / .7),transparent 30%);pointer-events:none;@media(max-width:47.5rem){background:linear-gradient(180deg,oklch(13% .02 275 / .6),transparent 12%,transparent 18%,oklch(13% .02 275 / .75) 40%,oklch(13% .02 275 / .85))}}}.hero-canvas{position:absolute;inset:0;z-index:-2;width:100%;height:100%;opacity:0;transition:opacity 1.8s var(--ease-out);&.is-ready{opacity:1}}.hero-inner{display:flex;flex-direction:column;justify-content:space-between;gap:3rem;width:min(100% - 2 * (var(--gutter) - var(--inset)),var(--max));margin-inline:auto;padding-block:clamp(8rem,18vh,12rem) clamp(1.5rem,3vw,2.25rem)}.hero-content{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(1.5rem,3vw,2rem);margin-block:auto;@media(max-width:37.5rem){margin-bottom:0}}.hero-chip{--enter-delay: 0ms;display:inline-flex;align-items:center;gap:.625rem;padding:.4375rem .875rem .4375rem .75rem;border-radius:var(--radius-pill);background:#ffffff12;box-shadow:inset 0 1px #ffffff14;color:var(--heading);font-size:.875rem;font-weight:500;backdrop-filter:blur(.75rem)}.hero-title{display:flex;flex-direction:column;max-width:16em;font-size:clamp(2.75rem,6.25vw,6rem);font-weight:400;line-height:1;letter-spacing:-.045em;em{padding-right:.06em;font-family:var(--serif);font-size:1.08em;font-style:italic;letter-spacing:-.01em}}.hero-gradient{background:linear-gradient(90deg,#f3f5fc,#9ebdff 45%,#b688fe);background-clip:text;color:transparent}.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;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;padding-top:1.25rem;border-top:1px solid var(--hairline);color:var(--muted);font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;p:nth-child(2){justify-self:center}@media(max-width:37.5rem){grid-template-columns:minmax(0,1fr) auto;p:first-child{display:none}p:nth-child(2){justify-self:start}}}.hero-scroll{display:inline-flex;align-items:center;gap:.5rem;justify-self:end;color:var(--heading);text-decoration:none;.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}}}}}@layer sections{.stats{display:flex;margin-top:clamp(3rem,7vw,8rem);padding-block:clamp(1.5rem,3vw,2.25rem) clamp(2rem,4vw,3rem);@media(max-width:47.5rem){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem var(--column-gap)}dt{font-size:.875rem}dd{order:-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .375rem}}.stat{display:flex;flex-direction:column;gap:.5rem;@media(min-width:47.5625rem){&:not(:first-child){flex:auto;display:grid;grid-template-columns:minmax(1.5rem,1fr) 1px minmax(1.5rem,1fr) auto;align-content:start;column-gap:0;&:before{content:"";grid-area:1 / 2 / 3;background:var(--hairline)}dd{grid-area:1 / 4}dt{grid-area:2 / 4}}}}.stat-figure{display:inline-block;color:var(--heading);font-size:clamp(2.25rem,4vw,3.5rem);font-weight:500;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stat-unit{color:var(--muted);font-size:.9375rem}}@layer sections{:is(.project,.more-item){--on: 0;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);@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(min-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(max-width:37.5rem){border-top:0}}.project{--reach: 24rem;--ink: light-dark(var(--accent-l), oklch(.97 0 0 / .74));position:relative;isolation:isolate;display:grid;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);padding:clamp(1.75rem,3.5vw,2.75rem) var(--inset);border-top:1px solid var(--hairline);@supports not (color: light-dark(#000,#fff)){--ink: var(--accent-l);@media(prefers-color-scheme:dark){--ink: var(--heading-d)}}&:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle,color-mix(in oklab,var(--ink),transparent 78%) .8px,transparent 2px) 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(#00000040 0 0);opacity:var(--on);transition:opacity .3s var(--ease-out)}&:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle,color-mix(in oklab,var(--ink),transparent 68%) 1.4px,transparent 2.6px) 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)}&:first-child{--corners: var(--corner) var(--corner) 0 0;@media(min-width:37.5625rem){border-top:0}}&:last-child{--corners: 0 0 var(--corner) var(--corner)}@media(max-width:62.5rem){grid-template-columns:2.5rem minmax(0,1fr) 3rem;grid-template-areas:"index main arrow" ". meta meta"}@media(max-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{grid-area:index;padding-top:.125rem;color:color-mix(in oklab,var(--heading) calc(var(--on) * 100%),var(--muted));font-family:var(--mono);font-size:.8125rem;transition:color .3s var(--ease-out),opacity .3s var(--ease-out)}.project-main{grid-area:main;display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.project-title{font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:600;line-height:1;letter-spacing:-.045em}.project-link{color:inherit;text-decoration:none;&:after{content:"";position:absolute;inset:0;z-index:1}&:focus-visible{outline:none}}.project-name{position:relative;color:var(--heading)}.project-text{max-width:calc(46 * var(--ch));font-size:1.0625rem}.project-meta{grid-area:meta;align-self:center}.project-specs{display:grid;gap:.5rem;font-size:.875rem;div{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:1rem}dt{color:var(--muted);font-family:var(--mono);font-size:.75rem;line-height:1.75;letter-spacing:.06em;text-transform:uppercase}dd{color:var(--heading)}}.project-arrow{grid-area:arrow;display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:50%;background:color-mix(in oklab,var(--heading) calc(var(--on) * 100%),var(--tint));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);.icon{rotate:calc(var(--on) * 45deg);transition:rotate .3s var(--ease-out)}}.more{margin-top:clamp(3rem,6vw,5rem)}.more-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 2rem;margin-bottom:1.5rem}.more-title{font-size:1.25rem;letter-spacing:-.02em}.more-links{display:flex;gap:1.5rem}.more-list{display:grid;grid-template-columns:max-content fit-content(14rem) minmax(0,1fr) max-content;column-gap:clamp(1rem,3vw,2.5rem);@media(max-width:47.5rem){grid-template-columns:max-content minmax(0,1fr) auto}@media(max-width:37.5rem){margin-inline:calc(var(--gutter) * -1)}li{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;+li{border-top:1px solid var(--hairline)}}}.more-item{--shift: 0rem;display:grid;grid-column:1 / -1;grid-template-columns:subgrid;grid-template-areas:"index name text meta";align-items:baseline;padding-block:.875rem;color:var(--body);text-decoration:none;@media(max-width:47.5rem){grid-template-areas:"index name meta" ". text text";row-gap:.375rem;padding-block:1rem}@media(max-width:37.5rem){padding-inline:var(--gutter)}@media(min-width:62.5625rem){--shift: 1rem}&:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}}.more-index{grid-area:index;color:color-mix(in oklab,var(--heading) calc(var(--on) * 100%),var(--muted));font-family:var(--mono);font-size:.75rem;translate:calc(var(--on) * var(--shift)) 0;transition:translate .3s var(--ease-out),color .3s var(--ease-out),opacity .3s var(--ease-out)}.more-name{grid-area:name;color:var(--heading);font-size:1rem;font-weight:500;letter-spacing:-.015em;overflow-wrap:anywhere;translate:calc(var(--on) * var(--shift)) 0;transition:translate .3s var(--ease-out),opacity .3s var(--ease-out)}.more-text{grid-area:text;min-width:0;overflow:hidden;font-size:.9375rem;line-height:1.5;margin-inline:calc(var(--on) * var(--shift));text-overflow:ellipsis;white-space:nowrap;transition:margin .3s var(--ease-out),opacity .3s var(--ease-out);@media(max-width:47.5rem){display:-webkit-box;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.more-meta{grid-area:meta;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;justify-self:end;color:var(--muted);font-family:var(--mono);font-size:.75rem;white-space:nowrap;translate:calc(var(--on) * var(--shift) * -1) 0;transition:translate .3s var(--ease-out),opacity .3s var(--ease-out)}.more-label{display:inline-flex;align-items:center;gap:.5rem;&:before{content:"";width:.5rem;aspect-ratio:1;border-radius:50%;background:var(--label)}}}@layer sections{.services{margin-top:clamp(3.5rem,7vw,6rem);@media(min-width:56.25rem){display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(2rem,6vw,6rem)}}.services-list{display:grid;gap:clamp(3rem,8vw,4.5rem);@media(min-width:56.25rem){gap:0}}.service{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;@media(min-width:56.25rem){justify-content:center;min-height:42svh;transition:opacity .4s var(--ease-out);.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;width:min(100%,30rem);max-height:26rem;margin-top:1rem;aspect-ratio:4 / 5}.stage-code{inset:auto auto 5% 6%}.stage-hand{top:21%}}.service-index{margin-bottom:clamp(.25rem,1vw,.75rem);color:var(--muted);font-family:var(--mono);font-size:.8125rem;transition:color .4s var(--ease-out);.service[data-active] &{color:var(--heading)}}.service-name{font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:1.1;letter-spacing:-.03em}.service-text{max-width:calc(40 * var(--ch));font-size:1rem}.services-stage{display:none;@media(min-width:56.25rem){display:block;.stage{--stage-h: min(34rem, 70svh);position:sticky;top:max(6.5rem,(100svh - var(--stage-h)) / 2);height:var(--stage-h)}}}.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;position:relative;display:grid;place-items:center;aspect-ratio:1;overflow:hidden;container-type:inline-size;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);@media(prefers-reduced-motion:reduce){--move: 0ms;--fade: 0ms}@media(min-width:56.25rem){.services-stage &{aspect-ratio:auto}}&:before{content:"";position:absolute;inset:0;background:radial-gradient(circle,var(--hairline) 1px,transparent 1.5px) 0 0 / var(--dot-pitch) var(--dot-pitch);pointer-events:none}&[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{position:absolute;inset:0;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}.stage-hover{position:absolute;inset:0;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;&:before{content:"";position:absolute;inset:0;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)}}.stage-file{position:absolute;inset:1.625rem auto auto 1.875rem;display:grid;color:var(--muted);font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;span{grid-area:1 / 1;opacity:0;translate:0 calc(clamp(-1,var(--n) - var(--step),1)*.6em);transition:opacity var(--fade),translate var(--move)}}.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,0ms}.stage-stats{position:absolute;inset:1.625rem 1.875rem auto auto;display:grid;grid-template-columns:auto auto;gap:.3125rem .625rem;color:var(--muted);font-family:var(--mono);font-size:.625rem;line-height:1;opacity:0;translate:0 -.25rem;pointer-events:none;transition:opacity var(--fade),translate var(--fade);span{display:contents}b{color:var(--heading);font-weight:400;font-variant-numeric:tabular-nums;text-align:right}}.stage-object{position:relative;transform-style:preserve-3d;transition:transform var(--move)}.stage-window{position:absolute;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);&:before{content:"";position:absolute;top:calc(var(--win-bar) / 2);left:.875rem;width:2rem;height:.4rem;translate:0 -50%;background:radial-gradient(circle,color-mix(in oklab,var(--heading),transparent 70%) .19rem,transparent .22rem) 0 50% / .7rem 100% repeat-x}.win-url{position:absolute;inset:0 0 auto;display:grid;place-items:center;height:var(--win-bar);border-bottom:1px solid var(--hairline);color:var(--muted);font-family:var(--mono);font-size:.625rem}}.stage-inspect{position:absolute;top:-.375rem;left:.875rem;display:flex;gap:.5rem;padding:.3125rem .5rem;border-radius:.375rem;background:var(--surface);box-shadow:var(--shadow);color:var(--muted);font-family:var(--mono);font-size:.625rem;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;b{color:var(--heading);font-weight:400}span+span{font-variant-numeric:tabular-nums}}.stage-monitor{position:absolute;top:calc(50% + var(--lift));left:50%;width:var(--mon-w);height:var(--mon-h);overflow:hidden;border:1px solid var(--hairline);border-radius:var(--mon-r);background:var(--stage-bg);translate:-50% -50%;opacity:0;pointer-events:none;transition:opacity var(--fade);.mon-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;filter:grayscale(1) contrast(1.05)}}.mon-titles{position:absolute;inset:0;color:#060606;font-size:clamp(1.375rem,6.2cqi,3.125rem);font-weight:900;line-height:1;letter-spacing:.03em;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%);position:absolute;inset:5%;border:1px solid var(--line);outline:1px solid oklch(0% 0 0 / .3);&:before,&:after{content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;background:var(--line)}&:before{width:.75rem;height:1px}&:after{width:1px;height:.75rem}}.obj{--turn: 0;--size: 1;position:relative;display:grid;gap:clamp(.375rem,1.5cqi,.75rem);width:calc(var(--obj-w) * var(--size));padding:.625rem .625rem .875rem;border:1px solid transparent;border-radius:var(--radius-lg);font-size:clamp(.6875rem,2.1cqi,.9375rem);line-height:1.4;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);@media(prefers-reduced-motion:no-preference){animation:stage-sway 7s ease-in-out infinite alternate paused}>*{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:"";position:absolute;inset:-1px;border:1px solid color-mix(in oklab,var(--heading),transparent 80%);border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--fade)}&:before{translate:0 0 -.375rem}&:after{translate:0 0 -.75rem}}.obj-part{position:relative;outline:1px solid transparent;outline-offset:-1px}.obj-media{aspect-ratio:16 / 9;border:1px solid transparent;border-radius:var(--radius-md);isolation:isolate;.obj-video{position:absolute;inset:-1px;z-index:-1;width:calc(100% + 2px);height:calc(100% + 2px);border-radius:inherit;object-fit:cover;image-rendering:pixelated;filter:grayscale(1) contrast(1.05);opacity:0;transition:opacity var(--fade)}&:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(circle,oklch(100% 0 0 / .14) .9px,transparent 1.4px) 0 0 / 6px 6px;opacity:0;transition:opacity var(--fade)}}.obj-vertex{position:absolute;width:.3125rem;aspect-ratio:1;border-radius:1px;background:var(--heading);opacity:0;scale:.4;transition:opacity var(--fade),scale .3s var(--ease-out);&:nth-child(1){top:-.1875rem;left:-.1875rem}&:nth-child(2){top:-.1875rem;right:-.1875rem}&:nth-child(3){bottom:-.1875rem;left:-.1875rem}&:nth-child(4){right:-.1875rem;bottom:-.1875rem}}.obj-title{width:fit-content;margin-top:.25rem;color:var(--heading);font-size:1.35em;font-weight:500;line-height:1.1;letter-spacing:-.02em}.obj-text{color:var(--body)}.obj-button{width:fit-content;margin-top:.25rem;padding:.45em 1em;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--heading);color:var(--bg);font-weight:500}.obj-select{--line: color-mix(in oklab, var(--heading), transparent 30%);position:absolute;inset:-.375rem;border:1px solid var(--line);border-radius:calc(var(--radius-lg) + .375rem);opacity:0;pointer-events:none;transition:opacity var(--fade)}.obj-handle{position:absolute;width:.4375rem;aspect-ratio:1;border:1px solid var(--line);background:var(--bg);scale:.3;transition:scale .3s var(--ease-out);&:nth-child(1){top:-.25rem;left:-.25rem}&:nth-child(2){top:-.25rem;right:-.25rem}&:nth-child(3){bottom:-.25rem;left:-.25rem}&:nth-child(4){right:-.25rem;bottom:-.25rem}}.obj-size{position:absolute;top:calc(100% + .75rem);left:50%;padding:.3125rem .5rem;border-radius:.375rem;background:var(--heading);color:var(--bg);font-family:var(--mono);font-size:.625rem;line-height:1;white-space:nowrap;translate:-50% .25rem;opacity:0;pointer-events:none;counter-reset:w var(--w);&:before{content:"W ";opacity:.55}&:after{content:counter(w) "cqi";font-variant-numeric:tabular-nums}}.stage-cursor{position:absolute;width:clamp(2rem,6cqi,3rem);height:auto;shape-rendering:crispEdges;opacity:0;pointer-events:none;transition:opacity var(--fade);.px-line{fill:#090909}.px-fill{fill:#f8f8f8}}.stage-arrow{top:86%;left:84%;translate:5cqi 6cqi;transition:opacity var(--fade),translate .6s var(--ease-out)}.stage-resize{top:50%;left:100%;translate:-50% -50%}.stage-hand{top:31%;left:46%;@media(prefers-reduced-motion:no-preference){animation:stage-drag 7s ease-in-out infinite alternate paused}}.stage-code{position:absolute;inset:auto auto 8% 6%;margin:0;padding:.875rem 1rem;border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow);font-family:var(--mono);font-size:clamp(.5625rem,1.55cqi,.75rem);line-height:1.7;opacity:0;translate:0 1rem;transition:opacity var(--fade),translate var(--move);counter-reset:line;.code-line{display:block;width:fit-content;clip-path:inset(0 100% 0 0);transition:clip-path 0ms .4s;&:before{content:counter(line);counter-increment:line;display:inline-block;width:1.25em;margin-right:1em;color:color-mix(in oklab,var(--muted),transparent 45%);text-align:right}&:last-child:after{content:"";display:inline-block;width:1px;height:1.05em;margin-left:.125em;vertical-align:-.15em;background:var(--heading);opacity:0}}.code-tag{color:var(--muted)}.code-attr{color:var(--heading)}.code-str,.code-text{color:var(--body)}}.stage-timeline{position:absolute;inset:auto 0 0;display:grid;gap:.5rem;padding:.75rem 1.5rem 1rem;border-top:1px solid var(--hairline);background:color-mix(in oklab,var(--stage-bg),transparent 15%);font-family:var(--mono);opacity:0;translate:0 1rem;transition:opacity var(--fade),translate var(--move)}.tl-head{display:flex;align-items:center;justify-content:space-between}.tl-transport{display:flex;gap:.5rem;color:color-mix(in oklab,var(--muted),transparent 30%);svg{width:.6875rem;fill:currentColor;&:nth-child(2){color:var(--muted)}}}.tl-time{--tc-s: 4;--tc-f: 12;color:var(--muted);font-size:.625rem;font-variant-numeric:tabular-nums;counter-reset:tc-s var(--tc-s) tc-f var(--tc-f);&:after{content:"00:00:" counter(tc-s,decimal-leading-zero) ":" counter(tc-f,decimal-leading-zero)}}.tl-body{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem .625rem;.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{position:relative;height:.875rem;background:repeating-linear-gradient(90deg,color-mix(in oklab,var(--heading),transparent 80%) 0 1px,transparent 1px 6.25%) bottom / 100% 30% no-repeat;span{position:absolute;top:0;left:var(--at);padding-left:.1875rem;border-left:1px solid color-mix(in oklab,var(--heading),transparent 65%);color:color-mix(in oklab,var(--muted),transparent 20%);font-size:.5625rem;line-height:1}}.tl-label{color:color-mix(in oklab,var(--muted),transparent 20%);font-size:.5625rem}.tl-track{position:relative;height:1rem;border-radius:.3125rem;background:color-mix(in oklab,var(--heading),transparent 95%)}.tl-clip{position:absolute;inset:2px auto 2px var(--from);display:flex;align-items:center;overflow:hidden;width:calc(var(--to) - var(--from));padding-left:.3125rem;border-radius:.1875rem;background:color-mix(in oklab,var(--heading),transparent 86%);opacity:0;translate:0 -.375rem;transition:opacity var(--fade),translate var(--fade);>span{color:color-mix(in oklab,var(--heading),transparent 15%);font-size:.5625rem}&.tl-clip-film{background:repeating-linear-gradient(90deg,transparent 0 calc(2rem - 1px),oklch(0% 0 0 / .5) calc(2rem - 1px) 2rem),url(/media/skater-frame.webp) left center / auto 100% repeat-x;>span{padding:.0625rem .25rem;border-radius:.1875rem;background:#0000008c}}}.tl-audio .tl-clip{padding:0 .25rem;background:color-mix(in oklab,var(--heading),transparent 92%);svg{width:100%;height:70%;fill:color-mix(in oklab,var(--heading),transparent 60%)}}.tl-playhead{position:relative;align-self:stretch;pointer-events:none;span{position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--heading);opacity:0;transition:opacity var(--fade);&:before{content:"";position:absolute;top:-.125rem;left:-.1875rem;width:.4375rem;aspect-ratio:1;border-radius:50%;background:var(--heading)}}}.stage-floor{--line: color-mix(in oklab, var(--heading), transparent 88%);position:absolute;top:50%;left:50%;width:calc(var(--obj-w) * 2.6);aspect-ratio:1;translate:-50% -50% -2rem;rotate:-30deg;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;mask-image:radial-gradient(closest-side,#000 35%,transparent);opacity:0;pointer-events:none;transition:opacity var(--fade)}.stage-gizmo{position:absolute;right:1.75rem;bottom:1.75rem;width:3.5rem;aspect-ratio:1;color:var(--muted);font-family:var(--mono);font-size:.625rem;opacity:0;transition:opacity var(--fade);span{position:absolute;top:calc(50% + sin(var(--angle)) * (var(--len) + .4375rem));left:calc(50% + cos(var(--angle)) * (var(--len) + .4375rem));line-height:1;translate:-50% -50%;&:before{content:"";position:absolute;top:50%;left:50%;width:var(--len);height:1px;background:currentColor;transform-origin:0 50%;transform:rotate(calc(var(--angle) + 180deg)) translate(.4375rem)}}.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{opacity:1}&:before{opacity:1}}.stage-arrow{opacity:1;translate:0 0}.obj-select{opacity:1;transition-delay:.45s}.obj-handle{scale:1;transition-delay:calc(.5s + var(--i) * 40ms)}@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 (min-width: 22rem){transform:translate(22cqi,-18.5cqi)}}.stage-window{opacity:0}}.obj{background:var(--surface);box-shadow:var(--shadow);outline:1px solid transparent;outline-offset:-1px;transition-delay:var(--built),var(--built),var(--built),0ms;@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 0;.code-line{clip-path:inset(0 0 0 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;translate:0 0;transition-delay:.5s}.obj-media{border-color:color-mix(in oklab,var(--heading),transparent 20%);background:var(--dots);translate:0 0 4.5rem}.obj-vertex{opacity:1;scale:1;transition-delay:calc(.65s + var(--i) * 50ms)}.obj-title,.obj-text,.obj-button{border-color:transparent;background:var(--dots);color:transparent}.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:stage-seconds 4s steps(4) infinite,stage-frames 1s steps(25) infinite}}.stage-timeline{opacity:1;translate:0 0;.tl-clip{opacity:1;translate:0 0;transition-delay:calc(.3s + var(--i) * 90ms)}.tl-playhead span{opacity:1;@media(prefers-reduced-motion:no-preference){animation:stage-play 4s linear infinite}}}}@keyframes stage-paint{0%{filter:brightness(1.7)}to{filter:brightness(1)}}@keyframes stage-blink{0%{opacity:1}to{opacity:0}}@keyframes stage-inspect{0%{opacity:0;translate:0 .25rem}12%,78%{opacity:1;translate:0 0}to{opacity:0;translate:0 0}}@keyframes stage-inspect-box{0%,to{outline-color:transparent}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%{top:86%;left:84%;opacity:1}16%{top:50%;left:100%;opacity:1}17%,60%{top:50%;left:100%;opacity:0}61%{top:50%;left:100%;opacity:1}67%,to{top:86%;left:84%;opacity:1}}@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% 0}56%,to{opacity:0;translate:-50% .25rem}}@keyframes stage-sway{0%{--sway: -8deg}to{--sway: 8deg}}@keyframes stage-drag{0%{translate:-3cqi 0}to{translate:3cqi 0}}@keyframes stage-word-left{0%,20%{clip-path:inset(0 100% 0 0);translate:-.5em -50%;letter-spacing:.28em;opacity:1}30%,90%{clip-path:inset(0);translate:0 -50%;letter-spacing:.03em;opacity:1}97%,to{clip-path:inset(0);translate:.3em -50%;letter-spacing:.03em;opacity:0}}@keyframes stage-word-right{0%,35%{clip-path:inset(0 0 0 100%);translate:.5em -50%;letter-spacing:.28em;opacity:1}45%,90%{clip-path:inset(0);translate:0 -50%;letter-spacing:.03em;opacity:1}97%,to{clip-path:inset(0);translate:-.3em -50%;letter-spacing:.03em;opacity:0}}@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%}}}@layer sections{.about-portrait{width:min(100%,22rem);margin-top:clamp(.5rem,2vw,1.5rem);@media(max-width:47.5rem){width:min(100%,18rem)}img{--dots: radial-gradient(circle, #000 .7px, transparent 1.3px) 0 0 / 4px 4px;width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:50% 15%;border-radius:var(--radius-lg);filter:grayscale(1) contrast(1.05);opacity:.85;mask-image:linear-gradient(150deg,#000 50%,transparent);@media(prefers-color-scheme:dark){filter:grayscale(1) 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:portrait-develop linear both;animation-timeline:view();animation-range:entry 10% cover 45%}}}}.about{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3rem);@media(max-width:56.25rem){margin-top:1.5rem}}.about-quote{color:var(--heading);font-size:clamp(1.5rem,2.25vw,2.125rem);font-weight:500;line-height:1.15;letter-spacing:-.035em;text-indent:-.4em;text-wrap:balance;span{color:var(--muted)}}}@layer sections{.footer{--card-padding: clamp(1.5rem, 5vw, 4.5rem);padding-top:var(--section-gap)}.contact{position:relative;overflow:hidden;container-type:inline-size;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;&:before{content:"";position:absolute;inset:auto -10% -40% 30%;z-index:-1;height:80%;background:radial-gradient(closest-side,var(--accent),transparent);opacity:.18;mix-blend-mode:color-dodge;pointer-events:none}&:after{content:"";position:absolute;inset:auto -10% -40% 30%;z-index:-1;height:100%;background:url(/media/noise.svg);mask-image:radial-gradient(closest-side,#000,transparent);opacity:.4;pointer-events:none}}.contact-main{display:flex;flex-direction:column;gap:clamp(2.5rem,5vw,4rem)}.contact-email-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}.contact-email{width:fit-content;color:var(--heading);font-size:clamp(1.75rem,4.5cqi,4rem);font-weight:500;line-height:1.1;letter-spacing:-.04em;text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.18em;text-decoration-color:color-mix(in oklab,var(--heading),transparent 70%);overflow-wrap:anywhere;transition:text-decoration-color .15s var(--ease-out);&:hover{text-decoration-color:var(--heading)}}.copy[data-state=copied]{background:color-mix(in oklab,var(--success),transparent 85%);color:var(--success)}.contact-columns{display:flex;flex-wrap:wrap;gap:2rem clamp(3rem,8cqi,6rem);ul{display:flex;flex-direction:column;gap:.5rem}}.contact-label{margin-bottom:1rem;color:var(--muted);font-family:var(--mono);font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase}.wordmark{--light: 0;position:relative;margin:clamp(3rem,8cqi,7rem) 0 -.11em;color:var(--heading);font-size:20.5cqi;font-weight:600;line-height:.8;letter-spacing:-.065em;white-space:nowrap;user-select:none;transition:--light .3s var(--ease-out);&[data-lit]{--light: 1}.wordmark-char{--fill: 100%;position:relative;isolation:isolate;display:inline-block;padding:.15em .1em;margin:-.15em -.1em;background:linear-gradient(to top,var(--heading) var(--fill),transparent calc(var(--fill) + 15%));background-clip:text;color:transparent;&:before{content:attr(data-char);position:absolute;inset:0;z-index:-1;padding:inherit;color:var(--heading);opacity:0;filter:url(#halftone-3);@container (min-width: 38rem){filter:url(#halftone-4)}@container (min-width: 49rem){filter:url(#halftone-5)}@container (min-width: 60rem){filter:url(#halftone-6)}@container (min-width: 71rem){filter:url(#halftone-7)}}}.wordmark-alias{--fill: -20%;--dim: color-mix(in oklab, var(--heading), transparent 40%);font-weight:500;&:before{opacity:1;background:radial-gradient(circle 16rem at var(--x, -100rem) var(--y, -100rem),color-mix(in oklab,var(--dim),var(--heading) calc(var(--light) * 100%)),var(--dim));background-clip:text;color:transparent}}}.halftone{position:absolute}.legal{display:flex;justify-content:space-between;gap:1rem;padding:1.75rem min(var(--card-padding),var(--radius-xl)) 2.25rem;color:var(--muted);font-size:.875rem}}@layer sections{.page{padding-top:clamp(8rem,14vw,11rem)}.post{display:flex;flex-direction:column;gap:clamp(2.5rem,5vw,4rem);max-width:50rem}.post-head{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;.section-title{max-width:calc(22 * var(--ch-medium))}time{font-variant-numeric:tabular-nums}}.post-foot{padding-top:2rem;border-top:1px solid var(--hairline)}}@layer animations{.enter{@media(prefers-reduced-motion:no-preference){animation:rise .7s var(--ease-out) var(--enter-delay, 0ms) 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, 0ms) backwards}.eyebrow[data-revealed=""]{animation-name:fade;&:after{transform-origin:left;animation:draw 1.1s var(--ease-out) var(--reveal-delay, 0ms) backwards}.eyebrow-count{animation:fade .5s var(--ease-out) calc(var(--reveal-delay, 0ms) + .5s) backwards}}.wordmark[data-revealed=""]>.wordmark-char{--char-delay: calc(var(--reveal-delay, 0ms) + 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 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%}}}@layer animations{:root[data-js] .scramble{.scramble-seg,.scramble-sep{opacity:0}}.scramble-hidden{visibility:hidden}.scramble-layer{position:absolute;inset:0 auto auto 0;pointer-events:none;user-select:none}.scramble-glyph{position:absolute;white-space:pre;-webkit-text-fill-color:currentColor}}@layer utilities{.wrap{width:min(100% - 2 * var(--gutter),var(--max));margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@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;}
