@font-face{font-family:Space Grotesk Variable fallback;src:local(Noto Sans);size-adjust:159.916%;ascent-override:61.5325%;descent-override:18.2596%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(Arial);size-adjust:170.031%;ascent-override:57.8718%;descent-override:17.1733%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(Helvetica Neue);size-adjust:168.444%;ascent-override:58.4169%;descent-override:17.3351%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(Segoe UI);size-adjust:170.967%;ascent-override:57.5548%;descent-override:17.0793%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(BlinkMacSystemFont);size-adjust:181.991%;ascent-override:54.0686%;descent-override:16.0447%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");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:Space Grotesk Variable fallback;src:local(Noto Sans);size-adjust:159.916%;ascent-override:61.5325%;descent-override:18.2596%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(Arial);size-adjust:170.031%;ascent-override:57.8718%;descent-override:17.1733%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(Helvetica Neue);size-adjust:168.444%;ascent-override:58.4169%;descent-override:17.3351%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(Segoe UI);size-adjust:170.967%;ascent-override:57.5548%;descent-override:17.0793%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(BlinkMacSystemFont);size-adjust:181.991%;ascent-override:54.0686%;descent-override:16.0447%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");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:Space Grotesk Variable fallback;src:local(Noto Sans);size-adjust:102.954%;ascent-override:95.577%;descent-override:28.3623%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(Arial);size-adjust:109.466%;ascent-override:89.891%;descent-override:26.675%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(Helvetica Neue);size-adjust:108.444%;ascent-override:90.7377%;descent-override:26.9262%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(Segoe UI);size-adjust:110.069%;ascent-override:89.3987%;descent-override:26.5289%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable fallback;src:local(BlinkMacSystemFont);size-adjust:117.166%;ascent-override:83.9836%;descent-override:24.922%;line-gap-override:0%;font-style:normal;font-weight:300 700}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");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(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=)format("woff");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 fallback;src:local(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono fallback;src:local(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");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 fallback;src:local(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");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 fallback;src:local(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");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 fallback;src:local(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Noto Sans Mono);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Roboto Mono);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono fallback;src:local(Courier New);size-adjust:99.9837%;ascent-override:102.017%;descent-override:30.0049%;line-gap-override:0%;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");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:Manrope fallback;src:local(Noto Sans);size-adjust:97.0464%;ascent-override:109.844%;descent-override:30.913%;line-gap-override:0%;font-weight:200 800;font-style:normal}@font-face{font-family:Manrope fallback;src:local(Arial);size-adjust:103.185%;ascent-override:103.31%;descent-override:29.074%;line-gap-override:0%;font-weight:200 800;font-style:normal}@font-face{font-family:Manrope fallback;src:local(Helvetica Neue);size-adjust:102.222%;ascent-override:104.283%;descent-override:29.3478%;line-gap-override:0%;font-weight:200 800;font-style:normal}@font-face{font-family:Manrope fallback;src:local(Segoe UI);size-adjust:103.753%;ascent-override:102.744%;descent-override:28.9147%;line-gap-override:0%;font-weight:200 800;font-style:normal}@font-face{font-family:Manrope fallback;src:local(BlinkMacSystemFont);size-adjust:110.443%;ascent-override:96.5203%;descent-override:27.1633%;line-gap-override:0%;font-weight:200 800;font-style:normal}@font-face{font-family:Manrope fallback;src:local(Noto Sans);size-adjust:97.0464%;ascent-override:109.844%;descent-override:30.913%;line-gap-override:0%;font-weight:200 800;font-style:normal}@font-face{font-family:Manrope fallback;src:local(Arial);size-adjust:103.185%;ascent-override:103.31%;descent-override:29.074%;line-gap-override:0%;font-weight:200 800;font-style:normal}@font-face{font-family:Manrope fallback;src:local(Helvetica Neue);size-adjust:102.222%;ascent-override:104.283%;descent-override:29.3478%;line-gap-override:0%;font-weight:200 800;font-style:normal}@font-face{font-family:Manrope fallback;src:local(Segoe UI);size-adjust:103.753%;ascent-override:102.744%;descent-override:28.9147%;line-gap-override:0%;font-weight:200 800;font-style:normal}@font-face{font-family:Manrope fallback;src:local(BlinkMacSystemFont);size-adjust:110.443%;ascent-override:96.5203%;descent-override:27.1633%;line-gap-override:0%;font-weight:200 800;font-style:normal}@font-face{font-family:Manrope;src:url(/fonts/Manrope-Variable.woff2)format("woff2"),url(/fonts/Manrope-Variable.woff)format("woff");font-weight:200 800;font-display:swap;font-style:normal}@font-face{font-family:Chillax fallback;src:local(Noto Sans);size-adjust:108.439%;ascent-override:90.3735%;descent-override:30.4319%;line-gap-override:8.2996%;font-weight:200 700;font-style:normal}@font-face{font-family:Chillax fallback;src:local(Arial);size-adjust:115.298%;ascent-override:84.997%;descent-override:28.6215%;line-gap-override:7.8059%;font-weight:200 700;font-style:normal}@font-face{font-family:Chillax fallback;src:local(Helvetica Neue);size-adjust:114.222%;ascent-override:85.7977%;descent-override:28.8911%;line-gap-override:7.8794%;font-weight:200 700;font-style:normal}@font-face{font-family:Chillax fallback;src:local(Segoe UI);size-adjust:115.933%;ascent-override:84.5316%;descent-override:28.4647%;line-gap-override:7.7631%;font-weight:200 700;font-style:normal}@font-face{font-family:Chillax fallback;src:local(BlinkMacSystemFont);size-adjust:123.408%;ascent-override:79.4113%;descent-override:26.7405%;line-gap-override:7.2929%;font-weight:200 700;font-style:normal}@font-face{font-family:Chillax fallback;src:local(Noto Sans);size-adjust:108.439%;ascent-override:90.3735%;descent-override:30.4319%;line-gap-override:8.2996%;font-weight:200 700;font-style:normal}@font-face{font-family:Chillax fallback;src:local(Arial);size-adjust:115.298%;ascent-override:84.997%;descent-override:28.6215%;line-gap-override:7.8059%;font-weight:200 700;font-style:normal}@font-face{font-family:Chillax fallback;src:local(Helvetica Neue);size-adjust:114.222%;ascent-override:85.7977%;descent-override:28.8911%;line-gap-override:7.8794%;font-weight:200 700;font-style:normal}@font-face{font-family:Chillax fallback;src:local(Segoe UI);size-adjust:115.933%;ascent-override:84.5316%;descent-override:28.4647%;line-gap-override:7.7631%;font-weight:200 700;font-style:normal}@font-face{font-family:Chillax fallback;src:local(BlinkMacSystemFont);size-adjust:123.408%;ascent-override:79.4113%;descent-override:26.7405%;line-gap-override:7.2929%;font-weight:200 700;font-style:normal}@font-face{font-family:Chillax;src:url(/fonts/Chillax-Variable.woff2)format("woff2"),url(/fonts/Chillax-Variable.woff)format("woff");font-weight:200 700;font-display:swap;font-style:normal}@font-face{font-family:Karma fallback;src:local(Noto Serif);size-adjust:91.2682%;ascent-override:103.541%;descent-override:55.6601%;line-gap-override:0%;font-weight:300 700;font-style:normal}@font-face{font-family:Karma fallback;src:local(Georgia);size-adjust:98.4745%;ascent-override:95.9639%;descent-override:51.587%;line-gap-override:0%;font-weight:300 700;font-style:normal}@font-face{font-family:Karma fallback;src:local(Times New Roman);size-adjust:108.062%;ascent-override:87.4502%;descent-override:47.0103%;line-gap-override:0%;font-weight:300 700;font-style:normal}@font-face{font-family:Karma fallback;src:local(Noto Serif);size-adjust:91.2682%;ascent-override:103.541%;descent-override:55.6601%;line-gap-override:0%;font-weight:300 700;font-style:normal}@font-face{font-family:Karma fallback;src:local(Georgia);size-adjust:98.4745%;ascent-override:95.9639%;descent-override:51.587%;line-gap-override:0%;font-weight:300 700;font-style:normal}@font-face{font-family:Karma fallback;src:local(Times New Roman);size-adjust:108.062%;ascent-override:87.4502%;descent-override:47.0103%;line-gap-override:0%;font-weight:300 700;font-style:normal}@font-face{font-family:Karma;src:url(/fonts/Karma-Variable.woff2)format("woff2"),url(/fonts/Karma-Variable.woff)format("woff");font-weight:300 700;font-display:swap;font-style:normal}@font-face{font-family:Crimson Pro fallback;src:local(Noto Serif);size-adjust:83.2413%;ascent-override:107.697%;descent-override:25.8098%;line-gap-override:0%;font-weight:200 900;font-style:normal}@font-face{font-family:Crimson Pro fallback;src:local(Georgia);size-adjust:89.8138%;ascent-override:99.8159%;descent-override:23.921%;line-gap-override:0%;font-weight:200 900;font-style:normal}@font-face{font-family:Crimson Pro fallback;src:local(Times New Roman);size-adjust:98.5577%;ascent-override:90.9604%;descent-override:21.7988%;line-gap-override:0%;font-weight:200 900;font-style:normal}@font-face{font-family:Crimson Pro fallback;src:local(Noto Serif);size-adjust:83.2413%;ascent-override:107.697%;descent-override:25.8098%;line-gap-override:0%;font-weight:200 900;font-style:normal}@font-face{font-family:Crimson Pro fallback;src:local(Georgia);size-adjust:89.8138%;ascent-override:99.8159%;descent-override:23.921%;line-gap-override:0%;font-weight:200 900;font-style:normal}@font-face{font-family:Crimson Pro fallback;src:local(Times New Roman);size-adjust:98.5577%;ascent-override:90.9604%;descent-override:21.7988%;line-gap-override:0%;font-weight:200 900;font-style:normal}@font-face{font-family:Crimson Pro;src:url(/fonts/CrimsonPro-Variable.woff2)format("woff2"),url(/fonts/CrimsonPro-Variable.woff)format("woff");font-weight:200 900;font-display:swap;font-style:normal}@font-face{font-family:Crimson Pro fallback;src:local(Noto Serif);size-adjust:83.2413%;ascent-override:107.697%;descent-override:25.8098%;line-gap-override:0%;font-weight:200 900;font-style:italic}@font-face{font-family:Crimson Pro fallback;src:local(Georgia);size-adjust:89.8138%;ascent-override:99.8159%;descent-override:23.921%;line-gap-override:0%;font-weight:200 900;font-style:italic}@font-face{font-family:Crimson Pro fallback;src:local(Times New Roman);size-adjust:98.5577%;ascent-override:90.9604%;descent-override:21.7988%;line-gap-override:0%;font-weight:200 900;font-style:italic}@font-face{font-family:Crimson Pro fallback;src:local(Noto Serif);size-adjust:83.2413%;ascent-override:107.697%;descent-override:25.8098%;line-gap-override:0%;font-weight:200 900;font-style:italic}@font-face{font-family:Crimson Pro fallback;src:local(Georgia);size-adjust:89.8138%;ascent-override:99.8159%;descent-override:23.921%;line-gap-override:0%;font-weight:200 900;font-style:italic}@font-face{font-family:Crimson Pro fallback;src:local(Times New Roman);size-adjust:98.5577%;ascent-override:90.9604%;descent-override:21.7988%;line-gap-override:0%;font-weight:200 900;font-style:italic}@font-face{font-family:Crimson Pro;src:url(/fonts/CrimsonPro-VariableItalic.woff2)format("woff2"),url(/fonts/CrimsonPro-VariableItalic.woff)format("woff");font-weight:200 900;font-display:swap;font-style:italic}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{overflow-anchor:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100svh;line-height:1.6}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:none}:root{--font-body:"Manrope", "Manrope fallback", system-ui, sans-serif;--font-heading:"Chillax", "Chillax fallback", system-ui, sans-serif;--font-hero:"Karma", "Karma fallback", serif;--font-display:"Crimson Pro", "Crimson Pro fallback", Georgia, serif;--font-accent:"Space Grotesk Variable", "Space Grotesk Variable fallback", system-ui, sans-serif;--font-mono:"JetBrains Mono", "JetBrains Mono fallback", ui-monospace, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.5rem;--text-6xl:5rem;--section-gap:8rem;--content-max-width:72rem;--content-padding:1.5rem;--card-padding:1.5rem;--nav-height:4rem;--radius-xs:.25rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-squircle:30%;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 30px #0000001f;--shadow-glow:0 0 20px var(--color-glow);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-back:cubic-bezier(.34, 1.56, .64, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-in-out-cubic:cubic-bezier(.65, 0, .35, 1);--ease-gravity:cubic-bezier(.55, 0, 1, .45);--duration-instant:.1s;--duration-fast:.2s;--duration-normal:.5s;--duration-slow:.8s;--duration-very-slow:1.2s;--focus-ring-width:3px;--focus-ring-offset:2px;--z-behind:-1;--z-base:0;--z-modal:200;--z-cursor:300;--z-overlay:400;--z-nav:500;--card-glass-blur:12px;--card-border-gradient-angle:135deg;--section-bg-default:transparent;--section-bg-alt:var(--color-bg-alt)}:root,[data-theme=light]{--color-bg:#f8f6f3;--color-bg-alt:#efecea;--color-fg:#1a1a1a;--color-fg-muted:#595959;--color-accent:#3b5bdb;--color-accent-hover:#2b4bc8;--color-accent-muted:#3b5bdb40;--color-accent-glow:#3b5bdb1f;--color-border:#d4d0cc;--color-glow:#3b5bdb66;--card-glass-bg:#ffffff8c;--card-glass-border:#fff9;--card-glass-border-hover-start:#3b5bdb80;--card-glass-border-hover-end:#3b5bdb26;--card-glass-shine:#ffffff14;--section-bg-tinted:#3b5bdb08;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--color-bg:#0e0e12;--color-bg-alt:#1a1a22;--color-fg:#e8e8ec;--color-fg-muted:#a0a0b2;--color-accent:#6b8aff;--color-accent-hover:#8ba2ff;--color-accent-muted:#6b8aff33;--color-accent-glow:#6b8aff14;--color-border:#2a2a36;--color-glow:#6b8aff66;--card-glass-bg:#ffffff0a;--card-glass-border:#ffffff14;--card-glass-border-hover-start:#6b8aff99;--card-glass-border-hover-end:#6b8aff1a;--card-glass-shine:#ffffff08;--section-bg-tinted:#6b8aff08;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-fg);background-color:var(--color-bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:500;line-height:1.15}h1{font-size:var(--text-6xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}code,pre,kbd{font-family:var(--font-mono)}::selection{background-color:var(--color-accent);color:var(--color-bg)}:focus{outline:none}:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-capturing] *,[data-capturing] :before,[data-capturing] :after{transition-duration:0s!important;animation-duration:0s!important;animation-delay:0s!important}[data-theme-switching] *,[data-theme-switching] :before,[data-theme-switching] :after{transition:color var(--theme-simple-duration,.3s), background-color var(--theme-simple-duration,.3s), border-color var(--theme-simple-duration,.3s), outline-color var(--theme-simple-duration,.3s), fill var(--theme-simple-duration,.3s), stroke var(--theme-simple-duration,.3s)!important}*,:before,:after,::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.sr-only,[sr-only=""]{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visible,[visible=""]{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static,[static=""]{position:static}.grid{display:grid}.ms,[ms=""]{margin-inline-start:1rem}.inline{display:inline}.block{display:block}.inline-block,[inline-block=""]{display:inline-block}.hidden,[hidden=""]{display:none}[size~="14"]{width:3.5rem;height:3.5rem}[size~="16"]{width:4rem;height:4rem}[size~="18"]{width:4.5rem;height:4.5rem}[size~="20"]{width:5rem;height:5rem}[size~="24"]{width:6rem;height:6rem}[size~="28"]{width:7rem;height:7rem}[size~="32"]{width:8rem;height:8rem}[size~="320"]{width:80rem;height:80rem}[size~=lg]{width:32rem;height:32rem}[size~=sm]{width:24rem;height:24rem}.h1{height:.25rem}.h2{height:.5rem}.h3{height:.75rem}.h4{height:1rem}.h5{height:1.25rem}.h6{height:1.5rem}.flex{display:flex}.inline-flex{display:inline-flex}.flex-shrink,.shrink-wrap{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.transform,[transform=""]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.resize{resize:both}.border,[b=""]{border-width:1px}[stroke-width~="0.6"]{stroke-width:.6px}[stroke-width~="1"]{stroke-width:1px}[stroke-width~="1.5"]{stroke-width:1.5px}[stroke-width~="2.4"]{stroke-width:2.4px}.px,[px=""]{padding-left:1rem;padding-right:1rem}.text-wrap{text-wrap:wrap}.uppercase{text-transform:uppercase}.outline{outline-style:solid}.blur,[blur=""]{--un-blur:blur(8px);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition,[transition=""]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.sr-only[data-v-e75cf484]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.animated-text__chars[data-v-e75cf484]{display:inline}.animated-text__word[data-v-e75cf484]{white-space:nowrap;display:inline-block}.animated-text--breakable .animated-text__word[data-v-e75cf484]{white-space:normal}.animated-text__space[data-v-e75cf484]{white-space:pre-wrap}.animated-text__char[data-v-e75cf484]{transition-property:opacity,transform;transition-timing-function:var(--ease-out-expo);display:inline-block}.animated-text__char--fade-up[data-v-e75cf484]{opacity:0;transform:translateY(.3em)}.animated-text__char--fade-up.animated-text__char--visible[data-v-e75cf484]{opacity:1;transform:translateY(0)}.animated-text__char--typewriter[data-v-e75cf484]{opacity:0}.animated-text__char--typewriter.animated-text__char--visible[data-v-e75cf484]{opacity:1}.animated-text__char--wave[data-v-e75cf484]{opacity:0;transform:translateY(.5em)}.animated-text__char--wave.animated-text__char--visible[data-v-e75cf484]{opacity:1;transform:translateY(0)}.animated-text__char--scramble[data-v-e75cf484]{opacity:0}.animated-text__char--scramble.animated-text__char--visible[data-v-e75cf484]{opacity:1}.animated-text__char--visible[data-v-e75cf484]:not(.animated-text__char--fade-up):not(.animated-text__char--typewriter):not(.animated-text__char--wave):not(.animated-text__char--scramble){opacity:1;transform:none}.base-button{font-family:var(--font-accent);font-weight:600;font-size:var(--text-base);border-radius:var(--radius-lg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--duration-instant) var(--ease-out-back), background-color var(--duration-fast) var(--ease-out-quart), box-shadow var(--duration-fast) var(--ease-out-quart), border-color var(--duration-fast) var(--ease-out-quart);border:2px solid #0000;justify-content:center;align-items:center;gap:.5em;padding:.75em 1.5em;line-height:1;text-decoration:none;display:inline-flex}.base-button:active{transform:scale(var(--button-press-scale))}.base-button:hover:not(:disabled):not([aria-disabled=true]){transform:scale(var(--button-hover-scale))}.base-button:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset)}.base-button[aria-disabled=true],.base-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.base-button--sm{font-size:var(--text-sm);padding:.5em 1em}.base-button--lg{font-size:var(--text-lg);padding:1em 2em}.base-button--primary{background-color:var(--color-accent);color:var(--color-bg);box-shadow:0 0 0 0 var(--color-glow)}.base-button--primary:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.base-button--outline{border-color:var(--color-accent);color:var(--color-accent);background:0 0}.base-button--outline:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-accent);color:var(--color-bg)}.base-button--ghost{color:var(--color-fg);background:0 0}.base-button--ghost:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-bg-alt)}.hero[data-v-80eb2d5f]{justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero__fallback[data-v-80eb2d5f]{z-index:var(--z-behind);background:radial-gradient(ellipse at 30% 50%, color-mix(in srgb, var(--color-accent) 15%, transparent) 0%, transparent 70%);position:absolute;inset:0}.hero__content[data-v-80eb2d5f]{z-index:1;text-align:center;padding:0 var(--content-padding);flex-direction:column;align-items:center;gap:1.5rem;display:flex;position:relative}.hero__name[data-v-80eb2d5f]{font-family:var(--font-hero);font-size:var(--text-6xl);letter-spacing:-.03em;font-weight:700;line-height:1.05}.hero__tagline[data-v-80eb2d5f]{font-size:var(--text-xl);color:var(--color-fg-muted);font-weight:400}.hero__ctas[data-v-80eb2d5f]{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1rem;display:flex}.hero__scroll-hint[data-v-80eb2d5f]{color:var(--color-fg-muted);animation:2s infinite bounce-80eb2d5f;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}@keyframes bounce-80eb2d5f{0%,20%,50%,80%,to{transform:translate(-50%)translateY(0)}40%{transform:translate(-50%)translateY(-8px)}60%{transform:translate(-50%)translateY(-4px)}}@media (width<=768px){.hero__name[data-v-80eb2d5f]{font-size:var(--text-4xl)}.hero__tagline[data-v-80eb2d5f]{font-size:var(--text-lg)}}@media (width<=420px){.hero__name[data-v-80eb2d5f]{font-size:var(--text-3xl)}}.glow-card-hitarea[data-v-a7342969]{position:relative}.glow-card[data-v-a7342969]{border-radius:var(--radius-lg);background:var(--card-glass-bg);-webkit-backdrop-filter:blur(var(--card-glass-blur));border:1px solid var(--card-glass-border);transition:border-color var(--duration-fast) var(--ease-out-quart), box-shadow var(--duration-fast) var(--ease-out-quart);position:relative;overflow:hidden}.glow-card[data-v-a7342969]:before{content:"";background:linear-gradient(90deg, transparent, var(--card-glass-shine) 20%, var(--card-glass-border) 50%, var(--card-glass-shine) 80%, transparent);z-index:2;height:1px;position:absolute;top:0;left:0;right:0}.glow-card[data-v-a7342969]:after{content:"";background-image:linear-gradient(var(--card-glass-shine) 1px, transparent 1px), linear-gradient(90deg, var(--card-glass-shine) 1px, transparent 1px);pointer-events:none;z-index:0;opacity:.5;background-size:40px 40px;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.glow-card-hitarea:hover .glow-card[data-v-a7342969]{border-color:var(--card-glass-border-hover-start);box-shadow:var(--shadow-lg), 0 0 24px -4px var(--color-accent-glow), inset 0 1px 0 var(--card-glass-shine)}}.glow-card__glow[data-v-a7342969]{pointer-events:none;z-index:1;opacity:.6;position:absolute;inset:0}.glow-card__content[data-v-a7342969]{z-index:3;padding:var(--card-padding);position:relative}.accent-divider[data-v-7997b58f]{width:100%;max-width:20rem;padding:0 var(--content-padding);align-items:center;gap:1rem;margin:0 auto;display:flex}.accent-divider__line[data-v-7997b58f]{flex:1;height:1px}.accent-divider__line--left[data-v-7997b58f]{background:linear-gradient(to right, transparent, var(--color-accent-muted))}.accent-divider__line--right[data-v-7997b58f]{background:linear-gradient(to left, transparent, var(--color-accent-muted))}.accent-divider__ornament[data-v-7997b58f]{flex-shrink:0;justify-content:center;align-items:center;display:flex}.section-divider[data-v-51a9bccf]{width:100%}.section-wrapper[data-v-cd375d73]{padding:var(--section-gap) 0;position:relative}.section-wrapper__divider--top[data-v-cd375d73]{margin-bottom:3rem}.section-wrapper__divider--bottom[data-v-cd375d73]{margin-top:3rem}.section-wrapper__content[data-v-cd375d73]{max-width:var(--content-max-width);padding:0 var(--content-padding);opacity:0;transition:opacity var(--duration-slow) var(--ease-out-expo), transform var(--duration-slow) var(--ease-out-expo);margin:0 auto;transform:translateY(20px)}.section-wrapper__content--visible[data-v-cd375d73]{opacity:1;transform:translateY(0)}.about[data-v-a70ac881]{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.about__heading[data-v-a70ac881]{font-family:var(--font-display);font-size:var(--text-5xl);letter-spacing:-.02em;margin-bottom:1.5rem;font-weight:500}.about__bio[data-v-a70ac881]{color:var(--color-fg-muted);font-size:var(--text-lg);flex-direction:column;gap:1rem;line-height:1.7;display:flex}.about__photo-wrapper[data-v-a70ac881]{justify-content:center;align-items:center;display:flex;position:relative}.about__blob[data-v-a70ac881]{opacity:.15;position:absolute}.about__photo[data-v-a70ac881]{border-radius:var(--radius-squircle);aspect-ratio:1;object-fit:cover;z-index:1;width:min(280px,100%);height:auto;position:relative}.about__facts[data-v-a70ac881]{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:3rem;display:grid}.about__fact[data-v-a70ac881]{align-items:center;gap:.75rem;min-width:0;display:flex}.about__fact-label[data-v-a70ac881]{font-family:var(--font-accent);font-size:var(--text-xs);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.05em;overflow-wrap:anywhere;display:block}.about__fact-value[data-v-a70ac881]{font-family:var(--font-accent);font-weight:600;font-size:var(--text-base);overflow-wrap:anywhere;display:block}.about__fact-card[data-v-a70ac881]{opacity:0;transform:translateY(var(--v3f4cd304));transition:opacity var(--v115c96a2) var(--v01d5d687), transform var(--v115c96a2) var(--v01d5d687)}.about__fact-card--visible[data-v-a70ac881]{opacity:1;transform:translateY(0)}@media (width<=768px){.about[data-v-a70ac881]{text-align:center;grid-template-columns:1fr;gap:2rem}.about__photo-wrapper[data-v-a70ac881]{order:-1}.about__facts[data-v-a70ac881]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.about__heading[data-v-a70ac881]{font-size:var(--text-3xl)}.about__facts[data-v-a70ac881]{grid-template-columns:1fr}.about__fact[data-v-a70ac881]{text-align:center;flex-direction:column;align-items:center}}.tag-pill[data-v-99bf4a1d]{--pill-color:var(--color-accent);font-family:var(--font-accent);font-size:var(--text-sm);color:var(--pill-color);background:color-mix(in srgb, var(--pill-color) 10%, transparent);border:1px solid color-mix(in srgb, var(--pill-color) 25%, transparent);border-radius:var(--radius-xs);border-top-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-sm);overflow-wrap:anywhere;transition:transform var(--duration-instant) var(--ease-out-back), box-shadow var(--duration-instant) var(--ease-out-quart);border-top-width:medium;border-right-width:medium;align-items:center;gap:.35em;padding:.25em .75em;font-weight:500;display:inline-flex}.tag-pill[data-v-99bf4a1d]:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)scale(1.03)}.skills__heading[data-v-90c052c1]{font-size:var(--text-4xl);text-align:center;margin-bottom:3rem}@media (width<=420px){.skills__heading[data-v-90c052c1]{font-size:var(--text-3xl)}}.skills__grid[data-v-90c052c1]{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:2rem;display:grid}.skills__category[data-v-90c052c1]{--grid-blue:#2d7de0;--card-shadow-x-shallow:0px;--card-shadow-x-deep:8px;--card-shadow-y-shallow:1px;--card-shadow-y-deep:32px;--card-shadow-blur-shallow:2px;--card-shadow-blur-deep:52px;--card-shadow-spread-shallow:0px;--card-shadow-spread-deep:6px;--card-shadow-alpha-shallow:.22;--card-shadow-alpha-deep:.03;--card-shadow-color:10, 22, 42;--card-hover-border-strength:70%;--card-hover-glow-blur:16px;--card-hover-glow-spread:-4px;--card-hover-glow-strength:40%;--card-shadow-alpha:calc(var(--card-shadow-alpha-shallow) + (var(--card-shadow-alpha-deep) - var(--card-shadow-alpha-shallow)) * var(--card-depth,0));--card-shadow:calc(var(--card-shadow-x-shallow) + (var(--card-shadow-x-deep) - var(--card-shadow-x-shallow)) * var(--card-depth,0)) calc(var(--card-shadow-y-shallow) + (var(--card-shadow-y-deep) - var(--card-shadow-y-shallow)) * var(--card-depth,0)) calc(var(--card-shadow-blur-shallow) + (var(--card-shadow-blur-deep) - var(--card-shadow-blur-shallow)) * var(--card-depth,0)) calc(var(--card-shadow-spread-shallow) + (var(--card-shadow-spread-deep) - var(--card-shadow-spread-shallow)) * var(--card-depth,0)) rgba(var(--card-shadow-color), var(--card-shadow-alpha));min-width:0;padding:var(--card-padding);border-radius:var(--radius-lg);background:var(--card-glass-bg);-webkit-backdrop-filter:blur(var(--card-glass-blur));border:1px solid var(--card-glass-border);box-shadow:var(--card-shadow);transition:border-color var(--duration-fast) var(--ease-out-quart), box-shadow var(--duration-fast) var(--ease-out-quart);position:relative}html[data-theme=dark] .skills__category[data-v-90c052c1]{--grid-blue:#6bd4ff;--card-shadow-alpha-shallow:.5;--card-shadow-alpha-deep:.24;--card-shadow-color:0, 0, 0}.skills__category[data-v-90c052c1]:hover{border-color:color-mix(in srgb, var(--grid-blue) var(--card-hover-border-strength), transparent);box-shadow:var(--card-shadow), 0 0 var(--card-hover-glow-blur) var(--card-hover-glow-spread) color-mix(in srgb, var(--grid-blue) var(--card-hover-glow-strength), transparent)}.skills__category-header[data-v-90c052c1]{color:var(--color-accent);align-items:flex-start;gap:.5rem;margin-bottom:1rem;display:flex}.skills__category-header[data-v-90c052c1] svg{flex-shrink:0;margin-top:.15em}.skills__category-header h3[data-v-90c052c1]{min-width:0;font-size:var(--text-lg);overflow-wrap:anywhere;font-weight:600}.skills__items[data-v-90c052c1]{flex-wrap:wrap;gap:.5rem;display:flex}.experience-section[data-v-05cb9631]{color:var(--color-fg);position:relative;overflow:hidden;background-color:#08090f!important}.experience__heading[data-v-05cb9631]{z-index:1;font-size:var(--text-4xl);text-align:center;margin-bottom:3rem;position:relative}.experience__timeline[data-v-05cb9631]{z-index:1;max-width:48rem;margin:0 auto;position:relative}.experience__timeline[data-v-05cb9631]:before{content:"";background:var(--color-border);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.experience__entry[data-v-05cb9631]{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid;position:relative}.experience__entry .experience__card[data-v-05cb9631]{grid-column:1}.experience__entry--right .experience__card[data-v-05cb9631]{grid-column:2}.experience__marker[data-v-05cb9631]{background:var(--color-accent);border:2px solid var(--color-bg);z-index:1;border-radius:50%;width:12px;height:12px;position:absolute;top:1.5rem;left:50%;transform:translate(-50%)}.experience__role[data-v-05cb9631]{font-size:var(--text-lg);margin-bottom:.25rem;font-weight:700}.experience__company[data-v-05cb9631]{font-size:var(--text-base);color:var(--color-accent);font-weight:500}.experience__period[data-v-05cb9631]{font-size:var(--text-sm);color:var(--color-fg-muted);margin:.5rem 0;display:block}.experience__description[data-v-05cb9631]{font-size:var(--text-base);color:var(--color-fg-muted);margin-bottom:.75rem;line-height:1.6}.experience__tags[data-v-05cb9631]{flex-wrap:wrap;gap:.375rem;min-width:0;display:flex}@media (width<=768px){.experience__timeline[data-v-05cb9631]:before{left:1rem}.experience__entry[data-v-05cb9631]{grid-template-columns:1fr;padding-left:2.5rem}.experience__entry .experience__card[data-v-05cb9631],.experience__entry--right .experience__card[data-v-05cb9631]{grid-column:1}.experience__marker[data-v-05cb9631]{left:1rem}}@media (width<=420px){.experience__heading[data-v-05cb9631]{font-size:var(--text-3xl)}}.icon-link[data-v-e3b7258b]{color:var(--color-fg-muted);border-radius:var(--radius-md);min-width:44px;min-height:44px;transition:color var(--duration-fast) var(--ease-out-quart), transform var(--duration-fast) var(--ease-out-back);justify-content:center;align-items:center;padding:.5rem;display:inline-flex}.icon-link[data-v-e3b7258b]:hover{color:var(--color-accent);transform:translateY(-2px)rotate(-5deg)}.icon-link[data-v-e3b7258b]:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset)}.visually-hidden[data-v-5bbc21d1]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.projects__heading[data-v-5bbc21d1]{font-size:var(--text-4xl);text-align:center;margin-bottom:2rem}@media (width<=420px){.projects__heading[data-v-5bbc21d1]{font-size:var(--text-3xl)}}.projects__filters[data-v-5bbc21d1]{border:none;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem;padding:0;display:flex}.projects__filter-btn[data-v-5bbc21d1]{font-size:var(--text-sm);color:var(--color-fg-muted);border-radius:var(--radius-xl);border:1px solid var(--color-border);min-height:44px;transition:background-color var(--duration-fast) var(--ease-out-quart), color var(--duration-fast) var(--ease-out-quart), border-color var(--duration-fast) var(--ease-out-quart);padding:.5rem 1rem;font-weight:500}.projects__filter-btn[data-v-5bbc21d1]:hover{border-color:var(--color-accent);color:var(--color-accent)}.projects__filter-btn--active[data-v-5bbc21d1]{background-color:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.projects__filter-btn--active[data-v-5bbc21d1]:hover{background-color:var(--color-accent-hover);color:var(--color-bg);border-color:var(--color-accent-hover)}.projects__grid[data-v-5bbc21d1]{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:1.5rem;display:grid}.projects__card[data-v-5bbc21d1]{overflow:visible}.projects__image-wrap[data-v-5bbc21d1]{width:calc(100% + var(--card-padding) * 2);margin-left:calc(-1 * var(--card-padding));margin-top:calc(-1 * var(--card-padding));aspect-ratio:16/9;background-color:var(--color-border);border-bottom:1px solid var(--card-glass-border);margin-bottom:1rem;overflow:hidden}.projects__image[data-v-5bbc21d1]{object-fit:cover;width:100%;height:100%;font-size:var(--text-sm);color:var(--color-fg-muted);overflow-wrap:break-word;line-height:1.4;display:block}.projects__title[data-v-5bbc21d1]{font-family:var(--font-accent);font-size:var(--text-xl);letter-spacing:-.01em;margin-bottom:.5rem;font-weight:700}.projects__desc[data-v-5bbc21d1]{font-size:var(--text-base);color:var(--color-fg-muted);margin-bottom:.75rem;line-height:1.6}.projects__tags[data-v-5bbc21d1]{flex-wrap:wrap;gap:.375rem;min-width:0;margin-bottom:.75rem;display:flex}.projects__card-link[data-v-5bbc21d1]{color:inherit;text-decoration:none;display:block}.projects__card-link[data-v-5bbc21d1]:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.projects__links[data-v-5bbc21d1]{border-top:1px solid var(--card-glass-border);align-items:center;gap:.75rem;padding-top:.5rem;display:flex}.projects__read-more[data-v-5bbc21d1]{font-size:var(--text-sm);color:var(--color-accent);min-height:44px;transition:gap var(--duration-fast) var(--ease-out-quart);align-items:center;gap:.35em;font-weight:500;text-decoration:none;display:inline-flex}.projects__read-more[data-v-5bbc21d1]:hover{gap:.6em}.projects__read-more[data-v-5bbc21d1]:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.sr-only[data-v-725a57e3]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.broken-text--block[data-v-725a57e3]{box-sizing:border-box;align-self:stretch;width:100%;max-width:100%;display:block}.broken-text__lines[data-v-725a57e3]{display:block}.broken-text__line[data-v-725a57e3]{white-space:nowrap;display:block}.broken-text__fallback[data-v-725a57e3]{-webkit-hyphens:manual;hyphens:manual;display:block}.broken-text__char[data-v-725a57e3],.broken-text__suffix[data-v-725a57e3]{transition-property:opacity,transform;transition-timing-function:var(--ease-out-expo);display:inline-block}.broken-text__char[data-v-725a57e3]{white-space:pre}.broken-text__char--fade-up[data-v-725a57e3]{opacity:0;transform:translateY(.3em)}.broken-text__char--fade-up.broken-text__char--visible[data-v-725a57e3]{opacity:1;transform:translateY(0)}.broken-text__char--wave[data-v-725a57e3]{opacity:0;transform:translateY(.5em)}.broken-text__char--wave.broken-text__char--visible[data-v-725a57e3]{opacity:1;transform:translateY(0)}.broken-text__char--typewriter[data-v-725a57e3]{opacity:0}.broken-text__char--typewriter.broken-text__char--visible[data-v-725a57e3]{opacity:1}.broken-text__char--scramble[data-v-725a57e3]{opacity:0}.broken-text__char--scramble.broken-text__char--visible[data-v-725a57e3]{opacity:1}.broken-text__char--visible[data-v-725a57e3]:not(.broken-text__char--fade-up):not(.broken-text__char--typewriter):not(.broken-text__char--wave):not(.broken-text__char--scramble){opacity:1;transform:none}.contact[data-v-c5d327b8]{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.contact__heading[data-v-c5d327b8]{font-size:var(--text-4xl)}@media (width<=420px){.contact__heading[data-v-c5d327b8]{font-size:var(--text-3xl)}}.contact__subheading[data-v-c5d327b8]{font-size:var(--text-lg);color:var(--color-fg-muted);max-width:36rem}.contact__links[data-v-c5d327b8]{gap:1rem;margin-top:1rem;display:flex}.project-detail[data-v-b054d037]{min-height:100svh;padding-top:var(--nav-height)}.pd-section-label[data-v-b054d037]{font-family:var(--font-accent);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--color-fg-muted);align-items:center;gap:.5rem;margin-bottom:2rem;font-weight:600;display:flex}.pd-section-label__accent[data-v-b054d037]{color:var(--color-accent);font-weight:700}.pd-hero[data-v-b054d037],.pd-about[data-v-b054d037],.pd-responsibilities[data-v-b054d037],.pd-highlights[data-v-b054d037],.pd-tech[data-v-b054d037],.pd-nav[data-v-b054d037]{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-expo), transform var(--duration-slow) var(--ease-out-expo);transform:translateY(24px)}.pd-hero--visible[data-v-b054d037],.pd-about--visible[data-v-b054d037],.pd-responsibilities--visible[data-v-b054d037],.pd-highlights--visible[data-v-b054d037],.pd-tech--visible[data-v-b054d037],.pd-nav--visible[data-v-b054d037]{opacity:1;transform:translateY(0)}.pd-hero[data-v-b054d037]{background:var(--section-bg-tinted);padding:5rem 0 4rem;position:relative;overflow:hidden}.pd-hero__watermark[data-v-b054d037]{right:var(--content-padding);font-family:var(--font-heading);letter-spacing:-.05em;color:var(--color-accent);opacity:.04;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(8rem,20vw,18rem);font-weight:900;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.pd-hero__inner[data-v-b054d037]{max-width:var(--content-max-width);padding:0 var(--content-padding);margin:0 auto;position:relative}.pd-hero__back[data-v-b054d037]{font-size:var(--text-sm);color:var(--color-accent);min-height:44px;transition:gap var(--duration-fast) var(--ease-out-quart);align-items:center;gap:.5rem;margin-bottom:3rem;font-weight:500;display:inline-flex}.pd-hero__back svg[data-v-b054d037]{transform:rotate(90deg)}.pd-hero__back[data-v-b054d037]:hover{gap:.75rem}.pd-hero__back[data-v-b054d037]:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.pd-hero__header[data-v-b054d037]{margin-bottom:3rem}.pd-hero__title[data-v-b054d037]{font-family:var(--font-accent);font-size:clamp(var(--text-3xl), 6vw, var(--text-5xl));letter-spacing:-.03em;max-width:56rem;margin-bottom:1.25rem;font-weight:800;line-height:1.05}.pd-hero__summary[data-v-b054d037]{font-size:var(--text-lg);color:var(--color-fg-muted);max-width:48rem;line-height:1.7}.pd-hero__meta-bar[data-v-b054d037]{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:2rem;padding-top:2rem;display:flex}.pd-hero__meta-group[data-v-b054d037]{gap:2.5rem;display:flex}.pd-hero__meta-item[data-v-b054d037]{flex-direction:column;gap:.25rem;display:flex}.pd-hero__meta-label[data-v-b054d037]{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-fg-muted);font-weight:600}.pd-hero__meta-value[data-v-b054d037]{font-size:var(--text-base);color:var(--color-fg);font-weight:600}.pd-hero__roles[data-v-b054d037]{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.pd-about[data-v-b054d037]{padding:var(--section-gap) 0 4rem}.pd-about__inner[data-v-b054d037]{max-width:var(--content-max-width);padding:0 var(--content-padding);margin:0 auto}.pd-about__lead[data-v-b054d037]{font-family:var(--font-body);font-size:clamp(var(--text-xl), 2.5vw, var(--text-2xl));color:var(--color-fg);border:none;border-left:3px solid var(--color-accent);max-width:56rem;margin:0;padding:0 0 0 1.5rem;font-weight:600;line-height:1.6;position:relative}.pd-about__body[data-v-b054d037]{font-size:var(--text-base);color:var(--color-fg-muted);max-width:56rem;margin-top:1.5rem;padding-left:1.5rem;line-height:1.8}.pd-responsibilities[data-v-b054d037]{background:var(--section-bg-tinted);padding:4rem 0}.pd-responsibilities__inner[data-v-b054d037]{max-width:var(--content-max-width);padding:0 var(--content-padding);margin:0 auto}.pd-resp-list[data-v-b054d037]{counter-reset:none;margin:0;padding:0;list-style:none}.pd-resp-list__item[data-v-b054d037]{border-bottom:1px solid var(--color-border);grid-template-columns:3rem 1fr;align-items:baseline;gap:1rem;padding:1.25rem 0;display:grid}.pd-resp-list__item[data-v-b054d037]:first-child{border-top:1px solid var(--color-border)}.pd-resp-list__index[data-v-b054d037]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent);opacity:.6;font-weight:600}.pd-resp-list__text[data-v-b054d037]{font-size:var(--text-base);color:var(--color-fg-muted);margin:0;line-height:1.7}.pd-highlights[data-v-b054d037]{padding:var(--section-gap) 0 4rem}.pd-highlights__inner[data-v-b054d037]{max-width:var(--content-max-width);padding:0 var(--content-padding);margin:0 auto}.pd-highlights__grid[data-v-b054d037]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.pd-highlight-card[data-v-b054d037]{height:100%}.pd-highlight-card__row[data-v-b054d037]{align-items:flex-start;display:flex}.pd-highlight-card__icon[data-v-b054d037]{border-radius:var(--radius-md);background:var(--color-accent-muted);width:2.25rem;height:2.25rem;color:var(--color-accent);flex-shrink:0;justify-content:center;align-items:center;margin-right:1rem;display:flex}.pd-highlight-card__text[data-v-b054d037]{font-size:var(--text-base);color:var(--color-fg);margin:0;font-weight:500;line-height:1.7}.pd-tech[data-v-b054d037]{padding:4rem 0 var(--section-gap);background:var(--section-bg-tinted)}.pd-tech__inner[data-v-b054d037]{max-width:var(--content-max-width);padding:0 var(--content-padding);margin:0 auto}.pd-tech__categories[data-v-b054d037]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.pd-tech__category[data-v-b054d037]{flex-direction:column;gap:.75rem;display:flex}.pd-tech__category-name[data-v-b054d037]{font-family:var(--font-accent);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);border-bottom:1px solid var(--color-border);padding-bottom:.5rem;font-weight:700}.pd-tech__category-items[data-v-b054d037]{flex-wrap:wrap;gap:.375rem;display:flex}.pd-tech__all-tags[data-v-b054d037]{border-top:1px solid var(--color-border);padding-top:2rem}.pd-tech__tags-label[data-v-b054d037]{font-family:var(--font-accent);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-fg-muted);margin-bottom:.75rem;font-weight:700}.pd-tech__tags-list[data-v-b054d037]{flex-wrap:wrap;gap:.5rem;display:flex}.pd-nav[data-v-b054d037]{border-top:1px solid var(--color-border);padding:3rem 0}.pd-nav__inner[data-v-b054d037]{max-width:var(--content-max-width);padding:0 var(--content-padding);grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;margin:0 auto;display:grid}.pd-nav__link[data-v-b054d037]{color:var(--color-fg);gap:.75rem;font-weight:500;line-height:1.3}.pd-nav__link--prev[data-v-b054d037]{justify-self:start}.pd-nav__link--prev svg[data-v-b054d037]{transform:rotate(90deg)}.pd-nav__link--next[data-v-b054d037]{text-align:right;justify-self:end}.pd-nav__link--next svg[data-v-b054d037]{transform:rotate(-90deg)}.pd-nav__text[data-v-b054d037]{flex-direction:column;gap:.125rem;display:flex}.pd-nav__label[data-v-b054d037]{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-fg-muted);font-weight:500}.pd-nav__title[data-v-b054d037]{font-size:var(--text-base);font-weight:600}.pd-not-found[data-v-b054d037]{min-height:100svh;padding-top:var(--nav-height);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.pd-not-found h1[data-v-b054d037]{font-size:var(--text-4xl);font-weight:800}.pd-not-found p[data-v-b054d037]{font-size:var(--text-lg);color:var(--color-fg-muted)}@media (width<=768px){.pd-hero[data-v-b054d037]{padding:3rem 0 2.5rem}.pd-hero__header[data-v-b054d037]{margin-bottom:2rem}.pd-hero__watermark[data-v-b054d037]{display:none}.pd-hero__meta-bar[data-v-b054d037]{flex-direction:column;align-items:flex-start;gap:1.25rem}.pd-hero__roles[data-v-b054d037]{margin-left:0}.pd-about[data-v-b054d037]{padding:4rem 0 3rem}.pd-about__lead[data-v-b054d037]{font-size:var(--text-lg)}.pd-resp-list__item[data-v-b054d037]{grid-template-columns:2.25rem 1fr;gap:.75rem}.pd-highlights__grid[data-v-b054d037],.pd-tech__categories[data-v-b054d037]{grid-template-columns:1fr}.pd-nav__inner[data-v-b054d037]{text-align:center;grid-template-columns:1fr}.pd-nav__link--prev[data-v-b054d037]{justify-self:center}.pd-nav__link--next[data-v-b054d037]{text-align:left;justify-self:center}}.skip-link[data-v-92e29abc]{top:-100%;left:var(--content-padding);z-index:var(--z-modal);background-color:var(--color-accent);color:var(--color-bg);font-weight:700;font-size:var(--text-sm);border-radius:var(--radius-md);transition:top var(--duration-fast) var(--ease-out-expo);padding:.75rem 1.5rem;text-decoration:none;position:absolute}.skip-link[data-v-92e29abc]:focus-visible{outline:var(--focus-ring-width) solid var(--color-fg);outline-offset:var(--focus-ring-offset);top:1rem}.scroll-progress[data-v-5bae4b56]{z-index:var(--z-nav);pointer-events:none;position:fixed;top:0;left:0;right:0}.scroll-progress__bar[data-v-5bae4b56]{background-color:var(--color-accent);height:100%;box-shadow:var(--shadow-glow);transition:width 50ms linear}.mobile-menu[data-v-3aea6d9e]{inset:var(--nav-height) 0 0 0;background-color:var(--color-bg);z-index:var(--z-nav);justify-content:center;align-items:center;display:flex;position:fixed}.mobile-menu__list[data-v-3aea6d9e]{flex-direction:column;align-items:center;gap:2rem;display:flex}.mobile-menu__link[data-v-3aea6d9e]{font-family:var(--font-accent);font-size:var(--text-3xl);color:var(--color-fg);transition:color var(--duration-fast) var(--ease-out-quart);font-weight:700;text-decoration:none}.mobile-menu__link[data-v-3aea6d9e]:hover{color:var(--color-accent)}.mobile-menu__link[data-v-3aea6d9e]:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.mobile-menu-enter-active[data-v-3aea6d9e],.mobile-menu-leave-active[data-v-3aea6d9e]{transition:opacity var(--duration-normal) var(--ease-out-expo)}.mobile-menu-enter-from[data-v-3aea6d9e],.mobile-menu-leave-to[data-v-3aea6d9e]{opacity:0}.navbar[data-v-9962a292]{z-index:var(--z-nav);transition:transform var(--duration-normal) var(--ease-out-expo), background-color var(--duration-normal) var(--ease-out-quart), border-color var(--duration-normal) var(--ease-out-quart);position:fixed;top:0;left:0;right:0}.navbar--hidden[data-v-9962a292]{transform:translateY(-100%)}.navbar--scrolled[data-v-9962a292]{background-color:color-mix(in srgb, var(--color-bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.navbar__inner[data-v-9962a292]{max-width:var(--content-max-width);padding:0 var(--content-padding);height:var(--nav-height);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar__logo[data-v-9962a292]{font-family:var(--font-accent);font-weight:700;font-size:var(--text-lg);color:var(--color-fg);transition:color var(--duration-normal) var(--ease-out-quart);text-decoration:none}.navbar__logo[data-v-9962a292]:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.navbar__links[data-v-9962a292]{gap:2rem;display:flex}.navbar__link[data-v-9962a292]{font-size:var(--text-sm);color:var(--color-fg-muted);transition:color var(--duration-normal) var(--ease-out-quart);font-weight:500;text-decoration:none}.navbar__link[data-v-9962a292]:hover{color:var(--color-accent)}.navbar__link[data-v-9962a292]:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.navbar__theme-toggle[data-v-9962a292]{min-width:44px;min-height:44px;color:var(--color-fg-muted);border-radius:var(--radius-md);transition:color var(--duration-normal) var(--ease-out-quart);justify-content:center;align-items:center;display:flex}.navbar__theme-toggle[data-v-9962a292]:hover{color:var(--color-accent)}.navbar__theme-toggle[data-v-9962a292]:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset)}.navbar__hamburger[data-v-9962a292]{min-width:44px;min-height:44px;color:var(--color-fg);transition:color var(--duration-normal) var(--ease-out-quart);justify-content:center;align-items:center;display:none}.navbar__hamburger[data-v-9962a292]:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}@media (width<=768px){.navbar__links[data-v-9962a292]{display:none}.navbar__hamburger[data-v-9962a292]{display:flex}}.footer[data-v-42bf91e4]{border-top:1px solid var(--color-border);padding:3rem 0}.footer__inner[data-v-42bf91e4]{max-width:var(--content-max-width);padding:0 var(--content-padding);text-align:center;flex-direction:column;align-items:center;gap:1rem;margin:0 auto;display:flex}.footer__social[data-v-42bf91e4]{gap:.5rem;display:flex}.footer__line[data-v-42bf91e4]{font-size:var(--text-sm);color:var(--color-fg-muted)}.footer__copyright[data-v-42bf91e4]{font-size:var(--text-xs);color:var(--color-fg-muted)}.footer__scroll-top[data-v-42bf91e4]{border-radius:var(--radius-md);width:44px;height:44px;color:var(--color-fg-muted);transition:color var(--duration-fast) var(--ease-out-quart), transform var(--duration-fast) var(--ease-out-back);justify-content:center;align-items:center;margin-top:1rem;display:flex}.footer__scroll-top[data-v-42bf91e4]:hover{color:var(--color-accent);transform:translateY(-3px)}.footer__scroll-top[data-v-42bf91e4]:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset)}.page-fade-enter-active,.page-fade-leave-active{transition:opacity var(--page-fade-duration) ease-out}.page-fade-enter-from,.page-fade-leave-to{opacity:0}
