@font-face{font-family:Sora;font-style:normal;font-weight:300;font-display:swap;src:url(../media/b886574ba42c3409-s.0n0by9e-ig5xq.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:Sora;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c41ca59f1c34ba31-s.p.0xxb547n1hn74.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:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b886574ba42c3409-s.0n0by9e-ig5xq.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:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c41ca59f1c34ba31-s.p.0xxb547n1hn74.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:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b886574ba42c3409-s.0n0by9e-ig5xq.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:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c41ca59f1c34ba31-s.p.0xxb547n1hn74.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:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b886574ba42c3409-s.0n0by9e-ig5xq.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:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c41ca59f1c34ba31-s.p.0xxb547n1hn74.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:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b886574ba42c3409-s.0n0by9e-ig5xq.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:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c41ca59f1c34ba31-s.p.0xxb547n1hn74.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:Sora Fallback;src:local(Arial);ascent-override:85.29%;descent-override:25.5%;line-gap-override:0.0%;size-adjust:113.73%}.sora_290837cc-module__s456Jq__className{font-family:Sora,Sora Fallback;font-style:normal}.sora_290837cc-module__s456Jq__variable{--font-sora:"Sora", "Sora Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_9d8e35cb-module__LH6Jpq__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_9d8e35cb-module__LH6Jpq__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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.10hk62x1-0d9n.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.0bmyfaahigzds.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.0-0ft90hthv3~.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.16fk0g~ypa53a.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.0f97p8c3305p~.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.0h-nw9_c8d~-_.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.10hk62x1-0d9n.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.0bmyfaahigzds.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.0-0ft90hthv3~.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.16fk0g~ypa53a.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.0f97p8c3305p~.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_25a8c65b-module__Kf1nRa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_25a8c65b-module__Kf1nRa__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.0y1-r_vehenvp.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:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.10_7676vm7pyy.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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..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:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_c292d6fe-module__ZPbyaG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_c292d6fe-module__ZPbyaG__variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
:root{--f-display:var(--font-sora), ui-sans-serif, system-ui, sans-serif;--f-body:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;--f-mono:var(--font-jetbrains-mono), ui-monospace, "SF Mono", Menlo, monospace;--bg:#f4f1ea;--bg-2:#ede9de;--surface:#ffffff8c;--surface-strong:#ffffffc7;--border:#0b0b1214;--border-strong:#0b0b1224;--ink:#0b0b12;--ink-2:#2a2a36;--muted:#5c5c6a;--muted-2:#8a8a95;--accent:#5b3df5;--accent-2:#00a6b5;--accent-3:#ff5c8a;--accent-ink:#fff;--mesh-1:#b5a8ff;--mesh-2:#7fe2ea;--mesh-3:#ffa8c5;--mesh-4:#ffe08a;--shadow-sm:0 1px 2px #0b0b120a, 0 1px 1px #0b0b1208;--shadow-md:0 8px 24px -8px #0b0b121f, 0 2px 6px -2px #0b0b120f;--shadow-lg:0 24px 60px -20px #0b0b1238, 0 8px 24px -12px #0b0b121a;--shadow-glow:0 0 0 1px #5b3df526, 0 12px 40px -12px #5b3df540;--r-sm:8px;--r-md:14px;--r-lg:22px;--r-xl:32px;--page-max:1280px;--pad-x:clamp(20px, 4vw, 56px)}[data-theme=dark]{--bg:#07080f;--bg-2:#0c0e18;--surface:#ffffff0a;--surface-strong:#ffffff12;--border:#ffffff14;--border-strong:#ffffff24;--ink:#f2f0e8;--ink-2:#d6d4cb;--muted:#8f8fa0;--muted-2:#5f5f70;--accent:#8b73ff;--accent-2:#38e1ea;--accent-3:#ff7fa8;--mesh-1:#4a2fe5;--mesh-2:#0099a8;--mesh-3:#b5447a;--mesh-4:#7a5a1f;--shadow-md:0 8px 24px -8px #0000008c, 0 2px 6px -2px #0000004d;--shadow-lg:0 24px 60px -20px #000000b3, 0 8px 24px -12px #00000080;--shadow-glow:0 0 0 1px #8b73ff33, 0 12px 40px -12px #8b73ff59}*,:before,:after{box-sizing:border-box}img,svg,video{max-width:100%}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--f-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;font-size:16px;line-height:1.5;transition:background-color .5s,color .4s;overflow-x:hidden}::selection{background:var(--accent);color:#fff}html{scrollbar-width:thin;scrollbar-color:color-mix(in oklab, var(--accent) 55%, transparent) transparent}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 65%, transparent), color-mix(in oklab, var(--accent-2) 65%, transparent));background-clip:padding-box;border:3px solid #0000;border-radius:100px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg, var(--accent), var(--accent-2));background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:active{background:linear-gradient(135deg, var(--accent), var(--accent-3));background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-corner{background:0 0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}img{max-width:100%;display:block}input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--f-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600;line-height:1.05}p{text-wrap:pretty;margin:0}.mesh-bg{z-index:-1;pointer-events:none;background:var(--bg);position:fixed;inset:-10%;overflow:hidden}.mesh-bg:before,.mesh-bg:after{content:"";background:radial-gradient(60% 50% at 12% 8%, var(--mesh-1) 0%, transparent 60%), radial-gradient(45% 40% at 88% 18%, var(--mesh-2) 0%, transparent 60%), radial-gradient(55% 45% at 82% 92%, var(--mesh-3) 0%, transparent 60%), radial-gradient(40% 35% at 18% 88%, var(--mesh-4) 0%, transparent 60%);filter:blur(80px)saturate(1.05);opacity:.55;animation:28s ease-in-out infinite alternate meshDrift;position:absolute;inset:0}.mesh-bg:after{filter:blur(120px);opacity:.35;animation-duration:36s;animation-direction:alternate-reverse}[data-theme=dark] .mesh-bg:before,[data-theme=dark] .mesh-bg:after{opacity:.45}.mesh-bg .grain{pointer-events:none;opacity:.25;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.18 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}[data-theme=dark] .mesh-bg .grain{opacity:.5;mix-blend-mode:soft-light}@keyframes meshDrift{0%{transform:translate(0,0)scale(1)}50%{transform:translate(2%,-3%)scale(1.06)}to{transform:translate(-2%,2%)scale(1.02)}}.page{width:100%;max-width:var(--page-max);padding:0 var(--pad-x);margin:0 auto;position:relative}section{padding:clamp(72px,10vw,140px) 0}.section-head{max-width:720px;margin-bottom:56px}.eyebrow{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:color-mix(in oklab, var(--accent) 10%, transparent);border:1px solid color-mix(in oklab, var(--accent) 25%, transparent);border-radius:100px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 25%, transparent);border-radius:50%;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}h2.title{margin:18px 0 16px;font-size:clamp(36px,5.2vw,64px);font-weight:600}.section-head .sub{color:var(--muted);max-width:56ch;font-size:clamp(16px,1.6vw,19px)}.nav-wrap{z-index:50;padding:0 var(--pad-x);position:sticky;top:14px}.nav{max-width:var(--page-max);background:var(--surface-strong);-webkit-backdrop-filter:blur(20px)saturate(1.2);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:100px;justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:10px 14px 10px 22px;display:flex}.brand{font-family:var(--f-display);letter-spacing:-.01em;align-items:center;gap:12px;font-size:15px;font-weight:600;display:flex}.brand-mark{background-image:url(/assets/logo.png);background-position:50%;background-repeat:no-repeat;background-size:contain;flex:none;width:40px;height:40px;display:block}.brand-mark>*{display:none}.brand-meta{flex-direction:column;line-height:1.1;display:flex}.brand-meta small{font-family:var(--f-mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:400}.nav-links{align-items:center;gap:6px;display:flex}.nav-link{color:var(--ink-2);border-radius:100px;padding:8px 14px;font-size:14px;font-weight:500;transition:background-color .2s,color .2s;position:relative}.nav-link:hover{background:var(--surface);color:var(--ink)}.nav-link[aria-current=page]{color:var(--ink);background:var(--surface)}.nav-link[aria-current=page]:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.nav-cta{background:var(--ink);color:var(--bg);border-radius:100px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:500;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.nav-cta:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.nav-cta svg{width:14px;height:14px}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--ink);border-radius:50%;place-items:center;transition:transform .25s,background .2s;display:grid}.theme-toggle:hover{background:var(--surface-strong);transform:rotate(15deg)}.theme-toggle svg{width:16px;height:16px}.theme-toggle .sun{display:none}.theme-toggle .moon,[data-theme=dark] .theme-toggle .sun{display:block}[data-theme=dark] .theme-toggle .moon,.nav-burger{display:none}@media (max-width:880px){.nav-links{display:none}.nav{padding:10px 12px 10px 18px}.nav-cta span{display:none}}.btn{font-family:var(--f-body);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:100px;align-items:center;gap:10px;padding:14px 22px;font-size:15px;font-weight:500;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .2s,border-color .2s;display:inline-flex;position:relative}.btn svg{flex:none;width:16px;height:16px}.btn-primary{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-accent{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:var(--shadow-glow)}.btn-accent:hover{transform:translateY(-2px)}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-ghost:hover{background:var(--surface-strong);border-color:var(--border-strong)}.btn-magnet{will-change:transform}.glass{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(20px)saturate(1.2);box-shadow:var(--shadow-md)}.glass-strong{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(28px)saturate(1.2);box-shadow:var(--shadow-md)}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(28px)}.reveal.in{opacity:1;transform:translateY(0)}.reveal[data-delay="1"]{transition-delay:80ms}.reveal[data-delay="2"]{transition-delay:.16s}.reveal[data-delay="3"]{transition-delay:.24s}.reveal[data-delay="4"]{transition-delay:.32s}.reveal[data-delay="5"]{transition-delay:.4s}.reveal[data-delay="6"]{transition-delay:.48s}footer.foot{border-top:1px solid var(--border);padding:56px var(--pad-x) 40px;margin-top:80px;position:relative}.foot-inner{max-width:var(--page-max);grid-template-columns:1.4fr 1fr 1fr 1fr;gap:56px;margin:0 auto;display:grid}.foot h4{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;font-size:11px;font-weight:500}.foot a{color:var(--ink-2);padding:5px 0;font-size:14px;transition:color .15s;display:block}.foot a:hover{color:var(--accent)}.foot-blurb{color:var(--muted);max-width:38ch;margin-top:14px;font-size:15px}.foot-bottom{max-width:var(--page-max);border-top:1px solid var(--border);font-family:var(--f-mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:56px auto 0;padding-top:24px;font-size:12px;display:flex}.foot-bottom .status{align-items:center;gap:8px;display:inline-flex}.foot-bottom .dot{background:#e0a33a;border-radius:50%;width:8px;height:8px;animation:2.4s ease-in-out infinite pulse;box-shadow:0 0 0 4px #e0a33a2e}@media (max-width:720px){.foot-inner{grid-template-columns:1fr 1fr}}.row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.col{flex-direction:column;gap:16px;display:flex}.center{text-align:center}.muted{color:var(--muted)}.mono{font-family:var(--f-mono)}.divider{background:var(--border);height:1px;margin:32px 0}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(32px,5vw,64px);min-height:80vh;padding:clamp(40px,8vw,80px) 0 clamp(60px,8vw,100px);display:grid;position:relative}.hero-left{flex-direction:column;gap:24px;display:flex}.hero-tag{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:fit-content;font-size:13px;font-family:var(--f-mono);color:var(--ink-2);border-radius:100px;align-items:center;gap:10px;padding:8px 14px;display:inline-flex}.hero-tag .avatar{background:var(--ink);width:22px;height:22px;color:var(--bg);border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.hero-tag .live{background:#e0a33a;border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite pulse;box-shadow:0 0 0 4px #e0a33a2e}.hero h1{letter-spacing:-.035em;font-size:clamp(40px,6.8vw,88px);font-weight:600;line-height:.98}.hero h1 .grad{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 60%, var(--accent-3) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero h1 .italic{font-style:italic;font-family:var(--font-instrument-serif), var(--font-sora), serif;font-weight:400}.hero-sub{color:var(--muted);max-width:50ch;font-size:clamp(16px,1.7vw,19px)}.hero-actions{margin-top:8px}.hero-right{justify-content:center;align-items:center;display:flex;position:relative}.terminal{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(24px)saturate(1.3);backdrop-filter:blur(24px)saturate(1.3);width:100%;max-width:540px;box-shadow:var(--shadow-lg);font-family:var(--f-mono);transform-origin:50%;font-size:13.5px;line-height:1.6;position:relative;overflow:hidden;transform:perspective(1200px)rotateY(-4deg)rotateX(3deg)}.terminal:before{content:"";pointer-events:none;background:linear-gradient(135deg,#5b3df50f,#0000 40%,#00a6b50f);position:absolute;inset:0}[data-theme=dark] .terminal{background:#14151eb3}.term-bar{border-bottom:1px solid var(--border);background:linear-gradient(180deg, color-mix(in oklab, var(--ink) 4%, transparent), transparent);align-items:center;gap:6px;padding:12px 14px;display:flex}.term-dot{border-radius:50%;width:12px;height:12px}.term-dot.r{background:#ff5f57}.term-dot.y{background:#febc2e}.term-dot.g{background:#28c840}.term-title{text-align:center;color:var(--muted);letter-spacing:.04em;flex:1;font-size:11.5px}.term-body{min-height:360px;padding:20px 22px 28px}.term-line{min-height:1.6em;color:var(--ink-2);display:block}.term-line .prompt{color:var(--accent);margin-right:8px}.term-line .ok{color:#2ecc71}.term-line .key{color:var(--accent-2)}.term-line .str{color:var(--accent-3)}.term-line .com{color:var(--muted)}.term-cursor{background:var(--accent);vertical-align:text-bottom;width:8px;height:1.05em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,60%{opacity:1}80%,to{opacity:.2}}.float-card{background:var(--surface-strong);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-md);font-family:var(--f-mono);border-radius:14px;align-items:center;gap:10px;padding:10px 14px;font-size:12px;animation:6s ease-in-out infinite floaty;display:flex;position:absolute}.float-card .swatch{color:#fff;border-radius:6px;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.float-card.fc-1{animation-delay:0s;top:-8px;left:-30px}.float-card.fc-2{animation-delay:1.4s;bottom:30px;left:-54px}.float-card.fc-3{animation-delay:2.8s;top:40px;right:-34px}@keyframes floaty{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-12px)rotate(1deg)}}@media (max-width:980px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:24px}.terminal{transform:none}.float-card.fc-1{left:-10px}.float-card.fc-2{left:8px}.float-card.fc-3{right:-10px}}@media (max-width:720px){.float-card{display:none}}@media (max-width:600px){.hero-right{padding:0 4px}.terminal{font-size:12px}.term-body{min-height:280px;padding:16px 14px 22px}}.stats{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:repeat(4,1fr);gap:0;margin:24px 0;display:grid;overflow:hidden}.stat{border-right:1px solid var(--border);padding:28px;position:relative}.stat:last-child{border-right:none}.stat .num{font-family:var(--f-display);letter-spacing:-.03em;align-items:baseline;gap:4px;font-size:clamp(36px,4.4vw,52px);font-weight:600;line-height:1;display:flex}.stat .num .suffix{color:var(--accent);font-size:.5em}.stat .lbl{font-family:var(--f-mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:10px;font-size:11.5px}@media (max-width:720px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:none}.stat:first-child,.stat:nth-child(2){border-bottom:1px solid var(--border)}}.about{grid-template-columns:1fr 1.2fr;align-items:center;gap:clamp(40px,6vw,80px);display:grid}.about-portrait{aspect-ratio:4/5;position:relative}.about-portrait-inner{border-radius:var(--r-xl);background:var(--bg-2);border:1px solid var(--border);box-shadow:var(--shadow-lg);position:absolute;inset:0;overflow:hidden}.about-portrait-inner:before{content:"";background:radial-gradient(70% 60% at 50% 100%, color-mix(in oklab, var(--accent) 28%, transparent), transparent 70%), radial-gradient(60% 50% at 80% 10%, color-mix(in oklab, var(--accent-2) 22%, transparent), transparent 70%), linear-gradient(180deg, color-mix(in oklab, var(--mesh-1) 30%, var(--bg-2)), color-mix(in oklab, var(--mesh-3) 22%, var(--bg-2)));z-index:0;position:absolute;inset:0}.about-portrait-inner img{object-fit:cover;object-position:center 18%;filter:contrast(1.04)brightness(1.04)saturate(1.05);z-index:1;width:100%;height:100%;position:absolute;inset:0}.about-portrait-inner:after{content:"";z-index:2;background:linear-gradient(180deg, transparent 55%, color-mix(in oklab, var(--ink) 30%, transparent) 100%), radial-gradient(120% 80% at 50% 50%, transparent 60%, color-mix(in oklab, var(--ink) 18%, transparent) 100%);pointer-events:none;position:absolute;inset:0}.about-chip{z-index:4;z-index:3;background:var(--surface-strong);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-family:var(--f-mono);box-shadow:var(--shadow-md);border-radius:100px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;animation:7s ease-in-out infinite floaty;display:flex;position:absolute}.about-chip.c-1{top:8%;right:-32px}.about-chip.c-2{animation-delay:1.5s;bottom:18%;left:-28px}.about-chip.c-3{background:var(--ink);color:var(--bg);animation-delay:3s;bottom:4%;right:8%}.about-chip i{background:var(--accent);border-radius:50%;width:8px;height:8px;display:inline-block}.about-text h2{margin-top:14px}.about-text .lead{color:var(--ink-2);margin-top:22px;font-size:clamp(18px,1.8vw,21px);line-height:1.55}.about-text .lead strong{color:var(--ink);background:linear-gradient(transparent 60%, color-mix(in oklab, var(--accent) 22%, transparent) 60%);padding:0 2px}.about-text .body{color:var(--muted);margin-top:18px;font-size:16px}.about-langs{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.lang-chip{border:1px solid var(--border);background:var(--surface);font-size:13px;font-family:var(--f-mono);border-radius:100px;align-items:center;gap:8px;padding:8px 14px;display:flex}.lang-chip .flag{font-size:14px}@media (max-width:880px){.about{grid-template-columns:1fr}.about-portrait{max-width:420px;margin:0 auto}.about-chip.c-1{right:0}.about-chip.c-2{left:0}}@media (max-width:720px){.about-chip{display:none}}.services-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.service{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:28px;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s;position:relative;overflow:hidden}.service:before{content:"";border-radius:inherit;background:linear-gradient(135deg, transparent, transparent 60%, color-mix(in oklab, var(--accent) 30%, transparent));opacity:0;pointer-events:none;z-index:0;transition:opacity .3s;position:absolute;inset:-1px}.service:hover{border-color:color-mix(in oklab, var(--accent) 40%, var(--border));box-shadow:var(--shadow-lg);transform:translateY(-4px)}.service:hover:before{opacity:1}.service>*{z-index:1;position:relative}.service-num{font-family:var(--f-mono);letter-spacing:.08em;color:var(--muted);font-size:11px}.service-ico{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;width:56px;height:56px;box-shadow:0 8px 24px -8px color-mix(in oklab, var(--accent) 60%, transparent);border-radius:16px;place-items:center;margin:14px 0 24px;display:grid}.service-ico svg{width:26px;height:26px}.service h3{margin-bottom:12px;font-size:22px;font-weight:600}.service p{color:var(--muted);font-size:14.5px;line-height:1.55}.service-tags{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.service-tag{font-family:var(--f-mono);background:color-mix(in oklab, var(--ink) 6%, transparent);color:var(--ink-2);border-radius:100px;padding:4px 10px;font-size:11px}@media (max-width:880px){.services-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.services-grid{grid-template-columns:1fr}}.stack{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.stack-group{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:24px}.stack-group h4{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:11px}.stack-list{flex-direction:column;gap:4px;display:flex}.stack-item{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;display:flex}.stack-item:last-child{border-bottom:none}.stack-item .lv{font-family:var(--f-mono);color:var(--muted);font-size:10.5px}@media (max-width:960px){.stack{grid-template-columns:1fr 1fr}}@media (max-width:540px){.stack{grid-template-columns:1fr}}.featured-grid{grid-template-rows:auto auto;grid-template-columns:1.4fr 1fr 1fr;gap:18px;display:grid}.feat{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer;flex-direction:column;justify-content:space-between;min-height:280px;padding:28px;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s;display:flex;position:relative;overflow:hidden}.feat:hover{border-color:var(--border-strong);transform:translateY(-3px)}.feat .feat-tag{font-family:var(--f-mono);letter-spacing:.06em;color:var(--accent);text-transform:uppercase;font-size:11px}.feat h3{margin-top:12px;font-size:22px;font-weight:600}.feat-1{background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 12%, var(--surface)), color-mix(in oklab, var(--accent-2) 8%, var(--surface)));grid-area:1/1/3/2;min-height:580px}.feat .stack-mini{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.feat .stack-mini span{font-family:var(--f-mono);background:color-mix(in oklab, var(--ink) 6%, transparent);border-radius:100px;padding:3px 9px;font-size:11px}.feat .visual{background:var(--surface-strong);border:1px solid var(--border);border-radius:14px;place-items:center;height:200px;margin-top:20px;display:grid;position:relative;overflow:hidden}.feat-1 .visual{height:340px}.feat .arr{background:var(--ink);width:38px;height:38px;color:var(--bg);opacity:0;border-radius:50%;place-items:center;transition:opacity .25s,transform .25s;display:grid;position:absolute;top:24px;right:24px;transform:translate(8px,-8px)}.feat:hover .arr{opacity:1;transform:translate(0)}@media (max-width:880px){.featured-grid{grid-template-columns:1fr 1fr}.feat-1{grid-area:auto/1/auto/3;min-height:380px}.feat-1 .visual{height:200px}}@media (max-width:600px){.featured-grid{grid-template-columns:1fr}.feat-1{grid-column:auto}}.timeline{flex-direction:column;gap:24px;padding-left:32px;display:flex;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, var(--accent), color-mix(in oklab, var(--accent) 20%, transparent));width:2px;position:absolute;top:12px;bottom:12px;left:8px}.t-item{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:24px 28px;position:relative}.t-item:before{content:"";background:var(--bg);border:3px solid var(--accent);width:18px;height:18px;box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 14%, transparent);border-radius:50%;position:absolute;top:28px;left:-32px}.t-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:18px;display:flex}.t-role{font-family:var(--f-display);font-size:21px;font-weight:600}.t-company{font-family:var(--f-mono);color:var(--accent);font-size:13px}.t-date{font-family:var(--f-mono);color:var(--muted);font-size:12px}.t-loc{color:var(--muted);margin-top:4px;font-size:13px}.t-body{flex-direction:column;gap:8px;margin-top:14px;display:flex}.t-body li{color:var(--ink-2);padding-left:22px;font-size:14.5px;line-height:1.55;list-style:none;position:relative}.t-body li:before{content:"→";color:var(--accent);font-family:var(--f-mono);position:absolute;top:0;left:0}.t-body ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.proj-filters{flex-wrap:wrap;gap:8px;margin:36px 0 28px;display:flex}.filter-chip{background:var(--surface);border:1px solid var(--border);color:var(--ink-2);cursor:pointer;border-radius:100px;align-items:center;gap:6px;padding:8px 16px;font-size:13.5px;font-weight:500;transition:all .2s;display:inline-flex}.filter-chip:hover{border-color:var(--border-strong)}.filter-chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.filter-chip .cnt{font-family:var(--f-mono);opacity:.65;font-size:11px}.projects-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.project-card{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;min-width:0;max-width:100%;padding:26px;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.project-card h3,.pc-summary{overflow-wrap:anywhere;word-break:break-word}.pc-head,.pc-foot,.pc-tags,.pc-stack,.pc-links{min-width:0}.pc-head{flex-wrap:wrap}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.pc-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.pc-tags{flex-wrap:wrap;gap:6px;display:flex}.pc-tag{font-family:var(--f-mono);background:color-mix(in oklab, var(--accent) 12%, transparent);color:var(--accent);border-radius:100px;padding:4px 10px;font-size:11px}.pc-num{font-family:var(--f-mono);color:var(--muted);font-size:11px}.pc-visual{background:linear-gradient(180deg, var(--surface-strong), color-mix(in oklab, var(--accent) 6%, var(--surface)));border:1px solid var(--border);border-radius:14px;height:200px;margin-bottom:18px;position:relative;overflow:hidden}.project-card h3{margin-bottom:10px;font-size:24px;font-weight:600}.pc-summary{color:var(--muted);font-size:14.5px;line-height:1.55}.pc-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;display:flex}.pc-stack{flex-wrap:wrap;gap:6px;display:flex}.pc-stack span{font-family:var(--f-mono);background:color-mix(in oklab, var(--ink) 6%, transparent);color:var(--ink-2);border-radius:100px;padding:3px 9px;font-size:11px}.pc-links{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.pc-link{background:color-mix(in oklab, var(--accent) 12%, transparent);color:var(--accent);font-family:var(--f-mono);letter-spacing:.02em;border-radius:100px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;display:inline-flex}.pc-link svg{width:11px;height:11px}.pc-link[data-kind=github]{background:color-mix(in oklab, var(--ink) 10%, transparent);color:var(--ink)}.pc-link[data-kind=video]{background:color-mix(in oklab, var(--accent-3) 14%, transparent);color:var(--accent-3)}.pc-link[data-kind=live]{color:#1e9e5c;background:#2ecc7124;background:lab(72.8237% -56.5221 33.4371/.14)}.pc-link-ghost{border:1px dashed var(--border-strong);color:var(--muted);background:0 0}.pc-tag-ghost{border:1px solid var(--border-strong);color:var(--muted)!important;background:0 0!important}.case-private{background:var(--surface);border:1px dashed var(--border-strong);font-family:var(--f-mono);color:var(--muted);border-radius:100px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:inline-flex}.mock-app{background:var(--bg-2);border:1px solid var(--border-strong);border-radius:10px;flex-direction:column;display:flex;position:absolute;inset:14px;overflow:hidden;box-shadow:0 4px 16px -8px #0b0b122e}.ma-bar-top{border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--ink) 3%, var(--bg-2));align-items:center;gap:6px;padding:8px 12px;display:flex}.ma-dot{border-radius:50%;width:8px;height:8px}.ma-url{font-family:var(--f-mono);color:var(--muted);text-align:center;flex:1;margin-left:8px;font-size:10px}.ma-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px;display:flex}.ma-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ma-tag{font-family:var(--f-mono);background:color-mix(in oklab, var(--ink) 8%, transparent);color:var(--ink-2);letter-spacing:.04em;border-radius:100px;padding:2px 7px;font-size:9.5px}.ma-line{background:color-mix(in oklab, var(--ink) 10%, transparent);border-radius:4px;height:8px}.ma-line.muted{background:color-mix(in oklab, var(--ink) 5%, transparent)}.ma-line.w40{width:40%}.ma-line.w50{width:50%}.ma-line.w60{width:60%}.ma-line.w70{width:70%}.ma-line.w80{width:80%}.ma-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.ma-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:5px;padding:6px;display:flex}.ma-thumb{border-radius:4px;height:38px}.ma-bar{border-top:1px dashed var(--border);align-items:center;gap:6px;margin-top:auto;padding-top:8px;display:flex}.ma-pill{font-family:var(--f-mono);background:var(--bg);border:1px solid var(--border);color:var(--ink-2);border-radius:100px;align-items:center;gap:5px;padding:4px 9px;font-size:10px;display:inline-flex}.ma-pill i{border-radius:50%;width:6px;height:6px;display:inline-block}.ma-pill-strong{background:var(--ink);color:var(--bg);border-color:var(--ink)}.ma-map{background:linear-gradient(180deg, color-mix(in oklab, var(--accent) 8%, var(--bg)), var(--bg));border:1px solid var(--border);border-radius:6px;flex:1;min-height:90px;position:relative;overflow:hidden}.empty{text-align:center;color:var(--muted);font-family:var(--f-mono);border:1px dashed var(--border-strong);border-radius:var(--r-lg);grid-column:1/-1;padding:60px 28px;font-size:13px}.pc-cta{font-family:var(--f-mono);color:var(--accent);align-items:center;gap:6px;font-size:12px;transition:gap .2s;display:inline-flex}.project-card:hover .pc-cta{gap:10px}@media (max-width:780px){.projects-grid{grid-template-columns:1fr}}@media (max-width:600px){.projects-grid{gap:16px}.project-card{border-radius:var(--r-md);padding:18px}.pc-head{gap:12px;margin-bottom:14px}.pc-visual{height:160px;margin-bottom:14px}.project-card h3{margin-bottom:8px;font-size:19px;line-height:1.25}.pc-summary{font-size:13.5px}.pc-foot{flex-direction:column;align-items:flex-start;gap:12px;margin-top:16px;padding-top:14px}.pc-foot .pc-cta{align-self:flex-end}.pc-links{gap:5px}.pc-link{padding:4px 9px;font-size:10.5px}}.case-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:200;opacity:0;pointer-events:none;background:#07080f73;justify-content:center;align-items:center;padding:24px;transition:opacity .35s;display:flex;position:fixed;inset:0}.case-overlay.open{opacity:1;pointer-events:auto}.case-modal{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r-xl);width:min(1080px,100%);max-height:92vh;box-shadow:var(--shadow-lg);transition:transform .4s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden auto;transform:translateY(20px)scale(.98)}.case-overlay.open .case-modal{transform:translateY(0)scale(1)}.case-close{background:var(--surface-strong);border:1px solid var(--border);z-index:2;float:right;border-radius:50%;place-items:center;width:38px;height:38px;margin-left:auto;margin-right:14px;display:grid;position:sticky;top:14px}.case-close:hover{background:var(--bg-2)}.case-hero{border-bottom:1px solid var(--border);background:linear-gradient(180deg, color-mix(in oklab, var(--accent) 8%, var(--bg)), var(--bg));padding:56px 48px 32px;position:relative}.case-hero h2{margin:12px 0 14px;font-size:clamp(28px,4vw,44px)}.case-hero .desc{color:var(--muted);max-width:60ch;font-size:16px}.case-meta{border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:0;margin-top:28px;padding-top:20px;display:grid}.cm-item{padding-right:18px}.cm-item .lbl{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.cm-item .val{margin-top:6px;font-size:15px;font-weight:500}.case-body{grid-template-columns:1fr 1fr;gap:36px;padding:40px 48px 56px;display:grid}.case-body h4{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:11px}.case-body .block{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);padding:24px}.case-body p{color:var(--ink-2);font-size:15px;line-height:1.6}.case-body ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.case-body ul li{color:var(--ink-2);padding-left:24px;font-size:14.5px;line-height:1.55;position:relative}.case-body ul li:before{content:"✓";color:var(--accent-2);font-weight:600;position:absolute;left:0}.case-results{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;display:grid}.case-results .rk{border-radius:var(--r-md);background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 8%, var(--surface)), var(--surface));border:1px solid var(--border);padding:18px}.case-results .rk .v{font-family:var(--f-display);letter-spacing:-.02em;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:600}.case-results .rk .l{color:var(--muted);margin-top:4px;font-size:12px}.case-flow{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);margin-top:12px;padding:28px 32px}.case-stack-list{flex-wrap:wrap;gap:6px;display:flex}.case-stack-list span{font-family:var(--f-mono);background:color-mix(in oklab, var(--ink) 6%, transparent);border-radius:100px;padding:5px 12px;font-size:12px}.case-cta-row{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}@media (max-width:820px){.case-body{grid-template-columns:1fr;padding:28px 24px 40px}.case-hero{padding:32px 24px 24px}.case-meta{grid-template-columns:1fr 1fr;gap:18px}}@media (max-width:600px){.case-overlay{padding:12px}.case-modal{border-radius:var(--r-lg)}.case-hero{padding:24px 18px 20px}.case-hero h2{overflow-wrap:anywhere;font-size:22px;line-height:1.2}.case-hero .desc{overflow-wrap:anywhere;font-size:14.5px}.case-meta{grid-template-columns:1fr;gap:14px}.case-body{gap:22px;padding:20px 16px 32px}.case-body .block{padding:18px}.case-results{grid-template-columns:1fr;gap:10px}.case-results .rk{padding:14px}.case-results .rk .v{font-size:22px}.case-flow{padding:14px}.case-stack-list span{padding:4px 10px;font-size:11px}.case-cta-row .btn{justify-content:center;width:100%}}.flow{width:100%;height:100%;display:block}.flow .node{fill:var(--surface-strong);stroke:var(--border-strong);stroke-width:1px}.flow .node-label{font-family:var(--f-mono);fill:var(--ink);font-size:9.5px}.flow .node-sub{font-family:var(--f-mono);fill:var(--muted);font-size:8px}.flow .edge{fill:none;stroke:var(--border-strong);stroke-width:1.5px;stroke-dasharray:4 4;animation:2s linear infinite edgeFlow}@keyframes edgeFlow{to{stroke-dashoffset:-16px}}.flow .node.ai{fill:color-mix(in oklab, var(--accent) 20%, var(--surface-strong));stroke:var(--accent)}.flow .node.out{fill:color-mix(in oklab, var(--accent-2) 20%, var(--surface-strong));stroke:var(--accent-2)}.flow .node.in{fill:color-mix(in oklab, var(--accent-3) 16%, var(--surface-strong));stroke:var(--accent-3)}.flow .dot{fill:var(--accent)}.blog-featured{border-radius:var(--r-xl);background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 12%, var(--surface)), var(--surface));border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);grid-template-columns:1.3fr 1fr;align-items:center;gap:28px;margin-bottom:56px;padding:36px;display:grid}.bf-meta{font-family:var(--f-mono);color:var(--muted);align-items:center;gap:14px;margin-bottom:16px;font-size:12px;display:flex}.bf-meta .cat{background:var(--ink);color:var(--bg);letter-spacing:.04em;border-radius:100px;padding:4px 10px;font-size:11px}.blog-featured h2{margin-bottom:16px;font-size:clamp(28px,3.6vw,40px);line-height:1.1}.blog-featured p{color:var(--muted);font-size:16px}.bf-cta{margin-top:24px}.bf-visual{aspect-ratio:4/3;border-radius:var(--r-lg);background:var(--surface-strong);border:1px solid var(--border);place-items:center;display:grid;position:relative;overflow:hidden}.blog-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.blog-card{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;flex-direction:column;padding:24px;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s;display:flex}.blog-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}.blog-visual{border-radius:var(--r-md);border:1px solid var(--border);place-items:center;height:160px;margin-bottom:18px;display:grid;position:relative;overflow:hidden}.blog-meta{font-family:var(--f-mono);color:var(--muted);align-items:center;gap:10px;margin-bottom:10px;font-size:11px;display:flex}.blog-meta .cat{color:var(--accent);letter-spacing:.06em;text-transform:uppercase}.blog-card h3{margin-bottom:10px;font-size:18px;font-weight:600;line-height:1.3}.blog-card p{color:var(--muted);flex:1;font-size:14px;line-height:1.55}.blog-card .read{font-family:var(--f-mono);color:var(--ink);align-items:center;gap:6px;margin-top:18px;font-size:12px;display:inline-flex}@media (max-width:960px){.blog-grid{grid-template-columns:1fr 1fr}.blog-featured{grid-template-columns:1fr;padding:28px}}@media (max-width:600px){.blog-grid{grid-template-columns:1fr}}.contact-wrap{grid-template-columns:1.1fr 1fr;align-items:start;gap:40px;display:grid}.contact-form{border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:36px}.field{margin-bottom:22px}.field label{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11px;display:block}.field input,.field textarea,.field select{border-radius:var(--r-md);background:var(--bg);border:1px solid var(--border);width:100%;font-size:15px;font-family:var(--f-body);padding:14px 16px;transition:border-color .2s,background .2s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 14%, transparent);outline:none}.field textarea{resize:vertical;min-height:140px}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field-row .field{margin-bottom:0}.budget-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.budget-opt{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;align-items:center;gap:10px;padding:14px 16px;font-size:13.5px;transition:all .2s;display:flex}.budget-opt:hover{border-color:var(--border-strong)}.budget-opt.sel{background:var(--ink);color:var(--bg);border-color:var(--ink)}.budget-opt .ind{border:1.5px solid;border-radius:4px;flex:none;place-items:center;width:14px;height:14px;display:grid}.budget-opt.sel .ind:after{content:"";background:currentColor;border-radius:2px;width:6px;height:6px}.form-submit{justify-content:center;width:100%;margin-top:8px}.form-success{border-radius:var(--r-md);background:color-mix(in oklab, #2ecc71 14%, var(--surface));color:var(--ink);border:1px solid #2ecc7166;border:1px solid lab(72.8237% -56.5221 33.4371/.4);align-items:center;gap:10px;margin-top:16px;padding:20px 22px;font-size:14px;display:none}.form-success.show{display:flex}.contact-side .info-card{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);margin-bottom:16px;padding:28px}.info-card h3{margin-bottom:6px;font-size:19px;font-weight:600}.info-card p{color:var(--muted);font-size:14px}.info-list{flex-direction:column;gap:10px;margin-top:18px;display:flex}.info-row{border-radius:var(--r-md);background:var(--bg);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;font-size:14px;transition:border-color .2s;display:flex}.info-row:hover{border-color:var(--border-strong)}.info-row .lhs{align-items:center;gap:12px;display:flex}.info-row .ic{background:color-mix(in oklab, var(--accent) 14%, transparent);width:32px;height:32px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.info-row .ic svg{width:16px;height:16px}.info-row .lbl-key{font-family:var(--f-mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px}.info-row .lbl-val{margin-top:1px;font-size:14px;font-weight:500}.downloads-card{border-radius:var(--r-lg);background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 14%, var(--surface)), color-mix(in oklab, var(--accent-2) 8%, var(--surface)));border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:28px}.downloads-card h3{margin-bottom:6px;font-size:19px;font-weight:600}.downloads-card p{color:var(--muted);font-size:14px}.dl-row{flex-direction:column;gap:10px;margin-top:18px;display:flex}.dl-btn{border-radius:var(--r-md);background:var(--bg);border:1px solid var(--border);text-align:left;align-items:center;gap:14px;padding:14px 18px;transition:transform .2s,border-color .2s;display:flex}.dl-btn:hover{border-color:var(--border-strong);transform:translateY(-1px)}.dl-btn .ic-pdf{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;width:40px;height:40px;font-family:var(--f-mono);border-radius:9px;place-items:center;font-size:11px;font-weight:700;display:grid}.dl-btn .meta{flex:1}.dl-btn .meta strong{font-size:14.5px;font-weight:500;display:block}.dl-btn .meta small{font-family:var(--f-mono);color:var(--muted);font-size:11px}.dl-btn .arr-dl{color:var(--muted)}@media (max-width:880px){.contact-wrap{grid-template-columns:1fr}.contact-form{padding:28px}}.page-head{padding:clamp(60px,9vw,120px) 0 clamp(40px,6vw,70px)}.page-head .grid-line{font-family:var(--f-mono);color:var(--muted);align-items:center;gap:20px;margin-bottom:24px;font-size:12px;display:flex}.page-head .grid-line .line{background:var(--border);flex:1;height:1px}.page-head h1{letter-spacing:-.035em;margin-bottom:24px;font-size:clamp(48px,7vw,96px);font-weight:600;line-height:1}.page-head h1 .grad{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 60%, var(--accent-3) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.page-head .sub{color:var(--muted);max-width:60ch;font-size:clamp(17px,1.8vw,21px);line-height:1.5}.cta-strip{border-radius:var(--r-xl);background:var(--ink);color:var(--bg);margin:56px 0 24px;padding:clamp(48px,7vw,84px);position:relative;overflow:hidden}.cta-strip:before{content:"";background:radial-gradient(40% 40% at 80% 30%, color-mix(in oklab, var(--accent) 60%, transparent), transparent 60%), radial-gradient(40% 40% at 20% 80%, color-mix(in oklab, var(--accent-2) 50%, transparent), transparent 60%);filter:blur(40px);opacity:.7;position:absolute;inset:-50%}.cta-strip>*{position:relative}.cta-strip h2{letter-spacing:-.03em;max-width:16ch;font-size:clamp(32px,4.8vw,56px);font-weight:600}.cta-strip h2 .grad{background:linear-gradient(135deg, var(--mesh-1), var(--mesh-2));color:#0000;-webkit-background-clip:text;background-clip:text}.cta-strip p{color:color-mix(in oklab, var(--bg) 60%, transparent);max-width:50ch;margin-top:18px;font-size:17px}.cta-strip .row{margin-top:32px}.cta-strip .btn-ghost{color:var(--bg);background:#ffffff14;border-color:#fff3}.cta-strip .btn-ghost:hover{background:#ffffff24}.cta-strip .btn-primary{background:var(--bg);color:var(--ink)}.not-found{text-align:center}.not-found .grid-line{justify-content:center;max-width:480px;margin-inline:auto}.not-found h1,.not-found .sub{margin-inline:auto}.not-found-numeral{font-family:var(--f-display);letter-spacing:-.06em;margin:8px 0 12px;font-size:clamp(140px,26vw,320px);font-weight:700;line-height:.9;position:relative}.not-found-numeral .grad{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 55%, var(--accent-3) 100%);color:#0000;filter:drop-shadow(0 12px 40px color-mix(in oklab, var(--accent) 25%, transparent));-webkit-background-clip:text;background-clip:text}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:36px;display:inline-flex}@media (max-width:560px){.not-found-actions{display:flex}.not-found-actions .btn{flex:auto;justify-content:center}}.blink-dot{animation:1s infinite blink;display:inline-block}.form-error{color:#e04444;font-size:13.5px;font-family:var(--f-body);margin-top:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
