@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.1gyfqm5yhhzs7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.357dd_6abeqge.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.17-aodiw50953.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_1893bea5-module__QOGL5G__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_1893bea5-module__QOGL5G__variable{--font-archivo:"Archivo", "Archivo Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_796f2378-module__Xir5va__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_796f2378-module__Xir5va__variable{--font-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_5be66df9-module__2blUVa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal;font-weight:400}.ibm_plex_mono_5be66df9-module__2blUVa__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@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-outline-style:solid;--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}}}@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;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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{.invisible{visibility:hidden}.visible{visibility:visible}.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}.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}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f5f6f2;--paper-alt:#eaeee8;--paper-bright:#fff;--ink:#16181d;--ink-muted:#676c75;--line:#16181d3d;--line-strong:#16181d85;--blueprint:#2b4c9b;--blueprint-soft:#2b4c9b1f;--stamp:#c33124;--night:#101318;--night-muted:#aeb4be;--night-ink:#f5f6f2;--header-bg:#f5f6f2f5;--font-display:var(--font-archivo), "Arial Narrow", Arial, sans-serif;--font-body:var(--font-plex-sans), "Helvetica Neue", Arial, sans-serif;--font-mono:var(--font-plex-mono), "Courier New", monospace;--text-hero:clamp(3.75rem, 11.5vw, 11rem);--text-section:clamp(3rem, 7vw, 6.5rem);--text-project:clamp(2.75rem, 6.5vw, 6rem);--text-lead:clamp(1.5rem, 2.4vw, 2.375rem);--text-body:clamp(1rem, .25vw + .95rem, 1.0625rem);--text-meta:.8125rem;--leading-display:.9;--leading-tight:1.05;--leading-body:1.65;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--space-11:11rem;--container-max:105rem;--page-gutter:clamp(1.5rem, 4vw, 4.5rem);--grid-gutter:clamp(.875rem, 1.5vw, 1.5rem);--section-space:clamp(5.5rem, 8vw, 8.5rem);--header-height:4.5rem;--spine-x:clamp(4.5rem, 7vw, 5.5rem);--content-start:clamp(7.5rem, 8vw, 9rem);--radius-detail:.125rem;--focus-width:.1875rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--motion-fast:.22s;--motion-medium:.62s;--motion-slow:1.05s;--reveal-distance:1.5rem}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#101318;--paper-alt:#161b22;--paper-bright:#1c222c;--ink:#e8eaee;--ink-muted:#99a0ab;--line:#e8eaee38;--line-strong:#e8eaee7a;--blueprint:#8aa5ea;--blueprint-soft:#8aa5ea29;--stamp:#e0564b;--night:#07090d;--header-bg:#101318f0}@media (max-width:63.999rem){:root{--page-gutter:clamp(1.75rem, 4vw, 2.5rem);--section-space:clamp(5rem, 9vw, 7rem);--spine-x:3.75rem;--content-start:7rem}}@media (max-width:47.999rem){:root{--page-gutter:1.25rem;--grid-gutter:.75rem;--section-space:clamp(4.5rem, 18vw, 6rem);--header-height:4rem;--spine-x:0;--content-start:0;--text-hero:clamp(3rem, 16vw, 5.25rem);--text-section:clamp(2.5rem, 13vw, 4.25rem);--text-project:clamp(2.375rem, 12vw, 4rem);--text-lead:clamp(1.3125rem, 5vw, 1.625rem)}}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;hanging-punctuation:first last}html:focus-within{scroll-padding-top:calc(var(--header-height) + var(--space-4))}body,h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0}ul[role=list],ol[role=list]{list-style:none}body{min-block-size:100vh}img,picture,svg,canvas{max-inline-size:100%;display:block}img,picture{block-size:auto}button,input,textarea,select{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{border:0}:target{scroll-margin-top:calc(var(--header-height) + var(--space-4))}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
html{background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);font-weight:400;line-height:var(--leading-body);text-rendering:optimizelegibility;overflow-x:clip}::selection{background:var(--blueprint);color:var(--paper-bright)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.055em;text-wrap:balance;font-weight:700}p,li{text-wrap:pretty}a{text-underline-offset:.22em;text-decoration-color:currentColor;text-decoration-thickness:.08em}a:hover{text-decoration-thickness:.14em}:focus-visible{outline:var(--focus-width) solid var(--blueprint);outline-offset:.25rem}.skip-link{z-index:100;padding:var(--space-3) var(--space-4);border:1px solid var(--ink);background:var(--paper-bright);font-family:var(--font-mono);font-size:var(--text-meta);text-transform:uppercase;position:fixed;inset-block-start:var(--space-4);inset-inline-start:var(--space-4);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.shell{width:min(100%, var(--container-max));padding-inline:var(--page-gutter);margin-inline:auto}.index-grid{gap:var(--grid-gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.meta{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.08em;text-transform:uppercase;line-height:1.35}.placeholder-note{color:var(--blueprint);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.06em;text-transform:uppercase;line-height:1.4}.text-link{align-items:center;gap:var(--space-3);min-block-size:2.75rem;color:var(--blueprint);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.06em;text-transform:uppercase;display:inline-flex}@media (max-width:63.999rem){.index-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (max-width:47.999rem){body{line-height:1.6}.index-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (forced-colors:active){:focus-visible{outline-color:highlight}}
.site-header{z-index:50;border-block-end:1px solid var(--line);background:var(--header-bg);color:var(--ink);transition:background-color var(--motion-fast) linear, color var(--motion-fast) linear;position:sticky;inset-block-start:0}.site-header--night{color:var(--night-ink);background:#101318f5;border-block-end-color:#f5f6f23d}.site-header__inner{min-block-size:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-6);display:flex}.site-wordmark{justify-content:center;align-items:center;block-size:3.35rem;inline-size:3.05rem;text-decoration:none;display:inline-flex}.site-wordmark__image{object-fit:contain;block-size:100%;inline-size:auto}.site-nav{align-items:center;gap:clamp(1rem,2.2vw,2.5rem);display:flex}.site-nav a{min-block-size:2.75rem;font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.45rem;text-decoration-line:underline;text-decoration-color:#0000;display:inline-flex}.site-nav a span{color:var(--blueprint)}.site-nav a:hover,.site-nav a:focus-visible{-webkit-text-decoration-color:var(--blueprint);text-decoration-color:var(--blueprint)}.site-header__cluster{align-items:center;gap:clamp(1rem,2vw,2rem);display:flex}.nav-toggle{color:var(--blueprint);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;display:none}.theme-toggle{z-index:60;border:1px solid var(--line);background:var(--paper);block-size:2.25rem;inline-size:2.25rem;color:var(--blueprint);cursor:pointer;transition:border-color var(--motion-fast) linear, background-color var(--motion-fast) linear;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.95rem;line-height:1;display:inline-flex;position:fixed;inset-block-start:calc((var(--header-height) - 2.25rem) / 2);inset-inline-end:var(--page-gutter)}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--blueprint)}.theme-toggle__icon{transition:transform var(--motion-medium) var(--ease-out);display:inline-block}:root[data-theme=dark] .theme-toggle__icon{transform:rotate(180deg)}::view-transition-old(root){animation-duration:.42s;animation-timing-function:ease-in-out}::view-transition-new(root){animation-duration:.42s;animation-timing-function:ease-in-out}.theme-switching,.theme-switching body,.theme-switching *,.theme-switching :before,.theme-switching :after{transition:background-color .42s linear,color .42s linear,border-color .42s linear,outline-color .42s linear,fill .42s linear,stroke .42s linear!important}.site-header__inner{padding-inline-end:calc(var(--page-gutter) + 2.25rem + var(--space-3))}.working-section{background:var(--paper);position:relative}.working-section__inner{min-block-size:100%;padding-block:var(--section-space);position:relative}.motion-sentinel{pointer-events:none;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.text-mask{display:block;overflow:hidden}.text-mask>span{display:block}.spine-segment{background:var(--blueprint);pointer-events:none;transform-origin:top;inline-size:2px;position:absolute;inset-block:0;inset-inline-start:calc(var(--page-gutter) + var(--spine-x))}.spine-segment:before,.spine-segment:after{background:var(--blueprint);content:"";block-size:2px;inline-size:.8rem;position:absolute;inset-inline-start:-.35rem}.spine-segment:before{inset-block-start:0}.spine-segment:after{inset-block-end:0}.spine-segment--terminal:after{inline-size:1rem;box-shadow:0 -.42rem 0 -.34rem var(--blueprint), 0 .42rem 0 -.34rem var(--blueprint);inset-inline-start:-.45rem}.section-label{inline-size:var(--spine-x);color:var(--blueprint);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;justify-content:space-between;align-items:flex-start;padding-inline-end:var(--space-4);line-height:1.2;display:flex;position:absolute;inset-block-start:var(--section-space);inset-inline-start:var(--page-gutter);transform:rotate(180deg)}.section-label span:first-child{color:var(--ink-muted)}.section-label--inverted span:first-child{color:var(--night-muted)}.home-section{min-block-size:max(42rem, calc(100svh - var(--header-height)))}.home-section .working-section__inner{min-block-size:max(42rem, calc(100svh - var(--header-height)));align-items:stretch;padding-block:clamp(2.5rem,5vw,4.5rem) clamp(2.5rem,4vw,4rem);display:flex}.home-layout{width:100%;align-content:space-between;padding-inline-start:var(--content-start)}.home-title-wrap{z-index:2;grid-column:1/-1;align-self:start}.home-title-wrap>.meta{color:var(--blueprint);margin-block-end:var(--space-4)}.home-title{font-size:var(--text-hero);text-transform:uppercase;line-height:.82}.home-title>.text-mask{white-space:nowrap}.home-title>.text-mask:nth-child(2){margin-inline-start:clamp(1.5rem,9vw,8.5rem)}.home-title>.text-mask:nth-child(2)>span{color:#0000;-webkit-text-stroke:clamp(1px, .11vw, 2px) var(--ink)}.home-intro{max-inline-size:32rem;grid-column:1/span 4;align-self:end;padding-block-start:var(--space-6)}.home-intro .meta{color:var(--blueprint);margin-block-end:var(--space-4)}.home-supporting{color:var(--ink-muted);margin-block-start:var(--space-5);font-size:1rem;line-height:1.62}.home-stack{gap:var(--space-2);color:var(--blueprint);flex-wrap:wrap;margin-block-start:var(--space-5);display:flex}.home-stack li{border:1px solid var(--line);border-radius:var(--radius-detail);align-items:center;gap:.45rem;padding:.4rem .65rem;display:inline-flex}.home-stack li:has(>a){padding:0}.home-stack a{color:inherit;align-items:center;gap:.45rem;padding:.4rem .65rem;text-decoration:none;display:inline-flex}.home-stack li:has(>a):hover{border-color:var(--blueprint)}.home-stack li:has(>a:focus-visible){border-color:var(--blueprint)}.stack-icon{block-size:1.05rem;inline-size:1.05rem;display:inline-flex}.stack-icon>span,.stack-icon svg{block-size:100%;inline-size:100%}.stack-icon__on-dark,:root[data-theme=dark] .stack-icon__on-light{display:none!important}:root[data-theme=dark] .stack-icon__on-dark{display:inline-block!important}.portrait-placeholder{border:1px solid var(--blueprint);border-radius:var(--radius-detail);background-color:var(--paper-alt);min-block-size:24rem;position:relative;overflow:hidden}.portrait-placeholder__image{object-fit:cover}.home-portrait__image{object-position:50% 46%}.about-portrait__image{object-position:50% 25%;transform:scale(1.08)}.graph-field{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M0 0H32M0 0V32' fill='none' stroke='%232B4C9B' stroke-opacity='.09'/%3E%3C/svg%3E");background-position:0 0;background-size:2rem 2rem}.portrait-placeholder figcaption{z-index:2;inset-inline:var(--space-5);padding:var(--space-3);border-block-start:1px solid var(--blueprint);background:var(--paper);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;display:flex;position:absolute;inset-block-end:var(--space-5)}.portrait-placeholder figcaption small{color:var(--ink-muted);font-size:var(--text-meta)}.home-layout>.home-portrait{aspect-ratio:4/5;grid-area:2/8/span 2/span 4;align-self:end;min-block-size:auto}.home-meta{padding-block:var(--space-4);color:var(--ink-muted);flex-direction:column;grid-column:5/span 3;align-self:end;display:flex}.home-scroll{color:var(--blueprint);writing-mode:vertical-rl;grid-column:12;align-self:end}.about-section .working-section__inner{padding-block:clamp(5rem,7vw,7.5rem) clamp(4.5rem,6vw,7rem)}.about-layout{padding-inline-start:var(--content-start)}.about-portrait-sticky{grid-area:1/1/span 2/span 5}.about-portrait{aspect-ratio:4/5;inline-size:100%;position:sticky;inset-block-start:calc(var(--header-height) + var(--space-5))}.about-portrait__frame{block-size:100%;inline-size:100%;display:block;position:relative}.about-copy{grid-column:7/-1}.about-copy h2,.section-intro h2,.blog-header h2{margin-block:var(--space-4) var(--space-6);font-size:var(--text-section);line-height:var(--leading-display);text-transform:uppercase}.about-lead{max-inline-size:34rem;font-family:var(--font-display);font-size:var(--text-lead);letter-spacing:-.03em;margin-block-end:var(--space-6);font-weight:600;line-height:1.18}.about-body{max-inline-size:58ch;color:var(--ink-muted);font-size:var(--text-body);margin-block-end:var(--space-5);line-height:1.68}.about-spec{border-block-start:1px solid var(--line);border-inline-start:1px solid var(--line);grid-column:7/-1;grid-template-columns:repeat(2,minmax(0,1fr));margin-block-start:var(--space-7);display:grid}.about-spec div{min-block-size:6.25rem;padding:var(--space-4);border-inline-end:1px solid var(--line);border-block-end:1px solid var(--line)}.about-spec dt,.about-spec dd{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.04em;text-transform:uppercase;line-height:1.45}.about-spec dt{color:var(--blueprint);margin-block-end:var(--space-4)}.statement-list{grid-column:1/-1;margin-block-start:var(--space-8)}.statement-list li{--tick-scale:1;gap:var(--grid-gutter);border-block-start:1px solid var(--line);grid-template-columns:minmax(6rem,2fr) 8fr;padding-block:clamp(1.35rem,2.2vw,2.1rem);display:grid;position:relative}.statement-list li:before{inline-size:calc(var(--content-start) - var(--spine-x));background:var(--blueprint);content:"";block-size:2px;transform:scaleX(var(--tick-scale));transform-origin:0;position:absolute;inset-block-start:-1px;inset-inline-start:calc(-1 * (var(--content-start) - var(--spine-x)))}.statement-list li:last-child{border-block-end:1px solid var(--line)}.statement-list .meta{color:var(--blueprint)}.statement-list p{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.5rem,2.8vw,3.25rem);font-weight:600;line-height:1.12}.about-projects-handoff,.projects-baseline{background:var(--blueprint);transform-origin:0;grid-column:1/-1;block-size:2px;inline-size:100%}.about-projects-handoff{margin-block-start:var(--space-8)}.projects-section{z-index:2;background:var(--paper-bright)}.section-intro,.blog-header{padding-inline-start:var(--content-start)}.section-intro h2,.blog-header h2{grid-column:1/span 7}.section-intro>p,.blog-header>p{max-inline-size:38ch;color:var(--ink-muted);font-size:var(--text-body);grid-column:9/-1;align-self:end;margin-block-end:var(--space-6);line-height:1.62}.projects-stage{margin-block-start:var(--space-7);position:relative}.project-progress{color:var(--blueprint);margin-block-end:var(--space-4);margin-inline-start:var(--content-start)}.project-list{padding-inline-start:var(--content-start)}.project-poster{gap:var(--grid-gutter);border-block-start:1px solid var(--line);grid-template-columns:repeat(10,minmax(0,1fr));min-block-size:38rem;padding-block:clamp(2.75rem,5vw,5rem);display:grid}.project-poster:last-child{border-block-end:1px solid var(--line)}.project-poster__visual{background-color:var(--paper-alt);outline-offset:4px;min-block-size:29rem;transition:outline-color var(--motion-fast) var(--ease-out);outline:1px solid #0000;position:relative;overflow:hidden}.project-poster__image{object-fit:contain}.project-poster__number{z-index:1;color:#f5f6f259;font-family:var(--font-display);letter-spacing:-.08em;opacity:.9;-webkit-text-stroke:1.5px var(--blueprint);font-size:clamp(9rem,20vw,20rem);font-weight:800;line-height:.8;position:absolute;inset-block-start:-.1em;inset-inline-start:-.04em}.project-poster__visual>.meta{z-index:2;inset-inline:var(--space-5);padding:var(--space-3);border-block-start:1px solid var(--blueprint);background:var(--paper);color:var(--blueprint);position:absolute;inset-block-end:var(--space-5)}.project-poster__copy{align-self:end}.project-poster__copy h3{margin-block:var(--space-4) var(--space-5);font-size:clamp(2.5rem,3.8vw,4rem);line-height:var(--leading-display);overflow-wrap:anywhere;text-transform:uppercase}.project-poster__copy>p:not(.project-type){max-inline-size:36ch;color:var(--ink-muted);font-size:var(--text-body);line-height:1.62}.project-type{color:var(--blueprint)}.project-poster--1 .project-poster__visual{grid-column:1/span 6}.project-poster--1 .project-poster__copy{grid-column:7/-1}.project-poster--2 .project-poster__visual{order:2;grid-column:6/-1}.project-poster--2 .project-poster__copy{grid-column:1/span 5}.project-meta{gap:var(--space-4) var(--space-7);margin-block:var(--space-6) var(--space-4);flex-wrap:wrap;display:flex}.project-meta div{gap:var(--space-3);display:flex}.project-meta dt{color:var(--ink-muted)}.project-tags{gap:var(--space-3);color:var(--blueprint);flex-wrap:wrap;margin-block-end:var(--space-5);display:flex}.project-links{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.project-links .text-link{text-decoration:none;position:relative}.project-links .text-link:after{background:var(--blueprint);content:"";transform-origin:0;block-size:2px;transition:transform var(--motion-fast) var(--ease-out);position:absolute;inset-block-end:.35rem;inset-inline:0;transform:scaleX(0)}.link-arrow{transition:transform var(--motion-fast) var(--ease-out)}.project-links .text-link:hover:after,.project-links .text-link:focus-visible:after{transform:scaleX(1)}.project-links .text-link:hover .link-arrow,.project-links .text-link:focus-visible .link-arrow{transform:translate(4px)}:is(.project-poster:has(.text-link:hover) .project-poster__visual,.project-poster:has(.text-link:focus-visible) .project-poster__visual){outline-color:var(--blueprint)}.project-repository{min-block-size:2.75rem;color:var(--ink-muted);align-items:center;display:inline-flex}.projects-baseline{inline-size:calc(100% - var(--content-start));margin-block-start:var(--space-7);margin-inline-start:var(--content-start)}.experience-section{background:var(--paper-alt)}.experience-stage{gap:var(--grid-gutter);grid-template-columns:minmax(15rem,3fr) minmax(0,7fr);margin-block-start:var(--space-7);padding-inline-start:var(--content-start);display:grid}.experience-active-year{z-index:1;color:var(--blueprint);font-family:var(--font-display);letter-spacing:-.05em;align-self:start;font-size:clamp(2.5rem,4.2vw,4.75rem);font-weight:700;line-height:.95;display:none;position:sticky;inset-block-start:calc(var(--header-height) + var(--space-7));overflow:hidden}.experience-active-year span{background:var(--paper-alt);padding-inline-end:var(--space-3);display:inline-block}.experience-section.motion-enabled .experience-active-year{display:block}.experience-list{grid-column:2}.experience-section.motion-enabled .experience-list{position:relative}.experience-section.motion-enabled .experience-list:before{content:"";background:var(--line);inline-size:1px;position:absolute;inset-block:0;inset-inline-start:0}.experience-section.motion-enabled .experience-list:after{content:"";background:var(--blueprint);inline-size:2px;transform:scaleY(var(--rail-scale,0));transform-origin:top;position:absolute;inset-block:0;inset-inline-start:-.5px}.experience-list>li{--tick-scale:1;min-block-size:15rem;padding-block:var(--space-7);border-block-start:1px solid var(--line);position:relative}.experience-section.motion-enabled .experience-list>li{padding-inline-start:var(--space-5)}.experience-section.motion-enabled [data-experience-item]:after{content:"";pointer-events:none;background:linear-gradient(90deg, var(--blueprint-soft), transparent 60%);opacity:0;transition:opacity var(--motion-medium) var(--ease-out);position:absolute;inset:0}.experience-section.motion-enabled [data-experience-item].is-active:after{opacity:1}.experience-index{color:var(--blueprint);opacity:.6;position:absolute;inset-block-start:var(--space-7);inset-inline-end:0}.experience-tech{gap:var(--space-2);color:var(--blueprint);flex-wrap:wrap;margin-block-start:var(--space-5);display:flex}.experience-tech li{border:1px solid var(--line);align-items:center;gap:.45rem;padding:.3rem .6rem;display:inline-flex}.experience-list>li:before{inline-size:calc(30% + var(--grid-gutter));background:var(--blueprint);content:"";block-size:2px;transform:scaleX(var(--tick-scale));transform-origin:0;position:absolute;inset-block-start:var(--space-7);inset-inline-start:calc(-1 * (30% + var(--grid-gutter)))}.experience-node{border:2px solid var(--blueprint);background:var(--paper-alt);border-radius:50%;block-size:.7rem;inline-size:.7rem;position:absolute;inset-block-start:calc(var(--space-7) - .31rem);inset-inline-start:-.35rem}.experience-list>li:last-child{border-block-end:1px solid var(--line)}.experience-date{color:var(--blueprint);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.05em;text-transform:uppercase;margin-block-end:var(--space-4);display:inline-block}.experience-copy h3{gap:.15rem;margin-block-end:var(--space-4);line-height:1.02;display:grid}.experience-role{font-size:clamp(2rem,3.2vw,3.5rem);font-weight:750}.experience-company{color:var(--blueprint);font-size:clamp(1.4rem,2.2vw,2.35rem);font-weight:600}.experience-copy p{max-inline-size:58ch;font-size:var(--text-body);line-height:1.65}.experience-copy .experience-meta{color:var(--ink-muted);margin-block-end:var(--space-4);line-height:1.5}.experience-elbow{inline-size:calc(100% - var(--content-start));block-size:var(--space-8);border-inline-start:2px solid var(--blueprint);border-block-end:2px solid var(--blueprint);margin-inline-start:calc(var(--content-start) - 1px)}.blog-section{z-index:2;background:var(--paper)}.blog-header{--rule-scale:1;padding-block-end:var(--space-6);position:relative}.blog-header:after{background:var(--blueprint);content:"";block-size:2px;transform:scaleX(var(--rule-scale));transform-origin:0;position:absolute;inset-block-end:0;inset-inline-start:var(--content-start);inset-inline-end:0}.blog-header h2{grid-column:1/span 8}.blog-index-layout{margin-block:var(--space-7) var(--space-6);grid-template-columns:minmax(16rem,3fr) minmax(0,7fr);gap:clamp(2rem,5vw,6rem);padding-inline-start:var(--content-start);display:grid}.blog-preview{align-self:start;position:sticky;inset-block-start:calc(var(--header-height) + var(--space-6))}.blog-preview__frame{aspect-ratio:16/10;background:var(--night);position:relative;overflow:hidden}.blog-preview img{object-fit:cover}.article-index{border-block-start:1px solid var(--line-strong)}.article-row{gap:var(--grid-gutter);min-block-size:9.5rem;padding-block:var(--space-6);border-block-end:1px solid var(--line);grid-template-columns:minmax(20rem,4.5fr) minmax(7rem,1.4fr) minmax(4rem,.8fr) auto;align-items:center;display:grid}.article-row__cover--mobile{display:none}.article-row__main{gap:var(--space-3);display:grid}.article-row__main>.meta{color:var(--blueprint)}.article-row h3{max-inline-size:26ch;font-size:clamp(1.65rem,2.4vw,2.8rem);line-height:1.12}.article-status{color:var(--blueprint)}.blog-section>.working-section__inner>.placeholder-note{margin-inline-start:var(--content-start)}.contact-curtain{background:var(--night);position:relative}.contact-curtain.motion-enabled{z-index:1;min-block-size:145svh;margin-block-start:-24svh;padding-block-start:24svh}.contact-section{background:var(--night);min-block-size:100svh;color:var(--night-ink)}.contact-curtain.motion-enabled .contact-section{position:sticky;inset-block-start:0}.contact-section .spine-segment,.contact-section .spine-segment:before,.contact-section .spine-segment:after{background:var(--blueprint)}.contact-layout{min-block-size:calc(100svh - (2 * var(--section-space)));align-content:space-between;padding-inline-start:var(--content-start)}.contact-heading{grid-column:1/-1}.contact-heading .meta{color:var(--night-muted);margin-block-end:var(--space-5)}.contact-heading h2{text-transform:uppercase;font-size:clamp(3.5rem,9vw,8.5rem);line-height:.88}.contact-heading>p:last-child{color:var(--blueprint);font-family:var(--font-display);letter-spacing:-.055em;margin-block-start:var(--space-5);font-size:clamp(2.5rem,5.5vw,5.5rem);font-weight:700;line-height:1}.contact-details{gap:var(--grid-gutter);margin-block:var(--space-8) var(--space-7);grid-column:1/-1;grid-template-columns:2fr 1fr;align-items:end;font-style:normal;display:grid}.contact-details>div:first-child{gap:var(--space-3);flex-direction:column;display:flex}.contact-details .meta{color:var(--night-muted)}.contact-email{align-items:baseline;gap:var(--space-3);width:fit-content;color:inherit;font-family:var(--font-display);letter-spacing:-.04em;text-align:start;cursor:copy;background:0 0;border:0;flex-wrap:wrap;padding:0;font-size:clamp(1.75rem,4vw,4rem);font-weight:600;line-height:1.1;text-decoration:none;display:inline-flex;position:relative}.contact-email__feedback{color:var(--night-muted);letter-spacing:.06em;text-transform:uppercase}.contact-email:after{background:var(--stamp);content:"";transform-origin:0;block-size:3px;transition:transform var(--motion-fast) var(--ease-out);position:absolute;inset-block-end:-.2rem;inset-inline:0;transform:scaleX(0)}.contact-email:hover:after,.contact-email:focus-visible:after{transform:scaleX(1)}.contact-socials{justify-content:flex-end;gap:var(--space-5);flex-wrap:wrap;display:flex}.site-footer{justify-content:flex-start;gap:var(--space-5);color:var(--night-muted);border-block-start:1px solid #f5f6f247;grid-column:1/-1;padding-block-start:var(--space-5);display:flex}@media (min-width:64rem) and (min-height:40.625rem) and (prefers-reduced-motion:no-preference){.projects-section.motion-enabled .projects-stage{block-size:calc(100svh - var(--header-height));flex-direction:column;justify-content:center;display:flex;overflow:hidden}.projects-section.motion-enabled .project-progress{z-index:3;margin:0;position:absolute;inset-block-start:var(--space-4);inset-inline-end:0}.projects-section.motion-enabled .project-track{inline-size:max-content;padding-inline:var(--content-start) max(var(--page-gutter), 18vw);gap:clamp(3rem,6vw,8rem);display:flex}.projects-section.motion-enabled .project-poster{min-block-size:min(68svh,46rem);padding-block:var(--space-6);border-block-end:1px solid var(--line);flex:0 0 min(78vw,82rem)}.projects-section.motion-enabled .project-poster__visual{min-block-size:min(58svh,38rem)}}@media (max-width:63.999rem){.home-intro{grid-column:1/span 3}.home-layout>.home-portrait{grid-column:5/span 3}.home-meta{grid-column:4/span 2}.home-scroll{grid-column:8}.about-portrait-sticky{grid-column:1/span 4}.about-copy,.about-spec{grid-column:5/-1}.statement-list{grid-column:1/-1}.section-intro h2,.blog-header h2{grid-column:1/span 5}.section-intro>p,.blog-header>p{grid-column:6/-1}.project-poster{grid-template-columns:repeat(8,minmax(0,1fr))}.project-poster--1 .project-poster__visual{grid-column:1/span 5}.project-poster--1 .project-poster__copy{grid-column:6/-1}.project-poster--2 .project-poster__visual{grid-column:5/-1}.project-poster--2 .project-poster__copy{grid-column:1/span 4}.experience-stage{grid-template-columns:1fr}.experience-active-year{display:none!important}.experience-list{grid-column:1}.experience-list>li:before{inline-size:calc(var(--content-start) - var(--spine-x));inset-inline-start:calc(-1 * (var(--content-start) - var(--spine-x)))}.blog-index-layout{grid-template-columns:1fr}.blog-preview{display:none}.article-row__cover--mobile{display:block}.article-row{grid-template-columns:minmax(8rem,1.2fr) minmax(14rem,4fr) 1.4fr auto}.article-row__cover{aspect-ratio:16/9;background:var(--night);overflow:hidden}.article-row__cover img{object-fit:cover;width:100%;height:100%}.article-row>:nth-child(4){display:none}}@media (max-width:47.999rem){.site-header{position:sticky}.nav-toggle{min-block-size:2.75rem;padding-inline:var(--space-3);align-items:center;margin-inline-end:calc(-1 * var(--space-3));display:inline-flex}.site-header nav{max-block-size:calc(100dvh - var(--header-height));background:var(--paper);border-block-end:1px solid var(--line);opacity:0;visibility:hidden;transition:opacity var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), visibility 0s linear var(--motion-fast);position:fixed;inset-block-start:var(--header-height);inset-inline:0;overflow-y:auto;transform:translateY(-.75rem)}.site-header--menu-open nav{opacity:1;visibility:visible;transition:opacity var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);transform:none}.site-nav{padding:var(--space-3) var(--page-gutter) var(--space-5);flex-direction:column;align-items:stretch;gap:0}.site-nav a{border-block-end:1px solid var(--line);min-block-size:3.25rem;inline-size:100%;text-decoration:none;display:flex}.site-nav li:last-child a{border-block-end:0}.projects-section.stack-enabled .project-list{display:block}.projects-section.stack-enabled .project-poster{padding:var(--space-5) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-detail);background:var(--paper);margin-block-end:var(--space-7);position:sticky;inset-block-start:calc(var(--header-height) + var(--space-4));box-shadow:0 -.75rem 2rem #10131814}.projects-section.stack-enabled .project-poster:last-child{margin-block-end:0}.working-section__inner{padding-block:var(--section-space)}.spine-segment{block-size:3.5rem;inset-block-start:var(--space-5);inset-block-end:auto;inset-inline-start:var(--page-gutter)}.section-label{justify-content:flex-start;gap:var(--space-4);width:auto;writing-mode:horizontal-tb;margin-block-end:var(--space-7);padding-inline-start:var(--space-5);position:relative;inset:auto;transform:none}.home-section,.home-section .working-section__inner{min-block-size:auto}.home-section .working-section__inner{padding-block-start:var(--space-6);display:block}.home-layout,.about-layout,.section-intro,.blog-header,.contact-layout{padding-inline-start:0}.home-title-wrap{grid-column:1/-1}.home-title>.text-mask{white-space:normal}.home-title>.text-mask:nth-child(2){margin-inline-start:clamp(.75rem,7vw,2.5rem)}.home-intro{grid-area:2/1/auto/-1;padding-block-start:var(--space-7)}.home-layout>.home-portrait{grid-area:3/1/auto/span 3;margin-block-start:var(--space-7)}.home-meta{gap:.35rem var(--space-5);flex-flow:wrap;grid-area:4/1/auto/-1;padding-block-start:var(--space-5)}.home-scroll{display:none}.about-portrait-sticky{grid-area:1/1/auto/-1}.about-portrait{min-block-size:20rem;position:relative;inset:auto}.about-copy{grid-area:2/1/auto/-1;margin-block-start:var(--space-7)}.about-spec{grid-area:3/1/auto/-1}.statement-list{grid-area:4/1/auto/-1;margin-block-start:var(--space-7)}.statement-list li{grid-template-columns:1fr}.statement-list li:before{display:none}.section-intro h2,.blog-header h2,.section-intro>p,.blog-header>p{grid-column:1/-1}.project-list,.experience-stage,.blog-index-layout{margin-block-start:var(--space-7);padding-inline-start:0}.experience-list{padding-inline-start:var(--space-5);position:relative}.experience-list:before{content:"";background:var(--line);inline-size:1px;position:absolute;inset-block:0;inset-inline-start:0}.experience-node{inset-inline-start:calc(-1 * (var(--space-5) + .35rem) + 1px)}.project-poster{grid-template-columns:repeat(4,minmax(0,1fr));min-block-size:auto}.project-poster--1 .project-poster__visual,.project-poster--2 .project-poster__visual{order:initial;aspect-ratio:4/3;grid-area:1/1/auto/-1;min-block-size:auto}.project-poster--1 .project-poster__copy,.project-poster--2 .project-poster__copy{grid-area:2/1/auto/-1;margin-block-start:var(--space-5)}.project-poster__copy h3{font-size:clamp(1.75rem,8.5vw,3.125rem)}.projects-baseline{inline-size:100%;margin-inline-start:0}.experience-list>li{min-block-size:auto}.experience-list>li:before{inline-size:1.25rem;inset-inline-start:-1.25rem}.experience-elbow{inline-size:100%;block-size:var(--space-7);margin-inline-start:0}.blog-header:after{inset-inline-start:0}.article-row{gap:var(--space-4);min-block-size:auto;padding-block:var(--space-6);grid-template-columns:1fr auto;align-items:start}.article-row__cover,.article-row__main{grid-column:1/-1}.article-row>:nth-child(3){grid-column:1}.article-row>:nth-child(4){grid-column:2;display:block}.article-row>:nth-child(5){grid-column:1/-1}.blog-section>.working-section__inner>.placeholder-note{margin-inline-start:0}.contact-curtain.motion-enabled{min-block-size:auto;margin-block-start:0;padding-block-start:0}.contact-curtain.motion-enabled .contact-section{position:relative}.contact-heading,.contact-details,.site-footer{grid-column:1/-1}.contact-details{gap:var(--space-7);grid-template-columns:1fr}.contact-email{overflow-wrap:anywhere}.contact-socials{justify-content:flex-start}.site-footer{flex-direction:column;align-items:flex-start}}@media (max-width:22rem){.home-title{font-size:clamp(2.7rem,15vw,3.3rem)}.home-layout>.home-portrait{grid-column:1/-1}.about-spec{grid-template-columns:1fr}}@media (max-height:40.624rem) and (min-width:48rem){.home-section,.home-section .working-section__inner{min-block-size:38rem}.about-portrait{position:relative;inset:auto}.contact-curtain.motion-enabled{min-block-size:auto;margin-block-start:0;padding-block-start:0}.contact-curtain.motion-enabled .contact-section{position:relative}}@media (prefers-reduced-motion:reduce){.projects-section.motion-enabled .projects-stage{block-size:auto;overflow:visible}.projects-section.motion-enabled .project-track{width:auto;display:block;transform:none!important}.experience-active-year{display:none!important}.contact-curtain.motion-enabled{min-block-size:auto;margin-block-start:0;padding-block-start:0}.contact-curtain.motion-enabled .contact-section{position:relative}}.style-guide{padding-block:var(--section-space)}.style-guide__header{max-inline-size:65rem;margin-block-end:var(--space-9)}.style-guide__header h1{margin-block:var(--space-4);font-size:var(--text-section);line-height:var(--leading-display);text-transform:uppercase}.style-guide__section{border-block-start:1px solid var(--line-strong);margin-block-start:var(--space-9);padding-block-start:var(--space-5)}.style-guide__section h2{margin-block-end:var(--space-6);font-size:clamp(2rem,4vw,4rem)}.swatch-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.swatch{min-block-size:10rem;padding:var(--space-4);background:var(--swatch-color);color:var(--swatch-ink,var(--ink));flex-direction:column;justify-content:space-between;display:flex}.type-specimen{gap:var(--space-7);display:grid}.type-specimen__display{font-family:var(--font-display);letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(3rem,8vw,8rem);font-weight:700;line-height:.9}.type-specimen__body{max-inline-size:56ch}.grid-specimen>div{border:1px solid var(--blueprint);min-block-size:6rem;color:var(--blueprint);font-family:var(--font-mono);font-size:var(--text-meta);place-items:center;display:grid}@media (max-width:47.999rem){.swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.blog-detail{min-block-size:100svh;color:var(--ink)}.blog-detail__shell{padding-block:clamp(3rem,5vw,5rem) clamp(5rem,8vw,9rem)}.blog-detail__shell>article{padding-inline-start:var(--content-start)}.blog-detail .section-label{inset:auto;inset-block-start:var(--section-space);inset-inline-start:auto;top:var(--section-space);left:var(--page-gutter)}.blog-detail__masthead{border-block-end:1px solid var(--line-strong)}.blog-detail__utility{justify-content:space-between;align-items:center;gap:var(--space-5);border-block:1px solid var(--line);min-block-size:3.25rem;display:flex}.blog-detail__utility p{color:var(--ink-muted);margin:0}.blog-detail__back{align-items:center;gap:var(--space-3);min-block-size:2.75rem;color:var(--ink);text-decoration:none;display:inline-flex}.blog-detail__back span{color:var(--blueprint);transition:transform var(--motion-fast) var(--ease-out);font-size:1rem}.blog-detail__back:hover span,.blog-detail__back:focus-visible span{transform:translate(-.25rem)}.blog-detail__heading{row-gap:clamp(2rem,4vw,4rem);padding-block:clamp(3rem,6vw,6.5rem) clamp(2.5rem,4vw,4rem)}.blog-detail__kicker{align-items:flex-start;gap:var(--space-2);color:var(--ink-muted);flex-direction:column;grid-column:1/span 2;padding-block-start:.45rem;display:flex}.blog-detail__kicker span:first-child{color:var(--blueprint)}.blog-detail__title{max-inline-size:15ch;font-family:var(--font-display);letter-spacing:-.064em;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere;grid-column:3/-1;margin:0;font-size:clamp(3.75rem,7.15vw,8.25rem);font-weight:760;line-height:.88}.blog-detail__excerpt{grid-column:3/span 6;max-inline-size:44ch;margin:0;font-size:clamp(1.2rem,1.7vw,1.6rem);line-height:1.48}.blog-detail__byline{gap:var(--space-5);grid-column:9/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.blog-detail__byline p{align-items:flex-start;gap:var(--space-2);flex-direction:column;margin:0;display:flex}.blog-detail__byline strong,.blog-detail__byline time{font-size:.95rem;font-weight:560}.blog-detail__byline .meta{color:var(--ink-muted)}.blog-detail__cover{aspect-ratio:16/8;background:var(--paper-alt);margin-block:clamp(2.5rem,5vw,5rem) 0;margin-inline:0;position:relative;overflow:hidden}.blog-detail__cover img{object-fit:cover;block-size:100%;inline-size:100%}.blog-detail__cover figcaption{max-inline-size:calc(100% - var(--space-5));padding:var(--space-3) var(--space-4);background:var(--paper);color:var(--ink-muted);position:absolute;inset-block-end:0;inset-inline-start:0}.blog-detail__reading{align-items:start;margin-block-start:clamp(4.5rem,8vw,8rem)}.blog-detail__toc{grid-column:1/span 2;position:sticky;inset-block-start:calc(var(--header-height) + var(--space-5))}.blog-detail__toc>p,.blog-detail__aside>p{margin-block:0 var(--space-4);color:var(--blueprint)}.blog-detail__toc ol{border-block-start:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.blog-detail__toc li{border-block-end:1px solid var(--line)}.blog-detail__toc a{gap:var(--space-2);padding-block:var(--space-3);color:var(--ink-muted);grid-template-columns:1.75rem 1fr;font-size:.8rem;line-height:1.35;text-decoration:none;display:grid}.blog-detail__toc a span{color:var(--blueprint);font-family:var(--font-mono);font-size:.7rem}.blog-detail__toc a:hover,.blog-detail__toc a:focus-visible{color:var(--ink)}.blog-detail__prose{grid-column:4/span 6;max-inline-size:62ch;font-size:clamp(1.0625rem,.35vw + 1rem,1.2rem);line-height:1.78}.blog-detail__prose>:first-child{margin-block-start:0;font-size:clamp(1.3rem,1.35vw,1.55rem);line-height:1.55}.blog-detail__prose p{margin-block:0 var(--space-6)}.blog-detail__prose h2{margin-block:clamp(4.5rem, 7vw, 7rem) var(--space-6);border-block-start:1px solid var(--line-strong);font-family:var(--font-display);letter-spacing:-.045em;text-transform:uppercase;padding-block-start:var(--space-5);scroll-margin-block-start:calc(var(--header-height) + var(--space-5));font-size:clamp(2.25rem,4vw,4.25rem);font-weight:720;line-height:.96;position:relative}.blog-detail__prose h2:before{content:attr(data-section);color:var(--blueprint);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:0;font-weight:400;position:absolute;inset-block-start:var(--space-2);inset-inline-end:0}.blog-detail__prose h3{margin-block:var(--space-8) var(--space-4);font-family:var(--font-display);scroll-margin-block-start:calc(var(--header-height) + var(--space-5));font-size:clamp(1.5rem,2.2vw,2.25rem);line-height:1.05}.blog-detail__prose ul,.blog-detail__prose ol{gap:var(--space-4);margin-block:var(--space-7);padding-inline-start:1.4rem;display:grid}.blog-detail__prose li{padding-inline-start:var(--space-2)}.blog-detail__prose li::marker{color:var(--blueprint);font-family:var(--font-mono)}.blog-detail__prose blockquote{margin:var(--space-8) 0;padding:var(--space-2) 0 var(--space-2) var(--space-6);border-inline-start:2px solid var(--blueprint);font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.6rem,2.7vw,2.6rem);font-weight:620;line-height:1.1}.blog-detail__prose blockquote p{margin:0}.blog-detail__prose blockquote cite{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:0;margin-block-start:var(--space-4);font-style:normal;font-weight:400;display:block}.blog-detail__code{margin:var(--space-8) 0;border:1px solid var(--line);background:var(--night);color:var(--night-ink)}.blog-detail__code figcaption{padding:var(--space-3) var(--space-4);color:var(--night-muted);text-transform:uppercase;border-block-end:1px solid #f5f6f233}.blog-detail__code pre{max-inline-size:100%;font-family:var(--font-mono);tab-size:2;margin:0;padding:clamp(1.25rem,3vw,2rem);font-size:clamp(.78rem,.2vw + .76rem,.9rem);line-height:1.75;overflow-x:auto}.blog-detail__inline{margin:var(--space-8) 0}.blog-detail__inline img{block-size:auto;inline-size:100%}.blog-detail__inline figcaption{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-meta);margin-block-start:var(--space-3)}.blog-detail__aside{grid-column:11/-1;position:sticky;inset-block-start:calc(var(--header-height) + var(--space-5))}.blog-detail__aside dl{border-block-start:1px solid var(--line);margin:0}.blog-detail__aside dl>div{padding-block:var(--space-3);border-block-end:1px solid var(--line)}.blog-detail__aside dt{color:var(--ink-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem}.blog-detail__aside dd{margin:var(--space-1) 0 0;font-size:.84rem;line-height:1.4}.blog-detail__cta{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-3);border-block:1px solid var(--line-strong);color:var(--ink);margin-block-start:var(--space-6);font-size:.85rem;font-weight:620;text-decoration:none;display:flex}.blog-detail__cta span{color:var(--blueprint)}.blog-detail__related{border-block-start:1px solid var(--line-strong);margin-block-start:clamp(6rem,10vw,11rem);padding-block-start:var(--space-6)}.blog-detail__related-heading{gap:var(--grid-gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;padding-block-end:var(--space-7);display:grid}.blog-detail__related-heading p{color:var(--blueprint);grid-column:1/span 2;margin:0}.blog-detail__related-heading h2{font-family:var(--font-display);letter-spacing:-.055em;text-transform:uppercase;grid-column:3/-1;margin:0;font-size:clamp(3rem,6.5vw,7rem);font-weight:740;line-height:.9}.blog-detail__related-list{border-block-start:1px solid var(--line);margin:0;padding:0;list-style:none}.blog-detail__related-list li{border-block-end:1px solid var(--line)}.blog-detail__related-list a{gap:var(--grid-gutter);min-block-size:6rem;color:var(--ink);grid-template-columns:minmax(2.25rem,.6fr) minmax(18rem,6.4fr) minmax(8rem,2fr) minmax(5rem,1fr);align-items:center;text-decoration:none;display:grid}.blog-detail__related-list a>.meta:first-child{color:var(--blueprint)}.blog-detail__related-list a>.meta:last-child{text-align:end}.blog-detail__related-name{max-inline-size:34ch;font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(1.25rem,2vw,2rem);font-weight:650;line-height:1.02}.blog-detail__related-list a:hover .blog-detail__related-name,.blog-detail__related-list a:focus-visible .blog-detail__related-name{color:var(--blueprint)}@media (max-width:75rem){.blog-detail__title{grid-column:3/-1;font-size:clamp(3.5rem,7.5vw,7rem)}.blog-detail__excerpt,.blog-detail__byline{grid-column:3/span 7}.blog-detail__toc{grid-column:1/span 2}.blog-detail__prose{grid-column:4/span 7}.blog-detail__aside{grid-column:12/-1}.blog-detail__aside dd,.blog-detail__aside dt,.blog-detail__cta{overflow-wrap:anywhere}}@media (max-width:63.999rem){.blog-detail__heading,.blog-detail__reading{grid-template-columns:repeat(8,minmax(0,1fr))}.blog-detail__kicker{grid-column:1/span 2}.blog-detail__title,.blog-detail__excerpt,.blog-detail__byline{grid-column:3/-1}.blog-detail__toc{grid-column:1/span 2}.blog-detail__prose{grid-column:3/-1}.blog-detail__aside{gap:var(--grid-gutter);border-block-start:1px solid var(--line-strong);grid-column:3/-1;grid-template-columns:1fr 2fr;margin-block-start:var(--space-9);padding-block-start:var(--space-5);display:grid;position:static}.blog-detail__aside>p{grid-column:1/-1}.blog-detail__aside dl{grid-column:1}.blog-detail__aside .blog-detail__cta{grid-column:2;align-self:start;margin-block-start:0}}@media (max-width:47.999rem){.blog-detail__shell{padding-block-start:var(--space-5)}.blog-detail__shell>article{padding-inline-start:0}.blog-detail .section-label{justify-content:flex-start;gap:var(--space-4);width:auto;writing-mode:horizontal-tb;margin-block-end:var(--space-7);padding-inline-start:var(--space-5);position:relative;inset:auto;transform:none}.blog-detail__utility{padding-block:var(--space-2);flex-direction:column;align-items:flex-start;gap:0}.blog-detail__utility p{padding-block-end:var(--space-2)}.blog-detail__heading,.blog-detail__reading{display:block}.blog-detail__heading{padding-block:var(--space-7)}.blog-detail__kicker{gap:var(--space-2) var(--space-4);flex-flow:wrap;margin-block-end:var(--space-5)}.blog-detail__title{overflow-wrap:normal;max-inline-size:12ch;font-size:clamp(2.8rem,12.5vw,4.75rem)}.blog-detail__excerpt{margin-block-start:var(--space-7)}.blog-detail__byline{border-block-start:1px solid var(--line);grid-template-columns:1fr 1fr;margin-block-start:var(--space-7);padding-block-start:var(--space-4)}.blog-detail__cover{aspect-ratio:16/10;margin-block-start:var(--space-7)}.blog-detail__cover figcaption{border-block-start:1px solid var(--line);max-inline-size:none;position:static}.blog-detail__reading{margin-block-start:var(--space-9)}.blog-detail__toc{margin-block-end:var(--space-9);position:static}.blog-detail__toc a{grid-template-columns:2rem 1fr;font-size:.9rem}.blog-detail__prose{max-inline-size:none}.blog-detail__prose h2{padding-inline-end:2.5rem}.blog-detail__code{margin-inline:calc(-1 * var(--page-gutter))}.blog-detail__aside{display:block}.blog-detail__aside .blog-detail__cta{margin-block-start:var(--space-6)}.blog-detail__related-heading{display:block}.blog-detail__related-heading p{margin-block-end:var(--space-4)}.blog-detail__related-list a{min-block-size:auto;padding-block:var(--space-5);grid-template-columns:2rem 1fr auto}.blog-detail__related-list a>.meta:nth-child(3){display:none}.blog-detail__related-name{font-size:1.35rem}}
