@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-latin-400-normal-B40WzpMT.woff2)format("woff2"),url(/assets/geist-latin-400-normal-akEymXtG.woff)format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-latin-500-normal-CTWBw9NS.woff2)format("woff2"),url(/assets/geist-latin-500-normal-BDXIbFrL.woff)format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-600-normal-CSETrqM2.woff2)format("woff2"),url(/assets/geist-latin-600-normal-DsPlZH-9.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}}@layer components;@layer utilities{.contents{display:contents}.hidden{display:none}}:root{--color-paper:oklch(98% .004 145);--color-surface:oklch(94% .012 145);--color-ink:oklch(24% .018 145);--color-muted:oklch(44% .016 145);--color-rule:oklch(81% .014 145);--color-input:oklch(99% .003 145);--color-input-border:oklch(60% .015 145);--color-accent:oklch(37% .073 150);--color-on-accent:oklch(98% .004 145);--color-error:oklch(43% .16 25);--font-display:"Geist", sans-serif;--font-body:"Geist", sans-serif;--font-outlier:"IBM Plex Mono", monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--page-gutter:3rem;--z-sticky:200;font-family:var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none}:root[data-theme=dark]{--color-paper:oklch(18% .012 145);--color-surface:oklch(24% .018 145);--color-ink:oklch(94% .006 145);--color-muted:oklch(75% .01 145);--color-rule:oklch(38% .015 145);--color-input:oklch(22% .012 145);--color-input-border:oklch(60% .015 145);--color-accent:oklch(80% .075 150);--color-on-accent:oklch(18% .012 145);--color-error:oklch(79% .11 25);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-paper:oklch(18% .012 145);--color-surface:oklch(24% .018 145);--color-ink:oklch(94% .006 145);--color-muted:oklch(75% .01 145);--color-rule:oklch(38% .015 145);--color-input:oklch(22% .012 145);--color-input-border:oklch(60% .015 145);--color-accent:oklch(80% .075 150);--color-on-accent:oklch(18% .012 145);--color-error:oklch(79% .11 25);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-padding-top:var(--space-xl)}body{background:var(--color-paper);color:var(--color-ink);margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button,select,input,textarea{border-radius:0}p,h1,h2,h3{margin:0}a,button{touch-action:manipulation}p{line-height:1.65}h1,h2,h3{font-family:var(--font-display);overflow-wrap:anywhere;min-width:0;font-style:normal}h1{letter-spacing:-.065em;font-size:clamp(2.75rem,5.4vw,5.25rem);font-weight:500;line-height:1.04}h2{letter-spacing:-.035em;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:500;line-height:1.2}h3{letter-spacing:-.02em;font-size:1.125rem;font-weight:500}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}button:active,a:active{opacity:.7}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}button:disabled{pointer-events:none}.shell{width:calc(100% - var(--page-gutter) * 2);max-width:1120px;margin-inline:auto}.site-header{justify-content:space-between;align-items:center;height:100px;display:flex}.wordmark{align-items:baseline;gap:var(--space-sm);font-family:var(--font-outlier);letter-spacing:-1px;white-space:nowrap;min-height:44px;padding-block:var(--space-sm);font-size:20px;display:inline-flex}.wordmark span{font-family:var(--font-body);letter-spacing:0;font-size:9px}.header-contact{align-items:center;gap:var(--space-lg);white-space:nowrap;min-height:44px;font-size:13px;display:inline-flex}.intro{padding-top:var(--space-2xl);padding-bottom:var(--space-3xl)}.intro h1 span{color:var(--color-muted)}.intro>p{max-width:55ch;margin-top:var(--space-xl);font-size:17px}.contents{align-items:center;gap:var(--space-2xl);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.contents a{align-items:center;gap:var(--space-md);white-space:nowrap;min-height:44px;font-size:13px;line-height:1;display:inline-flex}.contents svg{color:var(--color-muted)}.projects{padding-bottom:var(--space-4xl)}.projects h2{letter-spacing:0;margin-bottom:var(--space-lg);font-size:14px;font-weight:500}.featured-project{background:var(--color-surface);padding:var(--space-2xl);gap:var(--space-3xl);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:end;display:grid}.project-name{align-self:start}.project-name h3{letter-spacing:-.045em;font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.08}.project-info{gap:var(--space-lg);flex-direction:column;align-items:flex-start;display:flex}.project-type{color:var(--color-muted);font-size:12px}.project-info>p:not(.project-type){max-width:55ch;font-size:15px}.project-link{align-items:center;gap:var(--space-lg);border-bottom:1px solid var(--color-ink);white-space:nowrap;min-height:44px;font-size:13px;display:inline-flex}.services{padding-bottom:var(--space-4xl)}.services h2{margin-bottom:var(--space-xl)}.service{gap:var(--space-2xl);border-top:1px solid var(--color-rule);padding-block:var(--space-xl);grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);display:grid}.service h3{font-size:20px}.service-copy>p{max-width:65ch;font-size:15px}.example-toggle{gap:var(--space-md);min-height:44px;color:var(--color-muted);white-space:nowrap;background:0 0;border:0;align-items:center;padding:0;font-size:12px;display:flex}.service-copy .service-example{color:var(--color-muted);margin-top:var(--space-sm);padding-left:var(--space-md);font-size:14px}.approach{max-width:760px;padding-bottom:var(--space-3xl)}.section-lede{margin-top:var(--space-lg);max-width:65ch;font-size:17px}.process-list{padding-left:var(--space-lg);margin-top:var(--space-xl);gap:var(--space-lg);margin-bottom:0;list-style:decimal;display:grid}.process-list li{padding-left:var(--space-sm)}.process-list li::marker{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:13px}.process-list h3{font-size:15px}.process-list p{color:var(--color-muted);max-width:65ch;margin-top:var(--space-xs);font-size:14px}.about{padding-top:var(--space-xl);padding-bottom:var(--space-4xl);max-width:760px}.about p{max-width:65ch;margin-top:var(--space-lg);font-size:17px}.contact{border-top:1px solid var(--color-rule);padding-top:var(--space-2xl);padding-bottom:var(--space-4xl);gap:var(--space-2xl);grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);display:grid}.contact-heading h2{font-size:26px}.contact-heading p{color:var(--color-muted);margin-top:var(--space-lg);font-size:14px}.email-link{align-items:center;gap:var(--space-sm);white-space:nowrap;min-height:44px;margin-top:var(--space-md);border-bottom:1px solid var(--color-ink);font-size:14px;display:inline-flex}form{min-width:0}.form-row{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}label{margin-bottom:var(--space-lg);font-size:12px;display:block}input,textarea,select{border:1px solid var(--color-input-border);background:var(--color-input);width:100%;color:var(--color-ink);padding:var(--space-sm) var(--space-md);min-height:44px;margin-top:var(--space-sm);font-size:15px;display:block}textarea{resize:vertical;min-height:112px}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-error)}.field-error{min-height:1.5em;color:var(--color-error);margin-top:var(--space-xs);font-size:11px;display:block}.form-submit{gap:var(--space-lg);align-items:center;display:flex}.button{justify-content:center;align-items:center;gap:var(--space-lg);background:var(--color-accent);color:var(--color-on-accent);border:1px solid var(--color-accent);padding:var(--space-md) var(--space-lg);white-space:nowrap;min-height:48px;font-size:13px;line-height:1;display:inline-flex}.form-submit p{color:var(--color-muted);font-size:11px}.form-status{margin-top:var(--space-lg);max-width:65ch;font-size:12px}.form-status:empty{display:none}footer{padding-block:var(--space-xl);border-top:1px solid var(--color-rule)}footer>.wordmark{font-size:32px}.footer-bottom{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-top:var(--space-md);color:var(--color-muted);font-size:11px;display:flex}.footer-bottom>div{align-items:center;gap:var(--space-lg);display:flex}.footer-bottom a,.theme-toggle{align-items:center;gap:var(--space-sm);white-space:nowrap;min-height:44px;line-height:1;display:inline-flex}.theme-toggle{color:inherit;background:0 0;border:0;padding:0;font-size:11px}.moon-icon{display:none}.skip-link{top:var(--space-sm);left:var(--space-sm);padding:var(--space-md);background:var(--color-ink);color:var(--color-paper);z-index:var(--z-sticky);clip-path:inset(100%);position:fixed}.skip-link:focus{clip-path:none}@media (hover:hover){a:hover{text-underline-offset:3px;text-decoration:underline}button:hover{opacity:.75}input:hover,select:hover,textarea:hover{background:var(--color-surface)}}@media (width<=767px){:root{--page-gutter:1.5rem}.site-header{height:80px}.header-contact{gap:var(--space-sm);font-size:12px}.intro{padding-top:var(--space-xl);padding-bottom:var(--space-2xl)}h1{letter-spacing:-.05em;font-size:clamp(2.15rem,7.4vw,3.5rem)}.intro>p{font-size:16px}.contents{column-gap:var(--space-lg);margin-top:var(--space-lg);row-gap:0}.contents a{gap:var(--space-sm);font-size:12px}.featured-project{gap:var(--space-xl);padding:var(--space-lg);grid-template-columns:minmax(0,1fr)}.project-name{display:block}.project-name h3{font-size:36px}.project-info{gap:var(--space-md)}.projects,.services{padding-bottom:var(--space-3xl)}.service{gap:var(--space-md);padding-block:var(--space-lg);grid-template-columns:minmax(0,1fr)}.service h3{font-size:18px}.service-copy>p{font-size:15px}.approach{padding-bottom:var(--space-xl)}.about{padding-bottom:var(--space-3xl)}.contact{gap:var(--space-2xl);padding-bottom:var(--space-3xl);grid-template-columns:minmax(0,1fr)}.contact-heading h2{font-size:26px}.contact-heading p{margin-top:var(--space-md)}.email-link{margin-top:var(--space-sm)}.form-row,.form-submit{gap:var(--space-md)}.button{padding-inline:var(--space-md);gap:var(--space-md)}.footer-bottom{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.footer-bottom>div{justify-content:space-between;width:100%}}@media (width<=360px){:root{--page-gutter:1rem}.wordmark{font-size:18px}.header-contact{font-size:11px}.project-name h3{font-size:32px}.form-row{grid-template-columns:minmax(0,1fr);gap:0}.form-submit{flex-direction:column;align-items:flex-start}.contents{column-gap:var(--space-md)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.project-link{color:var(--color-ink);text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;padding:0}.project-overview{border-top:1px solid var(--color-rule);padding-top:var(--space-xl);grid-column:1/-1}.project-overview h4{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 var(--space-md);font-size:20px;font-weight:500}.project-overview>p{max-width:65ch;margin-bottom:var(--space-xl);font-size:15px}.proof-decisions{gap:var(--space-xl);margin-block:var(--space-lg) var(--space-xl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.proof-decisions dt{font-size:14px;font-weight:500}.proof-decisions dd{margin:var(--space-sm) 0 0;color:var(--color-muted);font-size:13px;line-height:1.6}.project-overview .project-caveat{color:var(--color-muted);font-size:13px}@media (width<=767px){.proof-decisions{gap:var(--space-lg);grid-template-columns:minmax(0,1fr)}.project-type{font-size:11px}}
