@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Inter:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap";/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@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-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:"Inter", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-medium:500;--font-weight-semibold:600;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-brand:#166534;--color-foundation:#18181b;--color-white:#fff;--color-canvas:#0b0b0c}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-canvas:color-mix(in srgb, var(--color-foundation) 45%, black)}}:root,:host{--color-canvas-soft:#121214}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-canvas-soft:color-mix(in srgb, var(--color-foundation) 75%, black)}}:root,:host{--color-surface:var(--color-foundation);--color-surface-raised:#262629}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-surface-raised:color-mix(in srgb, var(--color-foundation) 94%, white)}}:root,:host{--color-surface-card:#141417}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-surface-card:color-mix(in srgb, var(--color-foundation) 85%, black)}}:root,:host{--color-surface-tinted:color-mix(in srgb, #166534 18%, color-mix(in srgb, var(--color-foundation) 45%, black))}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-surface-tinted:color-mix(in srgb, var(--color-brand) 18%, var(--color-canvas))}}:root,:host{--color-paper:#f8fafc;--color-copy:#d4d4d8;--color-copy-bright:#e4e4e7;--color-muted:#a9b4c2;--color-dim:#8b96a5;--color-secondary:#b4b4bd;--color-line:#30363d;--color-line-soft:#30363da6;--color-accent:var(--color-brand);--color-accent-hover:#114f29}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-accent-hover:color-mix(in srgb, var(--color-brand) 78%, black)}}:root,:host{--color-accent-mark:#73a385}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-accent-mark:color-mix(in srgb, var(--color-brand) 60%, white)}}:root,:host{--color-link:#689b7b}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-link:color-mix(in srgb, var(--color-brand) 65%, white)}}:root,:host{--color-link-soft:var(--color-link);--color-link-hover:#96baa4}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-link-hover:color-mix(in srgb, var(--color-brand) 45%, white)}}:root,:host{--color-focus:#96baa4}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-focus:color-mix(in srgb, var(--color-brand) 45%, white)}}:root,:host{--font-heading:"Geist", "Inter", system-ui, sans-serif;--text-caption:.75rem;--text-caption--line-height:1.4;--text-label:.8125rem;--text-label--line-height:1.45;--text-control:.875rem;--text-control--line-height:1;--text-body:1rem;--text-body--line-height:1.6}}@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%;-moz-tab-size:4;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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{color-scheme:dark;font-synthesis:none;background-color:var(--color-canvas);font-family:var(--font-sans);color:var(--color-paper)}*{box-sizing:border-box}html{overscroll-behavior:none;background-color:var(--color-canvas);scroll-behavior:smooth;scroll-padding-top:78px}body{overscroll-behavior:none;background-color:var(--color-canvas);min-height:100vh;color:var(--color-paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-width:320px;margin:0;overflow-x:clip}#root{overscroll-behavior:none;min-height:100vh}button,input,textarea{font:inherit}button:enabled{cursor:pointer}a{color:inherit;text-decoration:none}button,a,input,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 2px var(--color-canvas)}img{max-width:100%;display:block}p,h1,h2,h3,figure,blockquote{margin:0}}@layer components{.form-field{gap:calc(var(--spacing) * 2);display:grid}.form-field label{font-family:var(--font-heading);font-size:var(--text-control);line-height:var(--tw-leading,var(--text-control--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-copy-bright)}.form-input{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-line);background-color:var(--color-canvas-soft);width:100%;min-width:0;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 3);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));color:var(--color-paper);border-radius:0}.form-input:disabled{opacity:.6}textarea.form-input{resize:vertical;min-height:150px}.button{min-height:calc(var(--spacing) * 11);cursor:pointer;justify-content:center;align-items:center;gap:calc(var(--spacing) * 3);border-style:var(--tw-border-style);background-color:var(--color-accent);padding-inline:calc(var(--spacing) * 4);font-family:var(--font-heading);font-size:var(--text-control);line-height:var(--tw-leading,var(--text-control--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-white);border-width:0;border-radius:0;display:inline-flex}@media(hover:hover){.button:hover{background-color:var(--color-accent-hover)}}.button:disabled{cursor:wait;opacity:.6}.tiny-label{font-family:var(--font-heading);font-size:var(--text-label);line-height:var(--tw-leading,var(--text-label--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:.06em;letter-spacing:.06em;color:var(--color-muted)}.text-action{min-height:calc(var(--spacing) * 11);align-items:center;gap:calc(var(--spacing) * 3);font-family:var(--font-heading);font-size:var(--text-control);line-height:var(--tw-leading,var(--text-control--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-link-soft);display:inline-flex}@media(hover:hover){.text-action:hover{color:var(--color-link-hover)}}.nav__link,.footer nav a,.home-bio__copy p a,.text-action,.text-link,.page-breadcrumbs a,.contact-socials a span{text-underline-offset:5px;text-decoration-line:none;text-decoration-style:solid;text-decoration-thickness:1px}.footer nav a:hover,.home-bio__copy p a:hover,.text-action:hover,.text-link:hover,.page-breadcrumbs a:hover,.contact-socials a:hover span{color:var(--color-link-hover);text-decoration-line:underline;text-decoration-style:solid}.skip-link{background-color:var(--color-accent);color:var(--color-white);z-index:100;padding:10px 14px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.tiny-label--dot:before{background-color:var(--color-accent-mark);content:"";border-radius:50%;width:4px;height:4px;margin:0 10px 2px 0;display:inline-block}.site-shell{background-color:var(--color-canvas);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);width:100%;min-height:100vh;display:grid}.site-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);z-index:30;background-color:color-mix(in srgb,color-mix(in srgb,var(--color-foundation) 45%,black) 97%,transparent);grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr);align-items:center;min-height:60px;padding:0 clamp(22px,3.2vw,48px);display:grid;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.site-header{background-color:color-mix(in srgb,var(--color-canvas) 97%,transparent)}}.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{justify-self:start;align-items:center;width:max-content;display:inline-flex}.brand:hover,.brand:focus-visible{color:var(--color-link-hover)}.brand>span{font:600 29px/1 var(--font-heading);letter-spacing:-.055em}.menu-toggle{display:none}.nav{justify-content:center;align-self:stretch;align-items:stretch;gap:clamp(18px,2vw,32px);display:flex}.nav__link{color:var(--color-muted);font:500 14px/1 var(--font-heading);letter-spacing:.035em;justify-content:center;align-items:center;transition:color .16s,background-color .16s;display:inline-flex;position:relative}.nav__link:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.nav__link:hover{color:var(--color-link-hover)}.nav__link--active{color:var(--color-link)}.nav__link:hover:after,.nav__link:focus-visible:after,.nav__link--active:after{background:var(--color-accent-mark)}.header__actions{justify-self:end;align-items:center;gap:10px;display:flex}.header__subscribe{letter-spacing:.025em;justify-content:center;align-items:center;min-width:118px;min-height:40px;padding:0 20px;display:inline-flex}.main{grid-area:2/1;min-width:0}.main--home{display:grid}#subscribe{scroll-margin-top:78px}.hero{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);background-color:var(--color-surface-tinted);place-items:center;height:clamp(425px,34vw,455px);display:grid;position:relative;overflow:hidden}.hero__image,.hero__shade{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.hero__image{object-fit:cover;object-position:center 52%}.hero__shade{background-color:color-mix(in srgb,color-mix(in srgb,var(--color-foundation) 45%,black) 62%,transparent)}@supports (color:color-mix(in lab,red,red)){.hero__shade{background-color:color-mix(in srgb,var(--color-canvas) 62%,transparent)}}.hero__shade{box-shadow:inset 0 110px 120px #0003,inset 0 -150px 130px #0000007a}.hero__content{z-index:2;grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,72px);width:min(100%,1200px);padding:72px 40px;display:grid;position:relative}.hero__portrait{object-fit:cover;aspect-ratio:1;border:1px solid #a9b4c24d;width:100%;height:auto;box-shadow:0 20px 60px #0000004d}.hero__copy{text-align:center;flex-direction:column;align-items:center;min-width:0;display:flex}.hero h1{max-width:1040px;font:500 clamp(48px,5.4vw,76px)/.98 var(--font-heading);letter-spacing:-.055em;text-wrap:balance;text-shadow:0 2px 20px #00000061}.hero__dek{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));color:var(--color-copy-bright);text-wrap:balance;text-shadow:0 1px 9px #000c;max-width:720px;margin-top:24px;line-height:1.58}.main--home .hero{height:auto;min-height:calc(100svh - 146px)}.hero__dek p+p{margin-top:14px}.hero__signup{background:linear-gradient(135deg,color-mix(in srgb,color-mix(in srgb,var(--color-foundation) 94%,white) 40%,transparent),color-mix(in srgb,color-mix(in srgb,var(--color-foundation) 45%,black) 28%,transparent) 55%,color-mix(in srgb,color-mix(in srgb,var(--color-brand) 18%,var(--color-canvas)) 42%,transparent));border:1px solid #a9b4c238;width:min(100%,560px);margin-top:32px;padding:clamp(22px,3vw,32px)}@supports (color:color-mix(in lab,red,red)){.hero__signup{background:linear-gradient(135deg,color-mix(in srgb,var(--color-surface-raised) 40%,transparent),color-mix(in srgb,var(--color-canvas) 28%,transparent) 55%,color-mix(in srgb,var(--color-surface-tinted) 42%,transparent))}}.hero__signup{-webkit-backdrop-filter:blur(10px)saturate(130%);backdrop-filter:blur(10px)saturate(130%);box-shadow:inset 0 1px #ffffff12,0 16px 48px #0000003d}.hero__signup h2{font:500 21px/1.2 var(--font-heading);letter-spacing:-.025em}.hero__signup-logo{aspect-ratio:754/90;width:min(100%,320px);margin:0 auto 14px;position:relative;overflow:hidden}.hero__signup-logo img{width:100%;height:auto;position:absolute;top:50%;left:0;transform:translateY(-50%)}.hero__signup>p:not(.form-note):not(.form-status){font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));color:var(--color-copy);margin-top:8px;line-height:1.5}.hero__signup .subscribe{max-width:none;height:52px;margin-top:18px}.hero__signup .form-note,.hero__signup .form-status{font-size:13px}.hero__signup .form-note{margin-top:10px}.hero__signup .form-status:empty{min-height:0;margin-top:0}.home-bio{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);background:radial-gradient(at 12% 20%,#16653447,#0000 55%),radial-gradient(at 85% 85%,#16653414,#0000 58%),radial-gradient(at 65% 0,#1665341f,#0000 48%),linear-gradient(125deg,#061c0f,#000 85%)}@supports (color:color-mix(in lab,red,red)){.home-bio{background:radial-gradient(ellipse at 12% 20%,color-mix(in srgb,var(--color-brand) 28%,transparent),transparent 55%),radial-gradient(ellipse at 85% 85%,color-mix(in srgb,var(--color-brand) 8%,transparent),transparent 58%),radial-gradient(ellipse at 65% 0%,color-mix(in srgb,var(--color-brand) 12%,transparent),transparent 48%),linear-gradient(125deg,color-mix(in srgb,var(--color-brand) 28%,black),#000 85%)}}.home-bio__copy p a{color:var(--color-link-soft);text-underline-offset:4px;text-decoration-line:none;text-decoration-color:currentColor}.home-bio__copy p a:hover{color:var(--color-link-hover);text-decoration-line:underline;text-decoration-color:currentColor}.home-bio__inner{grid-template-columns:260px minmax(0,1fr);align-items:center;gap:clamp(36px,6vw,88px);max-width:1120px;margin:0 auto;padding:80px 40px;display:grid}.home-bio__copy h2{max-width:620px;font:500 clamp(30px,3.5vw,46px)/1.08 var(--font-heading);letter-spacing:-.04em;margin-top:14px}.text-highlight{color:var(--color-white);background:linear-gradient(transparent 12%,var(--color-accent) 12%,var(--color-accent) 94%,transparent 94%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .08em}.home-bio__copy>p{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));color:var(--color-copy);margin-top:20px;line-height:1.65}.home-bio__link{color:var(--color-link-soft);min-height:44px;font:500 13px/1 var(--font-heading);align-items:center;gap:12px;margin-top:18px;display:inline-flex}.home-bio__link svg{width:14px;height:14px}@media(max-width:760px){.home-bio__inner{grid-template-columns:1fr;gap:30px;padding:48px 24px}.home-bio__inner .hero__portrait{width:200px}}.subscribe{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-line);grid-template-columns:1fr 125px;max-width:300px;height:47px;margin-top:13px;display:grid}.subscribe input{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));color:var(--color-paper);background:color-mix(in srgb,color-mix(in srgb,var(--color-foundation) 45%,black) 94%,transparent);border:0;min-width:0;padding:0 14px}@supports (color:color-mix(in lab,red,red)){.subscribe input{background:color-mix(in srgb,var(--color-canvas) 94%,transparent)}}.subscribe input::placeholder{color:var(--color-muted)}.subscribe button{justify-content:space-between;align-items:center;padding:0 16px;display:flex}.subscribe button svg{width:13px;height:13px}.form-note,.form-status{font:400 12px/1.4 var(--font-heading)}.form-note{color:var(--color-secondary);margin-top:7px}.form-status{color:var(--color-link-soft);min-height:11px;margin-top:2px}.interior-page{background-color:var(--color-canvas);min-height:calc(100svh - 146px)}.page-intro{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);text-align:center;background:linear-gradient(110deg,#061c0f,#000);grid-template-columns:minmax(0,1fr);align-content:center;place-items:end center;gap:16px;padding:32px clamp(24px,4vw,64px);display:grid}@supports (color:color-mix(in lab,red,red)){.page-intro{background:linear-gradient(110deg,color-mix(in srgb,var(--color-brand) 28%,black),#000)}}.page-intro .page-breadcrumbs ol{justify-content:center}.page-breadcrumbs ol{font:400 13px/1.5 var(--font-heading);flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.page-breadcrumbs li{color:var(--color-copy);gap:10px;display:flex}.page-breadcrumbs [aria-current=page]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-white)}.page-intro h1{max-width:1100px;font:500 clamp(32px,4vw,56px)/1.08 var(--font-heading);letter-spacing:-.055em;text-wrap:balance}.newsletter-panel{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);background-color:var(--color-surface);min-height:420px;position:relative;overflow:hidden}.newsletter-panel__art{pointer-events:none;opacity:.45;width:min(620px,52vw);position:absolute;bottom:-250px;right:-40px}.newsletter-panel__copy{z-index:1;width:min(100%,740px);padding:64px clamp(24px,7vw,112px);position:relative}.newsletter-panel h2{max-width:560px;font:400 clamp(34px,4vw,56px)/1.04 var(--font-heading);letter-spacing:-.045em;margin-top:10px}.newsletter-panel__copy>p:not(.tiny-label):not(.form-note):not(.form-status){font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));color:var(--color-copy);max-width:520px;margin-top:16px;line-height:1.55}.newsletter-panel .subscribe{grid-template-columns:1fr 150px;max-width:520px;height:54px;margin-top:25px}.newsletter-panel .form-note,.newsletter-panel .form-status{font-size:12px}.projects-grid{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);grid-template-columns:repeat(5,1fr);display:grid}.project-card{border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--color-line);background-color:var(--color-surface-card);min-height:280px;padding:28px 24px;position:relative}.project-card:nth-child(2n){background:var(--color-surface-raised)}.project-card:last-child{border-right:0}.project-card__number{color:var(--color-dim);font:500 12px/1 var(--font-heading);position:absolute;top:18px;right:18px}.project-card>svg{color:var(--color-link-soft);width:34px;height:34px;margin-top:28px}.project-card h2{color:var(--color-paper);min-height:48px;font:500 14px/1.45 var(--font-heading);margin-top:24px}.project-card p{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));color:var(--color-muted);margin-top:20px;line-height:1.55}.project-log{background-color:var(--color-canvas-soft);padding:36px clamp(24px,4vw,64px) 52px}.project-log .tiny-label{margin-bottom:16px}.project-log>p{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));color:var(--color-copy);justify-content:space-between;align-items:center;max-width:900px;min-height:54px;display:flex}.project-log svg{color:var(--color-link);width:15px;height:15px}.article-index{background:var(--color-canvas-soft);padding:32px clamp(24px,4vw,64px) 56px}.article-feed{margin:0;padding:0;list-style:none}.article-entry{grid-template-columns:minmax(0,1fr) 160px;gap:32px;display:grid}.article-card{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-line);background-color:var(--color-surface);grid-template-columns:180px minmax(0,1fr);align-items:center;gap:24px;margin-bottom:24px;padding:20px;text-decoration:none;display:grid}.article-card--text{grid-template-columns:minmax(0,1fr);min-height:180px}.article-card:hover,.article-card:focus-visible{background:var(--color-surface-tinted);border-color:var(--color-accent-mark);text-decoration:none}.article-card:hover h2,.article-card:focus-visible h2{color:var(--color-link-hover)}.article-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.article-card__image{aspect-ratio:1;object-fit:cover;width:100%;height:auto}.article-card__copy{min-width:0}.article-card__status{color:var(--color-link-soft);font:500 12px/1.4 var(--font-heading);align-items:center;gap:8px;display:inline-flex}.article-card__status svg{width:16px;height:16px}.article-card h2{color:var(--color-copy-bright);font:500 clamp(21px,2.2vw,30px)/1.16 var(--font-heading);letter-spacing:-.025em;text-wrap:pretty;margin-top:10px}.article-card p{color:var(--color-copy);margin-top:12px;font-size:16px;line-height:1.55}.article-timeline{--timeline-center: calc(50% - 12px) ;isolation:isolate;align-items:center;gap:24px;padding:0 0 24px;display:flex;position:relative}.article-timeline:before{content:"";border-left:1px solid var(--color-accent-mark);background:repeating-linear-gradient(to bottom,transparent 0 15px,var(--color-line) 15px 16px);opacity:.55;z-index:-1;width:12px;position:absolute;inset:0 auto 0 6px}.article-entry:first-child .article-timeline:before{top:var(--timeline-center)}.article-entry:last-child .article-timeline:before{bottom:calc(100% - var(--timeline-center))}.article-timeline__dot{border:3px solid var(--color-canvas-soft);outline:1px solid var(--color-accent-mark);background:var(--color-link);height:13px;box-shadow:0 0 0 6px var(--color-canvas-soft),0 0 22px #16653473;flex:0 0 13px;position:relative}@supports (color:color-mix(in lab,red,red)){.article-timeline__dot{box-shadow:0 0 0 6px var(--color-canvas-soft),0 0 22px color-mix(in srgb,var(--color-brand) 45%,transparent)}}.article-timeline__dot{transition:background .18s,box-shadow .18s}.article-timeline time{min-width:0;font-family:var(--font-heading);font-variant-numeric:tabular-nums;gap:4px;padding:12px 0;display:grid}.article-timeline__month{color:var(--color-link);font-size:14px;font-weight:500}.article-timeline__day{color:var(--color-copy-bright);letter-spacing:-.06em;font-size:56px;font-weight:500;line-height:1;transition:color .18s,text-shadow .18s}.article-timeline__year{color:var(--color-dim);letter-spacing:.12em;font-size:12px}.article-entry:hover .article-timeline__day,.article-entry:focus-within .article-timeline__day{color:var(--color-link-hover);text-shadow:0 0 28px #16653480}@supports (color:color-mix(in lab,red,red)){.article-entry:hover .article-timeline__day,.article-entry:focus-within .article-timeline__day{text-shadow:0 0 28px color-mix(in srgb,var(--color-brand) 50%,transparent)}}.article-entry:hover .article-timeline__dot,.article-entry:focus-within .article-timeline__dot{background:var(--color-link-hover);box-shadow:0 0 0 6px var(--color-canvas-soft),0 0 28px var(--color-brand)}@media(prefers-reduced-motion:reduce){.article-timeline__day,.article-timeline__dot{transition:none}}.article-state{min-height:260px;padding:48px clamp(20px,4vw,64px)}.article-index .article-state{padding-inline:0}.article-state h2{font:500 clamp(24px,3vw,36px)/1.2 var(--font-heading);margin-bottom:16px}.article-state p{max-width:640px;margin-bottom:24px;font-size:16px}.article-state__actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.article-pagination{border-top:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-top:24px;font-size:14px;display:flex}.public-article{--body:var(--font-sans);--heading:var(--font-heading);--paper:var(--color-paper);--muted:var(--color-muted);--accent-bright:var(--color-link);--focus:var(--color-focus);--ink-soft:var(--color-surface);--line:var(--color-line);background:var(--color-canvas)}.public-article .article-reading>.page-breadcrumbs{margin-bottom:28px}.public-article .article-afterword{max-width:860px;margin-top:40px}.article-newsletter{border-top:1px solid var(--color-line);margin-top:40px;padding-top:32px}.article-newsletter h2{font:500 28px/1.2 var(--font-heading);margin-bottom:12px}.article-newsletter>p{color:var(--color-muted);margin-bottom:20px;font-size:16px}.article-newsletter .subscribe{max-width:640px}.empty-state{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);background-color:var(--color-surface-raised);min-height:330px;padding:78px clamp(24px,7vw,112px);position:relative}.empty-state__index{color:#525254;position:absolute;top:28px;right:clamp(24px,4vw,64px)}@supports (color:color-mix(in lab,red,red)){.empty-state__index{color:color-mix(in srgb,var(--color-foundation) 75%,white)}}.empty-state__index{font:500 68px/1 var(--font-heading)}.empty-state h2{font:400 clamp(32px,4vw,52px)/1.05 var(--font-heading);letter-spacing:-.045em;margin-top:14px}.empty-state>p:not(.tiny-label){font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));color:var(--color-muted);max-width:480px;margin-top:15px;line-height:1.55}.about-grid{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);grid-template-columns:1fr 1fr;min-height:360px;display:grid}.about-grid>*{flex-direction:column;justify-content:center;padding:54px clamp(24px,6vw,92px);display:flex}.about-grid__statement{background-color:var(--color-canvas-soft);border-right:1px solid var(--color-line)}.about-grid__statement>p:not(.tiny-label){color:var(--color-copy);max-width:620px;font:400 clamp(20px,2.3vw,32px)/1.36 var(--font-heading);letter-spacing:-.025em;margin-top:18px}.about-grid__quote{background:var(--color-surface-raised)}.about-grid__quote blockquote{color:var(--color-copy-bright);max-width:540px;font:400 clamp(26px,3vw,44px)/1.22 var(--font-heading);letter-spacing:-.035em}.about-grid__quote figcaption{color:var(--color-link-soft);font:500 13px/1 var(--font-heading);margin-top:24px}.contact-layout{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);display:grid}.contact-message,.contact-sidebar{min-width:0;padding:40px clamp(24px,4vw,64px) 48px}.contact-message{border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--color-line);background-color:var(--color-canvas-soft)}.contact-layout h2{font-family:var(--font-heading);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-paper);letter-spacing:-.025em;font-size:24px}.contact-form{gap:20px;margin-top:28px;display:grid}.contact-form .button{justify-self:start}.contact-form .button svg{width:18px;height:18px}.contact-form .form-status{font-size:13px}.contact-sidebar{background:linear-gradient(145deg,var(--color-surface-tinted),var(--color-canvas) 80%)}.contact-socials{margin-top:24px}.contact-socials a{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);color:var(--color-link-soft);min-height:60px;font:500 16px/1.4 var(--font-heading);grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:16px;display:grid}.contact-socials a:first-child{border-top:1px solid var(--color-line)}.contact-socials svg{width:22px;height:22px}.contact-socials svg:last-child{width:16px;height:16px}.contact-newsletter{margin-top:40px}.contact-newsletter .hero__signup-logo{margin-left:0}.contact-newsletter>p:not(.form-note):not(.form-status){font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));color:var(--color-copy);max-width:none;margin-top:12px;line-height:1.6}.contact-newsletter .subscribe{margin-top:20px}@media(max-width:900px){.contact-layout{grid-template-columns:minmax(0,1fr)}.contact-message{border-right:0;border-bottom:1px solid var(--color-line)}.contact-message,.contact-sidebar{padding:28px 20px 36px}}@media(max-width:520px){.contact-newsletter .subscribe{grid-template-columns:minmax(0,1fr);height:auto}.contact-form .button{width:100%}}.newsletter-preference{gap:1.5rem;max-width:42rem;padding:2rem clamp(24px,4vw,64px) 3rem;display:grid}.newsletter-preference>p{line-height:1.7}.newsletter-preference .text-action{justify-self:start}.utility-page{padding-bottom:80px}.text-link{color:var(--color-link-soft);min-height:54px;font:500 13px/1 var(--font-heading);align-items:center;gap:12px;margin:34px clamp(24px,4vw,64px);display:inline-flex}.text-link svg{width:14px;height:14px}.footer{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-line);color:var(--color-secondary);background-color:color-mix(in srgb,color-mix(in srgb,var(--color-foundation) 45%,black) 97%,transparent);grid-area:3/1;grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);align-items:center;min-height:86px;padding:0 clamp(22px,3.2vw,48px);display:grid}@supports (color:color-mix(in lab,red,red)){.footer{background-color:color-mix(in srgb,var(--color-canvas) 97%,transparent)}}.footer{font:400 13px/1.4 var(--font-sans);letter-spacing:.04em}.footer nav{justify-content:center;gap:clamp(24px,3vw,48px);display:flex}.footer__socials{justify-self:end;gap:6px;display:flex}.footer__socials a{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-line);color:var(--color-copy);place-items:center;width:42px;height:42px;display:grid}.footer__socials svg{width:17px;height:17px}.footer a{transition:color .16s,background-color .16s}.footer a:hover{color:var(--color-link-hover)}.footer__socials a:hover{background-color:#16653457}@supports (color:color-mix(in lab,red,red)){.footer__socials a:hover{background-color:color-mix(in srgb,var(--color-brand) 34%,transparent)}}@media(max-width:1180px){.site-header{grid-template-columns:minmax(145px,1fr) auto minmax(145px,1fr)}.nav{gap:22px}}@media(max-width:1020px){.projects-grid{grid-template-columns:repeat(3,1fr)}.project-card:nth-child(3){border-right:0}.project-card:nth-child(n+4){border-top:1px solid var(--color-line)}.footer{grid-template-columns:1fr auto}.footer nav{grid-area:2/1/auto/-1;justify-content:flex-start;padding-bottom:16px}}@media(max-width:1100px){.site-header{grid-template-rows:minmax(60px,auto) auto;grid-template-columns:minmax(0,1fr) auto;padding:0 20px}.brand{grid-area:1/1}.brand>span{font-size:27px}.header__actions{grid-area:1/2}.menu-toggle{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-line);background-color:var(--color-surface);color:var(--color-link);cursor:pointer;min-height:44px;font:500 12px/1 var(--font-heading);align-items:center;gap:8px;padding:0 13px;display:inline-flex}.menu-toggle svg{width:16px;height:16px}.nav{background-color:var(--color-canvas-soft);border-top:1px solid var(--color-line-soft);grid-area:2/1/auto/-1;align-self:auto;margin:0 -20px;padding:10px 20px 16px;display:none}.nav--open{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.nav__link{border-bottom:1px solid var(--color-line-soft);min-height:48px}.nav__link:after{bottom:0}.nav__link--active{background:var(--color-surface-tinted)}}@media(max-width:760px){.header__subscribe{min-width:104px;min-height:44px;padding:0 14px}.hero{height:min(650px,100svh - 60px);min-height:540px}.hero__image{object-position:61% center}.hero__shade{background-color:color-mix(in srgb,color-mix(in srgb,var(--color-foundation) 45%,black) 68%,transparent)}@supports (color:color-mix(in lab,red,red)){.hero__shade{background-color:color-mix(in srgb,var(--color-canvas) 68%,transparent)}}.hero__shade{box-shadow:inset 0 100px 100px #0003,inset 0 -160px 140px #00000080}.hero__content{grid-template-columns:1fr;justify-items:center;gap:30px;padding:48px 24px}.hero__portrait{width:clamp(160px,36vw,230px)}.hero__copy{text-align:center}.hero h1{max-width:640px;font-size:clamp(43px,13vw,68px);line-height:.96}.hero__dek{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));max-width:560px;margin-top:20px;line-height:1.55}.subscribe{grid-template-columns:1fr 116px}.main--home .hero{height:auto;min-height:calc(100svh - 146px)}.page-intro{gap:12px;padding:24px 20px}.newsletter-preference{padding-inline:20px}.page-intro h1{font-size:clamp(30px,8vw,42px)}.newsletter-panel{min-height:450px}.newsletter-panel__art{width:430px;right:-100px}.newsletter-panel__copy{padding:54px 20px}.newsletter-panel .subscribe{grid-template-columns:1fr 124px}.projects-grid{grid-template-columns:1fr}.project-card,.project-card:nth-child(3){border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);border-top:0;border-right:0;min-height:210px}.project-card:last-child{border-bottom:0}.article-index{padding:24px 20px 40px}.article-entry{grid-template-columns:minmax(0,1fr) 100px;gap:18px}.article-card{grid-template-columns:112px minmax(0,1fr);gap:16px;padding:16px}.article-timeline{gap:18px}.article-timeline time{font-size:12px}.about-grid{grid-template-columns:1fr}.about-grid>*{min-height:300px;padding:48px 20px}.about-grid__statement{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-line);border-right:0}.footer{grid-template-columns:1fr auto;min-height:86px;padding:0 18px}.footer>span{max-width:190px;line-height:1.45}}@media(max-width:520px){.site-header{padding:0 14px}.nav{margin:0 -14px;padding-left:14px;padding-right:14px}.nav--open{grid-template-columns:1fr 1fr}.brand>span{font-size:25px}.header__actions{gap:7px}.menu-toggle{justify-content:center;width:44px;padding:0}.menu-toggle span{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.header__subscribe{font-size:var(--text-control);line-height:var(--tw-leading,var(--text-control--line-height));min-width:104px;padding:0 10px}.hero{min-height:520px}.hero h1{font-size:clamp(42px,13.8vw,60px)}.footer{grid-template-columns:1fr;gap:14px;padding-top:22px;padding-bottom:22px}.footer__socials{justify-self:start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.nav__link,.menu-toggle,.subscribe button,.home-bio__link,.text-link{font-size:var(--text-control);line-height:var(--tw-leading,var(--text-control--line-height));font-family:var(--font-heading)}.subscribe{grid-template-columns:minmax(0,1fr) 140px;max-width:520px}.subscribe input{font-size:16px}.footer nav a{align-items:center;min-height:44px;display:inline-flex}.footer__socials a{width:44px;height:44px}@media(max-width:520px){.hero__signup .subscribe,.newsletter-panel .subscribe{grid-template-columns:1fr;height:auto}.subscribe input,.subscribe button{min-height:48px}.footer nav{flex-wrap:wrap;gap:12px 24px;padding-bottom:0}}}@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.border{border-style:var(--tw-border-style);border-width:1px}.border-line{border-color:var(--color-line)}.bg-accent{background-color:var(--color-accent)}.bg-surface{background-color:var(--color-surface)}.p-6{padding:calc(var(--spacing) * 6)}.font-heading{font-family:var(--font-heading)}.font-sans{font-family:var(--font-sans)}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.text-caption{font-size:var(--text-caption);line-height:var(--tw-leading,var(--text-caption--line-height))}.text-control{font-size:var(--text-control);line-height:var(--tw-leading,var(--text-control--line-height))}.text-label{font-size:var(--text-label);line-height:var(--tw-leading,var(--text-label--line-height))}.whitespace-nowrap{white-space:nowrap}.text-copy{color:var(--color-copy)}.text-link{color:var(--color-link)}.text-muted{color:var(--color-muted)}.text-paper{color:var(--color-paper)}}.article-reading{--article-green:var(--accent-bright,#689c7b);--article-muted:var(--muted,#a9b4c2);width:min(90%,1320px);color:var(--paper,#f8fafc);font-family:var(--body,Inter, sans-serif);margin:auto;padding:38px 0 72px}.article-reading h1{font-family:var(--heading,Geist, sans-serif);letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:pretty;margin:0 0 14px;font-size:clamp(34px,4vw,56px);font-weight:500;line-height:1.08}.article-byline{color:var(--article-muted);flex-wrap:wrap;gap:8px;margin:0 0 30px;font-size:14px;line-height:1.5;display:flex}.article-cover{margin:0 0 36px}.article-cover img{aspect-ratio:3.09;object-fit:cover;object-position:center 52%;width:100%;height:auto;display:block}.article-cover .article-image-pending{aspect-ratio:3.09;place-items:center;display:grid}.article-reading figcaption{color:var(--article-muted);margin-top:13px;font-size:13px;line-height:1.6}.article-reading-columns{grid-template-columns:17.7% minmax(0,1fr);align-items:stretch;gap:6.7%;display:grid}.article-reading-body{min-width:0}.article-date{border-right:1px solid var(--color-brand,#166534);text-align:center;color:var(--article-green);font:14px/1.5 var(--heading,Geist, sans-serif)}.article-date time{font-variant-numeric:tabular-nums;gap:5px;display:grid}.article-date strong{color:var(--paper,#f8fafc);letter-spacing:-.05em;font-size:40px;line-height:1}.article-date small{color:var(--article-muted);font-size:13px}.article-prose{min-width:0;max-width:860px;font:20px/1.5 var(--body,Inter, sans-serif);overflow-wrap:anywhere}.article-prose p{margin:0 0 30px}.article-prose h2,.article-prose h3{font-family:var(--heading,Geist, sans-serif);letter-spacing:-.025em;font-weight:500}.article-prose h2{margin:42px 0 22px;font-size:32px;line-height:1.2}.article-prose h3{margin:32px 0 20px;font-size:26px;line-height:1.3}.article-prose>:first-child{margin-top:0}.article-prose blockquote{border-left:3px solid var(--color-brand,#166534);color:var(--accent-bright,#689c7b);margin:32px 0;padding:3px 0 3px 28px;font-size:23px;font-style:italic}.article-prose blockquote p:last-of-type{margin-bottom:0}.article-prose cite{margin-top:12px;font-size:13px;font-style:normal;display:block}.article-prose figure{margin:34px 0}.article-prose img{width:100%;height:auto;display:block}.article-prose ul,.article-prose ol{margin:0 0 24px;padding-left:24px}.article-prose ul{list-style:outside}.article-prose ol{list-style:decimal}.article-prose li p{margin-bottom:8px}.article-prose code{font-family:monospace;font-size:.85em}.article-prose pre{background:var(--ink-soft,#18181b);margin:28px 0;padding:24px;font-size:16px;overflow-x:auto}.article-prose pre code{overflow-wrap:normal;white-space:pre}.article-prose hr{border:0;border-top:1px solid var(--line,#3f3f46);margin:32px 0}.article-prose a{color:var(--accent-bright,#689c7b);text-decoration:none}.article-prose a:hover{color:var(--focus,#96b99f);text-underline-offset:3px;text-decoration:underline}.article-prose a:focus-visible{outline:2px solid var(--focus,#96b99f);outline-offset:3px}.article-image-pending{background:var(--ink-soft,#18181b);color:var(--muted,#a9b4c2);padding:40px 20px;font-size:14px}@media(max-width:900px){.article-reading-columns{grid-template-columns:90px minmax(0,1fr);gap:32px}}@media(max-width:600px){.article-reading{width:auto;margin:0 20px;padding:26px 0 48px}.article-reading h1{margin-bottom:16px;font-size:34px;line-height:1.12}.article-byline{gap:6px;margin-bottom:24px;font-size:13px}.article-cover{margin-bottom:28px}.article-cover img,.article-cover .article-image-pending{aspect-ratio:1.6}.article-reading-columns{grid-template-columns:46px minmax(0,1fr);gap:20px}.article-date{text-align:left;font-size:12px}.article-date strong{font-size:30px}.article-date small{font-size:12px}.article-prose{font-size:16px;line-height:1.65}.article-prose p{margin-bottom:24px}.article-prose h2{margin:32px 0 18px;font-size:26px}.article-prose h3{font-size:22px}.article-prose blockquote{margin:26px 0;padding-left:16px;font-size:18px}.article-prose pre{padding:16px}}@media(max-width:560px){.article-entry{grid-template-columns:minmax(0,1fr) 66px;gap:14px}.article-card{grid-template-columns:minmax(0,1fr);padding:14px}.article-card__image{width:112px}.article-card h2{font-size:22px}.article-timeline{--timeline-center:68px;align-items:flex-start;gap:12px;padding-top:28px}.article-timeline__dot{margin-top:34px}.article-timeline time{gap:6px;padding:0}.article-timeline__day{font-size:34px}.article-timeline__month{font-size:13px}.article-timeline__year{letter-spacing:0}}.newsletter-choices{border:0;gap:16px;padding:16px 0 24px;display:grid}.newsletter-choices label{cursor:pointer;align-items:baseline;gap:12px;display:flex}.newsletter-memberships{margin:32px 0}.newsletter-membership{border-top:1px solid var(--color-brand);justify-content:space-between;align-items:center;gap:24px;padding:24px 0;display:flex}.newsletter-membership p{margin:8px 0}@media(max-width:640px){.newsletter-membership{flex-direction:column;align-items:stretch;gap:12px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}
