@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"DM Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:clamp(1rem, .98rem + .1vw, 1.0625rem);--text-lg:clamp(1.125rem, 1.05rem + .3vw, 1.375rem);--text-xl:clamp(1.375rem, 1.2rem + .6vw, 1.75rem);--text-2xl:clamp(2rem, 1.65rem + 1.2vw, 2.75rem);--text-3xl:clamp(2.75rem, 1.9rem + 3.3vw, 5.5rem);--leading-tight:.94;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-canvas:#191d23;--color-surface:#222831;--color-surface-subtle:#252d37;--color-ink:#e8e9e5;--color-ink-muted:#a5adb8;--color-ink-faint:#a5adb8;--color-line:#343b45;--color-line-strong:#596574;--color-inverse-canvas:#15191f;--color-inverse-ink:#e8e9e5;--color-accent:#9ab8f3;--color-accent-ink:#191d23;--color-warning:#ffcc80;--font-code:"Fira Code", "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--text-hero:clamp(3.4rem, 2.1rem + 5.2vw, 8.5rem);--leading-heading:1.2;--leading-ui:1.25;--leading-body:1.65;--leading-reading:1.7;--tracking-hero:-.045em;--tracking-heading:-.02em;--tracking-body:0;--tracking-label:.02em}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--color-canvas);scroll-behavior:smooth}html.lenis{scroll-behavior:auto}body{background:var(--color-canvas);min-height:100vh;color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-base);letter-spacing:var(--tracking-body);line-height:var(--leading-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;position:relative}::selection{background:var(--color-accent);color:var(--color-accent-ink)}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}a,button{transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), text-decoration-color var(--duration-fast) var(--ease-standard)}button,input,textarea,select{font:inherit}img,picture,video,canvas,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}code,kbd,samp,pre{font-family:var(--font-mono)}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.accent-ink{accent-color:var(--color-ink)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[content\:article\]{content:article}.\[content\:metadata\]{content:metadata}.\[content\:project\]{content:project}.\[content\:toc\]{content:toc}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}:root{--container-max:100rem;--reading-max:47.5rem;--personal-width:58rem;--radius-media:6px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:8rem;--space-11:10rem;--page-gutter:clamp(1.25rem, 3vw, 2rem);--section-space:clamp(4rem, 9vw, 10rem);--header-height:clamp(4rem, 5vw, 4.5rem);--border:1px solid var(--color-line);--border-strong:1px solid var(--color-line-strong);--shadow-elevated:0 12px 30px #0000001a;--duration-fast:.18s;--duration-normal:.26s;--duration-slow:.48s;--ease-standard:cubic-bezier(.25, .1, .25, 1);--ease-enter:cubic-bezier(.22, 1, .36, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--motion-distance-subtle:.5rem;--motion-distance-section:.75rem;--motion-stagger-short:60ms;--z-header:40;--z-overlay:80;--z-modal:100}.lenis.lenis-smooth .project-video__frame{pointer-events:auto}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/prototype/dm-sans-latin.woff2)format("woff2")}.app-root{isolation:isolate;min-height:100svh}.site-container{width:min(100%, var(--container-max));padding-inline:var(--page-gutter);margin-inline:auto}.breadcrumbs{margin-block-end:var(--space-4)}.breadcrumbs__list{gap:var(--space-2);color:var(--color-ink-muted);font-size:var(--text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs__item{align-items:center;gap:var(--space-2);display:inline-flex}.breadcrumbs__item:not(:last-child):after{color:var(--color-ink-faint);content:"/"}.breadcrumbs__link{text-decoration:none}.archive{padding-block-end:var(--section-space)}.archive__groups{gap:var(--space-7);display:grid}.archive-group{border-block-start:var(--border);padding-block-start:var(--space-5)}.archive-group__header{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-block-end:var(--space-4);display:flex}.archive-group__header h2{font-size:var(--text-lg);line-height:var(--leading-heading);margin:0}.archive-group__header span{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-sm)}.archive-group__list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.archive-entry{gap:var(--space-4);padding-block:var(--space-2);border-block-end:var(--border);grid-template-columns:auto 1fr;align-items:start;display:grid}.archive-entry__index{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-sm)}.archive-entry__copy{gap:var(--space-1);display:grid}.archive-entry__title{font-size:var(--text-base);font-weight:500;text-decoration:none}.archive-entry__meta{color:var(--color-ink-muted);font-size:var(--text-sm)}.section{padding-block:var(--section-space)}.reading-column{width:min(100%, var(--reading-max))}.skip-link{z-index:calc(var(--z-modal) + 1);background:var(--color-accent);color:var(--color-accent-ink);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);font-weight:500;position:fixed;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.site-header{z-index:var(--z-header);background:var(--color-canvas);border-block-end:var(--border);transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard);position:sticky;inset-block-start:0}.site-header__bar{min-height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-5);display:flex;position:relative}.site-brand{align-items:center;gap:var(--space-3);text-decoration:none;display:inline-flex}.site-brand__mark{flex:none;width:.75rem;height:.75rem;display:block}.site-brand__name{font-size:var(--text-sm);line-height:var(--leading-ui)}.site-nav{align-items:center;gap:var(--space-5);display:none}.site-nav__link{color:var(--color-ink-muted);font-size:var(--text-sm);line-height:var(--leading-ui);border-block-end:1px solid #0000;text-decoration:none}.site-nav__link:hover,.site-nav__link:focus-visible,.site-nav__link[aria-current=page]{border-color:var(--color-ink);color:var(--color-ink)}.status-line{border-block-start:var(--border);color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.status-line__inner{gap:var(--space-4) var(--space-7);padding-block:var(--space-3);flex-wrap:wrap;display:flex}.status-line__item:first-child:before{background:var(--color-accent);content:"";width:.5rem;height:.5rem;margin-inline-end:var(--space-2);display:inline-block}.mobile-nav__trigger,.mobile-nav__close{min-width:2.75rem;min-height:2.75rem;color:var(--color-ink);cursor:pointer;font-size:var(--text-sm);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.mobile-nav__trigger{border:var(--border)}.mobile-nav__trigger:hover,.mobile-nav__trigger:focus-visible{background:var(--color-surface-subtle)}.mobile-nav__trigger-icon{gap:.25rem;width:1.25rem;display:grid}.mobile-nav__trigger-icon span{background:currentColor;height:1px;display:block}.mobile-nav{margin-inline-start:auto;position:absolute;inset-block-start:calc((var(--header-height) - 2.75rem) / 2);inset-inline-end:var(--space-2)}.mobile-nav__backdrop{z-index:var(--z-overlay);transition:opacity var(--duration-normal) var(--ease-standard);background:#1111112e;position:fixed;inset:0}.mobile-nav__backdrop[data-starting-style],.mobile-nav__backdrop[data-ending-style]{opacity:0}.mobile-nav__viewport{z-index:var(--z-modal);padding:var(--space-4);justify-content:center;display:flex;position:fixed;inset:0}.mobile-nav__popup{overscroll-behavior-y:contain;background:var(--color-canvas);border:var(--border);width:min(100%,30rem);min-block-size:0;max-block-size:100%;box-shadow:var(--shadow-elevated);color:var(--color-ink);transition:opacity var(--duration-normal) var(--ease-enter), transform var(--duration-normal) var(--ease-enter);flex-direction:column;display:flex;overflow-y:auto;transform:translateY(0)}.mobile-nav__popup[data-starting-style],.mobile-nav__popup[data-ending-style]{opacity:0;transform:translateY(var(--motion-distance-subtle))}.mobile-nav__header{min-height:var(--header-height);border-block-end:var(--border);padding-inline:var(--space-4);justify-content:space-between;align-items:center;display:flex}.mobile-nav__title{font-size:var(--text-sm);margin:0;font-weight:400}.mobile-nav__links{display:grid}.mobile-nav__link{border-block-end:var(--border);font-size:var(--text-xl);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading);padding:var(--space-5) var(--space-4);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);text-decoration:none}.mobile-nav__link:hover,.mobile-nav__link:focus-visible,.mobile-nav__link[aria-current=page]{background:var(--color-surface-subtle)}.mobile-nav__secondary{gap:var(--space-3);color:var(--color-ink-muted);font-size:var(--text-sm);padding:var(--space-4);margin-block-start:auto;display:grid}.page-shell{min-height:60vh}.about-hero{gap:var(--space-7);padding-block:var(--space-9) var(--space-8);display:grid}.about-hero__copy{align-content:start;gap:var(--space-1);max-width:44rem;display:grid}.about-hero__title{overflow-wrap:break-word;max-width:13ch;font-size:var(--text-3xl);letter-spacing:var(--tracking-hero);font-weight:400;line-height:var(--leading-tight);margin:0}.about-hero__body{gap:var(--space-4);margin-block-start:var(--space-5);display:grid}.about-hero__body p{max-width:62ch;color:var(--color-ink-muted);font-size:var(--text-lg);line-height:var(--leading-body);margin:0}.about-hero__media{max-width:24rem}.about-hero__portrait-frame{aspect-ratio:4/5;border-block:var(--border);background:var(--color-surface-subtle);display:grid;position:relative;overflow:hidden}.about-hero__portrait{object-fit:cover;object-position:center 24%;width:100%;height:100%;display:block}.page-intro{padding-block:var(--space-9)}.eyebrow{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-block-end:var(--space-6);display:block}.page-title{max-width:13ch;font-size:var(--text-3xl);letter-spacing:var(--tracking-hero);font-weight:400;line-height:var(--leading-tight);margin:0}.page-description{max-width:44ch;margin:var(--space-5) 0 0;color:var(--color-ink-muted);font-size:var(--text-lg);line-height:var(--leading-body)}.skeleton-section{border-block-start:var(--border);padding-block:var(--space-6)}.skeleton-section p{max-width:60ch;color:var(--color-ink-muted);margin:0}.site-footer{border-block-start:var(--border);background:var(--color-inverse-canvas);color:var(--color-inverse-ink);margin-block-start:var(--space-8)}.site-footer__inner{padding-block:var(--space-8)}.site-footer__headline{font-size:var(--text-2xl);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading);margin:0}.site-footer__rule{margin-block:var(--space-7);border:0;border-block-start:var(--border)}.site-footer__grid{gap:var(--space-7);display:grid}.site-footer__links{gap:var(--space-3);display:grid}.site-footer__column-title,.site-footer__meta{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.site-footer__link{gap:var(--space-1);color:var(--color-inverse-ink);font-size:var(--text-sm);text-underline-offset:.24em;align-items:center;text-decoration-line:underline;text-decoration-color:#0000;display:inline-flex}.site-footer__link:hover,.site-footer__link:focus-visible{text-decoration-color:currentColor}.site-footer__link-arrow{transition:transform var(--duration-fast) var(--ease-standard)}.site-footer__link:hover .site-footer__link-arrow,.site-footer__link:focus-visible .site-footer__link-arrow{transform:translate(.25rem)}.site-footer__meta{margin:var(--space-8) 0 0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.text-link{gap:var(--space-1);min-height:2.75rem;color:var(--color-ink);font-size:var(--text-sm);line-height:var(--leading-ui);text-underline-offset:.22em;transition:color var(--duration-fast) var(--ease-standard), text-decoration-color var(--duration-fast) var(--ease-standard), text-underline-offset var(--duration-fast) var(--ease-standard);align-items:center;text-decoration-line:underline;text-decoration-color:currentColor;display:inline-flex}.text-link:hover,.text-link:focus-visible{text-underline-offset:.35em}.text-link__arrow{transition:transform var(--duration-fast) var(--ease-standard)}.text-link:hover .text-link__arrow,.text-link:focus-visible .text-link__arrow{transform:translate(.25rem)}.home-hero{padding-block:var(--space-8) var(--space-7)}.home-hero__entry{animation:hero-enter var(--duration-slow) var(--ease-enter) both}.home-hero__entry:nth-child(2){animation-delay:var(--motion-stagger-short)}.home-hero__entry:nth-child(3){animation-delay:calc(var(--motion-stagger-short) * 2)}.home-hero__entry:nth-child(4){animation-delay:calc(var(--motion-stagger-short) * 3)}.home-visual__stage.home-hero__entry{animation-delay:calc(var(--motion-stagger-short) * 4)}@keyframes hero-enter{0%{opacity:.01;transform:translateY(var(--motion-distance-subtle))}to{opacity:1;transform:translateY(0)}}.home-hero__title{overflow-wrap:break-word;font-size:var(--text-2xl);letter-spacing:var(--tracking-hero);font-weight:400;line-height:var(--leading-tight);margin:0}.home-hero__description{max-width:min(34ch,100%);margin:var(--space-5) 0 0;color:var(--color-ink-muted);font-size:var(--text-base)}.home-hero__links{gap:var(--space-3) var(--space-5);flex-wrap:wrap;margin-block-start:var(--space-5);display:flex}.home-visual{padding-block-end:var(--space-8)}.home-visual__stage{aspect-ratio:16/9;background:var(--color-surface-subtle);border-block:var(--border);place-items:end start;min-height:12rem;margin:0;display:grid;position:relative;overflow:hidden}.home-visual__image{object-fit:cover}.home-visual__meta{z-index:1;gap:var(--space-3);background:var(--color-inverse-canvas);color:var(--color-inverse-ink);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);padding:var(--space-2) var(--space-3);text-transform:uppercase;flex-wrap:wrap;display:flex;position:relative}.home-section,.about-section{padding-block:var(--space-8)}.about-section__inner{gap:var(--space-6);border-block-start:var(--border);padding-block-start:var(--space-6);display:grid}.about-section__heading{gap:var(--space-2);max-width:28rem;display:grid}.about-section__eyebrow{margin-block-end:0}.about-section__heading h2{font-size:var(--text-xl);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading);margin:0}.about-section__introduction{max-width:56ch;margin:var(--space-1) 0 0;color:var(--color-ink-muted);font-size:var(--text-base);line-height:var(--leading-body)}.about-section__content{gap:var(--space-4);display:grid}.about-section__content>p{max-width:60ch;color:var(--color-ink-muted);font-size:var(--text-base);line-height:var(--leading-body);margin:0}.editorial-definition-list{margin:0;display:grid}.editorial-definition-list__row{gap:var(--space-2);border-block-start:var(--border);padding-block:var(--space-5);display:grid}.editorial-definition-list__row:last-child{border-block-end:var(--border)}.editorial-definition-list dt{color:var(--color-ink);font-size:var(--text-lg);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading)}.editorial-definition-list dd{max-width:60ch;color:var(--color-ink-muted);font-size:var(--text-base);line-height:var(--leading-body);margin:0}.about-contact__actions{margin-block-start:var(--space-2);display:grid}.about-contact__actions .text-link{border-block-start:var(--border);min-height:auto;padding-block:var(--space-3);justify-content:space-between}.about-contact__actions .text-link:last-child{border-block-end:var(--border)}.motion-reveal{opacity:1;transform:translateY(0)}.motion-reveal[data-reveal-state=pending]{opacity:.01;transform:translateY(var(--motion-distance-section))}.motion-reveal[data-reveal-state=visible]{transition:opacity var(--duration-slow) var(--ease-enter), transform var(--duration-slow) var(--ease-enter)}.motion-reveal[data-reveal-delay=short][data-reveal-state=visible]{transition-delay:var(--motion-stagger-short)}.home-section__body{display:grid}.impact-statistics{border-block-start:var(--border);border-block-end:var(--border);background:var(--color-canvas)}.impact-statistics__inner{padding-block:var(--space-5);display:grid}.impact-statistics__heading{text-align:center;justify-items:center;padding-block-end:var(--space-5);display:grid}.impact-statistics__heading .eyebrow{margin-block-end:var(--space-3)}.impact-statistics__heading h2{max-width:12ch;font-size:var(--text-3xl);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-tight);margin:0}.impact-statistics__metrics{border-block-start:var(--border);display:grid}.impact-metric{align-content:start;gap:var(--space-2);border-block-end:var(--border);padding-block:var(--space-3);display:grid}.impact-metric__value{gap:var(--space-2);margin:0;display:grid}.impact-metric__value>span:first-child{color:var(--color-ink);font-size:var(--text-3xl);letter-spacing:var(--tracking-heading);line-height:var(--leading-tight)}.impact-metric__label{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.impact-metric__description{max-width:18rem;color:var(--color-ink-muted);font-size:var(--text-base);line-height:var(--leading-body);margin:0}.impact-statistics__visual{border-block-end:var(--border);background:var(--color-surface-subtle);min-height:clamp(11rem,21vw,18rem)}.impact-network{--impact-network-accent:var(--color-accent);--impact-network-endpoint:var(--color-ink);--impact-network-line:var(--color-line-strong);--impact-network-muted:var(--color-ink-muted);--impact-network-spark:var(--color-ink);min-height:inherit;background:var(--color-surface-subtle);position:relative;overflow:hidden}.impact-network-shell{min-height:inherit}.impact-network__canvas{width:100%;height:100%;min-height:inherit;display:block;position:relative}.impact-network__control{right:var(--space-4);bottom:var(--space-4);border:var(--border);background:var(--color-surface);width:2.75rem;height:2.75rem;color:var(--color-ink);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex;position:absolute}.impact-network__control:hover,.impact-network__control:focus-visible{border-color:var(--color-line-strong);background:var(--color-accent);color:var(--color-accent-ink)}.motion-reveal[data-reveal-state=visible] .impact-statistics__heading,.motion-reveal[data-reveal-state=visible] .impact-metric,.motion-reveal[data-reveal-state=visible] .impact-statistics__visual{animation:impact-enter var(--duration-slow) var(--ease-enter) both}.motion-reveal[data-reveal-state=visible] .impact-metric:first-child{animation-delay:calc(var(--motion-stagger-short) * 2)}.motion-reveal[data-reveal-state=visible] .impact-metric:nth-child(2){animation-delay:calc(var(--motion-stagger-short) * 3)}.motion-reveal[data-reveal-state=visible] .impact-metric:nth-child(3){animation-delay:calc(var(--motion-stagger-short) * 4)}.motion-reveal[data-reveal-state=visible] .impact-metric:nth-child(4){animation-delay:calc(var(--motion-stagger-short) * 5)}.motion-reveal[data-reveal-state=visible] .impact-statistics__visual{animation-delay:calc(var(--motion-stagger-short) * 6)}@keyframes impact-enter{0%{opacity:.01;transform:translateY(var(--motion-distance-subtle))}to{opacity:1;transform:translateY(0)}}.section-header{gap:var(--space-4);justify-content:space-between;align-items:start;margin-block-end:var(--space-6);display:grid}.section-header .eyebrow{margin-block-end:var(--space-2)}.section-header__description{max-width:42ch;font-size:var(--text-lg);line-height:var(--leading-heading);margin:0}.section-header__action{justify-self:start}.featured-project{gap:var(--space-5);display:grid}.project-visual{aspect-ratio:16/9;background:var(--color-inverse-canvas);color:var(--color-inverse-ink);overflow:hidden}.project-visual[data-background=white],.project-figure[data-background=white]{background:var(--color-surface)}.project-visual[data-background=subtle],.project-figure[data-background=subtle]{background:var(--color-surface-subtle)}.project-visual[data-background=inverse],.project-figure[data-background=inverse]{background:var(--color-inverse-canvas)}.project-visual__image,.project-figure__image{width:100%;height:auto}.project-visual__grid{align-content:end;gap:var(--space-3);min-height:100%;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);padding:var(--space-5);text-transform:uppercase;transition:transform var(--duration-slow) var(--ease-standard);display:grid;position:relative}@media (hover:hover) and (pointer:fine){.featured-project:hover .project-visual__grid{transform:scale(1.01)}}.featured-project:focus-within .project-visual__grid{transform:scale(1.01)}.project-visual__grid:before,.project-visual__grid:after{content:"";pointer-events:none;position:absolute}.project-visual__grid:before{inset-block:var(--space-5);border-inline:var(--border);inset-inline:33%}.project-visual__grid:after{inset-block:36%;inset-inline:var(--space-5);border-block:var(--border)}.featured-project__body{gap:var(--space-6);padding-bottom:var(--space-6);display:grid}.featured-project__title{margin:0 0 var(--space-4);font-size:var(--text-xl);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading)}.metadata-list{gap:var(--space-3);margin:0;display:grid}.metadata-list__item{gap:var(--space-4);border-block-start:var(--border);grid-template-columns:minmax(5rem,.35fr) 1fr;padding-block-start:var(--space-3);display:grid}.metadata-list dt{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.metadata-list dd{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.project-split,.project-row,.article-row,.timeline-row,.experience-row{gap:var(--space-3);border-block-start:var(--border);padding-block:var(--space-6);display:grid}.project-split{align-items:start;gap:var(--space-2) var(--space-4);padding-block:var(--space-5);grid-template-columns:2rem minmax(0,1fr)}.project-split,.project-row,.article-row{transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard)}.project-split:hover,.project-split:focus-within,.project-row:hover,.project-row:focus-within,.article-row:hover,.article-row:focus-within{background:var(--color-surface-subtle);border-color:var(--color-line-strong)}.project-split__index,.project-row__index,.timeline-row__marker,.article-row time,.experience-row time{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.experience-row__period{color:var(--color-ink-faint);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-body)}.project-split__title,.project-row__title,.article-row__title,.timeline-row__title,.experience-row__title{font-size:var(--text-lg);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading);margin:0}.timeline-row__header{gap:var(--space-2) var(--space-3);flex-wrap:wrap;align-items:baseline;display:flex}.timeline-row__status{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.project-split__title{font-size:var(--text-base);letter-spacing:var(--tracking-body);line-height:var(--leading-ui)}.project-split p,.project-row p,.article-row p,.timeline-row p,.experience-row p,.personal-note p{max-width:62ch;margin:var(--space-2) 0 0;color:var(--color-ink-muted)}.project-split__label,.project-split__period{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);grid-column:2}.project-row__label{margin-top:var(--space-2);color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;display:block}.project-split__link{grid-column:2;justify-self:start;min-height:auto;text-decoration-color:#0000}.project-split:hover .project-split__link,.project-split:focus-within .project-split__link{text-decoration-color:currentColor}.article-row__title a,.timeline-row__title a{text-underline-offset:.2em;text-decoration-line:underline;text-decoration-color:#0000}.article-row:hover .article-row__title a,.article-row:focus-within .article-row__title a,.timeline-row:hover .timeline-row__title a,.timeline-row:focus-within .timeline-row__title a{text-decoration-color:currentColor}.article-row span,.timeline-row span,.project-row>span{color:var(--color-ink-faint);font-size:var(--text-sm)}.article-row__arrow{justify-content:flex-start;justify-self:start;align-items:center;min-width:2.75rem;min-height:2.75rem;text-decoration:none;display:inline-flex}.article-row__arrow span{transition:transform var(--duration-fast) var(--ease-standard)}.article-row:hover .article-row__arrow span,.article-row:focus-within .article-row__arrow span{transform:translate(.25rem)}.knowledge-tile{background:var(--color-accent);color:var(--color-accent-ink);padding:var(--space-7) var(--space-5)}.knowledge-tile .eyebrow{color:var(--color-accent-ink)}.work-list{padding-block:0 var(--space-8)}.work-list__rows{margin-block-start:var(--space-6)}.work-list__heading{margin:0 0 var(--space-5);font-size:var(--text-xl);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading)}.project-case__hero{gap:var(--space-6);padding-block:var(--space-9) var(--space-7);display:grid}.project-case__hero-copy{max-width:58rem}.project-case__hero-copy h1{max-width:12ch;font-size:var(--text-3xl);letter-spacing:var(--tracking-hero);font-weight:400;line-height:var(--leading-tight);margin:0}.project-case__hero-copy p{max-width:48ch;margin:var(--space-5) 0 0;color:var(--color-ink-muted);font-size:var(--text-lg);line-height:var(--leading-body)}.project-figure{gap:var(--space-3);border-block:var(--border);margin:0;display:grid;overflow:hidden}.project-figure__placeholder{aspect-ratio:16/9;background:var(--color-surface-subtle);color:var(--color-ink-muted);align-items:end;display:grid;overflow:hidden}.project-figure__placeholder span{background:var(--color-surface);border-block-start:var(--border);max-width:36ch;color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);padding:var(--space-3);text-transform:uppercase}.project-figure figcaption{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.project-demo{gap:var(--space-4);display:grid}.project-video{aspect-ratio:16/9;background:var(--color-surface-subtle);border:var(--border);overflow:hidden}.project-video__frame{border:0;width:100%;height:100%}.project-case__layout{gap:var(--space-7);padding-block-end:var(--space-9);display:grid}.project-case__content{width:100%;max-width:var(--reading-max);min-width:0}.project-case__content :is(h1,h2,h3,h4,h5,h6)[id],.article-detail__content :is(h1,h2,h3,h4,h5,h6)[id]{scroll-margin-top:calc(var(--header-height) + var(--space-6))}.project-section{scroll-margin-top:calc(var(--header-height) + var(--space-6));border-block-start:var(--border);padding-block:var(--space-7)}.project-section h2{margin:0 0 var(--space-5);font-size:var(--text-xl);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading)}.project-section p{color:var(--color-ink-muted);font-size:var(--text-base);line-height:var(--leading-reading);margin:0}.project-section p+p,.project-section p+.project-section__list,.project-section p+.project-diagram,.project-section p+.project-metric-groups,.project-section p+.project-table-wrap,.project-section p+.project-figure,.project-section p+.project-figure-grid,.project-section p+.project-demo{margin-block-start:var(--space-4)}.mdx-list{margin-block:var(--space-4);color:var(--color-ink-muted);font-size:var(--text-base);line-height:var(--leading-reading);padding-inline-start:var(--space-5)}ul.mdx-list{list-style-type:disc}ol.mdx-list{list-style-type:decimal}.mdx-list>li+li{margin-block-start:var(--space-3)}.project-section__list{gap:var(--space-3);color:var(--color-ink-muted);font-size:var(--text-base);line-height:var(--leading-reading);margin:0;padding-inline-start:1.2rem;display:grid}.project-section__list li{padding-inline-start:var(--space-1)}.project-section__todo{color:var(--color-warning)!important}.project-figure-grid{gap:var(--space-5);display:grid}.project-diagram{gap:var(--space-3);border-block:var(--border);background:var(--color-surface-subtle);padding:var(--space-5);margin:0;display:grid}.project-diagram__steps{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.project-diagram__steps>li{position:relative}.project-diagram__steps>li:not(:last-child):after{content:"↓";left:50%;bottom:calc(var(--space-4) * -1);color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);position:absolute;transform:translate(-50%)}.project-diagram__node,.project-diagram__transaction{gap:var(--space-3);border:var(--border);background:var(--color-surface);padding:var(--space-4);display:grid}.project-diagram__node span,.project-diagram__transaction span{color:var(--color-ink);font-size:var(--text-sm);line-height:var(--leading-body)}.project-diagram__label{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.project-diagram__branches{gap:var(--space-3);display:grid}.project-diagram__note{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0}.project-diagram__transaction{padding-block:var(--space-4)}.project-diagram__branches .project-diagram__node{min-height:100%}.project-diagram figcaption{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-label);line-height:var(--leading-body);text-transform:uppercase}.project-metric-groups{gap:var(--space-5);display:grid}.project-metric-group{border-block:var(--border);padding-block:var(--space-3)}.project-metric-group h3{margin:0 0 var(--space-3);color:var(--color-ink);font-size:var(--text-lg);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading)}.project-metric-group ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.project-metric-group li{border-block-start:var(--border);color:var(--color-ink-muted);font-size:var(--text-base);line-height:var(--leading-body);padding-block-start:var(--space-3)}.project-table-wrap{border-block:var(--border);max-width:100%;overflow-x:auto}.project-table{border-collapse:collapse;width:100%;min-width:44rem;font-size:var(--text-sm)}.project-table th,.project-table td{border-block-end:var(--border);padding:var(--space-3);text-align:start;vertical-align:top}.project-table th{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:400}.project-table td{color:var(--color-ink-muted);line-height:var(--leading-body)}.project-credits{margin:var(--space-5) 0 0;gap:0;padding:0;list-style:none;display:grid}.project-credits li{gap:var(--space-2);border-block-start:var(--border);padding-block:var(--space-3);display:grid}.project-credits span:first-child{color:var(--color-ink)}.project-credits span:last-child{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.project-case__toc-rail{display:none}.project-toc{border-inline-start:2px solid var(--color-line);padding-inline-start:var(--space-4)}.project-toc p{margin:0 0 var(--space-3);color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.project-toc ol{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.project-toc a{min-height:2.75rem;color:var(--color-ink-muted);font-size:var(--text-sm);line-height:var(--leading-ui);border-inline-start:2px solid #0000;align-items:center;padding-inline-start:var(--space-2);text-decoration:none;display:inline-flex}.project-toc a:hover,.project-toc a:focus-visible,.project-toc a[aria-current=location]{border-color:var(--color-accent);color:var(--color-ink);text-underline-offset:.24em;text-decoration:underline}.project-case__inline-toc{display:block}.project-pagination{gap:var(--space-4);border-block-start:var(--border);padding-block-start:var(--space-7);display:grid}.project-pagination__item{gap:var(--space-2);border:var(--border);color:inherit;min-height:8rem;padding:var(--space-4);transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);text-decoration:none;display:grid}.project-pagination__item:hover,.project-pagination__item:focus-visible{border-color:var(--color-line-strong);background:var(--color-surface-subtle)}.project-pagination__item--empty{display:none}.project-pagination__label{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.project-pagination__title{color:var(--color-ink);font-size:var(--text-xl);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading)}.article-detail__hero{gap:var(--space-6);padding-block:var(--space-9) var(--space-7);display:grid}.article-detail__hero-copy{max-width:58rem}.article-detail__hero-copy h1{max-width:16ch;font-size:var(--text-3xl);letter-spacing:var(--tracking-hero);font-weight:400;line-height:var(--leading-tight);margin:0}.article-detail__hero-copy p{max-width:52ch;margin:var(--space-5) 0 0;color:var(--color-ink-muted);font-size:var(--text-lg);line-height:var(--leading-body)}.article-detail__layout{gap:var(--space-7);padding-block-end:var(--space-9);display:grid}.article-detail__content{width:100%;max-width:var(--reading-max);min-width:0}.article-detail__inline-toc{display:block}.article-detail__toc-rail{display:none}.article-section{scroll-margin-top:calc(var(--header-height) + var(--space-6));border-block-start:var(--border);padding-block:var(--space-7)}.article-section h2{margin:0 0 var(--space-5);font-size:var(--text-xl);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading)}.article-section h3{margin:0 0 var(--space-3);font-size:var(--text-lg);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading)}.article-section p,.article-subsection p,.article-section li,.article-table td{color:var(--color-ink-muted);font-size:var(--text-base);line-height:var(--leading-reading)}.article-section p,.article-subsection p,.article-section blockquote{margin:0}.article-section p+p,.article-section p+blockquote,.article-section p+.article-section__list,.article-section p+.article-subsection,.article-section p+.article-code,.article-section p+.article-figure,.article-section p+.article-table-wrap,.article-section blockquote+p,.article-section blockquote+.article-code,.article-subsection+.article-subsection,.article-subsection+.article-code,.article-subsection+.article-figure,.article-code+.article-figure,.article-code+.article-table-wrap,.article-figure+.article-table-wrap{margin-block-start:var(--space-4)}.article-section blockquote{border-inline-start:2px solid var(--color-line-strong);color:var(--color-ink);font-size:var(--text-lg);letter-spacing:var(--tracking-body);line-height:var(--leading-reading);padding-inline-start:var(--space-4)}.article-section__list{gap:var(--space-3);margin:0;padding-inline-start:1.2rem;display:grid}.article-subsection{gap:var(--space-3);display:grid}.article-code{border:var(--border);background:var(--color-inverse-canvas);color:var(--color-inverse-ink);overflow:hidden}.article-code__header{justify-content:space-between;align-items:center;gap:var(--space-4);border-block-end:var(--border);padding:var(--space-3) var(--space-4);display:flex}.article-code__header span{color:var(--color-ink-muted);font-family:var(--font-code);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.article-code__status:not(:empty){padding:var(--space-3) var(--space-4);color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.article-code__copy{color:var(--color-ink);font-family:var(--font-code);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0}.article-code__copy:hover,.article-code__copy:focus-visible{color:var(--color-accent)}.article-code pre{padding:var(--space-4);margin:0;overflow-x:auto}.article-code code{color:inherit;font-family:var(--font-code);font-size:13px;line-height:var(--leading-body)}.article-code__line{display:inline}.article-code__token--comment{color:#8b949e}.article-code__token--string{color:#a5d6a7}.article-code__token--keyword{color:#8ec5ff}.article-code__token--type{color:#ffcc80}.article-code__token--number{color:#f7b267}.article-code__token--operator{color:var(--color-ink-muted)}.article-section code,.article-table code{font-family:var(--font-mono);font-size:.92em}.article-figure{gap:var(--space-3);border-block:var(--border);margin:0;display:grid}.article-figure__image{width:100%;height:auto;display:block}.article-figure figcaption{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.article-table-wrap{border-block:var(--border);max-width:100%;overflow-x:auto}.article-table{border-collapse:collapse;width:100%;min-width:40rem}.article-table th,.article-table td{border-block-end:var(--border);padding:var(--space-3);text-align:start;vertical-align:top}.article-table th{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:400}.text-link--inline{min-height:0;display:inline}.article-related p{margin-top:0}.article-pagination{gap:var(--space-4);border-block-start:var(--border);padding-block-start:var(--space-7);display:grid}.article-pagination__item{gap:var(--space-2);border:var(--border);color:inherit;min-height:8rem;padding:var(--space-4);transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);text-decoration:none;display:grid}.article-pagination__item:hover,.article-pagination__item:focus-visible{border-color:var(--color-line-strong);background:var(--color-surface-subtle)}.article-pagination__item--empty{display:none}.article-pagination__label{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.article-pagination__title{color:var(--color-ink);font-size:var(--text-xl);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (min-width:48rem){.project-figure__placeholder{min-height:clamp(14rem,38vw,34rem)}.project-credits li{grid-template-columns:minmax(0,1fr) minmax(8rem,.3fr)}.project-figure-grid,.project-pagination,.article-pagination{grid-template-columns:repeat(2,minmax(0,1fr))}.project-pagination__item--empty,.article-pagination__item--empty{border:0;min-height:0;padding:0;display:block}}@media (min-width:64rem){.project-case__layout,.article-detail__layout{grid-template-columns:minmax(0, var(--reading-max)) minmax(12rem, 16rem);justify-content:space-between;align-items:start}.project-case__inline-toc,.article-detail__inline-toc{display:none}.project-case__toc-rail,.article-detail__toc-rail{top:calc(var(--header-height) + var(--space-5));max-height:calc(100vh - var(--header-height) - var(--space-7));display:block;position:sticky;overflow-y:auto}.project-diagram__steps>li:not(:last-child):after{content:"→";top:50%;right:calc(var(--space-4) * -1);bottom:auto;left:auto;transform:translateY(-50%)}.project-diagram__steps{align-items:stretch;gap:var(--space-3);grid-template-columns:repeat(7,minmax(0,1fr))}.project-diagram__transaction{grid-column:span 2}.project-diagram__branches{grid-template-columns:repeat(2,minmax(0,1fr))}.project-diagram__node,.project-diagram__transaction{min-height:9rem}}.knowledge-tile h2{max-width:24ch;margin:0 0 var(--space-5);font-size:var(--text-2xl);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading)}.timeline-list,.experience-list{display:grid}.experience-row__org{color:var(--color-ink)}.experience-row__logo{width:7rem;margin-block-end:var(--space-4)}.experience-row__logo-image{box-sizing:border-box;width:100%;height:3rem;padding:var(--space-2);border-radius:var(--radius-media);object-fit:contain;object-position:center;background:#fff;display:block}.experience-row__context{color:var(--color-ink-faint)}.experience-row__description,.experience-row__outcomes{gap:var(--space-2);margin:var(--space-4) 0;color:var(--color-ink-muted);padding-inline-start:0;list-style:none;display:grid}.experience-row__description{margin-block:var(--space-2) 0}.experience-row__description li,.experience-row__outcomes li{gap:var(--space-3);grid-template-columns:.45rem minmax(0,1fr);align-items:start;display:grid}.experience-row__description li:before,.experience-row__outcomes li:before{background:var(--color-ink);content:"";width:.28rem;height:.28rem;margin-block-start:.68em}.testimonial-grid{gap:var(--space-5);display:grid}.testimonial-quote{border-block-start:var(--border-strong);margin:0;padding-block-start:var(--space-4)}.testimonial-quote blockquote{margin:0}.testimonial-quote figcaption{color:var(--color-ink-muted);font-size:var(--text-sm);margin-block-start:var(--space-4)}.testimonial-quote figcaption span{color:var(--color-ink-faint);display:block}.personal-note{gap:var(--space-6);align-items:center;display:grid}.personal-note__media{background:var(--color-surface-subtle);border-block:var(--border);place-items:end start;min-height:30rem;display:grid;position:relative;overflow:hidden}.personal-note__media img{object-fit:cover;object-position:center bottom}.personal-note__content{max-width:55rem}.personal-note h2{font-size:var(--text-xl);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading);margin:0}@media (min-width:48rem){.about-hero{align-items:start;column-gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(18rem,24rem)}.about-hero__media{justify-self:end;width:100%}.site-footer__grid{grid-template-columns:1fr auto auto}.about-section__inner{column-gap:var(--space-7);grid-template-columns:minmax(14rem,.31fr) minmax(0,1fr);align-items:start}.editorial-definition-list__row{column-gap:var(--space-5);grid-template-columns:minmax(12rem,.34fr) minmax(0,1fr);align-items:start}.about-contact__actions{column-gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.about-contact__actions .text-link:nth-last-child(2){border-block-end:var(--border)}.section-header{grid-template-columns:1fr auto}.impact-statistics__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.impact-metric{padding:var(--space-4)}.impact-metric:nth-child(odd){border-inline-end:var(--border)}.featured-project__body{grid-template-columns:minmax(0,1fr) minmax(18rem,.45fr)}.project-split{align-items:center;column-gap:var(--space-5);grid-template-columns:3rem minmax(12rem,.62fr) minmax(13rem,.38fr) 7rem auto}.project-split__discipline,.project-split__period,.project-split__link{grid-column:auto}.project-split__link{justify-self:end}.project-row{grid-template-columns:4rem minmax(0,1fr) 12rem 8rem auto;align-items:start}.article-row{grid-template-columns:8rem minmax(0,1fr) 2.75rem;align-items:start}.timeline-row,.experience-row{grid-template-columns:12rem minmax(0,1fr)}.testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.personal-note{column-gap:var(--space-7);grid-template-columns:minmax(16rem,.42fr) minmax(0,1fr)}}@media (min-width:64rem){.about-hero{column-gap:var(--space-8);padding-block:var(--space-9) var(--space-8);grid-template-columns:minmax(0,1fr) minmax(21rem,27rem)}.about-hero__title{font-size:var(--text-hero)}.about-section__heading h2{font-size:var(--text-2xl)}.home-hero{padding-block:var(--space-9) var(--space-8)}.home-hero__title{font-size:var(--text-hero)}.home-hero__description{max-width:46ch}.home-visual__stage{min-height:18rem}.home-section{padding-block:var(--space-9)}.impact-statistics__inner{padding-block:var(--space-6)}.impact-statistics__metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.impact-metric{border-inline-end:var(--border)}.impact-metric:last-child{border-inline-end:0}}@media (min-width:80rem){.site-nav{display:flex}.mobile-nav{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.home-hero__entry,.impact-statistics__heading,.impact-metric,.impact-statistics__visual,.motion-reveal,.motion-reveal[data-reveal-state=pending],.project-visual__grid,.text-link__arrow,.article-row__arrow span,.site-footer__link-arrow,.mobile-nav__popup{opacity:1;transform:none!important}}.project-toc li[data-depth="3"] a{font-size:var(--text-xs);padding-inline-start:var(--space-4)}.project-section--mdx h2:not(:first-child),.article-section--mdx h2:not(:first-child){margin-block-start:var(--space-8);padding-block-start:var(--space-6)}.article-section--mdx h3:not(:first-child){margin-block-start:var(--space-6)}.content-quote{margin:0}.content-callout{gap:var(--space-3);border:var(--border);background:var(--color-surface-subtle);padding:var(--space-4);margin:0;display:grid}.content-callout__title{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0}:is(.app-root:has([data-personal-homepage])>.site-header,.app-root:has([data-personal-homepage])>.site-footer){display:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
.app-root:not(:has([data-personal-homepage])) .site-container{width:min(100%, var(--personal-width));padding-inline:var(--page-gutter)}.app-root:not(:has([data-personal-homepage])) .site-header,.app-root:not(:has([data-personal-homepage])) .site-footer{background:var(--color-canvas);color:var(--color-ink);border-block:0}.app-root:not(:has([data-personal-homepage])) .site-brand__mark{display:none}.app-root:not(:has([data-personal-homepage])) .site-brand__name{font-weight:500}.app-root:not(:has([data-personal-homepage])) .site-nav__link{border-block-end:0;align-items:center;min-height:2.75rem;display:inline-flex}.app-root:not(:has([data-personal-homepage])) .site-nav__link[aria-current=page]{text-underline-offset:.25em;text-decoration:underline}.app-root:not(:has([data-personal-homepage])) .mobile-nav{position:static}.app-root:not(:has([data-personal-homepage])) .mobile-nav__trigger{border:0}.app-root:not(:has([data-personal-homepage])) .page-intro,.app-root:not(:has([data-personal-homepage])) .project-case__hero,.app-root:not(:has([data-personal-homepage])) .article-detail__hero,.app-root:not(:has([data-personal-homepage])) .about-hero{padding-block:var(--space-6) var(--space-8)}.app-root:not(:has([data-personal-homepage])) .page-title,.app-root:not(:has([data-personal-homepage])) .project-case__hero-copy h1,.app-root:not(:has([data-personal-homepage])) .article-detail__hero-copy h1,.app-root:not(:has([data-personal-homepage])) .about-hero__title{max-width:26ch;font-size:var(--text-2xl);letter-spacing:var(--tracking-heading);font-weight:500;line-height:var(--leading-heading);overflow-wrap:break-word}.app-root:not(:has([data-personal-homepage])) .page-description,.app-root:not(:has([data-personal-homepage])) .project-case__hero-copy p,.app-root:not(:has([data-personal-homepage])) .article-detail__hero-copy p,.app-root:not(:has([data-personal-homepage])) .about-hero__body p{max-width:52ch;font-size:var(--text-base)}.app-root:not(:has([data-personal-homepage])) .eyebrow,.app-root:not(:has([data-personal-homepage])) .metadata-list dt,.app-root:not(:has([data-personal-homepage])) .project-row__index,.app-root:not(:has([data-personal-homepage])) .project-row__label,.app-root:not(:has([data-personal-homepage])) .project-split__index,.app-root:not(:has([data-personal-homepage])) .project-split__label,.app-root:not(:has([data-personal-homepage])) .project-split__period,.app-root:not(:has([data-personal-homepage])) .article-row time,.app-root:not(:has([data-personal-homepage])) .experience-row time,.app-root:not(:has([data-personal-homepage])) .timeline-row__marker,.app-root:not(:has([data-personal-homepage])) .timeline-row__status,.app-root:not(:has([data-personal-homepage])) .archive-group__header span,.app-root:not(:has([data-personal-homepage])) .archive-entry__index,.app-root:not(:has([data-personal-homepage])) .project-toc p,.app-root:not(:has([data-personal-homepage])) .project-credits span:last-child,.app-root:not(:has([data-personal-homepage])) .project-pagination__label,.app-root:not(:has([data-personal-homepage])) .article-pagination__label,.app-root:not(:has([data-personal-homepage])) .project-figure figcaption,.app-root:not(:has([data-personal-homepage])) .article-figure figcaption,.app-root:not(:has([data-personal-homepage])) .site-footer__column-title,.app-root:not(:has([data-personal-homepage])) .site-footer__meta{font-family:var(--font-sans);letter-spacing:var(--tracking-body);text-transform:none}.app-root:not(:has([data-personal-homepage])) .eyebrow{margin-block-end:var(--space-3)}.app-root:not(:has([data-personal-homepage])) .about-section__eyebrow{margin-block-end:0}.app-root:not(:has([data-personal-homepage])) .work-list,.app-root:not(:has([data-personal-homepage])) .archive,.app-root:not(:has([data-personal-homepage])) .project-case__layout,.app-root:not(:has([data-personal-homepage])) .article-detail__layout{padding-block-end:var(--space-8)}.app-root:not(:has([data-personal-homepage])) .work-list__heading,.app-root:not(:has([data-personal-homepage])) .about-section__heading h2,.app-root:not(:has([data-personal-homepage])) .section-header__description{font-size:var(--text-lg);font-weight:500;line-height:var(--leading-heading)}.app-root:not(:has([data-personal-homepage])) .work-list__rows{margin-block-start:var(--space-4)}.app-root:not(:has([data-personal-homepage])) .project-row,.app-root:not(:has([data-personal-homepage])) .project-split,.app-root:not(:has([data-personal-homepage])) .article-row,.app-root:not(:has([data-personal-homepage])) .experience-row,.app-root:not(:has([data-personal-homepage])) .timeline-row{padding-block:var(--space-5);border-block:0}.app-root:not(:has([data-personal-homepage])) .project-row__title,.app-root:not(:has([data-personal-homepage])) .article-row__title,.app-root:not(:has([data-personal-homepage])) .experience-row__title{font-weight:500}.app-root:not(:has([data-personal-homepage])) .metadata-list__item,.app-root:not(:has([data-personal-homepage])) .archive-group,.app-root:not(:has([data-personal-homepage])) .skeleton-section,.app-root:not(:has([data-personal-homepage])) .project-credits li,.app-root:not(:has([data-personal-homepage])) .testimonial-quote{border-block-start:0}.app-root:not(:has([data-personal-homepage])) .archive-entry,.app-root:not(:has([data-personal-homepage])) .editorial-definition-list__row,.app-root:not(:has([data-personal-homepage])) .about-contact__actions .text-link,.app-root:not(:has([data-personal-homepage])) .project-metric-group,.app-root:not(:has([data-personal-homepage])) .project-metric-group li{border-block:0}.app-root:not(:has([data-personal-homepage])) .archive-group{padding-block-start:var(--space-3)}.app-root:not(:has([data-personal-homepage])) .project-visual,.app-root:not(:has([data-personal-homepage])) .project-figure,.app-root:not(:has([data-personal-homepage])) .article-figure,.app-root:not(:has([data-personal-homepage])) .about-hero__portrait-frame{border-radius:var(--radius-media);border-block:0}.app-root:not(:has([data-personal-homepage])) .project-section,.app-root:not(:has([data-personal-homepage])) .article-section{padding-block:var(--space-5);border-block-start:0}.app-root:not(:has([data-personal-homepage])) .project-toc{border-inline-start:0;padding-inline-start:0}.app-root:not(:has([data-personal-homepage])) .article-section blockquote{border-inline-start:0}.app-root:not(:has([data-personal-homepage])) .project-figure__placeholder span{border-block-start:0}.app-root:not(:has([data-personal-homepage])) .project-case__content{max-width:68ch}.app-root:not(:has([data-personal-homepage])) .article-detail__content{max-width:72ch}.app-root:not(:has([data-personal-homepage])) .project-pagination,.app-root:not(:has([data-personal-homepage])) .article-pagination{border-block-start:0;padding-block-start:var(--space-6)}.app-root:not(:has([data-personal-homepage])) .project-pagination__item,.app-root:not(:has([data-personal-homepage])) .article-pagination__item{min-height:2.75rem;padding:var(--space-3) 0;border:0}.app-root:not(:has([data-personal-homepage])) .project-pagination__title,.app-root:not(:has([data-personal-homepage])) .article-pagination__title{font-size:var(--text-lg)}.app-root:not(:has([data-personal-homepage])) .about-section{padding-block:var(--space-5)}.app-root:not(:has([data-personal-homepage])) .about-section__inner{gap:var(--space-5);border-block-start:0;grid-template-columns:minmax(0,1fr);padding-block-start:0}.app-root:not(:has([data-personal-homepage])) .about-section__heading{max-width:52ch}.app-root:not(:has([data-personal-homepage])) .about-section__content,.app-root:not(:has([data-personal-homepage])) .featured-project__body>div{min-width:0}.app-root:not(:has([data-personal-homepage])) .about-contact__actions .text-link{min-height:2.75rem}.app-root:not(:has([data-personal-homepage])) .project-diagram__steps{grid-template-columns:minmax(0,1fr)}.app-root:not(:has([data-personal-homepage])) .project-diagram__transaction{grid-column:auto}.app-root:not(:has([data-personal-homepage])) .project-diagram__steps>li:not(:last-child):after{content:"↓";top:auto;left:50%;right:auto;bottom:calc(var(--space-4) * -1);transform:translate(-50%)}.app-root:not(:has([data-personal-homepage])) .site-footer{margin-block-start:var(--space-6)}.app-root:not(:has([data-personal-homepage])) .site-footer__inner{padding-block:var(--space-6) var(--space-8)}.app-root:not(:has([data-personal-homepage])) .site-footer__headline{font-size:var(--text-lg);font-weight:500}.app-root:not(:has([data-personal-homepage])) .site-footer__rule{display:none}.app-root:not(:has([data-personal-homepage])) .site-footer__grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr);margin-block-start:var(--space-4)}.app-root:not(:has([data-personal-homepage])) .site-footer__links{align-items:center;gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.app-root:not(:has([data-personal-homepage])) .site-footer__link{min-height:2.75rem;color:var(--color-accent)}.app-root:not(:has([data-personal-homepage])) .site-footer__meta{margin-block-start:var(--space-5)}@media (min-width:48rem){.app-root:not(:has([data-personal-homepage])) .site-nav{display:flex}.app-root:not(:has([data-personal-homepage])) .mobile-nav{display:none}.app-root:not(:has([data-personal-homepage])) .about-hero{column-gap:var(--space-7);grid-template-columns:minmax(0,1fr) 14rem}.app-root:not(:has([data-personal-homepage])) .featured-project__body{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.app-root:not(:has([data-personal-homepage])) .project-row{column-gap:var(--space-4);grid-template-columns:2rem minmax(0,1fr) auto}.app-root:not(:has([data-personal-homepage])) .project-row__index{grid-area:1/1}.app-root:not(:has([data-personal-homepage])) .project-row>div,.app-root:not(:has([data-personal-homepage])) .project-row>span:not(.project-row__index){grid-column:2}.app-root:not(:has([data-personal-homepage])) .project-row>.text-link{grid-area:1/3}.app-root:not(:has([data-personal-homepage])) .experience-row,.app-root:not(:has([data-personal-homepage])) .timeline-row{grid-template-columns:10rem minmax(0,1fr)}}@media (min-width:64rem){.app-root:not(:has([data-personal-homepage])) .project-case__layout,.app-root:not(:has([data-personal-homepage])) .article-detail__layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 12rem}}.mobile-nav__popup{border:0}.mobile-nav__header,.mobile-nav__link{border-block-end:0}.mobile-nav__link[aria-current=page]{text-underline-offset:.25em;text-decoration:underline}
