@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.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:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.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:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_661d970e-module__U8n-pa__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_661d970e-module__U8n-pa__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.05uvaxv85y..0.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:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fc2699ecc8323b38-s.0gyljc-fku7zg.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:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.0_88erakuzr64.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:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.05uvaxv85y..0.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:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fc2699ecc8323b38-s.0gyljc-fku7zg.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:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.0_88erakuzr64.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:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.05uvaxv85y..0.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:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fc2699ecc8323b38-s.0gyljc-fku7zg.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:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.0_88erakuzr64.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:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.05uvaxv85y..0.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:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fc2699ecc8323b38-s.0gyljc-fku7zg.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:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.0_88erakuzr64.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:Public Sans Fallback;src:local(Arial);ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.0%;size-adjust:104.87%}.public_sans_e1eaf0be-module__Yg1cea__className{font-family:Public Sans,Public Sans Fallback;font-style:normal}.public_sans_e1eaf0be-module__Yg1cea__variable{--font-body:"Public Sans", "Public Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.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.0x08jh8vondwt.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.0~wrfy7sm-h4g.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.0k_.i63k_i_qa.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.16-z~2sp29ex6.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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.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:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.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:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.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:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.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:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.0_n_qwbzcushi.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:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.07r2ragk8ph~z.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:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0787d67~10694.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:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0dgq8lqrj3gc_.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:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0o14nraug8u5s.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_e06e8f36-module__Zw213W__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_e06e8f36-module__Zw213W__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-body), ui-sans-serif, system-ui;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}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(--font-mono), ui-monospace, monospace;font-feature-settings:normal;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg:#fbfaf7;--surface:#fff;--ink:#1c2420;--ink-soft:#4d5853;--muted:#6d7570;--line:#e3e0d8;--line-strong:#cfccc2;--accent:#0e6e5c;--accent-deep:#0a5446;--accent-soft:#e9f3ef;--dark:#142822;--dark-ink:#e8efeb;--dark-muted:#9eb3aa;--radius:10px;--radius-lg:16px;--font-display-stack:var(--font-display), "Avenir Next", "Segoe UI", sans-serif;--font-body-stack:var(--font-body), "Segoe UI", sans-serif;--font-mono-stack:var(--font-mono), "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body-stack);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}h1,h2,h3,h4{font-family:var(--font-display-stack);letter-spacing:-.015em;color:var(--ink);margin:0;font-weight:600;line-height:1.15}p{margin:0}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.container{width:min(1120px,100% - 3rem);margin-inline:auto}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:0 0 var(--radius) 0;padding:.6rem 1rem;font-size:.85rem;font-weight:600;position:absolute;top:0;left:-999px}.skip-link:focus{left:0}.site-header{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fbfaf7eb;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:1rem;padding-block:.85rem;display:flex;position:relative}.brand-lockup{align-items:center;gap:.7rem;display:flex}.brand-mark{border-radius:var(--radius);background:var(--dark);width:38px;height:38px;color:var(--dark-ink);font-family:var(--font-mono-stack);letter-spacing:.05em;place-items:center;font-size:.8rem;font-weight:600;display:grid}.brand-lockup strong{font-family:var(--font-display-stack);font-size:1rem;line-height:1.2;display:block}.brand-lockup small{font-family:var(--font-mono-stack);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.66rem;display:block}.nav-links{align-items:center;gap:1.6rem;display:flex}.nav-links a{color:var(--ink-soft);font-size:.92rem;font-weight:500;transition:color .16s}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--accent-deep)}.nav-toggle{border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 10px;display:none}.nav-toggle span{background:var(--ink);border-radius:2px;height:2px;transition:transform .2s,opacity .2s;display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (max-width:760px){.nav-toggle{display:flex}.nav-links{background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.5rem 1rem;display:none;position:absolute;top:100%;left:-1.5rem;right:-1.5rem}.nav-links.open{display:flex}.nav-links a{border-bottom:1px solid var(--line);padding:.75rem .25rem;font-size:1rem}.nav-links a:last-child{border-bottom:none}}.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:3.5rem;padding-block:5rem 4.5rem;display:grid;position:relative}.hero:before{content:"";background-image:radial-gradient(var(--line-strong) 1px, transparent 1px);opacity:.35;pointer-events:none;background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 85%);mask-image:linear-gradient(#000 0%,#0000 85%)}.hero-copy{gap:1.2rem;display:grid;position:relative}.kicker{font-family:var(--font-mono-stack);text-transform:uppercase;letter-spacing:.14em;color:var(--accent-deep);font-size:.74rem;font-weight:500}.hero h1{font-size:clamp(2.5rem,6vw,3.9rem);font-weight:700}.hero-role{font-family:var(--font-display-stack);color:var(--accent-deep);font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:500}.hero-lead{color:var(--ink-soft);max-width:36rem;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.profile-card{background:var(--dark);color:var(--dark-ink);border-radius:var(--radius-lg);font-family:var(--font-mono-stack);padding:1.6rem 1.7rem 1.7rem;font-size:.84rem;line-height:1.7;position:relative;box-shadow:0 24px 48px -24px #14282273}.profile-card-bar{gap:6px;margin-bottom:1.1rem;display:flex}.profile-card-bar i{background:var(--dark-muted);opacity:.5;border-radius:50%;width:9px;height:9px}.profile-card-prompt{color:var(--dark-muted);margin-bottom:.8rem}.profile-card-prompt strong{color:#fff;font-weight:600}.profile-card dl{grid-template-columns:auto 1fr;gap:.35rem 1.1rem;margin:0;display:grid}.profile-card dt{color:var(--dark-muted);text-transform:uppercase;letter-spacing:.1em;padding-top:2px;font-size:.68rem}.profile-card dd{margin:0}.profile-card .ok{color:#7fd6b8}@media (max-width:920px){.hero{grid-template-columns:1fr;gap:2.5rem;padding-block:3.5rem 3rem}}.section{padding-block:4.5rem}.section-band{background:var(--surface);border-block:1px solid var(--line);padding-block:4.5rem}.section-title{gap:.7rem;max-width:44rem;margin-bottom:2.5rem;display:grid}.section-title h2{font-size:clamp(1.6rem,3.4vw,2.2rem)}.section-title h1{font-size:clamp(2rem,4.5vw,2.9rem)}.section-title .section-description{color:var(--ink-soft);font-size:1rem}.section-footer-link{margin-top:2.2rem}.page-shell{padding-block:3.5rem 4.5rem}.btn{border-radius:var(--radius);align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-size:.92rem;font-weight:600;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent-deep);color:#fff}.btn-primary:hover{background:var(--accent)}.btn-secondary{color:var(--ink);border:1px solid var(--line-strong);background:0 0}.btn-secondary:hover{border-color:var(--accent-deep);color:var(--accent-deep)}.btn-text{color:var(--accent-deep);text-underline-offset:4px;border-radius:0;padding:0;font-weight:600}.btn-text:hover{text-decoration:underline}.closing-cta .btn-primary{color:var(--dark);background:#fff}.closing-cta .btn-primary:hover{background:var(--dark-ink)}.badge{border:1px solid var(--line-strong);background:var(--surface);font-family:var(--font-mono-stack);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .6rem;font-size:.66rem;font-weight:500;display:inline-flex}.badge-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.badge-active:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.badge-private{background:var(--bg);color:var(--muted)}.stack-list{flex-wrap:wrap;gap:.45rem;display:flex}.stack-list span{background:var(--accent-soft);color:var(--accent-deep);font-family:var(--font-mono-stack);border-radius:6px;padding:.28rem .65rem;font-size:.74rem;font-weight:500}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem;display:grid}.skill-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);align-content:start;gap:.75rem;padding:1.5rem;transition:border-color .18s,box-shadow .18s;display:grid}.skill-card:hover{border-color:var(--accent);box-shadow:0 14px 30px -18px #0e6e5c4d}.skill-card-index{font-family:var(--font-mono-stack);color:var(--accent-deep);letter-spacing:.1em;font-size:.72rem}.skill-card h3{font-size:1.08rem}.skill-card p{color:var(--ink-soft);font-size:.9rem}.skill-card .stack-list{margin-top:.2rem}.case-list{gap:1.6rem;display:grid}.case-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);scroll-margin-top:90px;display:grid;overflow:hidden}.case-card-reverse .case-copy{order:2}.case-card-reverse .case-media{border-left:none;border-right:1px solid var(--line);order:1}.case-copy{align-content:start;gap:1.1rem;padding:2.1rem 2.2rem;display:grid}.case-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.case-head h3{margin-right:auto;font-size:1.45rem}.case-block{gap:.3rem;display:grid}.case-block-label{font-family:var(--font-mono-stack);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-deep);font-size:.68rem;font-weight:600}.case-block p{color:var(--ink-soft);font-size:.93rem}.case-media{background:var(--accent-soft);border-left:1px solid var(--line);display:grid;position:relative}.case-media figure{align-content:center;gap:.6rem;height:100%;margin:0;padding:1.6rem;display:grid}.case-media img{border-radius:var(--radius);border:1px solid var(--line);width:100%;height:auto;box-shadow:0 18px 36px -22px #1c242059}.case-media figcaption{color:var(--muted);text-align:center;font-size:.76rem}.case-actions{flex-wrap:wrap;gap:1rem;margin-top:.2rem;display:flex}@media (max-width:920px){.case-card{grid-template-columns:1fr}.case-card-reverse .case-copy{order:1}.case-card-reverse .case-media{border-right:none;order:2}.case-media{border-left:none;border-top:1px solid var(--line)}.case-copy{padding:1.6rem 1.4rem}}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem;display:grid}.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);align-content:start;gap:.8rem;padding:1.6rem;transition:border-color .18s,box-shadow .18s;display:grid}.feature-card:hover{border-color:var(--accent);box-shadow:0 14px 30px -18px #0e6e5c4d}.feature-card h3{font-size:1.2rem}.feature-card>p{color:var(--ink-soft);font-size:.92rem}.feature-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.feature-meta .kicker{margin-right:auto}.site-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem;display:grid}.site-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);align-content:start;transition:border-color .18s,box-shadow .18s;display:grid;overflow:hidden}.site-card:hover{border-color:var(--accent);box-shadow:0 14px 30px -18px #0e6e5c4d}.site-card img{border-bottom:1px solid var(--line);width:100%;height:auto;display:block}.site-card-body{gap:.65rem;padding:1.25rem 1.3rem 1.4rem;display:grid}.site-card-body h3{font-size:1.05rem}.site-card-body p{color:var(--ink-soft);font-size:.88rem}.site-card-link{color:var(--accent-deep);text-underline-offset:4px;font-size:.88rem;font-weight:600}.site-card-link:hover{text-decoration:underline}.text-page{max-width:44rem}.prose{color:var(--ink-soft);gap:1.2rem;font-size:1.02rem;display:grid}.prose strong{color:var(--ink)}.info-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);gap:.4rem;margin-top:2rem;padding:1.2rem 1.4rem;display:grid}.info-card p{color:var(--ink-soft);font-size:.95rem}.contact-email{font-family:var(--font-mono-stack);color:var(--accent-deep);font-size:1rem;font-weight:600}.closing-cta{background:var(--dark);color:var(--dark-ink);padding-block:4rem}.closing-cta .container{justify-items:start;gap:1.4rem;display:grid}.closing-cta h2{color:#fff;max-width:36rem;font-size:clamp(1.5rem,3.2vw,2.1rem)}.closing-cta p{color:var(--dark-muted);max-width:36rem}.site-footer{background:var(--dark);color:var(--dark-ink);border-top:1px solid #e8efeb14;padding-block:2.8rem 2.2rem}.footer-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem;display:grid}.site-footer strong{font-family:var(--font-display-stack);font-size:1.05rem}.site-footer .footer-grid p{color:var(--dark-muted);max-width:30rem;margin-top:.5rem;font-size:.9rem}.footer-links{flex-wrap:wrap;place-content:start flex-end;gap:1.4rem;display:flex}.footer-links a{color:var(--dark-muted);font-size:.9rem;transition:color .16s}.footer-links a:hover{color:#fff}.footer-meta{font-family:var(--font-mono-stack);color:var(--dark-muted);border-top:1px solid #e8efeb1a;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-top:2.2rem;padding-top:1.4rem;font-size:.74rem;display:flex}@media (max-width:760px){.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}@media (prefers-reduced-motion:no-preference){.fade-up{animation:.64s ease-out both fadeUp}.fade-up-delay-1{animation:.64s ease-out .12s both fadeUp}.fade-up-delay-2{animation:.64s ease-out .24s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}}
