@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_3112c9fb-module__MN1ieW__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_3112c9fb-module__MN1ieW__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/91bd2e40df15814e-s.1zpt8rrvsu92z.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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.0mxk1tgo-hrwu.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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.1akpt5k8ff_pw.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.2rlmbw0a3_pri.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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/91bd2e40df15814e-s.1zpt8rrvsu92z.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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.0mxk1tgo-hrwu.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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.1akpt5k8ff_pw.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.2rlmbw0a3_pri.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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/91bd2e40df15814e-s.1zpt8rrvsu92z.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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.0mxk1tgo-hrwu.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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.1akpt5k8ff_pw.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.2rlmbw0a3_pri.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:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_53603f9f-module__aIJ66q__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.hanken_grotesk_53603f9f-module__aIJ66q__variable{--font-body:"Hanken Grotesk", "Hanken Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_82b88a35-module__ZPh7LW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_82b88a35-module__ZPh7LW__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--cream:#ffe5d5;--violet:#2c004e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#170524;--surface:#23103a;--surface-2:#2e1748;--ink:#f6ebe4;--muted:#b9a6c4;--faint:#8b77a0;--line:#ffe5d51f;--line-2:#ffe5d538;--slate:#8b77a0;--wa:#25d366;--good:#3fbe8c;--wip:#c9a24b;--shadow:0 1px 2px #00000059, 0 22px 48px -20px #000000b3;--solid-bg:var(--cream);--solid-fg:var(--violet);--solid-bg-hover:#fff1ea;--grid-line:#eceef10a;--halo:#ffe5d50f;--overlay:#0a0410b3;--err:#ff7a7a;--logo:url(/brand/glabs-logo-light.svg);--mark:url(/brand/glabs-mark-cream.png);--radius:14px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fce7da;--surface:#fff4ee;--surface-2:#f6ddce;--ink:#2c004e;--muted:#6b4e75;--faint:#86688f;--line:#2c004e1f;--line-2:#2c004e38;--slate:#8a6e92;--good:#0e8f57;--wip:#b07d1e;--shadow:0 1px 2px #2c004e14, 0 22px 48px -20px #2c004e47;--solid-bg:var(--violet);--solid-fg:#fff0e6;--solid-bg-hover:#3d1160;--grid-line:#2c004e0d;--halo:#2c004e0d;--overlay:#2c004e73;--err:#c0392b;--logo:url(/brand/glabs-logo.svg);--mark:url(/brand/glabs-mark-violet.png)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.001ms!important;animation-duration:.001ms!important}}body{background:var(--bg);color:var(--ink);font-family:var(--font-body), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(120% 80% at 20% -5%, var(--halo), transparent 58%), linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:auto,58px 58px,58px 58px;position:fixed;inset:0}h1,h2,h3,h4{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:800;line-height:1.05}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1120px,92vw);margin-inline:auto}.mono{font-family:var(--font-mono), monospace}.eyebrow{font-family:var(--font-mono), monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-size:12px;font-weight:500}.nav{z-index:50;-webkit-backdrop-filter:saturate(140%)blur(10px);backdrop-filter:saturate(140%)blur(10px);background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.nav{background:color-mix(in srgb, var(--bg) 80%, transparent)}}.nav{border-bottom:1px solid var(--line)}.nav-in{justify-content:space-between;align-items:center;gap:20px;height:76px;display:flex}.nav-logo{background:var(--logo) left center / contain no-repeat;width:150px;height:40px;display:block}.nav-links{align-items:center;gap:26px;display:flex}.toggle{border:1px solid var(--line-2);width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;place-items:center;transition:color .18s,border-color .18s,background .18s;display:grid}.toggle:hover{color:var(--ink);border-color:var(--faint);background:var(--surface)}.toggle svg{width:18px;height:18px}.nav-links a{color:var(--muted);font-size:14.5px;font-weight:500;transition:color .18s}.nav-links a:hover{color:var(--ink)}.nav-links a.wa,.nav-links a.wa:hover{color:#06130b}@media (max-width:780px){.nav-links a:not(.wa){display:none}}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:11px;align-items:center;gap:9px;height:46px;padding:0 20px;font-size:15px;font-weight:600;transition:transform .16s,background .18s,border-color .18s,color .18s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn .arrow{transition:transform .2s}.btn:hover .arrow{transform:translate(3px)}.btn-wa{background:var(--wa);color:#06130b}.btn-wa:hover{background:#2ee06f}.btn-light{background:var(--solid-bg);color:var(--solid-fg)}.btn-light:hover{background:var(--solid-bg-hover)}.btn-ghost{color:var(--ink);border-color:var(--line-2);background:0 0}.btn-ghost:hover{border-color:var(--faint);background:var(--surface)}.btn-sm{border-radius:10px;height:40px;padding:0 16px;font-size:14px}.wa-ico{width:17px;height:17px}.grid-bg{isolation:isolate;position:relative}.grid-bg:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 15% -20%, var(--halo), transparent 55%), linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-position:0 0,-1px -1px,-1px -1px;background-size:auto,56px 56px,56px 56px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 45%,#0000 100%);mask-image:linear-gradient(#000 45%,#0000 100%)}.hero{background:var(--bg);padding:clamp(52px,8vw,96px) 0 clamp(52px,7vw,84px);position:relative}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(32px,5vw,64px);display:grid}@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:44px}}.status{align-items:center;gap:10px;margin-bottom:22px;display:inline-flex}.dot{background:var(--good);width:8px;height:8px;box-shadow:0 0 0 4px var(--good);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--good) 22%, transparent)}}.dot{animation:2.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.status span{font-family:var(--font-mono);color:var(--muted);font-size:12.5px}.hero h1{font-size:clamp(36px,5.6vw,60px)}.hero h1 .hl{color:var(--muted)}.hero .lead{color:var(--muted);max-width:42ch;margin-top:20px;font-size:clamp(17px,2.1vw,20px)}.hero .lead b{color:var(--ink);font-weight:600}.cta-row{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero-sol{background:linear-gradient(160deg, var(--surface), var(--bg));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;width:100%;max-width:440px;margin-inline:auto;padding:20px 22px}.hero-sol .h{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;font-size:11px}.hero-sol ul{margin:0;padding:0;list-style:none}.hero-sol li{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:14px 2px;display:flex}.hero-sol li:last-child{border-bottom:0}.hs-ico{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;flex:none;place-items:center;width:52px;height:52px;font-size:26px;display:grid}.hs-nm{font-size:15px;font-weight:600;display:block}.hs-ds{color:var(--muted);margin-top:1px;font-size:12.5px;display:block}.avatar-card{background:linear-gradient(160deg, var(--surface), var(--bg));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;width:100%;max-width:420px;margin-inline:auto;overflow:hidden}.avatar-card .pic{aspect-ratio:1;background:var(--surface-2);border-bottom:1px solid var(--line);place-items:center;display:grid;position:relative}.avatar-card .pic img{object-fit:contain;width:86%;height:86%;image-rendering:pixelated}.avatar-card .meta{justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.avatar-card .nm{font-family:var(--font-display);font-size:17px;font-weight:800}.avatar-card .rl{font-family:var(--font-mono);color:var(--faint);margin-top:2px;font-size:11.5px}.avatar-card .tag{font-family:var(--font-mono);color:var(--good);background:var(--good);font-size:10.5px}@supports (color:color-mix(in lab, red, red)){.avatar-card .tag{background:color-mix(in srgb, var(--good) 12%, transparent)}}.avatar-card .tag{border-radius:20px;padding:4px 10px}section{padding:clamp(58px,8vw,92px) 0}.sec-head{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:14px;display:flex}.sec-head h2{font-size:clamp(26px,4vw,38px)}.sec-head .n{font-family:var(--font-mono);color:var(--faint);font-size:13px}.sec-sub{color:var(--muted);max-width:58ch;margin:0 0 40px;font-size:16px}.sol-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}@media (max-width:720px){.sol-grid{grid-template-columns:1fr}}.sol-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:26px;transition:border-color .2s,transform .2s;position:relative;overflow:hidden}.sol-card:before{content:"";background:var(--ink);transform-origin:top;width:3px;transition:transform .28s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.sol-card:hover{border-color:var(--line-2);transform:translateY(-3px)}.sol-card:hover:before{transform:scaleY(1)}.sol-ico{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;place-items:center;width:54px;height:54px;margin-bottom:16px;font-size:27px;display:grid}.sol-card h3{margin-bottom:8px;font-size:19px}.sol-card p{color:var(--muted);font-size:14.5px}.sol-cta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;font-size:15px;display:flex}.projects{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (max-width:920px){.projects{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.projects{grid-template-columns:1fr}}.projects-main{grid-template-columns:1fr 1fr;gap:20px;display:grid}.projects-more{grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;display:grid}@media (max-width:700px){.projects-main,.projects-more{grid-template-columns:1fr}}.card.mini{flex-direction:row}.card.mini .card-img{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line);flex:none;width:132px}.card.mini .card-body{justify-content:center;padding:16px 18px}.card.mini .card-top{margin-bottom:10px}.card.mini .card-ico{width:40px;height:40px;font-size:19px}.card.mini h3{margin-bottom:0;font-size:16px}.card.mini .card-body>p{display:none}.card.mini .tech{padding-top:12px}@media (max-width:480px){.card.mini .card-img{width:100px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.card:hover{border-color:var(--line-2);box-shadow:var(--shadow);transform:translateY(-4px)}.card-img{aspect-ratio:16/10;background-position:top;background-size:cover;background-color:var(--surface-2);border-bottom:1px solid var(--line);width:100%}.card-body{flex-direction:column;flex:1;padding:22px 24px 24px;display:flex}.card-top{align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-ico{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;flex:none;place-items:center;width:46px;height:46px;font-size:23px;display:grid}.pill{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:20px;padding:4px 9px;font-size:10.5px;font-weight:500}.pill.live{color:var(--good);background:var(--good)}@supports (color:color-mix(in lab, red, red)){.pill.live{background:color-mix(in srgb, var(--good) 12%, transparent)}}.pill.soon{color:var(--faint);background:var(--surface-2)}.pill.wip{color:var(--wip);background:var(--wip)}@supports (color:color-mix(in lab, red, red)){.pill.wip{background:color-mix(in srgb, var(--wip) 14%, transparent)}}.card .go{font-family:var(--font-mono);color:var(--faint);white-space:nowrap;margin-left:auto;font-size:12px;transition:color .2s}.card:hover .go{color:var(--ink)}.card h3{margin-bottom:8px;font-size:22px}.card-body>p{color:var(--muted);margin:0;font-size:15px}.card .tech{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:18px;display:flex}.card .tech b{font-family:var(--font-mono);color:var(--faint);border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:400}.card.feat{flex-direction:row;grid-column:1/-1}.card.feat .card-img{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line);width:56%;min-height:360px}.card.feat .card-body{justify-content:center;width:44%;padding:34px 38px}.card.feat h3{font-size:28px}.card.feat .card-body>p{font-size:16px}@media (max-width:760px){.card.feat{flex-direction:column}.card.feat .card-img{aspect-ratio:16/10;border-right:0;border-bottom:1px solid var(--line);width:100%;min-height:0}.card.feat .card-body{width:100%;padding:22px 24px 24px}}.cta-band{isolation:isolate;border:1px solid var(--line);background:linear-gradient(150deg, var(--surface), var(--bg));border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;padding:clamp(30px,5vw,48px);display:flex;position:relative;overflow:hidden}.cta-band:before{content:"";z-index:-1;pointer-events:none;background:var(--ink);opacity:.15;position:absolute;inset:0;-webkit-mask:url(/brand/glabs-orbit.svg) 100% 100%/62% no-repeat;mask:url(/brand/glabs-orbit.svg) 100% 100%/62% no-repeat}.cta-band h2{font-size:clamp(24px,3.4vw,34px)}.cta-band p{color:var(--muted);max-width:46ch;margin-top:10px}.cta-band .actions{flex-wrap:wrap;gap:12px;display:flex}.exp{flex-direction:column;gap:16px;display:flex}.exp-current{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:720px){.exp-current{grid-template-columns:1fr}}.exp-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:22px 24px;transition:border-color .2s,transform .2s}.exp-item:hover{border-color:var(--line-2);transform:translateY(-2px)}.exp-top{align-items:center;gap:12px;margin-bottom:10px;display:flex}.exp-top .when{font-family:var(--font-mono);color:var(--muted);font-size:13px;font-weight:500}.exp-top .pill{margin-left:auto}.exp-item h3{font-size:19px}.exp-item .role{color:var(--muted);margin:2px 0 10px;font-size:14px}.exp-item p{color:var(--muted);font-size:14.5px}.cv-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(24px,4vw,48px);display:grid}@media (max-width:820px){.cv-grid{grid-template-columns:1fr;gap:34px}}.block-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:18px;font-size:12px}.edu{flex-direction:column;gap:14px;display:flex}.edu-item{align-items:flex-start;gap:16px;display:flex}.edu-item .yr{font-family:var(--font-mono);color:var(--faint);flex:none;width:96px;padding-top:2px;font-size:12px}.edu-item .nm{font-weight:600}.edu-item .ds{color:var(--muted);font-size:14px}.skill-group{margin-bottom:20px}.skill-group:last-child{margin-bottom:0}.skill-group .lab{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:10px;font-size:11px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:13.5px;font-weight:500}.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px,4vw,40px)}.contact-grid{grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid}@media (max-width:760px){.contact-grid{grid-template-columns:1fr;gap:24px}}.contact-card h2{font-size:clamp(26px,4vw,38px)}.contact-card .sub{color:var(--muted);margin-top:12px;font-size:16px}.contact-list{margin:0;padding:0;list-style:none}.contact-list a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 4px;font-weight:500;transition:padding .18s,color .18s;display:flex}.contact-list a:last-child{border-bottom:0}.contact-list a:hover{color:var(--ink);padding-left:12px}.contact-list .h{color:var(--faint);font-family:var(--font-mono);font-size:13px;font-weight:400}.foot{border-top:1px solid var(--line);padding:34px 0 56px}.foot-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.foot-logo{background:var(--logo) left center / contain no-repeat;width:74px;height:22px;display:block}.foot-in p{color:var(--faint);font-family:var(--font-mono);font-size:12.5px}.lead-overlay{z-index:100;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:20px;animation:.18s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.lead-modal{background:var(--surface);border:1px solid var(--line-2);width:min(520px,100%);max-height:92vh;box-shadow:var(--shadow);border-radius:18px;padding:26px 26px 24px;overflow-y:auto}.lead-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.lead-modal h3{font-size:23px}.lead-modal .sub{color:var(--muted);margin-top:6px;font-size:14px}.lead-x{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:2px 6px;font-size:26px;line-height:1}.lead-x:hover{color:var(--ink);background:var(--surface-2)}.lead-field{margin-bottom:13px}.lead-field label{color:var(--muted);font-size:12px;font-family:var(--font-mono);letter-spacing:.03em;margin-bottom:6px;display:block}.lead-field input,.lead-field textarea{background:var(--bg);border:1px solid var(--line-2);width:100%;color:var(--ink);font:inherit;border-radius:10px;outline:none;padding:11px 13px;font-size:15px;transition:border-color .18s}.lead-field input::placeholder,.lead-field textarea::placeholder{color:var(--faint)}.lead-field input:focus,.lead-field textarea:focus{border-color:var(--muted)}.lead-field textarea{resize:vertical;min-height:88px}.lead-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:480px){.lead-row{grid-template-columns:1fr}}.lead-actions{gap:10px;margin-top:18px;display:flex}.lead-msg{margin-top:12px;font-size:14px}.lead-msg.err{color:var(--err)}.lead-done{text-align:center;padding:14px 0 8px}.lead-check{background:var(--good);border-radius:50%;width:54px;height:54px}@supports (color:color-mix(in lab, red, red)){.lead-check{background:color-mix(in srgb, var(--good) 16%, transparent)}}.lead-check{color:var(--good);place-items:center;margin:0 auto 16px;font-size:26px;display:grid}.lead-done h4{font-size:19px}.lead-done p{color:var(--muted);margin-top:6px;font-size:14.5px}.bb-hero{padding:clamp(48px,7vw,88px) 0 clamp(30px,4vw,48px)}.bb-hero h1{margin-top:14px;font-size:clamp(38px,6vw,68px)}.bb-hero .lead{color:var(--muted);max-width:52ch;margin-top:18px;font-size:clamp(17px,2.1vw,20px)}.bb-hero .lead b{color:var(--ink);font-weight:600}.bb-showcase{border:1px solid var(--line);background:var(--surface);isolation:isolate;border-radius:20px;margin-top:36px;position:relative;overflow:hidden}.bb-showcase .orbit{z-index:-1;background:var(--ink);opacity:.08;position:absolute;inset:0;-webkit-mask:url(/brand/glabs-orbit.svg) 100% 100%/78% no-repeat;mask:url(/brand/glabs-orbit.svg) 100% 100%/78% no-repeat}.bb-showcase-in{place-items:center;min-height:240px;padding:48px;display:grid}.bb-lk{background:var(--logo) center / contain no-repeat;width:min(420px,78%);height:clamp(56px,9vw,96px);display:block}.bb-sec{border-top:1px solid var(--line);padding:clamp(40px,6vw,72px) 0}.bb-sec>.lead{color:var(--muted);max-width:60ch;margin:6px 0 30px;font-size:16px}.bb-kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:10px;font-size:12px}.bb-origin{flex-wrap:wrap;align-items:center;gap:clamp(14px,3vw,34px);display:flex}.bb-step{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.bb-chip{border:1px solid var(--line);background:var(--surface-2);border-radius:26px;place-items:center;width:clamp(96px,16vw,140px);height:clamp(96px,16vw,140px);display:grid;overflow:hidden}.bb-chip img{object-fit:contain;width:100%;height:100%}.bb-chip.pad img{width:72%;height:72%}.bb-step .cap{color:var(--muted);max-width:20ch;font-size:13px}.bb-step .cap b{color:var(--ink);margin-bottom:2px;font-size:13.5px;font-weight:600;display:block}.bb-arrow{color:var(--faint);font-size:26px}.bb-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (max-width:720px){.bb-grid{grid-template-columns:repeat(2,1fr)}}.bb-tile{aspect-ratio:1;border:1px solid var(--line);border-radius:16px;place-items:center;display:grid;overflow:hidden}.bb-tile img{object-fit:contain;width:56%;height:56%}.bb-tile .t{position:absolute}.bb-tile-wrap{position:relative}.bb-tile-wrap .lbl{font-family:var(--font-mono);color:var(--faint);text-align:center;margin-top:8px;font-size:11px}.bb-sw-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (max-width:720px){.bb-sw-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:460px){.bb-sw-grid{grid-template-columns:1fr}}.bb-sw{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden}.bb-sw .chip{height:92px}.bb-sw .meta{padding:12px 14px}.bb-sw .nm{font-size:14.5px;font-weight:600}.bb-sw .hex{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;margin-top:2px;font-size:12.5px}.bb-type{flex-direction:column;gap:14px;display:flex}.bb-type-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:22px 24px}.bb-type-row .role{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:10px;font-size:11.5px}.bb-type-row .spec{color:var(--muted);margin-top:8px;font-size:13.5px}.bb-samp-display{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(30px,5vw,46px);font-weight:800}.bb-samp-body{font-family:var(--font-body);font-size:19px;font-weight:400}.bb-samp-mono{font-family:var(--font-mono);letter-spacing:.02em;font-size:17px}.bb-arch{gap:16px;display:grid}.bb-parent{border:1px solid var(--line-2);background:var(--surface);border-radius:16px;align-items:center;gap:16px;padding:22px 24px;display:flex}.bb-parent img{width:auto;height:30px}.bb-parent .txt .nm{font-family:var(--font-display);font-size:18px;font-weight:800}.bb-parent .txt .ds{color:var(--muted);margin-top:2px;font-size:13.5px}.bb-children{grid-template-columns:repeat(2,1fr);gap:16px;margin-left:clamp(0px,3vw,32px);display:grid}@media (max-width:640px){.bb-children{grid-template-columns:1fr}}.bb-child{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:18px 20px;position:relative}.bb-child:before{content:"";background:var(--accent,var(--muted));border-radius:3px;width:3px;position:absolute;top:0;bottom:0;left:-1px}.bb-child .nm{font-size:16px;font-weight:700}.bb-child .dom{font-family:var(--font-mono);color:var(--faint);margin:3px 0 8px;font-size:12px}.bb-child .ds{color:var(--muted);font-size:13.5px}.bb-child .end{font-family:var(--font-mono);color:var(--faint);align-items:center;gap:6px;margin-top:10px;font-size:11px;display:inline-flex}.bb-child .end img{width:auto;height:14px}.bb-two{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:640px){.bb-two{grid-template-columns:1fr}}.bb-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:20px 22px}.bb-card h4{font-family:var(--font-display);margin-bottom:10px;font-size:16px}.bb-card ul{color:var(--muted);margin:0;padding-left:18px;font-size:14px}.bb-card li{margin:6px 0}.bb-persona{align-items:center;gap:16px;display:flex}.bb-persona img{border:1px solid var(--line);border-radius:16px;width:76px;height:76px}.hero2{grid-template-columns:1fr 1fr;min-height:min(84vh,800px);display:grid;position:relative;overflow:hidden}.hc-left{z-index:2;text-align:left;transform:translateY(calc(var(--sy,0) * -.025px));flex-direction:column;justify-content:center;align-items:flex-start;gap:22px;padding:clamp(48px,7vw,96px) clamp(24px,4vw,56px) clamp(48px,7vw,96px) max(24px,50vw - 560px);display:flex;position:relative}.hc-eyebrow{font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--faint);font-size:13px}.hc-title{font-size:clamp(38px,5vw,68px)}.hc-title .hl{color:var(--muted)}.hc-sub{color:var(--muted);max-width:42ch;font-size:clamp(16px,1.8vw,19px)}.hc-cta{height:54px;margin-top:8px;padding:0 28px;font-size:16px}@keyframes heroIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero-in{animation:.75s cubic-bezier(.22,1,.36,1) both heroIn;animation-delay:var(--d,0s)}.hc-right{z-index:1;isolation:isolate;perspective:1500px;place-items:center;padding:clamp(28px,3.5vw,56px);display:grid;position:relative;overflow:hidden}.pv-glow{z-index:0;aspect-ratio:1;filter:blur(60px);opacity:.55;background:radial-gradient(circle, var(--violet), transparent 68%);border-radius:50%;width:78%;position:absolute}@supports (color:color-mix(in lab, red, red)){.pv-glow{background:radial-gradient(circle, color-mix(in srgb, var(--violet) 42%, transparent), transparent 68%)}}.pv-glow{transform:translate3d(calc(var(--mx,0) * -34px), calc(var(--my,0) * -34px), 0)}:root:not([data-theme=light]) .pv-glow,:root[data-theme=dark] .pv-glow{background:radial-gradient(circle, var(--cream), var(--violet) 45%, transparent 70%)}@supports (color:color-mix(in lab, red, red)){:root:not([data-theme=light]) .pv-glow,:root[data-theme=dark] .pv-glow{background:radial-gradient(circle, color-mix(in srgb, var(--cream) 26%, transparent), color-mix(in srgb, var(--violet) 34%, transparent) 45%, transparent 70%)}}:root:not([data-theme=light]) .pv-glow,:root[data-theme=dark] .pv-glow{opacity:.5}.preview{z-index:1;aspect-ratio:4/5;border:1px solid var(--line-2);background:var(--surface-2);width:min(100%,480px);transform:rotateY(calc(var(--mx,0) * 8deg)) rotateX(calc(var(--my,0) * -8deg)) translateY(calc(var(--sy,0) * -.05px));transform-style:preserve-3d;will-change:transform;box-shadow:calc(var(--mx,0) * -26px) calc(var(--my,0) * 22px + 30px) 66px -26px #00000080, 0 2px 12px #00000038;border-radius:22px;animation:1s .12s both pvIn;position:relative;overflow:hidden}@keyframes pvIn{0%{opacity:0}to{opacity:1}}.pslide{color:inherit;opacity:0;pointer-events:none;transition:opacity .8s;display:block;position:absolute;inset:0}.pslide.on{opacity:1;pointer-events:auto}.pslide .pimg{height:116%;transform:translateY(calc(var(--sy,0) * .05px));background-position:top;background-size:cover;position:absolute;top:-8%;left:0;right:0}.pslide .pv-gloss{z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:screen;transform:translateX(calc(var(--mx,0) * 60px));background:linear-gradient(115deg,#0000 34%,#fff3 48%,#0000 62%);position:absolute;inset:0}.pslide .pv-dom{z-index:2;font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink);background:var(--bg);font-size:10.5px;position:absolute;top:14px;left:14px}@supports (color:color-mix(in lab, red, red)){.pslide .pv-dom{background:color-mix(in srgb, var(--bg) 62%, transparent)}}.pslide .pv-dom{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:20px;padding:5px 11px}.pslide .pv-tag{z-index:2;background:linear-gradient(0deg, var(--bg), transparent);justify-content:space-between;align-items:center;gap:10px;padding:22px 18px 18px;display:flex;position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.pslide .pv-tag{background:linear-gradient(0deg, color-mix(in srgb, var(--bg) 90%, transparent), transparent)}}.pslide .pv-nm{font-family:var(--font-display);font-size:18px;font-weight:800}.pslide .pv-go{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;font-size:12px;transition:color .2s}.preview:hover .pslide.on .pv-go{color:var(--ink)}.cdots{z-index:3;gap:8px;display:flex;position:absolute;bottom:clamp(16px,2.5vw,28px);left:50%;transform:translate(-50%)}.cdots button{background:var(--ink);border:0;border-radius:50%;width:8px;height:8px;padding:0}@supports (color:color-mix(in lab, red, red)){.cdots button{background:color-mix(in srgb, var(--ink) 30%, transparent)}}.cdots button{cursor:pointer;transition:background .25s,width .25s}.cdots button.on{background:var(--ink);border-radius:5px;width:22px}@media (prefers-reduced-motion:reduce){.hero-in,.preview{animation:none}.hc-left,.preview,.pv-glow,.pslide .pimg,.pslide .pv-gloss{transform:none}}@media (max-width:860px){.hero2{grid-template-columns:1fr;min-height:0}.hc-left{text-align:center;justify-content:flex-start;align-items:center;gap:16px;padding:clamp(28px,7vw,48px) 22px 28px;transform:none}.hc-sub{margin-inline:auto}.hc-title{font-size:clamp(32px,8.5vw,46px)}.hc-sub{font-size:16px}.hc-right{perspective:none;border-left:0;order:1;padding:4px 22px clamp(40px,10vw,56px)}.preview{width:100%;max-width:460px;transform:none;box-shadow:0 22px 54px -26px #0000008c}}@media (max-width:560px){.nav-in{gap:10px;height:64px}.nav-logo{width:104px;height:30px}.nav-links{gap:12px}.toggle{width:38px;height:38px}}.stack{padding-block:clamp(58px,8vw,92px)}.stack>.wrap{width:min(1120px,92vw);margin-inline:auto}.fx{opacity:0;transform:translateY(24px)}.fx-in{opacity:1;transition:opacity .7s,transform .75s cubic-bezier(.22,1,.36,1);transform:none}.projects-main>.fx:nth-child(2),.projects-more>.fx:nth-child(2),.cv-grid>.fx:nth-child(2){transition-delay:80ms}@media (prefers-reduced-motion:reduce){.fx,.fx-in{opacity:1;transition:none;transform:none}}@keyframes sxReveal{0%{opacity:0;transform:translateY(48px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sxRise{0%{opacity:0;transform:translateY(70px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.sec-head,.sec-sub,.exp-item,.cv-grid>*,.contact-card{animation:linear both sxReveal;animation-timeline:view();animation-range:entry 4% cover 32%}.projects-main>*,.projects-more>*{animation:linear both sxRise;animation-timeline:view();animation-range:entry 2% cover 30%}.projects-main>*{transform-origin:50% 80%}}}.secind{z-index:40;background:var(--surface);border-radius:40px;align-items:center;gap:10px;padding:8px 14px 8px 10px;display:inline-flex;position:fixed;bottom:20px;left:20px}@supports (color:color-mix(in lab, red, red)){.secind{background:color-mix(in srgb, var(--surface) 82%, transparent)}}.secind{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:border-color .2s}.secind:hover{border-color:var(--line-2)}.secind-menu{background:var(--surface);flex-direction:column;gap:2px;min-width:176px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 10px);left:0}@supports (color:color-mix(in lab, red, red)){.secind-menu{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.secind-menu{border:1px solid var(--line-2);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform-origin:0 100%;pointer-events:none;border-radius:14px;transition:opacity .2s,transform .2s cubic-bezier(.22,1,.36,1);transform:translateY(8px)scale(.98)}.secind-menu:before{content:"";height:14px;position:absolute;top:100%;left:0;right:0}.secind:hover .secind-menu,.secind:focus-within .secind-menu{opacity:1;pointer-events:auto;transform:none}.secind-link{color:var(--muted);border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;transition:background .16s,color .16s;display:flex}.secind-link:hover{background:var(--surface-2);color:var(--ink)}.secind-link.on{color:var(--ink)}.secind-link-dot{opacity:.45;background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;transition:opacity .16s,box-shadow .16s}.secind-link.on .secind-link-dot{opacity:1;box-shadow:0 0 0 4px}@supports (color:color-mix(in lab, red, red)){.secind-link.on .secind-link-dot{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 16%, transparent)}}.secind-mark{background:var(--mark) center / contain no-repeat;flex:none;width:18px;height:18px}.secind-label{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink);font-size:12.5px}@keyframes secindIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.secind-label{animation:.38s cubic-bezier(.22,1,.36,1) secindIn}.secind-prog{gap:4px;margin-left:3px;display:inline-flex}.secind-prog i{background:var(--ink);border-radius:50%;width:5px;height:5px}@supports (color:color-mix(in lab, red, red)){.secind-prog i{background:color-mix(in srgb, var(--ink) 26%, transparent)}}.secind-prog i{transition:background .3s,width .3s}.secind-prog i.on{background:var(--ink);border-radius:3px;width:14px}.nav-links a.active{color:var(--ink)}@media (max-width:560px){.secind-prog{display:none}.secind{bottom:12px;left:12px}}@media (max-width:480px){.secind{display:none}}.workpop{z-index:90;background:var(--surface);border:1px solid var(--line-2);width:min(330px,100vw - 32px);box-shadow:var(--shadow);opacity:0;pointer-events:none;border-radius:16px;padding:18px 20px 16px;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s;position:fixed;bottom:20px;right:20px;transform:translateY(170%)}.workpop.show{opacity:1;pointer-events:auto;transform:translateY(0)}.workpop-x{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:2px 6px;font-size:22px;line-height:1;position:absolute;top:8px;right:10px}.workpop-x:hover{color:var(--ink);background:var(--surface-2)}.workpop-h{font-family:var(--font-display);padding-right:20px;font-size:18px;font-weight:800}.workpop-p{color:var(--muted);margin-top:6px;font-size:13.5px}.workpop-actions{gap:8px;margin-top:14px;display:flex}@media (max-width:480px){.workpop{width:auto;bottom:12px;left:12px;right:12px}}.scrollbar{z-index:60;transform-origin:0;pointer-events:none;background:linear-gradient(90deg, var(--cream), var(--violet));height:3px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}@supports (color:color-mix(in lab, red, red)){.scrollbar{background:linear-gradient(90deg, var(--cream), color-mix(in srgb, var(--violet) 60%, var(--cream)))}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.scrollbar{animation:linear both sbGrow;animation-timeline:scroll(root)}}}@keyframes sbGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.pagetint{z-index:-2;pointer-events:none;background-color:#0000;position:fixed;inset:0}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.pagetint{animation:linear both pageTint;animation-timeline:scroll(root)}}}@keyframes pageTint{0%{background-color:#2c004e00}24%{background-color:#e8a33d2e}50%{background-color:#f26a1b2e}74%{background-color:#2c004e00}to{background-color:#ffe5d529}}.showcase{isolation:isolate;position:relative}.sc-intro{padding-top:clamp(44px,7vw,92px);padding-bottom:clamp(4px,1.5vw,16px)}.sc-panel{view-timeline-name:--scp;view-timeline-axis:block;align-items:center;min-height:92vh;padding:clamp(40px,7vh,96px) 0;display:grid;position:relative}.sc-sticky{width:100%;position:relative}.sc-grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(28px,5vw,72px);display:grid}.sc-kicker{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sc-num{font-family:var(--font-mono);color:var(--accent);font-size:13px;font-weight:500}.sc-kicker .sc-dom{color:var(--faint);font-size:12px}.sc-name{font-size:clamp(34px,5vw,60px)}.sc-tagline{font-family:var(--font-display);color:var(--accent);letter-spacing:-.01em;margin-top:8px;font-size:clamp(18px,2.4vw,26px);font-weight:700}.sc-desc{color:var(--muted);max-width:46ch;margin-top:16px;font-size:clamp(15px,1.7vw,18px)}.sc-bullets{flex-direction:column;gap:11px;margin:22px 0 0;padding:0;list-style:none;display:flex}.sc-bullets li{color:var(--ink);padding-left:26px;font-size:15px;position:relative}.sc-bullets li:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px var(--accent);border-radius:50%;position:absolute;top:.48em;left:0}@supports (color:color-mix(in lab, red, red)){.sc-bullets li:before{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent)}}.sc-tech{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.sc-tech b{font-family:var(--font-mono);color:var(--faint);border:1px solid var(--line-2);border-radius:6px;padding:4px 9px;font-size:11.5px;font-weight:400}.sc-cta{margin-top:26px}.sc-visual{color:inherit;display:block;position:relative}.sc-visual:before{content:"";z-index:-1;background:radial-gradient(58% 58% at 68% 28%, var(--accent), transparent 70%);border-radius:40px;position:absolute;inset:-10% -6% -14%}@supports (color:color-mix(in lab, red, red)){.sc-visual:before{background:radial-gradient(58% 58% at 68% 28%, color-mix(in srgb, var(--accent) 42%, transparent), transparent 70%)}}.sc-visual:before{filter:blur(52px);opacity:.5}.sc-frame{border:1px solid var(--line-2);background:var(--surface-2);aspect-ratio:4/3;box-shadow:var(--shadow);border-radius:22px;transition:transform .3s,border-color .3s;display:block;position:relative;overflow:hidden}.sc-visual:hover .sc-frame{border-color:var(--accent);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.sc-visual:hover .sc-frame{border-color:color-mix(in srgb, var(--accent) 50%, var(--line-2))}}.sc-img{will-change:transform;background-position:top;background-size:cover;height:118%;position:absolute;top:-9%;left:0;right:0}.sc-gloss{z-index:1;pointer-events:none;opacity:.55;mix-blend-mode:screen;background:linear-gradient(115deg,#0000 40%,#ffffff29 50%,#0000 60%);position:absolute;inset:0}.sc-badge{z-index:2;letter-spacing:.02em;color:var(--ink);background:var(--bg);font-size:11px;position:absolute;bottom:14px;left:14px}@supports (color:color-mix(in lab, red, red)){.sc-badge{background:color-mix(in srgb, var(--bg) 62%, transparent)}}.sc-badge{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:20px;padding:6px 11px}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.sc-img{animation:linear both scPar;animation-timeline:--scp;animation-range:cover}.sc-copy{animation:linear both scCopyIn;animation-timeline:--scp;animation-range:entry cover 24%}}}@keyframes scPar{0%{transform:translateY(-7%)scale(1.06)}to{transform:translateY(7%)scale(1.06)}}@keyframes scCopyIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.svc-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (max-width:860px){.svc-grid{grid-template-columns:1fr}}.svc-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;padding:28px 26px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.svc-card:after{content:"";background:var(--ink);transform-origin:0;height:2px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.svc-card:hover{border-color:var(--line-2);box-shadow:var(--shadow);transform:translateY(-3px)}.svc-card:hover:after{transform:scaleX(1)}.svc-top{align-items:center;gap:14px;margin-bottom:20px;display:flex}.svc-n{font-family:var(--font-mono);color:var(--faint);letter-spacing:.04em;font-size:13px;font-weight:500}.svc-rule{background:var(--line);flex:1;height:1px}.svc-title{margin-bottom:10px;font-size:20px}.svc-desc{color:var(--muted);font-size:14.5px;line-height:1.6}.svc-tags{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:18px 0 0;list-style:none;display:flex}.svc-tags li{font-family:var(--font-mono);color:var(--faint);border:1px solid var(--line);border-radius:6px;padding:4px 9px;font-size:11.5px}.stats{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(30px,5vw,52px);display:grid}.stat{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:26px 24px;transition:border-color .2s,transform .2s}.stat:hover{border-color:var(--line-2);transform:translateY(-2px)}.stat-n{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(38px,6vw,56px);font-weight:800;line-height:1}.stat-lab{margin-top:8px;font-size:15.5px;font-weight:600}.stat-sub{color:var(--faint);margin-top:6px;font-size:12.5px}@media (max-width:720px){.stats{grid-template-columns:1fr}}@media (max-width:860px){.sc-panel{min-height:0;padding:clamp(36px,9vw,60px) 0}.sc-grid{grid-template-columns:1fr;gap:26px}.sc-desc{max-width:none}}@media (prefers-reduced-motion:reduce){.sc-img{transform:none}}@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-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}
