@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(../media/31e5e20239562b7a-s.3_otmf38u2y4x.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:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9a8b04342f903b9d-s.00hyb-x0mjr9g.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:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c6e2684784a55443-s.p.2p4adm_386h58.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:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../media/742f0fcf9aa5cfe6-s.1x39li9dshdhc.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:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b524e3bdcc8dfcd3-s.1qsgyx-tuq4mu.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:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a083361d37caf3d1-s.p.0s4utfvp8prsy.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:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b221c6d9681431a7-s.3f7g1nki62hoj.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:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../media/af7efeee822b8a1b-s.3sup9rdq9grs5.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:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6c98c9fb873995d2-s.p.22ggkaf3lyu8c.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:Barlow Fallback;src:local(Arial);ascent-override:103.43%;descent-override:20.69%;line-gap-override:0.0%;size-adjust:96.68%}.barlow_fe9c7f67-module__hUCgfq__className{font-family:Barlow,Barlow Fallback;font-style:normal}.barlow_fe9c7f67-module__hUCgfq__variable{--font-barlow:"Barlow", "Barlow Fallback"}
@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbd88c7cbebcb5b-s.33sztrngv_ieb.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:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e3c10b17cdb86a23-s.198xu-2bu0foz.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:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../media/612838607db3d51d-s.p.2-6hkzwn24m5-.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:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9710cef2a2a6ac70-s.38t85nkp60tez.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:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a978fc28c69736ab-s.2omtmoo94goav.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:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../media/303804218d80822e-s.p.3lj349bs9hfu1.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:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e37557cf0085218d-s.2dbbbbabmw4n4.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:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/146a3e5eadafdf83-s.1oqo1buse5xew.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:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d9b5d46d9a89ffe6-s.p.0xxdg0o7uh536.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:Barlow Condensed Fallback;src:local(Arial);ascent-override:130.73%;descent-override:26.15%;line-gap-override:0.0%;size-adjust:76.49%}.barlow_condensed_27c96e0d-module__FSaVja__className{font-family:Barlow Condensed,Barlow Condensed Fallback;font-style:normal}.barlow_condensed_27c96e0d-module__FSaVja__variable{--font-barlow-condensed:"Barlow Condensed", "Barlow Condensed 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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.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.1qc6dx89jd2qv.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.29yke99gs9qpn.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.1i-sca43-qwng.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.0oace-s_gkfks.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_c7d8cc32-module__U1BAtG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_c7d8cc32-module__U1BAtG__variable{--font-ibm-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-outline-style:solid}}}@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:var(--font-ibm-plex-mono), ui-monospace, monospace;--color-neutral-200:#e5e5e5;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-ibm-plex-mono), ui-monospace, monospace;--font-heading:var(--font-barlow-condensed), system-ui, sans-serif;--font-body:var(--font-barlow), system-ui, sans-serif}@supports (color:lab(0% 0 0)){:root,:host{--color-neutral-200:lab(90.952% 0 -.0000119209);--color-neutral-600:lab(34.924% 0 0);--color-neutral-700:lab(27.036% 0 0);--color-neutral-800:lab(15.204% 0 -.00000596046)}}}@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{.visible{visibility:visible}.block{display:block}.flex{display:flex}.h-full{height:100%}.min-h-full{min-height:100%}.flex-1{flex:1}.flex-col{flex-direction:column}.object-cover{object-fit:cover}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--color-bg:#f2f2f3;--color-surface:#e9e9ea;--color-text:#1d1f20;--color-accent:#5980a6;--color-divider:#1d1f2029;--color-neutral-200:#e7e7ea;--color-neutral-600:#7a7a7d;--color-neutral-700:#5d5d60;--color-neutral-800:#424244;--color-accent-100:#eef6ff;--color-accent-200:#d6ebff;--color-accent-300:#b5d9fd;--color-accent-600:#597ea3;--color-accent-700:#416180;--color-accent-800:#2c455d;--color-accent-900:#1d2d3d;--font-heading:var(--font-barlow-condensed), system-ui, sans-serif;--font-body:var(--font-barlow), system-ui, sans-serif;--font-mono:var(--font-ibm-plex-mono), ui-monospace, monospace;--page-pad:clamp(20px, 4vw, 48px)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--color-bg);background-image:linear-gradient(var(--color-text) 1px, transparent 1px), linear-gradient(90deg, var(--color-text) 1px, transparent 1px);margin:0}@supports (color:color-mix(in lab, red, red)){body{background-image:linear-gradient(color-mix(in srgb, var(--color-text) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--color-text) 7%, transparent) 1px, transparent 1px)}}body{color:var(--color-text);font-family:var(--font-body);background-size:40px 40px;font-size:15px;line-height:1.6}html.has-tech-cursor body:before{content:"";pointer-events:none;z-index:15;background:radial-gradient(180px circle at var(--mx,50%) var(--my,50%), var(--color-accent), transparent 70%);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){html.has-tech-cursor body:before{background:radial-gradient(180px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--color-accent) 14%, transparent), transparent 70%)}}a{color:var(--color-accent-700);text-decoration:none}a:hover{color:var(--color-accent-800)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}}.mono{font-family:var(--font-mono)}.hd{font-family:var(--font-heading);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.05}.kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-700);margin:0 0 14px;font-size:11px}.kicker-on-dark{color:var(--color-accent-300)}.accent-line{background:var(--color-accent);transform-origin:0;height:1px;margin-top:18px;display:block}.rv.in .accent-line{animation:.7s cubic-bezier(.2,.7,.2,1) both hz-line;animation-delay:calc(var(--d,0s) + .18s)}.blueprint{border:1px solid var(--color-divider);border-radius:0;position:relative}.blueprint>.corner{width:11px;height:11px;color:var(--color-text);position:absolute}@supports (color:color-mix(in lab, red, red)){.blueprint>.corner{color:color-mix(in srgb, var(--color-text) 55%, transparent)}}.blueprint>.corner{pointer-events:none}.blueprint>.corner:before,.blueprint>.corner:after{content:"";background:currentColor;position:absolute}.blueprint>.corner:before{width:1px;height:100%;top:0;left:5px}.blueprint>.corner:after{width:100%;height:1px;top:5px;left:0}.blueprint>.corner.tl{top:-6px;left:-6px}.blueprint>.corner.tr{top:-6px;right:-6px}.blueprint>.corner.bl{bottom:-6px;left:-6px}.blueprint>.corner.br{bottom:-6px;right:-6px}.duotone{background:var(--color-neutral-200);position:relative;overflow:hidden}.duotone:after{content:"";pointer-events:none;background:var(--color-accent);mix-blend-mode:color;transition:opacity .5s;position:absolute;inset:0}.proj:hover .duotone:after{opacity:0}.btn{cursor:pointer;font-family:var(--font-heading);color:var(--color-text);border:1px solid var(--color-divider);background:0 0;border-radius:0;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:15px 24px;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-600);color:var(--color-bg)}.btn-primary:active{background:var(--color-accent-700)}.btn-secondary:hover{background:var(--color-text)}@supports (color:color-mix(in lab, red, red)){.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.blueprint{transition:transform .2s,background .2s}.btn.blueprint:hover{transform:translateY(-2px)}.btn.blueprint:active{transform:translateY(0)}.tag{letter-spacing:.02em;border-radius:0;align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent-700)}.field{flex-direction:column;margin-top:16px;display:flex}.field>label{font-family:var(--font-mono);color:var(--color-text);margin-bottom:5px;font-size:12px;display:block}@supports (color:color-mix(in lab, red, red)){.field>label{color:color-mix(in srgb, var(--color-text) 70%, transparent)}}.input{width:100%;min-height:36px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0;padding:6px 10px;font-size:14px}.input:hover{border-color:var(--color-text)}@supports (color:color-mix(in lab, red, red)){.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}}.input:focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:0}textarea.input{resize:vertical;min-height:90px}.seg{border:1px solid var(--color-divider);display:flex}.seg-opt{cursor:pointer;border-left:1px solid var(--color-divider);flex:1;justify-content:center;align-items:center;padding:9px 6px;font-size:13px;display:inline-flex}.seg-opt:first-child{border-left:0}.seg-opt input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.seg-opt.is-active{background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(.is-active):hover{background:var(--color-text)}@supports (color:color-mix(in lab, red, red)){.seg-opt:not(.is-active):hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}}.card{background:0 0}.card.blueprint{transition:border-color .3s,background .3s,transform .3s cubic-bezier(.2,.7,.2,1)}.card.blueprint:hover{border-color:var(--color-accent);background:var(--color-accent-100);transform:translateY(-3px)}.card.blueprint:hover>.corner{color:var(--color-accent)}.site-header{border-bottom:1px solid var(--color-divider);background:var(--color-bg);z-index:20;position:sticky;top:0}.nav{padding:18px var(--page-pad);align-items:center;gap:34px;display:flex}.nav-brand{font-family:var(--font-heading);letter-spacing:.14em;color:var(--color-text);align-items:center;gap:12px;margin-right:auto;font-size:24px;font-weight:600;display:flex}.nav-logo{flex:none;width:40px;height:auto;display:block}.nav-wordmark{letter-spacing:.14em}.nav-tagline{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-neutral-600);text-transform:uppercase;font-size:10px}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a:not(.btn){color:inherit;font-size:14px;position:relative}.nav-links a:not(.btn):after{content:"";background:var(--color-accent);transform-origin:0;width:100%;height:1px;transition:transform .28s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-5px;left:0;transform:scaleX(0)}.nav-links a:not(.btn):hover:after{transform:scaleX(1)}.nav-cta{min-height:0;padding:9px 18px;font-size:14px}.nav-burger{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:4px;padding:12px 10px;display:none}.nav-burger span{background:var(--color-text);width:22px;height:1px;display:block}.nav-mobile{padding:8px var(--page-pad) 22px;border-top:1px solid var(--color-divider);flex-direction:column;gap:16px;display:none}.nav-mobile a:not(.btn){color:inherit;font-size:16px}.hero{padding:76px var(--page-pad) 64px;border-bottom:1px solid var(--color-divider);grid-template-columns:1.15fr .85fr;gap:56px;display:grid}.hero-title{text-wrap:balance;font-size:clamp(38px,5.4vw,70px)}.hero-lead{max-width:56ch;color:var(--color-neutral-800);margin:26px 0 0;font-size:19px;line-height:1.55}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.hero-stack{letter-spacing:.06em;color:var(--color-neutral-600);text-transform:uppercase;flex-wrap:wrap;gap:8px 6px;margin:44px 0 0;font-size:12px;display:flex}.hero-sheet{align-self:start;padding:30px}.sheet-label{letter-spacing:.14em;text-transform:uppercase;color:var(--color-neutral-600);border-bottom:1px solid var(--color-divider);padding-bottom:16px;font-size:10px}.sheet-row{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0;display:flex}.sheet-row:last-of-type{border-bottom:0}.sheet-row .mono{color:var(--color-neutral-700);font-size:12px}.sheet-row .hd{text-align:right;font-size:22px}.sheet-note{color:var(--color-neutral-700);margin:20px 0 0;font-size:14px;line-height:1.5}.section{padding:72px var(--page-pad);border-bottom:1px solid var(--color-divider)}.section-head{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px;display:flex}.section-title{font-size:clamp(30px,3.4vw,44px)}.section-aside{max-width:38ch;color:var(--color-neutral-700);margin:0;font-size:15px}.service-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.service-card{padding:28px}.service-code{color:var(--color-accent-700);letter-spacing:.1em;font-size:11px}.service-card h3{margin:12px 0 14px;font-size:28px;line-height:1.22}.service-card p{color:var(--color-neutral-800);margin:0}.service-list{border-top:1px solid var(--color-divider);flex-direction:column;gap:10px;margin:22px 0 0;padding:20px 0 0;list-style:none;display:flex}.service-list .mono{color:var(--color-neutral-700);font-size:12.5px}.work-list{flex-direction:column;gap:34px;display:flex}.proj{grid-template-columns:1fr 1.25fr;transition:border-color .3s;display:grid}.proj-image-right{grid-template-columns:1.25fr 1fr}.proj:hover{border-color:var(--color-accent)}.proj:hover>.corner{color:var(--color-accent)}.proj-media{min-height:280px}.proj-image-left .proj-media{border-right:1px solid var(--color-divider)}.proj-placeholder{border-right:1px solid var(--color-divider);background:repeating-linear-gradient(135deg, var(--color-neutral-200) 0 8px, var(--color-bg) 8px 16px);justify-content:center;align-items:center;min-height:300px;display:flex}.proj-placeholder .mono{letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-700);background:var(--color-bg);border:1px solid var(--color-divider);padding:8px 14px;font-size:12px}.proj-body{padding:32px 34px}.proj-image-right .proj-body{border-right:1px solid var(--color-divider)}.proj-top{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.proj-code{color:var(--color-accent-700);letter-spacing:.1em;font-size:11px}.proj-body h3{margin:10px 0 0;font-size:32px;line-height:1.22}.proj-tags{flex-wrap:wrap;flex:none;gap:6px;display:flex}.proj-rows{margin:24px 0 0}.proj-rows>div{border-top:1px solid var(--color-divider);grid-template-columns:170px 1fr;gap:20px;padding:16px 0;display:grid}.proj-rows dt{letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-600);font-size:11px}.proj-rows dd{margin:0;font-size:15px;line-height:1.6}.approach{padding:72px var(--page-pad);background:var(--color-accent-900);color:var(--color-bg);border-bottom:1px solid var(--color-divider);grid-template-columns:1fr 1fr;gap:64px;display:grid}.approach-copy p:not(.kicker){color:var(--color-accent-200);margin:22px 0 0;font-size:17px;line-height:1.65}.approach-grid{background:var(--color-accent-300);grid-template-columns:1fr 1fr;gap:1px;display:grid}@supports (color:color-mix(in lab, red, red)){.approach-grid{background:color-mix(in srgb, var(--color-accent-300) 35%, transparent)}}.step{background:var(--color-accent-900);padding:26px;transition:background .3s}.step:hover{background:var(--color-accent-800)}.step .mono{color:var(--color-accent-300);margin-bottom:10px;font-size:11px}.step .hd{margin-bottom:8px;font-size:26px}.step p{color:var(--color-accent-200);margin:0;font-size:14px;line-height:1.55}.contact{padding:72px var(--page-pad);grid-template-columns:1.05fr .95fr;gap:56px;display:grid}.contact-title{max-width:20ch;font-size:clamp(31px,4vw,52px)}.contact-lead{max-width:52ch;color:var(--color-neutral-800);margin:22px 0 0;font-size:17px;line-height:1.6}.contact-meta{flex-direction:column;gap:12px;margin:32px 0 0;padding:0;list-style:none;display:flex}.contact-meta .mono{color:var(--color-neutral-800);font-size:14px}.contact-card{padding:30px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row .field{margin-top:0}.form-submit{margin-top:20px;padding:14px;font-size:15px}.form-hint{color:var(--color-neutral-600);text-align:center;margin:14px 0 0;font-size:11.5px}.form-error{color:#8a2a2a;margin:16px 0 0;font-size:14px}.form-success .hd{margin-bottom:10px;font-size:28px}.form-success p{color:var(--color-neutral-800);margin:0 0 20px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.site-footer{padding:24px var(--page-pad);border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-brand{letter-spacing:.14em;align-items:center;gap:10px;font-size:18px;display:flex}.footer-brand .nav-logo{width:28px}.footer-meta{color:var(--color-neutral-600);font-size:11px}.legal{max-width:760px;padding:64px var(--page-pad) 80px;margin:0 auto}.legal h1{margin-bottom:24px;font-size:44px}.legal h2{margin:32px 0 10px;font-size:26px}.legal p,.legal li{color:var(--color-neutral-800)}@keyframes hz-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes hz-mark{0%{opacity:0;transform:scale(.35)}to{opacity:1;transform:none}}@keyframes hz-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}html.has-tech-cursor,html.has-tech-cursor *{cursor:none}html.has-tech-cursor input,html.has-tech-cursor textarea,html.has-tech-cursor select,html.has-tech-cursor input *,html.has-tech-cursor textarea *{cursor:text}.tech-cursor{pointer-events:none;z-index:40;position:fixed;inset:0}.tech-x,.tech-y{background:var(--color-accent);position:absolute}@supports (color:color-mix(in lab, red, red)){.tech-x,.tech-y{background:color-mix(in srgb, var(--color-accent) 45%, transparent)}}.tech-x{top:0;bottom:0;left:var(--mx,-100px);width:1px;transform:translate(-.5px)}.tech-y{left:0;right:0;top:var(--my,-100px);height:1px;transform:translateY(-.5px)}.tech-plus{left:var(--mx,-100px);top:var(--my,-100px);width:15px;height:15px;position:absolute;transform:translate(-50%,-50%)}.tech-plus:before,.tech-plus:after{content:"";background:var(--color-accent);position:absolute}.tech-plus:before{width:1px;height:100%;top:0;left:7px}.tech-plus:after{width:100%;height:1px;top:7px;left:0}.tech-hud{left:var(--mx,0);top:var(--my,0);letter-spacing:.08em;color:var(--color-accent-700);background:var(--color-bg);font-size:10px;position:absolute;transform:translate(14px,12px)}@supports (color:color-mix(in lab, red, red)){.tech-hud{background:color-mix(in srgb, var(--color-bg) 86%, transparent)}}.tech-hud{border:1px solid var(--color-divider);padding:2px 6px}.to-top{right:var(--page-pad);z-index:35;border:1px solid var(--color-divider);background:var(--color-bg);width:48px;height:48px;color:var(--color-text);opacity:0;pointer-events:none;padding:0;transition:opacity .28s,transform .28s cubic-bezier(.2,.7,.2,1),border-color .2s,background .2s;position:fixed;bottom:22px;transform:translateY(8px)}.to-top.is-on{opacity:1;pointer-events:auto;transform:none}.to-top:hover{border-color:var(--color-accent);background:var(--color-accent-100)}.to-top:hover>.corner{color:var(--color-accent)}.to-top-mark{border-top:1.5px solid;border-left:1.5px solid;width:10px;height:10px;margin:0 auto;display:block;transform:rotate(45deg)translate(2px,2px)}.rv{opacity:0}.rv.in{animation:.6s cubic-bezier(.2,.7,.2,1) both hz-up;animation-delay:var(--d,0s)}.rv.in>.corner{animation:.4s ease-out both hz-mark;animation-delay:calc(var(--d,0s) + .26s)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv,.rv.in{opacity:1;animation:none}.rv.in>.corner,.rv.in .accent-line{animation:none}.tech-cursor,html.has-tech-cursor body:before{display:none}html.has-tech-cursor,html.has-tech-cursor *{cursor:auto}.to-top{transition:none}}@media (max-width:960px){.nav-tagline,.nav-links{display:none}.nav-burger,.nav-mobile{display:flex}.hero,.section-head,.service-grid,.approach,.contact,.form-row,.proj,.proj-image-right,.proj-rows>div{flex-direction:column;display:flex}.hero{padding:32px var(--page-pad) 30px;gap:32px}.hero-lead{margin-top:16px;font-size:15.5px}.hero-actions{flex-direction:column;margin-top:24px}.hero-btn,.hero-actions .btn{width:100%}.hero-stack{margin-top:26px;font-size:11px}.section{padding:30px var(--page-pad)}.section-head{align-items:flex-start;margin-bottom:20px}.service-card{padding:20px}.service-card h3,.proj-body h3{font-size:23px}.proj-body{padding:20px}.proj-media{border-right:0;border-bottom:1px solid var(--color-divider);min-height:170px}.proj-image-right .proj-body{border-right:0}.proj-rows>div{gap:6px;padding:12px 0}.approach{padding:30px var(--page-pad);gap:20px}.approach-grid{grid-template-columns:1fr}.contact{padding:30px var(--page-pad);gap:28px}.site-footer{flex-direction:column;align-items:flex-start}.tech-cursor,html.has-tech-cursor body:before{display:none}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
