@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/af21ab248943f479-s.3gj6ciom31zjc.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:62% 125%;font-display:swap;src:url(../media/4ae66b896b591e96-s.0_kz_z3o_slvt.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/21ca8f3f56c22ca2-s.p.1cp9-4nby68jc.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_a48a7f2d-module__1ESPJq__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_a48a7f2d-module__1ESPJq__variable{--font-archivo:"Archivo", "Archivo 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-20C4,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-20C4,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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.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.0o-3_g79811ob.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.0ngr-xkgqz1kf.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.15orukf5wyxb5.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-20C4,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.226pwps5o-gq_.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_3497e030-module__YFThRq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_3497e030-module__YFThRq__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.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:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.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:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/e8f2fbee2754df70-s.1dqa_6e_ad4sj.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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e8f2fbee2754df70-s.1dqa_6e_ad4sj.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:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_71941fbf-module__3K-SIa__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_71941fbf-module__3K-SIa__variable{--font-montserrat:"Montserrat", "Montserrat 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)))){:root,:host{--reveal:0%;--sign:1}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--offset:0;--write:100%}}}@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-plex-mono);--spacing:.25rem;--container-xl:36rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-semibold:600;--tracking-normal:0em;--leading-relaxed:1.625;--radius-sm:.25rem;--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);--color-void:#050807;--color-carbon:#0b100d;--color-grid:#16211a;--color-signal:#00ff41;--color-signal-hi:#8dffb0;--color-signal-dim:#0f6b2e;--color-signal-ghost:#00ff4114;--color-phosphor:#d9f5e2;--color-phosphor-dim:#7d9684;--color-amber:#ffb000;--color-alert:#ff2a2a;--color-letter-bg:#0b0a08;--color-letter-ink:#efe6d8;--color-paper:#cdc3af;--color-paper-ink:#1d1a16;--color-paper-dim:#5f574b;--color-paper-accent:#0f6b2e;--font-display:var(--font-archivo);--font-brand:var(--font-montserrat);--text-h1:clamp(2.25rem, 5vw, 4.5rem);--text-body:clamp(1rem, 1.1vw, 1.125rem);--text-label:.6875rem;--tracking-hud:.18em;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-crt:cubic-bezier(.25, 0, 0, 1);--duration-ui:.18s;--spacing-section:clamp(6rem, 12vh, 10rem);--spacing-gutter:clamp(1rem, 4vw, 4rem);--spacing-rail:clamp(3.5rem, 6vw, 5rem);--spacing-dock:0px;--spacing-titlebar:2.75rem;--radius-frame:.625rem;--z-canvas:0;--z-page:10;--z-canvas-front:15;--z-stage:16;--z-canvas-over:17;--z-cut:18;--z-hud:20;--z-cursor:25;--z-chat:30;--z-consent:40}}@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{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-20{top:calc(var(--spacing) * 20)}.right-4{right:calc(var(--spacing) * 4)}.bottom-\[calc\(100lvh-100svh\+1\.5rem\)\]{bottom:calc(100lvh - 100svh + 1.5rem)}.left-0{left:0}.left-1\/2{left:50%}.left-full{left:100%}.z-\(--z-hud\){z-index:var(--z-hud)}.z-20{z-index:20}.z-\[var\(--z-consent\)\]{z-index:var(--z-consent)}.z-\[var\(--z-hud\)\]{z-index:var(--z-hud)}.mx-auto{margin-inline:auto}.mt-\(--spacing-titlebar\){margin-top:var(--spacing-titlebar)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-\(--spacing-titlebar\){height:var(--spacing-titlebar)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-lvh{min-height:100lvh}.min-h-svh{min-height:100svh}.w-\(--spacing-rail\){width:var(--spacing-rail)}.w-12{width:calc(var(--spacing) * 12)}.w-36{width:calc(var(--spacing) * 36)}.w-64{width:calc(var(--spacing) * 64)}.w-\[22rem\]{width:22rem}.w-\[min\(40rem\,100\%\)\]{width:min(40rem,100%)}.w-auto{width:auto}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.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}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.grid-rows-\[auto_1fr_auto\]{grid-template-rows:auto 1fr auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-start{justify-self:flex-start}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-grid{border-color:var(--color-grid)}.border-paper-ink\/30{border-color:#1d1a164d}@supports (color:color-mix(in lab, red, red)){.border-paper-ink\/30{border-color:color-mix(in oklab, var(--color-paper-ink) 30%, transparent)}}.border-signal{border-color:var(--color-signal)}.border-signal-dim{border-color:var(--color-signal-dim)}.border-signal-dim\/60{border-color:#0f6b2e99}@supports (color:color-mix(in lab, red, red)){.border-signal-dim\/60{border-color:color-mix(in oklab, var(--color-signal-dim) 60%, transparent)}}.bg-carbon{background-color:var(--color-carbon)}.bg-carbon\/80{background-color:#0b100dcc}@supports (color:color-mix(in lab, red, red)){.bg-carbon\/80{background-color:color-mix(in oklab, var(--color-carbon) 80%, transparent)}}.bg-carbon\/95{background-color:#0b100df2}@supports (color:color-mix(in lab, red, red)){.bg-carbon\/95{background-color:color-mix(in oklab, var(--color-carbon) 95%, transparent)}}.bg-paper{background-color:var(--color-paper)}.bg-transparent{background-color:#0000}.bg-void{background-color:var(--color-void)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-\(--spacing-gutter\){padding-inline:var(--spacing-gutter)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[var\(--spacing-gutter\)\]{padding-inline:var(--spacing-gutter)}.py-\(--spacing-section\){padding-block:var(--spacing-section)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-\[calc\(100lvh-100svh\)\]{padding-bottom:calc(100lvh - 100svh)}.text-end{text-align:end}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[length\:var\(--text-label\)\]{font-size:var(--text-label)}.text-body{font-size:var(--text-body)}.text-h1{font-size:var(--text-h1)}.text-label{font-size:var(--text-label)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[var\(--tracking-hud\)\],.tracking-hud{--tw-tracking:var(--tracking-hud);letter-spacing:var(--tracking-hud)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-alert{color:var(--color-alert)}.text-amber{color:var(--color-amber)}.text-paper-dim{color:var(--color-paper-dim)}.text-paper-dim\/70{color:#5f574bb3}@supports (color:color-mix(in lab, red, red)){.text-paper-dim\/70{color:color-mix(in oklab, var(--color-paper-dim) 70%, transparent)}}.text-paper-ink{color:var(--color-paper-ink)}.text-phosphor{color:var(--color-phosphor)}.text-phosphor-dim{color:var(--color-phosphor-dim)}.text-phosphor-dim\/70{color:#7d9684b3}@supports (color:color-mix(in lab, red, red)){.text-phosphor-dim\/70{color:color-mix(in oklab, var(--color-phosphor-dim) 70%, transparent)}}.text-signal{color:var(--color-signal)}.text-signal-dim{color:var(--color-signal-dim)}.text-signal-hi{color:var(--color-signal-hi)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-\[var\(--color-signal\)\]{accent-color:var(--color-signal)}.opacity-0{opacity:0}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.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,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.\[text-orientation\:upright\]{text-orientation:upright}.\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-paper-dim::placeholder{color:var(--color-paper-dim)}.placeholder\:text-phosphor-dim::placeholder{color:var(--color-phosphor-dim)}@media (hover:hover){.hover\:border-signal-dim:hover{border-color:var(--color-signal-dim)}.hover\:bg-signal-ghost:hover{background-color:var(--color-signal-ghost)}.hover\:text-alert:hover{color:var(--color-alert)}.hover\:text-phosphor:hover{color:var(--color-phosphor)}.hover\:text-signal:hover{color:var(--color-signal)}.hover\:text-signal-hi:hover{color:var(--color-signal-hi)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-\[var\(--z-hud\)\]:focus{z-index:var(--z-hud)}.focus\:rounded-sm:focus{border-radius:var(--radius-sm)}.focus\:border:focus{border-style:var(--tw-border-style);border-width:1px}.focus\:border-signal-dim:focus{border-color:var(--color-signal-dim)}.focus\:bg-carbon:focus{background-color:var(--color-carbon)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:font-mono:focus{font-family:var(--font-mono)}.focus\:text-\[length\:var\(--text-label\)\]:focus{font-size:var(--text-label)}.focus\:tracking-\[var\(--tracking-hud\)\]:focus{--tw-tracking:var(--tracking-hud);letter-spacing:var(--tracking-hud)}.focus\:text-signal:focus{color:var(--color-signal)}.focus\:uppercase:focus{text-transform:uppercase}.focus-visible\:border-paper-ink:focus-visible{border-color:var(--color-paper-ink)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-signal-hi:focus-visible{outline-color:var(--color-signal-hi)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media not all and (min-width:48rem){.max-md\:hidden{display:none}}@media (min-width:48rem){.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:inline{display:inline}.md\:min-h-\(--spacing-titlebar\){min-height:var(--spacing-titlebar)}.md\:gap-4{gap:calc(var(--spacing) * 4)}}@media (orientation:portrait){.portrait\:min-h-\[calc\(84svh-1\.5rem\)\]{min-height:calc(84svh - 1.5rem)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-void:#f4f8f5;--color-carbon:#e8ece9;--color-grid:#c6d2ca;--color-signal:#0a8f30;--color-signal-hi:#0a7d2b;--color-signal-dim:#4f7d60;--color-signal-ghost:#00b53314;--color-phosphor:#0b100d;--color-phosphor-dim:#55665d;--color-amber:#b57400;--color-alert:#d81e1e;--color-letter-bg:#f5f3ee;--color-letter-ink:#1d1a16;--color-paper:#fbf7ee;--color-paper-dim:#6f665a}.theme-icon--light{display:none}.theme-icon--dark,html[data-theme=light] .theme-icon--light{display:inline-flex}html[data-theme=light] .theme-icon--dark{display:none}html{background:var(--color-void);color:var(--color-phosphor);scrollbar-gutter:stable}body{font-family:var(--font-display), system-ui, sans-serif;-webkit-font-smoothing:antialiased}.page-layer{z-index:var(--z-page);padding-inline-start:var(--spacing-rail);position:relative}.canvas-layer{z-index:var(--z-canvas);pointer-events:none;opacity:0;transition:opacity .5s ease-out;position:fixed;inset:0}.canvas-layer.is-ready{opacity:1}html[data-intro=pending]:not([data-robot=in]) .canvas-layer{opacity:0}html:has([data-section=hero]) .canvas-layer{z-index:var(--z-canvas-front);border-radius:var(--radius-frame);overflow:hidden}html[data-stage=projects] .canvas-layer,html[data-stage=contact] .canvas-layer{clip-path:inset(calc(var(--spacing-titlebar) + 2px) 0 0 0)}[data-cursor-trail]{width:100%;height:100%;z-index:var(--z-cursor);pointer-events:none;position:fixed;inset:0}html[data-intro=pending] [data-cursor-trail]{display:none}html:has([data-studio]) .canvas-layer{z-index:var(--z-canvas-front);opacity:1}:is(html:has([data-studio]) .page-layer>header,html:has([data-studio]) .page-layer>footer){display:none}html:has([data-studio]) .page-layer{padding-inline-start:0}.page-layer:has([data-section=hero])>footer{display:none}.page-layer:has([data-section=contact])>footer{z-index:1;padding-block-end:calc(1.5rem + var(--spacing-dock));display:grid;position:relative}.hero-terminal{border-radius:var(--radius-frame);border-color:#00ff418c;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.hero-terminal{border-color:color-mix(in srgb, var(--color-signal) 55%, transparent)}}.hero-terminal{box-shadow:inset 0 0 40px var(--color-signal-ghost), 0 0 60px var(--color-signal-ghost)}html[data-theme=light] .hero-terminal{border-color:#00ff41d9}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .hero-terminal{border-color:color-mix(in srgb, var(--color-signal) 85%, transparent)}}html[data-theme=light] .hero-terminal{box-shadow:inset 0 0 32px #00ff4124,0 0 24px #00ff412e}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .hero-terminal{box-shadow:inset 0 0 32px color-mix(in srgb, var(--color-signal) 14%, transparent), 0 0 24px color-mix(in srgb, var(--color-signal) 18%, transparent)}}.hero-terminal>[data-boot-log]{display:none}[data-boot-titlebar]{padding-inline-start:1rem}@media (min-width:48rem){.page-layer:has([data-section=hero]) [data-rail-logo]{display:none}.page-layer:has([data-section=hero]) [data-rail]{grid-template-rows:1fr auto}}.hero-logo{display:none;position:absolute;top:10svh;left:50%;transform:translate(-50%)}.hero-logo-inner{transform-origin:50% 0;transform:scale(.42)}.hero-logo-svg{width:auto;height:clamp(7rem,18vw,15rem)}.hero-logo-label{opacity:0}.hero-manifesto{padding:var(--spacing-gutter);text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.5rem,4vh,3rem);padding-block-end:clamp(14rem,48vh,34rem);padding-inline-start:calc(var(--spacing-rail) + var(--spacing-gutter));display:flex;position:fixed;inset:0}.hero-manifesto-brand{font-family:var(--font-brand), system-ui, sans-serif;color:var(--color-phosphor);flex-direction:column;align-items:center;gap:.35rem;display:flex}.hero-brand-name{letter-spacing:.01em;font-size:clamp(1.5rem,3.4vw,2.75rem);line-height:1.1}.hero-brand-name-momentum{font-weight:500}.hero-brand-name-studio{font-weight:300}.hero-brand-tagline{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.02em;color:var(--color-phosphor-dim);font-size:clamp(.9rem,1.6vw,1.15rem);font-weight:400}.hero-manifesto-mission{max-width:46ch;font-family:var(--font-display), system-ui, sans-serif;text-align:center;color:var(--color-phosphor);margin-top:clamp(1rem,3vh,2.5rem);font-size:clamp(.95rem,1.65vw,1.2rem);font-style:italic;line-height:1.5}.hero-mission-sentence{display:block}.hero-mission-sentence+.hero-mission-sentence{margin-top:.6em}.hero-mission-prefix{color:var(--color-signal-dim);font-style:normal}.hero-manifesto-services{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:var(--tracking-hud);text-align:center;text-transform:uppercase;color:var(--color-phosphor-dim);margin-top:clamp(1rem,3vh,2rem);font-size:clamp(.7rem,1.1vw,.85rem)}[data-hero-rain]{z-index:1;pointer-events:none;position:fixed;inset:0}[data-hero-shard-layer]{z-index:2;pointer-events:none;color:var(--color-phosphor);position:fixed;inset:0}[data-hero-shard]{will-change:transform, opacity;position:absolute}html[data-intro=pending]{overflow:hidden}html[data-intro=pending] .hero-terminal{will-change:transform;background-color:var(--color-carbon);width:100%;height:auto;position:static;transform:translateY(115lvh)}html[data-terminal-settle] .hero-terminal{transition:background-color .9s var(--ease-out-expo)}html[data-intro=pending] .hero-terminal>[data-boot-log],html[data-intro=pending] .hero-logo{display:block}html[data-intro=pending] .hero-logo-inner{will-change:transform;transform:translateY(calc(50dvh - 10svh - 50%))scale(1)}html[data-intro=pending] .hero-logo-label{opacity:1}html[data-intro=pending] .hero-manifesto{opacity:0}html[data-intro=pending] .boot-line{visibility:hidden}html[data-intro=pending] .page-layer>header{opacity:0;pointer-events:none}.boot-line{font-family:var(--font-mono), ui-monospace, monospace}.is-typing:after,.has-cursor:after{content:"▊";color:var(--color-signal);margin-left:.15em;animation:1s step-end infinite mv-blink}@keyframes mv-blink{50%{opacity:0}}.fx-glitch{animation:90ms step-end infinite mv-glitch-slice}@keyframes mv-glitch-slice{0%{clip-path:inset(0 0 58%);filter:brightness(1.6)}20%{clip-path:inset(34% 0 12%);filter:brightness(.8)}40%{clip-path:inset(8% 0 71%);filter:brightness(1.9)}60%{clip-path:inset(62% 0 0);filter:brightness(1.1)}80%{clip-path:inset(21% 0 43%);filter:brightness(2.2)}to{clip-path:inset(0);filter:brightness()}}.fx-aberrate{box-shadow:3px 0 #00ff418c}@supports (color:color-mix(in lab, red, red)){.fx-aberrate{box-shadow:3px 0 0 color-mix(in srgb, var(--color-signal) 55%, transparent)}}.fx-aberrate-text{text-shadow:2px 0 var(--color-signal)}.fx-aberrate-text svg{filter:drop-shadow(2px 0 var(--color-signal))}.fx-pulse{animation:.14s steps(2,end) mv-pulse}@keyframes mv-pulse{50%{background-color:var(--color-signal-ghost)}}@property --offset{syntax:"<number>";inherits:false;initial-value:0}.skills{height:calc(var(--skills-count,4) * 100svh);--skill-title-size:clamp(1.5rem, min(3.4vw, 4.8vh), 3.25rem);--skills-heading-size:clamp(1.75rem, min(3vw, 4.2vh), 2.5rem);--skills-intro-band:6.25rem;position:relative}.skills-stage{z-index:1;height:100svh;clip-path:inset(max(0px, calc(var(--spacing-titlebar) + 1px - var(--skills-stage-top,0px))) 0 0 0);padding:var(--spacing-gutter);--skills-safe-top:calc(var(--spacing-titlebar) + var(--spacing-gutter) + var(--skills-heading-size) + var(--skills-intro-band));--skills-safe-bottom:var(--spacing-gutter);--skills-focus-top:clamp(calc(var(--spacing-dock) + var(--skills-safe-bottom)), calc(var(--skills-safe-top) - (100svh - 46rem)), var(--skills-safe-top));padding-block-start:calc(var(--spacing-titlebar) + var(--spacing-gutter));position:sticky;top:0;overflow:hidden}.skills-head{z-index:20;position:relative}.skills-heading{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--skills-heading-size);letter-spacing:.08em;text-transform:uppercase;color:var(--color-signal);line-height:1}.skills-intro{color:var(--color-phosphor);margin-top:.75rem;font-size:clamp(1.05rem,2.2vw,1.5rem);line-height:1.35}.skills-intro-line{white-space:nowrap;display:block}.skills-intro-short{display:none}.skills-windows{position:absolute;inset:0}.skills-window{left:var(--x);top:var(--y);width:min(15rem,22%);z-index:calc(10 - var(--offset));position:absolute}.skills[data-in-view] .skills-window{will-change:transform}.skills-window:not([data-in-focus]){pointer-events:none;-webkit-user-select:none;user-select:none;--skill-title-size:.95rem}.skills-card{border:1px solid #00ff4166;font-size:clamp(.85rem,min(1.02vw,1.7vh),1.0625rem);display:block}@supports (color:color-mix(in lab, red, red)){.skills-card{border:1px solid color-mix(in srgb, var(--color-signal) 40%, transparent)}}.skills-card{background:#0b100deb}@supports (color:color-mix(in lab, red, red)){.skills-card{background:color-mix(in srgb, var(--color-carbon) 92%, transparent)}}.skills-card{box-shadow:0 18px 40px -12px #0000008c}.skills-window:not([data-in-focus]) .skills-card{background:linear-gradient(var(--color-signal-ghost), var(--color-signal-ghost)), #0b100db3}@supports (color:color-mix(in lab, red, red)){.skills-window:not([data-in-focus]) .skills-card{background:linear-gradient(var(--color-signal-ghost), var(--color-signal-ghost)), color-mix(in srgb, var(--color-carbon) 70%, transparent)}}.skills-window:not([data-in-focus]) .skills-card{border-color:#00ff4138}@supports (color:color-mix(in lab, red, red)){.skills-window:not([data-in-focus]) .skills-card{border-color:color-mix(in srgb, var(--color-signal) 22%, transparent)}}.skills-window:not([data-in-focus]) .skills-card{box-shadow:none;opacity:calc(.3 - var(--offset) * .045);filter:blur(min(calc(1px + var(--offset) * .8px), 3.5px));scale:calc(.9 - var(--offset) * .02);max-height:11rem;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.skills-window[data-in-focus]{inset:var(--skills-focus-top) var(--spacing-gutter) calc(var(--spacing-dock) + var(--skills-safe-bottom));z-index:15;width:min(70%,84rem);height:fit-content;margin:auto}.skills-card-bar{background:#0f6b2e61;flex-wrap:wrap;align-items:baseline;gap:.3em 0;padding:.7em 1em .75em;display:flex}@supports (color:color-mix(in lab, red, red)){.skills-card-bar{background:color-mix(in srgb, var(--color-signal-dim) 38%, transparent)}}.skills-card-bar{border-bottom:1px solid #00ff414d}@supports (color:color-mix(in lab, red, red)){.skills-card-bar{border-bottom:1px solid color-mix(in srgb, var(--color-signal) 30%, transparent)}}.skills-card-bar{color:var(--color-phosphor)}.skills-card-index{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--skill-title-size);letter-spacing:-.02em;text-transform:lowercase;color:var(--color-signal-hi);line-height:1.02}.skills-card-name{font-family:var(--font-display), system-ui, sans-serif;font-size:var(--skill-title-size);letter-spacing:-.02em;text-transform:uppercase;color:var(--color-phosphor);font-weight:600;line-height:1.02}.skills-card-body{flex-direction:column;gap:.85em;padding:1.1em 1em 1em;display:flex}.skills-card-line{max-width:68ch;color:var(--color-phosphor);font-size:1.4em;line-height:1.45}.skills-card-label{font-family:var(--font-mono), ui-monospace, monospace;font-size:max(var(--text-label), .72em);letter-spacing:var(--tracking-hud);text-transform:uppercase;color:var(--color-signal);margin-bottom:.45em;display:block}.skills-card-block,.skills-card-foot{border-block-start:1px solid var(--color-grid);padding-block-start:.75em}.skills-card-detail{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.9em 2em;display:grid}.skills-card-list,.skills-card-steps{color:var(--color-phosphor);flex-direction:column;gap:.45em;line-height:1.4;display:flex}.skills-card-list li{grid-template-columns:.85em 1fr;display:grid}.skills-card-list li:before{content:"";background:var(--color-signal-dim);align-self:start;width:.4em;height:1px;margin-top:.7em}.skills-card-steps li{flex-wrap:wrap;align-items:baseline;gap:0 .45em;display:flex}.skills-card-step-index{font-family:var(--font-mono), ui-monospace, monospace;font-size:max(var(--text-label), .78em);letter-spacing:var(--tracking-hud);color:var(--color-signal-hi)}.skills-card-step-icon{width:1em;height:1em;color:var(--color-signal-hi);flex:none;align-self:center}.skills-card-step-label{color:var(--color-phosphor);font-weight:500}.skills-card-step-text{color:var(--color-phosphor-dim);flex:14ch}.skills-card-step-text:before{content:"— " / ""}.skills-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6em 1.5em;display:flex}.skills-card-tags{font-family:var(--font-mono), ui-monospace, monospace;font-size:max(var(--text-label), .82em);letter-spacing:var(--tracking-hud);color:var(--color-phosphor-dim)}.skills-card-cta{font-family:var(--font-mono), ui-monospace, monospace;font-size:max(var(--text-label), .82em);letter-spacing:var(--tracking-hud);text-transform:uppercase;color:var(--color-signal)}.skills-card-cta:hover{color:var(--color-signal-hi)}.skills-card-cta:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:2px}.skills-rule{right:var(--spacing-gutter);z-index:20;position:absolute;top:50%;translate:0 -50%}.skills-rule ol{flex-direction:column;gap:.25rem;display:flex}.skills-rule button{cursor:pointer;background:0 0;border:0;width:2.5rem;height:1.5rem;padding:0;display:block}.skills-rule button:after{content:"";background:var(--color-signal-dim);width:1.5rem;height:2px;transition:background var(--duration-ui) ease-out, width var(--duration-ui) var(--ease-out-expo), height var(--duration-ui) var(--ease-out-expo);margin-block:.6875rem;margin-inline-start:auto;display:block}.skills-rule button:hover:after{background:var(--color-signal)}.skills-rule button[aria-current]:after{background:var(--color-signal);width:2.5rem}.skills-rule button:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:2px}.skills-static{z-index:1;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,#00ff4138 0 1px,#0000 1px 3px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.skills-static{background:repeating-linear-gradient(0deg, color-mix(in srgb, var(--color-signal) 22%, transparent) 0 1px, transparent 1px 3px)}}.skills-static{mix-blend-mode:screen}.skills-window:not([data-in-focus]) .skills-static{display:none}.skills-static[data-on]{animation:.12s steps(4,end) mv-skills-static}.skills[data-cutting] .skills-window[data-in-focus] .skills-card{text-shadow:-2px 0 #ff2a2ab3,2px 0 #00ff41b3}@supports (color:color-mix(in lab, red, red)){.skills[data-cutting] .skills-window[data-in-focus] .skills-card{text-shadow:-2px 0 color-mix(in srgb, var(--color-alert) 70%, transparent), 2px 0 color-mix(in srgb, var(--color-signal) 70%, transparent)}}@keyframes mv-skills-static{0%{opacity:.9;background-position-y:0}50%{opacity:.55;background-position-y:7px}to{opacity:0;background-position-y:2px}}.nav-cut{z-index:var(--z-cut);pointer-events:none;visibility:hidden;opacity:0;background:repeating-linear-gradient(0deg, #00ff4138 0 1px, transparent 1px 3px), var(--color-carbon);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.nav-cut{background:repeating-linear-gradient(0deg, color-mix(in srgb, var(--color-signal) 22%, transparent) 0 1px, transparent 1px 3px), var(--color-carbon)}}.nav-cut[data-on]{visibility:visible;animation:.26s steps(6,end) both mv-nav-cut}@keyframes mv-nav-cut{0%{opacity:.6;background-position-y:0}15%,35%{opacity:1;background-position-y:5px}70%{opacity:.45;background-position-y:2px}to{opacity:0;background-position-y:7px}}html[data-theme=light] .nav-cut{background:repeating-linear-gradient(0deg, #00ff414d 0 1px, transparent 1px 3px), var(--color-carbon)}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .nav-cut{background:repeating-linear-gradient(0deg, color-mix(in srgb, var(--color-signal) 30%, transparent) 0 1px, transparent 1px 3px), var(--color-carbon)}}html[data-theme=light] .skills-card{border-color:#00ff41b3}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .skills-card{border-color:color-mix(in srgb, var(--color-signal) 70%, transparent)}}html[data-theme=light] .skills-card{box-shadow:0 18px 40px -14px #0b100d47}html[data-theme=light] .skills-window:not([data-in-focus]) .skills-card{background:linear-gradient(#00ff4124,#00ff4124),#0b100de0}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .skills-window:not([data-in-focus]) .skills-card{background:linear-gradient(color-mix(in srgb, var(--color-signal) 14%, transparent), color-mix(in srgb, var(--color-signal) 14%, transparent)), color-mix(in srgb, var(--color-carbon) 88%, transparent)}}html[data-theme=light] .skills-window:not([data-in-focus]) .skills-card{opacity:calc(.4 - var(--offset) * .05)}html[data-theme=light] .skills-card-bar{background:#00ff4129}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .skills-card-bar{background:color-mix(in srgb, var(--color-signal) 16%, transparent)}}html[data-theme=light] .skills-card-bar{border-bottom-color:#00ff4173}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .skills-card-bar{border-bottom-color:color-mix(in srgb, var(--color-signal) 45%, transparent)}}html[data-theme=light] .skills-card-bar{color:var(--color-phosphor)}html[data-theme=light] .skills-card-list li:before{background:var(--color-signal)}html[data-theme=light] .skills-static{mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#00ff414d 0 1px,#0000 1px 3px)}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .skills-static{background:repeating-linear-gradient(0deg, color-mix(in srgb, var(--color-signal) 30%, transparent) 0 1px, transparent 1px 3px)}}.projects{--projects-stride:var(--projects-stride-landscape,1);--projects-tail:var(--projects-tail-landscape,.4);height:calc(( (var(--projects-count,4) - 1) * var(--projects-stride) + 1 + var(--projects-tail) + 1 ) * 100svh);position:relative}@media (orientation:portrait){.projects{--projects-stride:var(--projects-stride-portrait,1.25);--projects-tail:var(--projects-tail-portrait,.65)}}.projects-stage{z-index:1;height:100dvh;padding:var(--spacing-gutter);padding-block-start:calc(var(--spacing-titlebar) + var(--spacing-gutter));position:sticky;top:0;overflow:hidden}.projects-head{z-index:2;max-width:34ch;opacity:var(--head-opacity,1);position:relative}.projects[data-disc-step] .projects-head{pointer-events:none}.projects-heading{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--color-signal);font-size:clamp(1.75rem,min(3vw,4.2vh),2.5rem);line-height:1}.projects-intro{color:var(--color-phosphor);margin-top:.75rem;font-size:clamp(1.05rem,2.2vw,1.5rem);line-height:1.35}.projects-list{inset:0 0 0 calc(-1 * var(--spacing-rail));position:absolute}.projects-item{--card-h:70dvh;width:min(90vw, calc(var(--card-h) * 1.059));height:var(--card-h);--card-radius-case:calc(var(--card-h) * .0588);--card-radius:var(--card-radius-case);opacity:0;pointer-events:none;transition:opacity .14s var(--ease-out-expo) .34s;position:absolute;top:14%;left:50%;translate:-50%}.projects-item:focus-within,.projects-item[data-in-view]{opacity:1;pointer-events:auto;transition:opacity 80ms var(--ease-out-expo)}@property --reveal{syntax:"<percentage>";inherits:true;initial-value:0%}.projects-item .projects-card{height:100%;clip-path:inset(0 0 calc(100% - var(--reveal)) 0);transition:--reveal .38s var(--ease-out-expo);flex-direction:column;display:flex;position:relative}.projects-item .projects-card:after{content:"";background:var(--color-signal);inset-inline:0;height:2px;top:0;top:calc(var(--reveal) - 2px);pointer-events:none;opacity:1;transition:opacity .16s linear;position:absolute}.projects-item:focus-within .projects-card,.projects-item[data-in-view] .projects-card{--reveal:100%;transition:--reveal .7s cubic-bezier(.2,1.22,.4,1)}.projects-item:focus-within .projects-card:after,.projects-item[data-in-view] .projects-card:after{opacity:0;transition:opacity .26s linear .56s}.projects-card-cover{flex:1;justify-content:center;align-items:flex-start;min-height:0;display:flex;container-type:size}.projects-card-screen{--screen-ratio:calc(var(--crop-w,8) / var(--crop-h,5));width:min(100cqw, 100cqh * var(--screen-ratio));aspect-ratio:var(--screen-ratio);background:var(--cover-dark);color:var(--cover-ink-dark);flex:none;justify-content:flex-end;align-items:flex-end;padding:.75em;display:flex;position:relative;overflow:hidden}html[data-theme=light] .projects-card-screen{background:var(--cover-light);color:var(--cover-ink-light)}.projects-card-screen video,.case-screen video{left:calc(var(--crop-x,0) / var(--crop-w,1) * -100%);top:calc(var(--crop-y,0) / var(--crop-h,1) * -100%);width:calc(var(--src-w,1) / var(--crop-w,1) * 100%);height:calc(var(--src-h,1) / var(--crop-h,1) * 100%);object-fit:cover;max-width:none;position:absolute}.projects-card-soon{font-family:var(--font-mono), ui-monospace, monospace;font-size:max(var(--text-label), .72em);letter-spacing:var(--tracking-hud);text-transform:uppercase;opacity:.75}.projects-card{border:1px solid #00ff4166;font-size:clamp(.9rem,min(1.02vw,1.7vh),1.0625rem)}@supports (color:color-mix(in lab, red, red)){.projects-card{border:1px solid color-mix(in srgb, var(--color-signal) 40%, transparent)}}.projects-card{background:#0b100deb}@supports (color:color-mix(in lab, red, red)){.projects-card{background:color-mix(in srgb, var(--color-carbon) 92%, transparent)}}.projects-card{border-radius:var(--card-radius);overflow:hidden}.projects-card-bar{background:#0f6b2e61;flex-wrap:wrap;align-items:baseline;gap:.3em 0;padding:.7em 1em .75em;display:flex}@supports (color:color-mix(in lab, red, red)){.projects-card-bar{background:color-mix(in srgb, var(--color-signal-dim) 38%, transparent)}}.projects-card-bar{border-bottom:1px solid #00ff414d}@supports (color:color-mix(in lab, red, red)){.projects-card-bar{border-bottom:1px solid color-mix(in srgb, var(--color-signal) 30%, transparent)}}.projects-card-bar{color:var(--color-phosphor)}.projects-card-index{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:-.02em;text-transform:lowercase;color:var(--color-signal-hi);font-size:1.35em;line-height:1.02}.projects-card-name{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.02em;text-transform:uppercase;color:var(--color-phosphor);font-size:1.35em;font-weight:600;line-height:1.02}.projects-card-body{flex-direction:column;flex:1;gap:.85em;min-height:0;padding:1.1em 1em 1em;display:flex}.projects-card-summary{max-width:60ch;color:var(--color-phosphor);font-size:1.15em;line-height:1.45}.projects-card-label{font-family:var(--font-mono), ui-monospace, monospace;font-size:max(var(--text-label), .72em);letter-spacing:var(--tracking-hud);text-transform:uppercase;color:var(--color-signal);margin-bottom:.35em;display:block}.projects-card-meta,.projects-card-foot{border-block-start:1px solid var(--color-grid);padding-block-start:.85em}.projects-card-meta{color:var(--color-phosphor-dim);grid-template-columns:repeat(auto-fit,minmax(8.5em,1fr));gap:.85em 1em;margin:0;display:grid}.projects-card-meta dd{margin:0}.projects-card-site{overflow-wrap:anywhere}.projects-card-site:hover{color:var(--color-phosphor);text-underline-offset:.2em;text-decoration:underline}.projects-card-site:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:2px}@media (min-width:48rem){.projects-card-meta:has(.projects-card-site){grid-template-columns:repeat(3,minmax(0,1fr)) max-content}.projects-card-meta .projects-card-site{white-space:nowrap;overflow-wrap:normal}}.projects-card-status,.case-status{font-family:var(--font-mono), ui-monospace, monospace;font-size:max(var(--text-label), .82em);letter-spacing:var(--tracking-hud);text-transform:uppercase;align-items:center;gap:.5em;display:flex}.projects-card-status:before,.case-status:before{content:"";background:currentColor;flex:none;width:.55em;height:.55em}.projects-card-status[data-status=live],.case-status[data-status=live]{color:var(--color-signal)}.projects-card-status[data-status=finishing],.case-status[data-status=finishing]{color:var(--color-amber)}.projects-card-status[data-status=building],.case-status[data-status=building]{color:var(--color-phosphor-dim)}.projects-card-foot{flex-wrap:wrap;align-items:baseline;gap:.6em 1.5em;display:flex}.projects-card-cta{font-family:var(--font-mono), ui-monospace, monospace;font-size:max(var(--text-label), .82em);letter-spacing:var(--tracking-hud);text-transform:uppercase;color:var(--color-signal);margin-inline-start:auto}.projects-card-cta:hover{color:var(--color-signal-hi)}.projects-card-cta:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:2px}.case{max-inline-size:72rem;padding:var(--spacing-section) var(--spacing-gutter);gap:clamp(2rem,5vh,3.5rem);margin-inline:auto;font-size:clamp(.95rem,1.05vw,1.0625rem);display:grid}.case-head{gap:1.25em;display:grid}.case-back,.case-link{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--text-label);letter-spacing:var(--tracking-hud);text-transform:uppercase;color:var(--color-signal)}.case-back{justify-self:start}.case-back:hover,.case-link:hover,.case-next-link:hover .projects-card-name{color:var(--color-signal-hi)}.case-back:focus-visible,.case-link:focus-visible,.case-next-link:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:2px}.case-bar{background:#0f6b2e61;flex-wrap:wrap;align-items:baseline;gap:.3em .4em;padding:.7em 1em .75em;font-size:clamp(1.4em,2.2vw,1.9em);display:flex}@supports (color:color-mix(in lab, red, red)){.case-bar{background:color-mix(in srgb, var(--color-signal-dim) 38%, transparent)}}.case-bar{border-bottom:3px solid var(--cover-dark);color:var(--color-phosphor)}html[data-theme=light] .case-bar{border-bottom-color:var(--cover-light)}.case-summary{max-width:34ch;color:var(--color-phosphor);font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.35}.case-meta{border-block:1px solid var(--color-grid);color:var(--color-phosphor-dim);grid-template-columns:repeat(auto-fit,minmax(9em,1fr));gap:1em 1.5em;margin:0;padding-block:1em;display:grid}.case-meta dd{margin:0}.case-screen{--screen-ratio:calc(var(--crop-w,8) / var(--crop-h,5));width:100%;aspect-ratio:var(--screen-ratio);background:var(--cover-dark);color:var(--cover-ink-dark);justify-content:flex-end;align-items:flex-end;padding:.75em;display:flex;position:relative;overflow:hidden}html[data-theme=light] .case-screen{background:var(--cover-light);color:var(--cover-ink-light)}.case-story{display:grid}.case-chapter{border-block-start:1px solid var(--color-grid);gap:.75em;padding-block:1.5em;display:grid}.case-chapter-title{font-family:var(--font-mono), ui-monospace, monospace;font-size:max(var(--text-label), .78em);letter-spacing:var(--tracking-hud);text-transform:uppercase;color:var(--color-signal)}.case-chapter-index{color:var(--color-signal-hi);margin-inline-end:.6em}.case-chapter-text{font-size:var(--text-body);max-width:60ch;color:var(--color-phosphor);line-height:1.6}@media (min-width:48rem){.case-chapter{grid-template-columns:minmax(10rem,1fr) minmax(0,2fr);align-items:start;gap:2em}}.case-gallery{border-block-start:1px solid var(--color-grid);gap:1.5em;padding-block-start:1.5em;display:grid}.case-shots{gap:1em;margin:0;padding:0;list-style:none;display:grid}@media (min-width:48rem){.case-shots{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.5em}.case-shot:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - .75em)}}.case-shot-figure{gap:.75em;margin:0;display:grid}.case-shot-button{cursor:zoom-in;width:100%;display:block;overflow:hidden}.case-shot-button img{width:100%;height:auto;transition:scale .6s var(--ease-out-expo);display:block}.case-shot-button:hover img{scale:1.02}.case-shot-button:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:2px}.case-shot-caption{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--text-label);letter-spacing:var(--tracking-hud);text-transform:uppercase;color:var(--color-phosphor-dim);line-height:1.5}.case-lightbox{width:100%;max-width:none;height:100%;max-height:none;padding:max(var(--spacing-gutter), env(safe-area-inset-top)) max(var(--spacing-gutter), env(safe-area-inset-right)) max(var(--spacing-gutter), env(safe-area-inset-bottom)) max(var(--spacing-gutter), env(safe-area-inset-left));cursor:zoom-out;opacity:1;transition:opacity .32s var(--ease-out-expo), overlay .32s allow-discrete, display .32s allow-discrete;background:0 0;border:0;margin:0}.case-lightbox[open]{grid-template:minmax(0,1fr)/minmax(0,1fr);display:grid}.case-lightbox:not([open]){opacity:0}@starting-style{.case-lightbox[open]{opacity:0}}.case-lightbox::backdrop{-webkit-backdrop-filter:blur(6px);background:#000000d9}html:has(.case-lightbox[open]){overflow:hidden}.case-lightbox-figure{grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:1rem;min-height:0;margin:0;display:grid}.case-lightbox .case-shot-caption{color:#ffffffbf;text-align:center}.case-lightbox-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.case-lightbox-close{top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));color:#ffffffbf;width:2.75rem;height:2.75rem;transition:color var(--duration-ui) ease-out;place-items:center;display:grid;position:fixed}.case-lightbox-close:hover{color:#fff}.case-lightbox-close:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:2px}.case-next{border-block-start:1px solid var(--color-signal);justify-items:start;gap:1em;padding-block-start:1.5em;display:grid}.case-next-link{color:var(--color-phosphor);flex-wrap:wrap;align-items:baseline;gap:.3em .4em;font-size:clamp(1.4em,2.2vw,1.9em);display:flex}.case-next-arrow{transition:translate var(--duration-ui) var(--ease-out-expo);display:inline-block}.case-next-link:hover .case-next-arrow{translate:.25em}@media not all and (min-width:48rem){.case{padding-block:2rem 0}.case-bar,.case-next-link{font-size:4.1vw}}@media (prefers-reduced-motion:no-preference){.case-back,.case-head{animation:case-in .6s var(--ease-out-expo) both}.case-head{animation-delay:80ms}@supports (animation-timeline:view()){.case-screen,.case-chapter,.case-gallery>.case-chapter-title,.case-shot,.case-next{animation:linear both case-in;animation-timeline:view();animation-range:entry entry 40%}}}@keyframes case-in{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}.projects-rule{top:50%;right:var(--spacing-gutter);z-index:2;position:absolute;translate:0 -50%}.projects-rule ol{flex-direction:column;gap:0;display:flex}.projects-rule button{cursor:pointer;padding:.4rem 0;display:block}.projects-rule button:after{content:"";background:var(--color-signal-dim);opacity:.5;width:1.75rem;height:2px;transition:width .24s var(--ease-out-expo), opacity .24s var(--ease-out-expo), background-color .24s var(--ease-out-expo);display:block}.projects-rule button:hover:after{opacity:.85}.projects-rule button[aria-current]:after{opacity:1;background:var(--color-signal);width:3rem}.projects-rule button:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:3px}html[data-theme=light] .projects-card{border-color:#00ff41b3}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .projects-card{border-color:color-mix(in srgb, var(--color-signal) 70%, transparent)}}html[data-theme=light] .projects-card{box-shadow:0 18px 40px -14px #0b100d47}html[data-theme=light] .projects-card-bar{background:#00ff4129}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .projects-card-bar{background:color-mix(in srgb, var(--color-signal) 16%, transparent)}}html[data-theme=light] .projects-card-bar{border-bottom-color:#00ff4173}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .projects-card-bar{border-bottom-color:color-mix(in srgb, var(--color-signal) 45%, transparent)}}html[data-theme=light] .projects-card-bar{color:var(--color-phosphor)}html[data-stage] .hero-manifesto{opacity:0;transition:opacity .42s var(--ease-out-expo)}html[data-archive] [data-boot-titlebar]{background:var(--color-void)}html[data-archive] .page-layer{z-index:var(--z-stage)}html[data-archive][data-card-lift] .canvas-layer{z-index:var(--z-canvas-over)}html[data-stage=projects] .hero-terminal{transition:background-color .3s var(--ease-out-expo);background-color:#0000}:root{--paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.3 0 0 0 0 0.22 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}html[data-stage=contact] .hero-terminal{background-color:var(--color-letter-bg);transition:background-color 1.2s var(--ease-out-expo)}.contact{z-index:1;min-height:100svh;padding:var(--spacing-gutter);padding-block:calc(var(--spacing-titlebar) + var(--spacing-gutter)) calc(var(--spacing-dock) + var(--spacing-gutter));color:var(--color-letter-ink);align-content:center;display:grid;position:relative}.contact-letter{perspective:1400px;flex-direction:column;width:100%;max-width:40rem;margin-inline:auto;display:flex}.contact-sheet{background-color:var(--color-paper);background-image:var(--paper-grain), radial-gradient(120% 70% at 50% 0%, #fffaeb38, transparent 70%), linear-gradient(to bottom, transparent 55%, #281e0f1f);color:var(--color-paper-ink);flex-direction:column;padding:clamp(1.75rem,4vw,3.25rem);display:flex;position:relative;rotate:-.6deg;box-shadow:0 1px 1px #0000004d,0 4px 10px -2px #00000059,0 14px 28px -10px #0006}.contact-float{transform-style:preserve-3d;transform:rotateX(calc(var(--ty,0) * -4deg)) rotateY(calc(var(--tx,0) * 5deg));transition:transform .7s var(--ease-out-expo);position:relative}.contact-float:before{content:"";filter:blur(32px);pointer-events:none;background:#0009;border-radius:12px;position:absolute;inset:6% 4% -3%;transform:translate3d(0,30px,-80px)}html[data-theme=light] .contact-float:before{background:#3c2d1447}.contact-sheet:after{content:"";translate:calc(var(--tx,0) * 12%) calc(var(--ty,0) * 12%);transition:translate .7s var(--ease-out-expo);pointer-events:none;background:radial-gradient(60% 50% at 50% 30%,#fffaeb1a,#0000 70%);position:absolute;inset:0}html[data-theme=light] .contact-sheet:after{background:radial-gradient(60% 50% at 50% 30%,#ffffff73,#0000 70%)}html[data-theme=light] .contact-sheet{background-image:var(--paper-grain), radial-gradient(120% 70% at 50% 0%, #ffffff80, transparent 70%), linear-gradient(to bottom, transparent 60%, #3c2d140d);box-shadow:0 1px 1px #3c2d1429,0 4px 10px -2px #3c2d1424,0 14px 28px -10px #3c2d1433}.contact-sheet-head,.contact-sheet-foot{color:var(--color-paper-dim);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--text-label);letter-spacing:var(--tracking-hud);text-transform:uppercase}.contact-sheet-head{border-block-end:1px solid #1d1a1659;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-block-end:2.25rem;padding-block-end:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.contact-sheet-head{border-block-end:1px solid color-mix(in srgb, var(--color-paper-ink) 35%, transparent)}}.contact-sheet-foot{border-block-start:1px solid #1d1a1659;margin-block-start:2rem;padding-block-start:.75rem}@supports (color:color-mix(in lab, red, red)){.contact-sheet-foot{border-block-start:1px solid color-mix(in srgb, var(--color-paper-ink) 35%, transparent)}}.contact-title{font-family:var(--font-letter), cursive;font-size:2rem;font-weight:400;line-height:1.1}.contact-body{flex-direction:column;gap:1.1em;margin-block-start:2rem;font-size:clamp(1.0625rem,1.3vw,1.25rem);line-height:1.65;display:flex}.contact-signature{width:clamp(12rem,28vw,18rem);color:var(--color-paper-accent);margin-block-start:1.75rem;margin-inline-start:auto}.contact-stamp{outline-offset:3px;color:var(--color-paper-accent);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--text-label);letter-spacing:var(--tracking-hud);text-transform:uppercase;opacity:.8;border:1px solid;outline:1px solid;flex:none;margin-inline-start:auto;padding:.45rem .7rem;translate:0 -1px;rotate:-6deg}@property --write{syntax:"<percentage>";inherits:false;initial-value:100%}.contact-title{width:fit-content}@media (prefers-reduced-motion:no-preference){.contact[data-letter] .contact-title{-webkit-mask-image:linear-gradient(to right, #000 var(--write), transparent calc(var(--write) + 6%));-webkit-mask-image:linear-gradient(to right, #000 var(--write), transparent calc(var(--write) + 6%));-webkit-mask-image:linear-gradient(to right, #000 var(--write), transparent calc(var(--write) + 6%));mask-image:linear-gradient(to right, #000 var(--write), transparent calc(var(--write) + 6%));margin-block:-.25em;padding-block:.25em}.contact[data-letter=pending] .contact-title{--write:-6%}.contact[data-letter=pending] .contact-body>p{opacity:0;translate:0 8px}.contact[data-letter=pending] .contact-signature{--sign:0}.contact[data-letter=pending] .contact-stamp{opacity:0}.contact[data-letter=writing] .contact-title{animation:1.4s ease-in-out both write-in}.contact[data-letter=writing] .contact-body>p{animation:letter-line .6s var(--ease-out-expo) 1.2s both}.contact[data-letter=writing] .contact-body>p+p{animation-delay:1.45s}.contact[data-letter=writing] .contact-signature{animation:2.6s ease-in-out 2s both sign-in}.contact[data-letter=writing] .contact-stamp{animation:.32s cubic-bezier(.2,.9,.3,1.4) 4.6s both stamp-in}}@keyframes write-in{0%{--write:-6%}to{--write:100%}}@keyframes letter-line{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes stamp-in{0%{opacity:0;rotate:-12deg;scale:1.35}to{opacity:.8;rotate:-6deg;scale:1}}.contact-key{--key-plate:var(--color-letter-ink);--key-edge:3px;background-image:linear-gradient(var(--key-plate), var(--key-plate));border-radius:.25rem;align-self:center;align-items:center;gap:.875rem;margin-block-start:3.5rem;padding:1rem 1.5rem 1rem 1.25rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.contact-key{background-image:linear-gradient(color-mix(in srgb, var(--key-plate), white 6%), var(--key-plate))}}.contact-key{box-shadow:inset 0 1px 0 #ffffff59, 0 var(--key-edge) 0 var(--key-plate), 0 calc(var(--key-edge) + .5rem) 1.25rem -.25rem #00000073}@supports (color:color-mix(in lab, red, red)){.contact-key{box-shadow:inset 0 1px 0 #ffffff59, 0 var(--key-edge) 0 color-mix(in srgb, var(--key-plate), black 45%), 0 calc(var(--key-edge) + .5rem) 1.25rem -.25rem #00000073}}.contact-key{color:var(--color-letter-bg);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:var(--tracking-hud);text-transform:uppercase;font-size:.9375rem;font-weight:500;transition:translate 80ms ease-out,box-shadow 80ms ease-out}.contact-key:hover,.contact-key:focus-visible{--key-plate:#f0e7da}@supports (color:color-mix(in lab, red, red)){.contact-key:hover,.contact-key:focus-visible{--key-plate:color-mix(in srgb, var(--color-letter-ink), white 4%)}}.contact-key:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:4px}.contact-key:active{--key-edge:0px;translate:0 3px}.contact-key-led{background-color:var(--color-signal);border-radius:50%;flex:none;width:.5rem;height:.5rem;box-shadow:0 0 0 2px #0b0a08d9,0 0 6px 2px #00ff41b3}@supports (color:color-mix(in lab, red, red)){.contact-key-led{box-shadow:0 0 0 2px color-mix(in srgb, var(--color-letter-bg) 85%, transparent), 0 0 6px 2px color-mix(in srgb, var(--color-signal) 70%, transparent)}}.contact-key-led{transition:background-color var(--duration-ui) ease-out, box-shadow var(--duration-ui) ease-out}.contact-key:hover .contact-key-led,.contact-key:focus-visible .contact-key-led,.contact-key:active .contact-key-led{background-color:var(--color-signal-hi);box-shadow:0 0 0 2px #0b0a08d9, 0 0 10px 3px var(--color-signal)}@supports (color:color-mix(in lab, red, red)){.contact-key:hover .contact-key-led,.contact-key:focus-visible .contact-key-led,.contact-key:active .contact-key-led{box-shadow:0 0 0 2px color-mix(in srgb, var(--color-letter-bg) 85%, transparent), 0 0 10px 3px var(--color-signal)}}.contact-key:hover .contact-key-led,.contact-key:focus-visible .contact-key-led,.contact-key:active .contact-key-led{animation:none}.contact-key-arrow{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:square;width:1rem;height:1rem;transition:translate var(--duration-ui) var(--ease-out-expo);flex:none}.contact-key:hover .contact-key-arrow,.contact-key:focus-visible .contact-key-arrow{translate:.25rem}@media (prefers-reduced-motion:no-preference){.contact-key-led{animation:2.8s ease-in-out infinite alternate contact-key-breathe}}@keyframes contact-key-breathe{0%{opacity:.45}to{opacity:1}}.contact-dialog{width:min(36rem, 100% - 2 * var(--spacing-gutter));overscroll-behavior:contain;border:1px solid #5f574b4d;max-width:none;max-height:85dvh;margin:auto;padding:0;overflow:auto}@supports (color:color-mix(in lab, red, red)){.contact-dialog{border:1px solid color-mix(in srgb, var(--color-paper-dim) 30%, transparent)}}.contact-dialog{border-radius:var(--radius-frame);background:var(--paper-grain), var(--color-paper);color:var(--color-paper-ink);opacity:1;transition:opacity .32s var(--ease-out-expo), translate .42s var(--ease-out-expo), overlay .42s allow-discrete, display .42s allow-discrete;translate:0}.contact-dialog:not([open]){opacity:0;translate:0 12px}@starting-style{.contact-dialog[open]{opacity:0;translate:0 12px}}.contact-dialog::backdrop{-webkit-backdrop-filter:blur(6px);background:#0000008c}html:has(.contact-dialog[open]){overflow:hidden}.contact-dialog-sheet{flex-direction:column;gap:1.75rem;padding:clamp(1.5rem,4vw,2.5rem);display:flex}.contact-dialog-head{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.contact-dialog-title{font-size:clamp(1.125rem,1.6vw,1.375rem);font-weight:400;line-height:1.45}.contact-dialog-close{width:2.75rem;height:2.75rem;color:var(--color-paper-dim);transition:color var(--duration-ui) ease-out;flex:none;place-items:center;margin:-.625rem -.625rem 0 0;display:grid}.contact-dialog-close:hover{color:var(--color-paper-ink)}.contact-dialog-close:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:2px}.contact-send{--meter-on:#00ff41;--meter-busy:#ffb000;--meter-off:#cdc3af26}@supports (color:color-mix(in lab, red, red)){.contact-send{--meter-off:color-mix(in srgb, var(--color-paper) 15%, transparent)}}.contact-send{background-image:linear-gradient(#2f2c29, var(--color-paper-ink));border-radius:.1875rem;align-items:center;gap:1rem;width:100%;margin-block-start:.75rem;padding:1rem 1.25rem;display:flex}@supports (color:color-mix(in lab, red, red)){.contact-send{background-image:linear-gradient(color-mix(in srgb, var(--color-paper-ink), white 8%), var(--color-paper-ink))}}.contact-send{color:var(--color-paper);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:var(--tracking-hud);text-align:start;text-transform:uppercase;font-size:.875rem;transition:translate 80ms ease-out;box-shadow:inset 0 1px #ffffff1f,0 .375rem 1rem -.375rem #0006}.contact-send:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:4px}.contact-send:active:not([data-meter=busy]){translate:0 1px}.contact-send[data-meter=busy]{cursor:progress}.contact-send-label{flex:1}.contact-send-meter{gap:3px;display:flex}.contact-send-meter i{background-color:var(--meter-off);border-radius:1px;width:.3125rem;height:.75rem}.contact-send-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:square;width:1rem;height:1rem;transition:translate var(--duration-ui) var(--ease-out-expo), opacity var(--duration-ui) ease-out;flex:none}.contact-send:is(:hover,:focus-visible):not([data-meter=busy]) .contact-send-icon{translate:.25rem}.contact-send[data-meter=busy] .contact-send-icon{opacity:0}.contact-send[data-meter=done] i,.contact-send[data-meter=idle]:is(:hover,:focus-visible) i{background-color:var(--meter-on);box-shadow:0 0 6px var(--meter-on)}.contact-send[data-meter=busy] i{background-color:var(--meter-busy);box-shadow:0 0 6px var(--meter-busy)}@media (prefers-reduced-motion:no-preference){.contact-send[data-meter=idle]:is(:hover,:focus-visible) i{animation:contact-send-wave 1.2s ease-in-out calc(var(--i) * 80ms) infinite both}.contact-send[data-meter=busy] i{animation:contact-send-fill 1.6s linear calc(var(--i) * .15s) infinite both}}@keyframes contact-send-wave{0%,60%,to{background-color:var(--meter-off);box-shadow:none}25%{background-color:var(--meter-on);box-shadow:0 0 6px var(--meter-on)}}@keyframes contact-send-fill{0%,to{background-color:var(--meter-off);box-shadow:none}10%,70%{background-color:var(--meter-busy);box-shadow:0 0 6px var(--meter-busy)}80%{background-color:var(--meter-off);box-shadow:none}}.lead-signature{width:min(16rem,70%);color:var(--color-paper-accent);animation:2.6s ease-in-out both sign-in}@keyframes sign-in{0%{--sign:0}to{--sign:1}}@media not all and (min-width:48rem){.contact-dialog{width:100%;max-height:calc(100dvh - var(--spacing-titlebar));border-radius:var(--radius-frame) var(--radius-frame) 0 0;border-block-end:0;border-inline:0;margin:auto 0 0;scroll-padding-block:1.5rem}.contact-dialog:not([open]){translate:0 100%}@starting-style{.contact-dialog[open]{translate:0 100%}}.contact-dialog-sheet{padding-block-end:calc(1.5rem + env(safe-area-inset-bottom,0px))}.contact-letter{margin-inline:0}.contact-sheet{padding:1.25rem;rotate:none}.contact-sheet-head{margin-block-end:1rem;padding-block-end:.5rem}.contact-stamp{outline-offset:2px;background-color:var(--color-paper);box-shadow:0 0 0 3px var(--color-paper);padding:.28rem .45rem;font-size:.5rem;position:absolute;top:.9rem;right:.75rem}.contact-title{font-size:1.75rem;line-height:1.05}.contact-body{gap:.75em;margin-block-start:.875rem;font-size:1rem;line-height:1.45}.contact-signature{width:50%;margin-block-start:.75rem}.contact-sheet-foot{margin-block-start:.875rem;padding-block-start:.5rem}.contact-key{margin-block-start:1.25rem;padding:.875rem 1.25rem}}.signature{display:block;overflow:visible}@property --sign{syntax:"<number>";inherits:true;initial-value:1}.signature-pen path{fill:none;stroke:#fff;stroke-width:13px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2;stroke-dashoffset:calc((1.05 - 1.05 * clamp(0, (var(--sign,1) - var(--a)) / var(--s), 1)) * 1px)}@media (orientation:portrait){.page-layer:not(:has([data-section=hero]))>main{padding-block-end:calc(16svh + 1.5rem)}}@media not all and (min-width:48rem){:root{--spacing-rail:0px;--spacing-dock:calc(env(safe-area-inset-bottom,0px) + 4.5rem);--spacing-titlebar:3rem}[data-boot-titlebar]{min-height:var(--spacing-titlebar)}[data-site-titlebar]{background:var(--color-void);border-bottom:1px solid var(--color-grid)}.page-layer{padding-block-start:var(--spacing-titlebar);padding-block-end:var(--spacing-dock)}.page-layer:has([data-section=hero]) [data-site-titlebar]{height:calc(var(--spacing-titlebar) - 1px);inset-inline:1px;background:0 0;border-bottom:0;top:1px}html:not([data-intro=pending]) .boot-chrome{visibility:hidden}html[data-intro=pending] .page-layer:has([data-section=hero]) [data-site-titlebar]{visibility:hidden}.page-layer:has([data-section=hero]){padding-block:0}.hero-manifesto{gap:clamp(1rem,3vh,1.75rem);padding-block-start:calc(var(--spacing-titlebar) + var(--spacing-gutter));padding-block-end:51dvh}.hero-brand-name{font-size:min(1.625rem,6.8vw)}.hero-brand-tagline{white-space:nowrap;font-size:min(.75rem,2.9vw);line-height:1.5}.hero-manifesto-mission{margin-top:clamp(.5rem,2vh,1.25rem);max-width:32ch;margin-inline:auto;font-size:min(1.125rem,4.3vw);line-height:1.55}.hero-manifesto-services{white-space:nowrap;letter-spacing:.1em;margin-top:clamp(.75rem,2.5vh,1.5rem);font-size:min(.7rem,2.6vw)}.skills-stage{padding-block-start:calc(var(--spacing-titlebar) + var(--spacing-gutter));padding-block-end:calc(var(--spacing-dock) + var(--spacing-gutter))}.skills{--skills-heading-size:1.375rem;--skills-intro-band:.75rem}.skills-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.skills-intro{white-space:nowrap;margin-top:0;font-size:.9375rem}.skills-intro-full{display:none}.skills-intro-short{display:inline}.skills-stage{--skills-rule-size:2rem;--skills-rule-gap:.75rem;--skills-safe-bottom:calc(var(--spacing-gutter) + var(--skills-rule-gap) + var(--skills-rule-size))}.skills-window{top:calc(var(--y) + 2px)}.skills-window[data-in-focus]{width:auto;margin:0 auto auto;inset-block-start:calc(var(--skills-safe-top) + 2px);inset-inline:.5rem}.skills-card{font-size:clamp(.78rem,2.04svh,1rem)}.skills-card-line{font-size:1.25em}.skills-card-body{gap:.7em;padding:.9em .85em}.skills-card-block,.skills-card-foot{padding-block-start:.6em}.skills-card-cta{margin-inline-start:auto}.skills-window{width:min(11rem,40%)}.skills-card-detail{grid-template-columns:1fr;display:contents}.skills[data-motion=full] .skills-window[data-in-focus] .skills-card{min-height:var(--skills-card-min,auto);flex-direction:column;display:flex}.skills[data-motion=full] .skills-window[data-in-focus] .skills-card-body{flex:1;justify-content:space-between}.skills[data-measuring] .skills-window{--skill-title-size:inherit;width:auto;inset-inline:.5rem}.skills[data-measuring] .skills-window .skills-card{min-height:0;max-height:none}.skills-rule{top:auto;left:50%;right:auto;bottom:calc(var(--spacing-dock) + var(--skills-safe-bottom) / 2 - var(--skills-rule-size) / 2 - (100dvh - 100svh) / 2);translate:-50%}.skills[data-motion] .skills-rule{bottom:auto;top:calc(var(--skills-focus-bottom) + var(--skills-rule-gap))}.skills[data-in-view] .skills-rule{will-change:transform}.skills-rule ol{flex-direction:row;gap:.5rem}.skills-rule button{width:var(--skills-rule-size);height:var(--skills-rule-size);justify-content:center;align-items:center;display:flex}.skills-rule button:after{width:2px;height:1rem;margin:0}.skills-rule button[aria-current]:after{width:2px;height:var(--skills-rule-size)}.projects-item{--card-w:calc(100vw - 2 * var(--spacing-gutter));--card-h-case:calc(var(--card-w) / 1.059);--card-mid:calc(var(--spacing-titlebar) + (100dvh - var(--spacing-titlebar) - var(--spacing-dock)) / 2);--card-open:0;--card-gap:2px;--card-inset:calc(1px + var(--card-gap));--card-w-open:calc(100vw - 2 * var(--card-inset));--card-h-open:calc(100dvh - var(--spacing-titlebar) - 2 * var(--card-inset));--card-y-open:calc(var(--spacing-titlebar) + var(--card-inset) + var(--card-h-open) / 2);--card-h:calc(var(--card-h-case) + (var(--card-h-open) - var(--card-h-case)) * var(--card-open));--card-y:calc(var(--card-mid) + (var(--card-y-open) - var(--card-mid)) * var(--card-open));--card-top:calc(var(--card-y) - var(--card-h) / 2);--card-bottom:calc(var(--card-y) + var(--card-h) / 2);width:calc(var(--card-w) + (var(--card-w-open) - var(--card-w)) * var(--card-open));height:var(--card-h);top:var(--card-y);--card-alpha:clamp(0, calc(var(--card-open) / .15), 1);opacity:var(--card-alpha);--reveal:clamp(0%, calc(var(--card-open) / .45 * 100%), 100%);--card-radius-case:calc(var(--card-w) * .0556);--card-radius-open:calc(var(--radius-frame) - var(--card-inset));--card-radius:calc(var(--card-radius-case) + (var(--card-radius-open) - var(--card-radius-case)) * var(--card-open));transition:none;translate:-50% -50%}.projects-item:focus-within,.projects-item[data-in-view]{opacity:var(--card-alpha);transition:none}.projects-card-body{gap:calc(.85em * clamp(0, calc((var(--card-open) - .35) / .35), 1));transition:none}.projects-card-body>:not(.projects-card-cover){--card-text:clamp(0, calc((var(--card-open) - .35) / .35), 1);max-height:calc(20em * var(--card-text));opacity:var(--card-text);transition:none;overflow:hidden}.projects-card-cover{flex:none;container-type:normal}.projects-card-screen{width:100%}.projects-card-foot{margin-top:auto}.projects-card-meta{grid-template-columns:minmax(max-content,1fr) 2fr}.projects-card-meta .projects-card-site{position:relative;top:-2px}.projects-card{padding-block:0 max(0px, var(--card-bottom) - (100dvh - var(--spacing-dock)));font-size:1.0625rem}.projects-item .projects-card,.projects-item:focus-within .projects-card,.projects-item[data-in-view] .projects-card{transition:none}.projects-item .projects-card:after,.projects-item:focus-within .projects-card:after,.projects-item[data-in-view] .projects-card:after{opacity:clamp(0, calc((.6 - var(--card-open)) / .15), 1);transition:none}.projects-rule{display:none}html[data-archive] .hero-terminal{z-index:2;pointer-events:none}}@media not all and (min-width:48rem),not (min-height:46rem){.skills-card-step-text{display:none}.skills-card-steps{flex-flow:wrap;gap:.35rem 0}.skills-card-steps li:not(:last-child){border-inline-end:1px solid var(--color-grid);margin-inline-end:.6rem;padding-inline-end:.6rem}}@media not all and (min-width:48rem){.skills-card-steps{grid-template-columns:repeat(4,minmax(min-content,1fr));gap:0;display:grid}.skills-card-steps li{align-items:center;gap:.25em .4em}.skills-card-steps li:not(:last-child){border-inline-end:0;margin-inline-end:0;padding-inline-end:0}.skills-card-steps li+li{border-inline-start:1px solid var(--color-grid);padding-inline-start:.6rem}.skills-card-step-label{white-space:nowrap;flex-basis:100%}}@media (prefers-reduced-motion:reduce){.skills{height:auto;padding-block:var(--spacing-section)}.skills-stage{height:auto;position:static;overflow:visible}.skills-windows{gap:1.5rem;margin-top:3rem;display:grid;position:static}.skills-window,.skills-window[data-in-focus]{will-change:auto;pointer-events:auto;-webkit-user-select:auto;user-select:auto;width:min(34rem,100%);height:auto;margin:0;position:static;inset:auto;transform:none}.skills-rule,.skills-static{display:none}.skills-card,.skills-window:not([data-in-focus]) .skills-card{opacity:1;filter:none;box-shadow:none;max-height:none;overflow:visible;scale:1;-webkit-mask-image:none;mask-image:none}.skills-window:not([data-in-focus]){--skill-title-size:inherit}.skills-card{font-size:1rem}.skills-card-step-text{display:revert}.skills-card-steps{flex-direction:column;gap:.45rem;display:flex}.skills-card-steps li:not(:last-child){border-inline-end:0;margin-inline-end:0;padding-inline-end:0}.skills-card-steps li+li{border-inline-start:0;padding-inline-start:0}.skills-card-step-label{white-space:normal;flex-basis:auto}.projects{height:auto;padding-block:calc(var(--spacing-titlebar) + var(--spacing-section)) calc(var(--spacing-section) + var(--spacing-dock));padding-inline:var(--spacing-gutter)}.projects-stage{width:min(60rem,100%);height:auto;margin-inline:auto;padding:0;position:static;overflow:visible}.projects-head{opacity:1}.projects-list{gap:1.5rem;margin-top:3rem;display:grid;position:static}.projects-item{opacity:1;pointer-events:auto;--card-open:1;--card-radius:var(--card-radius-case);width:min(34rem,100%);height:auto;position:static;inset:auto;translate:none}.projects-card{height:auto}.projects-card-cover{flex:none;container-type:normal}.projects-card-screen{width:100%}.projects-card-body{gap:.85em}.projects-card-body>:not(.projects-card-cover){opacity:1;max-height:none;overflow:visible}.projects-card{--reveal:100%;clip-path:none;padding-block:0;font-size:1rem}.projects-card:after,.projects-rule{display:none}}.chat-terminal{--chat-bg:var(--color-carbon);--chat-ink:var(--color-phosphor);--chat-ink-dim:var(--color-phosphor-dim);--chat-accent:var(--color-signal);--chat-line:#00ff4138}@supports (color:color-mix(in lab, red, red)){.chat-terminal{--chat-line:color-mix(in srgb, var(--color-signal) 22%, transparent)}}.chat-terminal{--chat-scanline:#00000038;border:1px solid #00ff418c;width:auto;max-width:none;height:auto;max-height:none;margin:0;padding:0;position:fixed;inset:4vmin;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.chat-terminal{border:1px solid color-mix(in srgb, var(--color-signal) 55%, transparent)}}.chat-terminal{border-radius:var(--radius-frame);background:var(--chat-bg);color:var(--chat-ink);box-shadow:inset 0 0 60px var(--color-signal-ghost), 0 0 80px var(--color-signal-ghost);opacity:1;transition:opacity .28s var(--ease-crt), scale .42s var(--ease-out-expo), overlay .42s allow-discrete, display .42s allow-discrete;scale:1}html[data-theme=light] .chat-terminal{--chat-bg:#fff;--chat-line:#00ff4147}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .chat-terminal{--chat-line:color-mix(in srgb, var(--color-signal) 28%, transparent)}}html[data-theme=light] .chat-terminal{--chat-scanline:#0a8f300d;border-color:#00ff41d9}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .chat-terminal{border-color:color-mix(in srgb, var(--color-signal) 85%, transparent)}}html[data-theme=light] .chat-terminal{box-shadow:inset 0 0 40px #00ff411a,0 0 32px #00ff412e}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .chat-terminal{box-shadow:inset 0 0 40px color-mix(in srgb, var(--color-signal) 10%, transparent), 0 0 32px color-mix(in srgb, var(--color-signal) 18%, transparent)}}.chat-terminal:not([open]){opacity:0;scale:.98}@starting-style{.chat-terminal[open]{opacity:0;scale:.98}}.chat-terminal::backdrop{-webkit-backdrop-filter:blur(6px);background:#0009}.chat-terminal:after{content:"";pointer-events:none;background:repeating-linear-gradient(to bottom, transparent 0 2px, var(--chat-scanline) 2px 3px);border-radius:inherit;position:absolute;inset:0}html:has(.chat-terminal[open]){overflow:hidden}@media (max-width:47.99rem){.chat-terminal{inset:auto 0;top:var(--vv-top,0px);height:var(--vv-height,100dvh);border:0;border-radius:0}.chat-terminal:not(:has(.chat-input:focus)){height:100dvh;top:0}.chat-terminal:has(.chat-input:focus) .chat-terminal-foot{padding-bottom:.75rem}}.chat-terminal-panel{height:100%;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);flex-direction:column;display:flex}.chat-terminal-head{padding:calc(.75rem + env(safe-area-inset-top)) 1rem .75rem;border-bottom:1px solid var(--chat-line);justify-content:space-between;align-items:center;gap:1rem;display:flex}.chat-terminal-title{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--tracking-hud);color:var(--chat-accent);flex-wrap:wrap;align-items:center;gap:.25rem 1rem;font-weight:400;display:flex}.chat-terminal-online{color:var(--chat-ink-dim);align-items:center;gap:.5rem;display:inline-flex}.chat-terminal-led{background:var(--color-signal);width:.4rem;height:.4rem;box-shadow:0 0 8px var(--color-signal);border-radius:50%}.chat-terminal-controls{gap:.25rem;display:flex}.chat-terminal-icon{width:2.75rem;height:2.75rem;color:var(--chat-ink-dim);transition:color var(--duration-ui) ease-out;place-items:center;display:grid}.chat-terminal-icon:hover,.chat-terminal-icon[aria-pressed=true]{color:var(--chat-accent)}.chat-terminal-icon:focus-visible,.chat-action:focus-visible,.chat-send:focus-visible,.chat-input:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:2px}.chat-terminal-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:1.25rem 1rem;overflow-y:auto}.chat-terminal-column{max-width:46rem;font-size:var(--text-body);flex-direction:column;gap:1.25rem;margin-inline:auto;line-height:1.6;display:flex}.chat-system{font-family:var(--font-mono);color:var(--chat-ink-dim);font-size:.8125rem}.chat-log{flex-direction:column;gap:1.5rem;display:flex}.chat-entry{flex-direction:column;gap:.5rem;display:flex}.chat-entry--user{font-family:var(--font-mono);color:var(--chat-accent);flex-direction:row;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.9375rem}.chat-prompt{color:var(--chat-accent);font-family:var(--font-mono)}.chat-unit{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--tracking-hud);color:var(--chat-accent);gap:.75rem;display:flex}.chat-clock{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.08em;color:var(--chat-ink-dim);flex:none}.chat-text{color:var(--chat-ink)}.chat-cursor{vertical-align:text-bottom;background:var(--chat-accent);width:.55em;height:1.05em;margin-left:.1em;animation:1s step-end infinite chat-cursor-blink;display:inline-block}@keyframes chat-cursor-blink{50%{opacity:0}}.chat-alert{font-family:var(--font-mono);color:var(--color-alert);flex-wrap:wrap;align-items:center;gap:.75rem 1rem;font-size:.8125rem;display:flex}.chat-action{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--tracking-hud);text-transform:uppercase;border:1px solid;border-radius:.25rem;align-items:center;padding:.375rem .75rem;display:inline-flex}.chat-terminal-foot{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--chat-line)}.chat-recharge{color:var(--color-amber);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.chat-composer{align-items:center;gap:.75rem;width:100%;display:flex}@media (min-width:48rem){.chat-composer,.chat-recharge{padding-inline:max(1rem,50% - 23rem)}}.chat-input{min-width:0;font-family:var(--font-mono);color:var(--chat-ink);caret-color:var(--chat-accent);background:0 0;border:0;flex:1;padding:.5rem 0;font-size:1rem}.chat-input::placeholder{color:var(--chat-ink-dim)}.chat-input:focus-visible{outline:none}.chat-composer:focus-within{border-top-color:var(--chat-accent)}.chat-send{border:1px solid var(--chat-line);width:2.75rem;height:2.75rem;font-family:var(--font-mono);color:var(--chat-accent);transition:opacity var(--duration-ui) ease-out;border-radius:.25rem;place-items:center;display:grid}.chat-send:disabled{opacity:.35}.robot-hit{z-index:var(--z-hud);border-radius:var(--radius-frame);cursor:pointer;-webkit-tap-highlight-color:transparent;position:fixed;top:0;left:0}.robot-hit[hidden]{display:none}.robot-hit:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:6px}.robot-hit-label{white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--tracking-hud);color:var(--color-signal);text-shadow:0 0 8px var(--color-signal-ghost);opacity:0;pointer-events:none;transition:opacity var(--duration-ui) ease-out, translate var(--duration-ui) var(--ease-out-expo);position:absolute;bottom:calc(100% + .5rem);left:50%;translate:-50% 4px}@media (hover:hover){.robot-hit:hover .robot-hit-label{opacity:1;translate:-50%}}.robot-hit:focus-visible .robot-hit-label{opacity:1;translate:-50%}.robot-fallback{left:calc(var(--spacing-rail) + var(--spacing-gutter));bottom:calc(env(safe-area-inset-bottom) + var(--spacing-gutter));z-index:var(--z-hud);border:1px solid #0f6b2e99;padding:.5rem .875rem;position:fixed}@supports (color:color-mix(in lab, red, red)){.robot-fallback{border:1px solid color-mix(in oklab, var(--color-signal-dim) 60%, transparent)}}.robot-fallback{border-radius:var(--radius-frame);background:#0b100dcc}@supports (color:color-mix(in lab, red, red)){.robot-fallback{background:color-mix(in oklab, var(--color-carbon) 80%, transparent)}}.robot-fallback{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--tracking-hud);color:var(--color-signal);text-shadow:0 0 8px var(--color-signal-ghost);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--duration-ui) ease-out}.robot-fallback:hover{color:var(--color-signal-hi)}.robot-fallback:focus-visible{outline:2px solid var(--color-signal-hi);outline-offset:4px}@media not all and (min-width:48rem){.robot-fallback{bottom:calc(env(safe-area-inset-bottom) + .75rem + 3.25rem + .75rem)}}.consent-banner{left:calc(env(safe-area-inset-left,0px) + 1rem);bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);max-width:calc(100vw - 2rem);position:fixed}@media not all and (min-width:48rem){.consent-banner{right:calc(env(safe-area-inset-right,0px) + 1rem);bottom:calc(var(--spacing-dock) + .75rem);max-width:none}}html[data-chat-dive] .canvas-layer{z-index:var(--z-chat)}html[data-chat-dive] .chat-terminal::backdrop{-webkit-backdrop-filter:none;background:0 0}@media (min-width:48rem){.chat-terminal[data-glass]{--chat-measure:56rem;inset:auto;top:var(--glass-top);left:var(--glass-left);width:var(--glass-width);height:var(--glass-height);padding:var(--glass-safe-y) var(--glass-safe-x);clip-path:var(--glass-clip);border:0;border-radius:0}:root .chat-terminal[data-glass]{box-shadow:none}.chat-terminal[data-glass]:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse farthest-side, transparent 62%, #0000008c 100%), radial-gradient(ellipse farthest-side, var(--color-signal-ghost), transparent 70%);position:absolute;inset:0}html[data-theme=light] .chat-terminal[data-glass]:before{background:radial-gradient(farthest-side,#0000 62%,#0a281424 100%)}.chat-terminal[data-glass]:not([open]){scale:1}@starting-style{.chat-terminal[data-glass][open]{scale:1}}.chat-terminal[data-glass] .chat-terminal-panel>*{zoom:var(--glass-scale);width:100%;max-width:var(--chat-measure);margin-inline:auto}.chat-terminal[data-glass] .chat-terminal-head,.chat-terminal[data-glass] .chat-terminal-scroll,.chat-terminal[data-glass] .chat-composer,.chat-terminal[data-glass] .chat-recharge{padding-inline:0}.chat-terminal[data-glass] .chat-terminal-column{max-width:none}}@media (max-width:47.99rem){.chat-terminal::backdrop,html[data-chat-dive] .chat-terminal::backdrop{-webkit-backdrop-filter:none;transition:opacity .28s var(--ease-crt);background:#0b100d}html[data-theme=light] .chat-terminal::backdrop{background:#fff}.chat-terminal:not([open])::backdrop{opacity:0}@starting-style{.chat-terminal[open]::backdrop{opacity:0}}}.chat-face{flex:none;width:2.75rem;height:1.9399rem;overflow:visible}.chat-face-glass{fill:var(--chat-bg);stroke:var(--chat-line);stroke-width:.03px}.chat-face-ink,.chat-face-badge{fill:var(--color-signal-hi)}.chat-face-stroke{fill:none;stroke:var(--color-signal-hi);stroke-linecap:round;stroke-linejoin:round}.chat-face-lid{fill:var(--chat-bg)}.chat-face-glint{fill:#f2fff7}.chat-face-badge{font-family:var(--font-mono);text-anchor:middle;dominant-baseline:central;font-weight:600}html[data-theme=light] .chat-face-ink,html[data-theme=light] .chat-face-badge{fill:var(--color-signal)}html[data-theme=light] .chat-face-stroke{stroke:var(--color-signal)}html[data-theme=light] .chat-face-glint{fill:#fff}.chat-terminal-title{flex:1}.robot-hint{z-index:var(--z-hud);border:1px solid #00ff418c;max-width:min(22rem,100vw - 24px);padding:.6rem .85rem;position:fixed;top:0;left:0}@supports (color:color-mix(in lab, red, red)){.robot-hint{border:1px solid color-mix(in srgb, var(--color-signal) 55%, transparent)}}.robot-hint{background:var(--color-carbon);box-shadow:inset 0 0 18px var(--color-signal-ghost), 0 0 24px var(--color-signal-ghost);color:var(--color-phosphor);font-family:var(--font-mono);pointer-events:none;opacity:0;transition:opacity .24s var(--ease-crt);border-radius:.375rem;font-size:.8125rem;line-height:1.45}.robot-hint[data-placed]{opacity:1}.robot-hint-prompt,.robot-hint .chat-cursor{color:var(--color-signal)}.robot-hint:after{content:"";background:var(--color-carbon);border:1px solid #00ff418c;width:10px;height:10px;position:absolute}@supports (color:color-mix(in lab, red, red)){.robot-hint:after{border:1px solid color-mix(in srgb, var(--color-signal) 55%, transparent)}}.robot-hint:after{border-top:0;border-left:0}.robot-hint[data-side=above]:after{top:100%;left:var(--hint-tail,50%);translate:-50% -50%;rotate:45deg}.robot-hint[data-side=right]:after{top:var(--hint-tail,50%);right:100%;translate:50% -50%;rotate:135deg}.robot-hint[data-side=left]:after{top:var(--hint-tail,50%);left:100%;translate:-50% -50%;rotate:-45deg}html[data-theme=light] .robot-hint{border-color:#00ff41d9}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .robot-hint{border-color:color-mix(in srgb, var(--color-signal) 85%, transparent)}}html[data-theme=light] .robot-hint{background:#fff;box-shadow:0 0 20px #00ff412e}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .robot-hint{box-shadow:0 0 20px color-mix(in srgb, var(--color-signal) 18%, transparent)}}html[data-theme=light] .robot-hint:after{background:#fff;border-color:#00ff41d9}@supports (color:color-mix(in lab, red, red)){html[data-theme=light] .robot-hint:after{border-color:color-mix(in srgb, var(--color-signal) 85%, transparent)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
