@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-opsz-normal-CfYZpDVp.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-opsz-normal-BFQXbQ-f.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-opsz-normal-BmPQvyvo.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-opsz-normal-BM0NlUE_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-opsz-normal-Ci9T9ieq.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-opsz-normal-DpK-iCPk.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-opsz-normal-BwkfbSeq.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-opsz-italic-fe11NjBs.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-opsz-italic-Ck9oD2H0.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-opsz-italic-BIcRYUEt.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-opsz-italic-mtaF_0H_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-opsz-italic-C7TReJrb.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-opsz-italic-BLMf5All.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-opsz-italic-BbqH_2Ar.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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--frost:blur(10px) saturate(130%);--surface:#ffffffa6;--border:#172a4229;--line:#172a423d;--glass-shadow:0 8px 30px color-mix(in srgb, var(--accent) 16%, #1f38582e);--glass-bg:linear-gradient(150deg, #ffffff80, #ffffff38 48%, #ffffff61);--glass-border:#ffffff8c;--glass-sheen:linear-gradient(115deg, #fff9, #ffffff26 32%, transparent 62%);--glass-sheen-opacity:.5;--panel-border:#fff9;--radius:20px;--radius-sm:12px;--maxw:1120px;--font-body:"Inter Variable", -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", system-ui, Roboto, "Helvetica Neue", sans-serif;--font-display:"Inter Variable", -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", system-ui, Roboto, "Helvetica Neue", sans-serif;--panel-bg:linear-gradient(150deg, #ffffff8c, #ffffff47 48%, #ffffff73);--panel-highlight:inset 0 1px 0 #ffffffb3, inset 0 -1px 0 #172a420d}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth;background:var(--bg);scrollbar-width:none;overflow-y:scroll}html::-webkit-scrollbar{display:none}body{color:var(--text);font-family:var(--font-body);font-optical-sizing:auto;font-kerning:normal;font-synthesis:none;font-variant-ligatures:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:0 0;margin:0;font-size:21px;line-height:1.6}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}.noise-overlay{z-index:-1;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='128' height='128' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;top:0;bottom:0;left:0;right:0}.bg-host{z-index:-1;isolation:isolate;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.bg-host:before{content:"";z-index:-1;background:linear-gradient(160deg,#82a7cd 0%,#bce2f7 35%,#a3c2de 65%,#e2e6e9 100%);position:absolute;top:0;bottom:0;left:0;right:0}.bg-effect{z-index:-1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}@media (prefers-reduced-motion:reduce){.cat-logo-dot,.hero-tag,.hero h1,.hero p.lead,.hero-actions,.hero-meta{animation:none}}.card,.btn,.skill-box,.social-big a,.hero-tag,.nav-toggle,.nav-links a{isolation:isolate;position:relative;overflow:hidden}.skill-box:after,.card-body:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(230px circle at var(--mx,50%) var(--my,50%), #fff8eb1f, transparent 70%);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.card:hover .card-body:after,.skill-box:hover:after{opacity:1}.btn:before,.hero-tag:before,.social-big a:before,.nav-toggle:before{content:"";border-radius:inherit;pointer-events:none;background:var(--glass-sheen);opacity:var(--glass-sheen-opacity);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.btn:hover:before,.btn-primary:hover:before,.hero-tag:hover:before,.social-big a:hover:before,.nav-toggle:hover:before{background:radial-gradient(230px circle at var(--mx,50%) var(--my,50%), #fff8eb47, transparent 70%), var(--glass-sheen);opacity:1}.nav-links a:before,.nav-cta:before{content:"";border-radius:inherit;pointer-events:none;opacity:0;z-index:-1;background:radial-gradient(230px circle at var(--mx,50%) var(--my,50%), #fff8eb2e, transparent 70%);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.nav-links a:hover:before,.nav-cta:hover:before{opacity:1}.reveal{transition:transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(26px)}.reveal.in{transform:none}.work-grid .card:nth-child(2){transition-delay:.12s}.work-grid .card:nth-child(3){transition-delay:.24s}.skill-list .skill-box:nth-child(2){transition-delay:80ms}.skill-list .skill-box:nth-child(3){transition-delay:.16s}.skill-list .skill-box:nth-child(4){transition-delay:.24s}@media (prefers-reduced-motion:reduce){.reveal{transition:none;transform:none}.card,.btn,.social-big a,.card-cover,.cs-cover{transition:none}.card:hover,.btn:hover,.social-big a:hover,.card:active,.btn:active,.nav-links a:active,.nav-toggle:active,.social-big a:active{transform:none}}::selection{background:color-mix(in srgb, var(--text) 18%, transparent)}a{color:inherit;text-decoration:none}.skip-link{z-index:100;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 16px;font-size:16px;font-weight:600;transition:transform .15s;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}:where(a,button,.card,.nav-links a,.btn,.nav-toggle):focus-visible{outline:3px solid color-mix(in oklch, var(--accent), transparent 40%);outline-offset:3px}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.15}p{margin:0}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}main:has(>.page-skeleton){min-height:100svh}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-skeleton{width:100%;max-width:var(--maxw);margin:0 auto;padding:64px 24px 0;animation:.35s both sk-fade}.skeleton-title{border-radius:12px;width:min(420px,70%);height:42px;margin-bottom:20px}.skeleton-line{border-radius:8px;width:min(560px,90%);height:15px;margin-bottom:12px}.skeleton-line.short{width:min(400px,62%)}.skeleton-block{border-radius:var(--radius);border:1px solid var(--panel-border);width:100%;height:190px;box-shadow:var(--glass-shadow);margin-top:34px}.skeleton-title,.skeleton-line,.skeleton-block{background:linear-gradient(100deg,#ffffff0d 40%,#ffffff1f 50%,#ffffff0d 60%) 0 0/200% 100%;animation:1.4s linear infinite sk-shimmer}@keyframes sk-fade{0%{opacity:0}to{opacity:1}}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.page-skeleton,.skeleton-title,.skeleton-line,.skeleton-block{animation:none}}.section{padding:96px 0}.section-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:48px;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-bottom:16px;font-size:15px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--muted);border-radius:2px;width:18px;height:2px}.section-title{font-size:clamp(30px,4.5vw,44px)}.text-muted{color:var(--muted)}.gradient-text{color:var(--text)}.btn,.btn-primary,.nav-cta{text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--glass-border);background:var(--glass-bg);min-height:44px;color:var(--text);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));box-shadow:inset 0 1px 0 #fff6, inset 0 -1px 0 #ffffff0f, var(--glass-shadow);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex;position:relative}.nav-cta{-webkit-backdrop-filter:var(--lg-filter,blur(4px) saturate(130%));backdrop-filter:var(--lg-filter,blur(4px) saturate(130%))}.btn:hover,.nav-cta:hover{transform-origin:50%;border-color:var(--glass-border);transform:scale(1.045);box-shadow:inset 0 1px #ffffff8c,0 10px 32px #1f385859}.btn:active,.nav-cta:active{filter:brightness(.9);transform:translateY(0)scale(.96)}.nav-links a:active,.nav-toggle:active,.social-big a:active{transform:scale(.96)}:root{--dock-flip:.5s ease}.dock{top:max(18px, env(safe-area-inset-top));z-index:50;will-change:transform;position:fixed;left:50%;transform:translate(-50%)}.dock-glass{z-index:1;background:var(--glass-bg);border:1px solid var(--glass-border);height:62px;-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));padding:8px calc(9px + var(--dock-grow,0px) * .5) 8px calc(15px + var(--dock-grow,0px) * .15);box-shadow:inset 0 1px 0 #fff6, inset 0 -1px 0 #ffffff0f, var(--glass-shadow);transition:height .3s cubic-bezier(.87, 0, .13, 1), padding .3s cubic-bezier(.87, 0, .13, 1), border-color var(--dock-flip);border-radius:999px;align-items:center;gap:12px;display:flex;position:relative}.logo{font-family:var(--font-display);white-space:nowrap;font-weight:700;font-size:calc(20px * var(--logo-scale,1));letter-spacing:0;align-self:center;align-items:center;gap:calc(12px * var(--logo-scale,1));transition:font-size .3s cubic-bezier(.87,0,.13,1),gap .3s cubic-bezier(.87,0,.13,1);display:inline-flex}.logo-cat-trigger{cursor:pointer;border-radius:50%;justify-content:center;align-self:center;align-items:center;transition:transform .2s;display:inline-flex}.logo-cat-trigger:hover{transform:scale(1.12)}.cat-logo{width:calc(26px * var(--logo-scale,1));height:calc(26px * var(--logo-scale,1));display:block;position:relative}.cat-logo-dot{--dot:#0f8;width:calc(10px * var(--logo-scale,1));height:calc(10px * var(--logo-scale,1));background:var(--dot);border-radius:50%;margin:auto;transition:opacity .25s,transform .35s cubic-bezier(.34,1.56,.64,1);animation:1.6s ease-out infinite dot-live;position:absolute;top:0;bottom:0;left:0;right:0}.animation-rainbow-cat .rainbow-color1{stop-color:#fc0101}.animation-rainbow-cat .rainbow-color2{stop-color:#fe9900}.animation-rainbow-cat .rainbow-color3{stop-color:#ff0}.animation-rainbow-cat .rainbow-color4{stop-color:#3f0}.animation-rainbow-cat .rainbow-color5{stop-color:#09f}.animation-rainbow-cat .rainbow-color6{stop-color:#6734ff}.animation-rainbow-cat .rainbow-cat .rainbow rect{stroke:#0000;fill:url(#rainbow-colors);width:5px}.animation-rainbow-cat .rainbow-cat .rainbow rect:first-of-type{height:7px;animation:.2s linear .2s infinite alternate rainbow-boost-1;transform:translate(40px,6px)}@keyframes rainbow-boost-1{to{transform:translate(40px,7px)}}.animation-rainbow-cat .rainbow-cat .rainbow rect:nth-of-type(2){height:6.9px;animation:.2s linear .23s infinite alternate rainbow-boost-2;transform:translate(35.1px,5.8px)}@keyframes rainbow-boost-2{to{transform:translate(35.1px,7.2px)}}.animation-rainbow-cat .rainbow-cat .rainbow rect:nth-of-type(3){height:6.7px;animation:.2s linear .26s infinite alternate rainbow-boost-3;transform:translate(30.2px,5.6px)}@keyframes rainbow-boost-3{to{transform:translate(30.2px,7.4px)}}.animation-rainbow-cat .rainbow-cat .rainbow rect:nth-of-type(4){height:6.6px;animation:.2s linear .29s infinite alternate rainbow-boost-4;transform:translate(25.3px,5.5px)}@keyframes rainbow-boost-4{to{transform:translate(25.3px,7.5px)}}.animation-rainbow-cat .rainbow-cat .rainbow rect:nth-of-type(5){height:6.4px;animation:.2s linear .32s infinite alternate rainbow-boost-5;transform:translate(20.4px,5.3px)}@keyframes rainbow-boost-5{to{transform:translate(20.4px,7.7px)}}.animation-rainbow-cat .rainbow-cat .rainbow rect:nth-of-type(6){height:6.3px;animation:.2s linear .35s infinite alternate rainbow-boost-6;transform:translate(15.6px,5.1px)}@keyframes rainbow-boost-6{to{transform:translate(15.6px,7.9px)}}.animation-rainbow-cat .rainbow-cat .rainbow rect:nth-of-type(7){height:6.2px;animation:.2s linear .38s infinite alternate rainbow-boost-7;transform:translate(10.8px,5px)}@keyframes rainbow-boost-7{to{transform:translate(10.8px,8px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:first-of-type{fill:#000;width:9px;height:9px;transform:translate(1px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(2){fill:#000;width:11px;height:7px;transform:translateY(1px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(3){fill:#000;width:10px;height:8px;transform:translate(.5px,.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(4){fill:#ffcd8e;width:10px;height:7px;transform:translate(.5px,1px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(5){fill:#ffcd8e;width:9px;height:8px;transform:translate(1px,.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(6){fill:#f9f;width:8px;height:6px;transform:translate(1.5px,1.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(7){fill:#f9f;width:7px;height:7px;transform:translate(2px,1px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(8){fill:#f9f;width:9px;height:5px;transform:translate(1px,2px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(9){fill:#fd1a97;width:.5px;height:.5px;transform:translate(2px,2px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(10){fill:#fd1a97;width:.5px;height:.5px;transform:translate(2px,7px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(11){fill:#fd1a97;width:.5px;height:.5px;transform:translate(1.5px,5.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(12){fill:#fd1a97;width:.5px;height:.5px;transform:translate(2.5px,4.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(13){fill:#fd1a97;width:.5px;height:.5px;transform:translate(4px,3.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(14){fill:#fd1a97;width:.5px;height:.5px;transform:translate(4.5px,5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(15){fill:#fd1a97;width:.5px;height:.5px;transform:translate(3.5px,6.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(16){fill:#fd1a97;width:.5px;height:.5px;transform:translate(4.5px,1.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(17){fill:#fd1a97;width:.5px;height:.5px;transform:translate(6.5px,1.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(18){fill:#fd1a97;width:.5px;height:.5px;transform:translate(8.5px,2.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:first-of-type{fill:#0f8;opacity:1;width:.5px;height:1.5px;transform:translate(2.5px,5.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(2){fill:#0f8;opacity:.85;width:1.5px;height:1.5px;transform:translate(1.5px,5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(3){fill:#0f8;opacity:.65;width:2px;height:1.5px;transform:translate(1px,4.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(4){fill:#0f8;opacity:.45;width:2px;height:1.5px;transform:translate(.5px,4px)}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(5){fill:#0f8;opacity:.25;width:2px;height:1.5px;transform:translateY(3.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(6){fill:#baffd8;opacity:1;width:1px;height:.6px;transform:translate(2px,5.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(7){fill:#baffd8;opacity:.85;width:1px;height:.6px;transform:translate(1.5px,5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(8){fill:#baffd8;opacity:.65;width:1px;height:.6px;transform:translate(1px,4.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(9){fill:#baffd8;opacity:.45;width:1px;height:.6px;transform:translate(.5px,4px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:first-of-type{fill:#000;width:8px;height:2.5px;transform:translate(5px,5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(2){fill:#000;width:7px;height:4px;transform:translate(5.5px,4px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(3){fill:#000;width:6px;height:4.5px;transform:translate(6px,4px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(4){fill:#000;width:5px;height:5px;transform:translate(6.5px,4px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(5){fill:#000;width:2.5px;height:1.5px;transform:translate(5.5px,3.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(6){fill:#000;width:2px;height:1.5px;transform:translate(5.5px,3px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(7){fill:#000;width:1px;height:1.5px;transform:translate(6px,2.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(8){fill:#000;width:2.5px;height:1.5px;transform:translate(10px,3.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(9){fill:#000;width:2px;height:1.5px;transform:translate(10.5px,3px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(10){fill:#000;width:1px;height:1.5px;transform:translate(11px,2.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(11){fill:#989898;width:7px;height:2.5px;transform:translate(5.5px,5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(12){fill:#989898;width:6px;height:3.5px;transform:translate(6px,4.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(13){fill:#989898;width:5px;height:4px;transform:translate(6.5px,4.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(14){fill:#989898;width:2px;height:1.5px;transform:translate(6px,4px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(15){fill:#989898;width:1.5px;height:1.5px;transform:translate(6px,3.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(16){fill:#989898;width:1px;height:1.5px;transform:translate(6px,3px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(17){fill:#989898;width:2px;height:1.5px;transform:translate(10px,4px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(18){fill:#989898;width:1.5px;height:1.5px;transform:translate(10.5px,3.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(19){fill:#989898;width:1px;height:1.5px;transform:translate(11px,3px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(20){fill:#f99;width:1px;height:1px;transform:translate(6px,6.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(21){fill:#f99;width:1px;height:1px;transform:translate(11.5px,6.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(22){fill:#000;width:1px;height:1px;transform:translate(7px,5.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(23){fill:#fff;width:.5px;height:.5px;transform:translate(7px,5.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(24){fill:#000;width:1px;height:1px;transform:translate(10.5px,5.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(25){fill:#fff;width:.5px;height:.5px;transform:translate(10.5px,5.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(26){fill:#000;width:.5px;height:.5px;transform:translate(9.5px,6px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(27){fill:#000;width:3.5px;height:.5px;transform:translate(7.5px,7.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(28){fill:#000;width:.5px;height:1px;transform:translate(7.5px,7px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(29){fill:#000;width:.5px;height:1px;transform:translate(9px,7px)}.animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(30){fill:#000;width:.5px;height:1px;transform:translate(10.5px,7px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:first-of-type{fill:#000;width:2px;height:1.5px;transform:translateY(7.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(2){fill:#000;width:2px;height:1.5px;transform:translate(-.5px,8px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(3){fill:#000;width:2px;height:1.5px;transform:translate(-1px,8.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(4){fill:#989898;width:1.5px;height:.6px;transform:translate(.5px,8px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(5){fill:#989898;width:1.5px;height:.5px;transform:translate(-.5px,8.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(6){fill:#989898;width:1px;height:1px;transform:translate(-.5px,8.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(7){fill:#000;width:1.5px;height:1px;transform:translate(2px,9px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(8){fill:#000;width:2px;height:.5px;transform:translate(2px,9px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(9){fill:#989898;width:1px;height:.5px;transform:translate(2.5px,9px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(10){fill:#000;width:1.5px;height:1px;transform:translate(7px,9px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(11){fill:#000;width:2px;height:.5px;transform:translate(6.5px,9px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(12){fill:#989898;width:1px;height:.5px;transform:translate(7px,9px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(13){fill:#000;width:1px;height:1px;transform:translate(9.5px,9px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(14){fill:#000;width:2px;height:1px;transform:translate(9px,8.5px)}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(15){fill:#989898;width:1px;height:1px;transform:translate(9.5px,8.5px)}.animation-rainbow-cat .rainbow-cat .cat{animation:.35s linear .2s infinite cat-move}@keyframes cat-move{0%{transform:translate(0)}50%{transform:translate(.3px,-.5px)}to{transform:translate(1px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-head{animation:.35s cubic-bezier(.95,-.11,.56,.67) .2s infinite cat-head-move}@keyframes cat-head-move{0%{transform:translate(43.5px,5px)}50%{transform:translate(44px,5.5px)}to{transform:translate(43px,5.5px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-legs{animation:.14s cubic-bezier(.95,-.11,.56,.67) .3s infinite alternate cat-legs-move}@keyframes cat-legs-move{0%{transform:translate(43px,5.5px)}to{transform:translate(42.5px,5.5px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(7){animation:.42s cubic-bezier(.94,-.35,0,1.2) .3s infinite cat-back-leg}@keyframes cat-back-leg{to{transform:translate(2.5px,9px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(10){animation:.42s cubic-bezier(.94,-.35,0,1.2) .3s infinite cat-front-leg}@keyframes cat-front-leg{to{transform:translate(6.5px,9px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(2){animation:.4s ease-in-out .26s infinite alternate cat-tail-1}@keyframes cat-tail-1{to{transform:translate(1.5px,5.5px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(6){animation:.4s ease-in-out .264s infinite alternate cat-tail-5}@keyframes cat-tail-5{to{transform:translate(2px,6px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(3){animation:.4s ease-in-out .24s infinite alternate cat-tail-2}@keyframes cat-tail-2{to{transform:translate(1px,6px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(7){animation:.4s ease-in-out .244s infinite alternate cat-tail-6}@keyframes cat-tail-6{to{transform:translate(1.5px,6.5px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(4){animation:.4s ease-in-out .22s infinite alternate cat-tail-3}@keyframes cat-tail-3{to{transform:translateY(6.5px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(8){animation:.4s ease-in-out .224s infinite alternate cat-tail-7}@keyframes cat-tail-7{to{transform:translate(.7px,6.8px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(5){animation:.4s ease-in-out .18s infinite alternate cat-tail-4}@keyframes cat-tail-4{to{width:1.5px;height:1.3px;transform:translate(-.4px,7px)}}.animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(9){animation:.4s ease-in-out .2s infinite alternate cat-tail-8}@keyframes cat-tail-8{to{transform:translate(.2px,7.2px)}}.fly-cat{left:-240px;top:var(--fly-top,10%);z-index:9999;pointer-events:none;width:220px;animation:fly-across var(--fly-dur,3.5s) linear forwards;will-change:transform;position:fixed}.fly-cat .animation-rainbow-cat{width:220px;height:auto;display:block}.fly-cat.from-right{animation:fly-across-right var(--fly-dur,3.5s) linear forwards;left:auto;right:-240px}.fly-cat.from-right .animation-rainbow-cat{transform:scaleX(-1)}@keyframes fly-across{to{transform:translate(calc(100vw + 480px))}}@keyframes fly-across-right{to{transform:translate(calc(-100vw - 480px))}}@keyframes dot-live{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--dot,var(--green)) 35%, transparent)}to{box-shadow:0 0 0 14px color-mix(in srgb, var(--dot,var(--green)) 0%, transparent)}}.nav-divider{background:linear-gradient(#0000,#ffffff38 25% 75%,#0000);align-self:stretch;width:1px;margin:7px 0}.nav-links{align-items:center;gap:12px;display:flex}.nav-links a{white-space:nowrap;text-transform:uppercase;letter-spacing:.08em;min-height:44px;color:var(--muted);transform-origin:0;will-change:transform, margin;transition:color var(--dock-flip), text-shadow var(--dock-flip), background .18s cubic-bezier(.87, 0, .13, 1), border-color .18s cubic-bezier(.87, 0, .13, 1), box-shadow .18s cubic-bezier(.87, 0, .13, 1), transform .28s cubic-bezier(.87, 0, .13, 1), margin .28s cubic-bezier(.87, 0, .13, 1);border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:15px;font-weight:500;display:inline-flex;transform:scale(1);box-shadow:inset 0 0 0 1px #0000}.nav-links a:hover{color:var(--text)}.nav-links a.nav-green{color:var(--text);background:var(--glass-bg);border-color:var(--glass-border);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));box-shadow:inset 0 1px 0 #fff6, inset 0 -1px 0 #ffffff0f, var(--glass-shadow)}.dock-glass.has-target .nav-cta:not(.nav-green){box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}.nav-links a.nav-green:before{transform-origin:100%;background:linear-gradient(90deg,#0000 10%,#ffffff14 60%,#ffffff29 100%);animation:.3s cubic-bezier(.87,0,.13,1) forwards nav-sweep;transform:scaleX(0)}@keyframes nav-sweep{to{transform:scaleX(1)}}.nav-links a.nav-flash{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 30%, transparent), 0 0 10px #ffffff1f}.nav-links a.active{color:var(--text);background:#ffffff1a}.nav-cta{min-height:44px;margin-left:0}.nav-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;min-width:44px;min-height:44px;transition:color var(--dock-flip);background:0 0;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:21px;line-height:1;display:none}.hero{padding:120px 0 20px}.hero-tag{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:8px;margin-bottom:32px;padding:8px 16px;font-size:16px;display:inline-flex}.hero-tag .pulse{background:var(--green);border-radius:50%;width:8px;height:8px}.freelance-pill{filter:none;justify-content:center;gap:9px;margin-bottom:32px}.freelance-pill:hover{transform-origin:50%;transform:scale(1.045)}.freelance-pill:active{filter:none;transform:scale(.985)}.freelance-pill.freelance-pill:hover>span{transform:none}.freelance-pill .pulse{background:var(--green);border-radius:50%;flex:none;width:9px;height:9px;margin:0;display:inline-block;transform:translateZ(0)}.freelance-pill .freelance-label{letter-spacing:.08em;margin-right:-.08em;line-height:1}.hero h1{letter-spacing:-.03em;max-width:16ch;font-size:clamp(44px,8vw,84px)}.hero p.lead{max-width:54ch;color:var(--muted);margin-top:24px;font-size:clamp(18px,2.2vw,21px)}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:40px;display:flex}.hero-meta{border-top:1px solid var(--line);color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:12px 48px;margin-top:36px;padding-top:20px;font-size:16px;display:flex}.hero-meta span strong{color:var(--text);margin-right:6px;font-weight:600}.hero-tag,.hero h1,.hero p.lead,.hero-actions,.hero-meta{animation:.7s cubic-bezier(.2,.6,.2,1) backwards rise-in}.hero-tag{animation-delay:50ms}.hero h1{animation-delay:.15s}.hero p.lead{animation-delay:.25s}.hero-actions{animation-delay:.35s}.hero-meta{animation-delay:.45s}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.btn>span{transition:transform .2s;display:inline-block}.btn:hover>span{transform:translate(3px)}.card-cover img{transition:transform .5s cubic-bezier(.2,.6,.2,1)}.card:hover .card-cover img{transform:scale(1.06)}.logo{transition:color var(--dock-flip), text-shadow var(--dock-flip), opacity .2s ease, font-size .3s cubic-bezier(.87, 0, .13, 1), gap .3s cubic-bezier(.87, 0, .13, 1)}.logo:hover{opacity:.85}.tools-strip{padding:20px 0;position:relative;overflow:hidden}.tools-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.work-grid{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.card{border-radius:var(--radius);background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));transition:transform .2s,border-color .2s,box-shadow .2s;display:block;overflow:hidden}.card:hover{box-shadow:var(--panel-highlight), 0 18px 48px #00000073;border-color:#eef0e452;transform:translateY(-5px)}.card:active{transform:translateY(0)scale(.98)}.card-cover{aspect-ratio:16/10;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.card-cover .cover-title{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;text-align:center;padding:24px;font-size:clamp(26px,4vw,44px);font-weight:700}.card-cover .cover-emoji{opacity:.9;font-size:28px;position:absolute;top:18px;right:20px}.card-body{padding:24px;position:relative}.card-tags{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.tag{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:14px;font-weight:600}.tools-row .tag,.cs-meta .tag{color:var(--text);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));box-shadow:inset 0 1px 1px #ffffffbf, inset 0 -1px 1px #ffffff47, inset 0 0 8px #ffffff38, 0 6px 18px color-mix(in srgb, var(--accent) 14%, #1f385829);background:linear-gradient(150deg,#fff3,#ffffff0d 48%,#ffffff24);border-color:#0000;padding:8px 16px;position:relative}.tools-row .tag:before,.cs-meta .tag:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#fffffff2,#ffffff26 38%,#ffffff1a 62%,#ffffffb3);padding:1px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}@media (prefers-reduced-transparency:reduce){.tools-row .tag,.cs-meta .tag{background:var(--surface)}}.card h3{margin-bottom:8px;font-size:23px}.card p{color:var(--muted);font-size:17px}.card-more{color:var(--muted);align-items:center;gap:6px;margin-top:16px;font-size:16px;font-weight:600;transition:color .15s;display:inline-flex}.card:hover .card-more{color:#0f3f9e}.card:hover .card-more span{transform:translate(4px)}.card-more span{transition:transform .15s}.split{grid-template-columns:minmax(0,340px) 1fr;align-items:center;gap:56px;display:grid}.portrait{aspect-ratio:4/5;border-radius:var(--radius);background:var(--panel-bg);border:1px solid var(--panel-border);width:100%;box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));padding:0;overflow:hidden}.portrait img{object-fit:cover;object-position:top;border-radius:calc(var(--radius) - 1px);transform-origin:top;width:100%;height:100%;display:block;transform:scale(1.06)}.about-text h2{margin-bottom:18px;font-size:clamp(30px,4.5vw,42px)}.about-text p{color:var(--muted);margin-bottom:16px}.stat-row{gap:40px;margin-top:28px;display:flex}.stat strong{font-family:var(--font-display);font-size:34px;display:block}.stat span{color:var(--muted);font-size:16px}.cta{text-align:center;padding:110px 0}.cta h2{max-width:18ch;margin:0 auto 18px;font-size:clamp(34px,6vw,64px)}.cta p{color:var(--muted);max-width:44ch;margin:0 auto 36px}.footer{padding:20px 0 calc(20px + env(safe-area-inset-bottom,0px));position:relative}.footer:before{content:"";width:calc(100% - 48px);max-width:calc(var(--maxw) - 48px);background:var(--line);pointer-events:none;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.footer-inner{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:20px;font-size:16px;display:flex}.cs-hero{padding:80px 0 0}.cs-back{width:-moz-fit-content;width:fit-content;color:var(--muted);align-items:center;gap:8px;margin-bottom:40px;font-size:16px;font-weight:500;transition:color .15s;display:block}.cs-back:hover{color:var(--text)}.cs-hero h1{margin-bottom:20px;font-size:clamp(36px,6vw,64px)}.cs-meta{flex-wrap:wrap;gap:16px;margin:32px 0 40px;display:flex}.cs-cover{border-radius:var(--radius);border:1px solid var(--border);aspect-ratio:16/9;justify-content:center;align-items:center;margin-bottom:56px;display:flex;position:relative;overflow:hidden}.cs-cover .cover-title{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;font-size:clamp(40px,10vw,96px);font-weight:700}.cs-section{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:40px;padding:48px 0;display:grid}.cs-section h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:16px}.cs-section .body p{color:var(--muted);margin-bottom:16px}.cs-section .body p:last-child{margin-bottom:0}.cs-section ul{color:var(--muted);margin:0;padding-left:20px}.cs-section li{margin-bottom:10px}.cs-gallery{grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;display:grid}.cs-gallery .frame{aspect-ratio:16/10;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel-bg);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));color:var(--muted);justify-content:center;align-items:center;font-size:16px;display:flex}.cs-gallery .frame.wide{grid-column:1/-1}.cs-progress{border:1px solid var(--panel-border);background:var(--panel-bg);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));color:var(--text);border-radius:999px;align-items:center;gap:10px;margin-bottom:28px;padding:8px 16px;font-size:15px;font-weight:600;display:inline-flex}.cs-progress-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--green) 25%, transparent);border-radius:50%;animation:1.6s ease-out infinite dot-live}.cs-tagline{font-family:var(--font-display);color:var(--text);margin:-8px 0 16px;font-size:clamp(18px,2.5vw,24px)}.cs-cover-sub{letter-spacing:.08em;text-transform:uppercase;color:#ffffffbf;text-align:center;padding:0 24px;font-size:15px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@media (max-width:640px){.cs-cover:has(.cs-cover-sub){aspect-ratio:auto;flex-direction:column;gap:8px;padding:32px 0}.cs-cover-sub{position:static;transform:none}}.cs-asset{position:relative}.replace-me{z-index:2;border:1px dashed var(--border);color:#ffffffd9;letter-spacing:.05em;text-transform:uppercase;pointer-events:none;white-space:nowrap;background:#0000008c;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:700;position:absolute;top:12px;right:12px}.cs-statement{color:var(--text);font-size:clamp(19px,2.2vw,22px);font-weight:500}.stat-grid{grid-template-columns:repeat(3,1fr);gap:16px}.stat-callout{flex-direction:column;gap:8px;display:flex}.stat-value{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;font-size:clamp(30px,3.4vw,42px);font-weight:700;line-height:1.05}.stat-label{color:var(--muted);font-size:15px}.stat-source{color:color-mix(in srgb, var(--muted) 70%, transparent);font-size:13px;text-decoration:none;transition:color .15s}.stat-link{color:var(--muted)}.stat-link:hover{color:#2f6fed}.persona-grid{grid-template-columns:1fr;margin-bottom:8px;display:grid}.persona-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));grid-template-columns:minmax(150px,220px) 1fr;gap:20px 26px;padding:22px;display:grid}.persona-photo{aspect-ratio:3/4;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:linear-gradient(160deg,#ffffff0d,#ffffff03);justify-content:center;align-self:start;align-items:center;display:flex}.persona-photo:has(.replace-me){border-style:dashed}.persona-body{flex-direction:column;gap:16px;min-width:0;display:flex}.persona-initial{font-family:var(--font-display);color:#ffffff24;letter-spacing:-.04em;font-size:clamp(56px,8vw,88px);font-weight:800}.persona-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 12px;display:flex}.persona-head h3{flex-direction:column;gap:2px;font-size:29px;display:flex}.flow{margin:8px 0 40px;position:relative}.flow-svg{pointer-events:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.flow-path{fill:none;stroke:#12233a99;stroke-width:2px;stroke-linecap:round}.flow-loop-path{stroke-dasharray:1 7}.flow-arrow{fill:var(--text);stroke:var(--text);stroke-width:1px}.flow-stack{flex-direction:column;align-items:center;gap:46px;display:flex;position:relative}.fc-node{position:relative}.fc-process{border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-bg);width:min(560px,100%);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));flex-direction:column;gap:6px;padding:16px 22px 18px;display:flex}.fc-title{color:var(--text);font-size:17px;font-weight:700}.fc-desc{color:var(--muted);font-size:14.5px;line-height:1.5}.flow-loop-label{background:var(--panel-bg);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));color:var(--text);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;pointer-events:none;border:1px solid #ffffff4d;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.flow-legend{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);justify-content:center;align-items:center;gap:14px;margin-bottom:18px;font-size:13px;font-weight:700;display:none}.flow-legend-dot{background:var(--muted);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.flow-legend-sep{background:var(--border);width:1px;height:14px;margin:0 6px}.skill-list.product-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.product-col h4{margin-bottom:4px;font-size:21px}.product-for{color:var(--muted);margin-bottom:16px;font-size:14px;font-weight:600}.feature-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.feature-list li{color:var(--muted);padding-left:18px;font-size:16px;position:relative}.feature-list li:before{content:"";background:var(--muted);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:0}h4.block-goals+.feature-list li:before{background:var(--persona-goals)}h4.block-pains+.feature-list li:before{background:var(--persona-pains)}h4.block-jtbd+.feature-list li:before{background:var(--persona-jtbd)}h4.block-impl+.feature-list li:before{background:#ffb454}.cs-note{border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel-bg);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));color:var(--muted);margin-bottom:24px;padding:20px 24px;font-size:16px}.cs-note strong{color:var(--text)}.cs-note ul{color:var(--muted);margin-top:10px}.cs-quote{border-left:3px solid var(--line);color:var(--text);margin:0;padding:8px 0 8px 24px;font-size:18px;font-style:italic;line-height:1.6}.status-legend{gap:16px;margin-bottom:24px}.status-item{align-items:flex-start;gap:14px;display:flex}.status-chip{border-radius:6px;flex:none;width:18px;height:18px;margin-top:3px}.status-item strong{font-size:16px}.status-item p{color:var(--muted);margin:2px 0 0;font-size:15px}.swatch-inline{color:var(--text);align-items:center;gap:8px;font-weight:600;display:inline-flex}.swatch{border:1px solid var(--border);border-radius:4px;width:16px;height:16px;display:inline-block}.proto-embed{border-radius:var(--radius);border:1px solid var(--border);background:#0a0a0a;justify-content:center;align-items:center;min-height:360px;padding:48px 32px;display:flex}.proto-placeholder{text-align:center;max-width:520px;color:var(--muted)}.proto-placeholder p{margin-bottom:24px;font-size:16px}.flow-cards{justify-content:center}.cs-honesty{color:var(--muted);margin-bottom:24px;font-size:16px;font-style:italic}.metrics-table{border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-bg);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));overflow:hidden}.metrics-row{grid-template-columns:2fr 1fr 1.4fr;align-items:center;gap:16px;padding:16px 20px;font-size:16px;display:grid}.metrics-row+.metrics-row{border-top:1px solid var(--line)}.metrics-head{border-bottom:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:linear-gradient(#ffffff21,#ffffff0d);font-size:13px;font-weight:700}.metrics-target{color:var(--text);font-weight:700;font-family:var(--font-display)}.metrics-type{font-size:14px}.metrics-type.benchmark{color:var(--green)}.metrics-type.goal{color:var(--muted)}.cs-next-section{padding-bottom:120px}.cs-next-cards{grid-template-columns:1fr 1fr;gap:16px;display:grid}.cs-next-card{border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel-bg);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));align-items:center;gap:16px;padding:20px 22px;transition:transform .15s,border-color .15s;display:flex}.cs-next-card:hover{border-color:var(--panel-border);transform:translateY(-2px)}.cs-next-emoji{font-size:29px}.cs-next-card strong{font-size:17px;display:block}.cs-next-card small{color:var(--muted);margin-top:2px;font-size:14px;display:block}.cs-next-arrow{color:var(--muted);margin-left:auto;font-weight:700}.card-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.chip{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.tag-live{color:var(--green);border-color:color-mix(in srgb, var(--green) 40%, var(--border))}.page-head{padding:110px 0 40px}.page-head h1{margin-bottom:18px;font-size:clamp(40px,6vw,64px)}.page-head p{color:var(--muted);max-width:52ch;font-size:20px}.page-head .text-muted{max-width:100%}.skill-list{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px;display:grid}.skill-box{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));padding:22px}.skill-box h3,.skill-box h4{margin-bottom:8px;font-size:19px}.skill-box p{color:var(--muted);font-size:16px}.tool-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tool-list li{color:var(--muted);background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));border-radius:999px;padding:6px 12px;font-size:15px}.timeline{flex-direction:column;gap:0;margin-top:40px;display:flex}.tl-item{border-top:1px solid var(--line);grid-template-columns:150px 1fr;gap:24px;padding:20px 0;display:grid}.tl-item .year{font-family:var(--font-display);color:var(--muted);padding-top:2px;font-size:15px;font-weight:600}.tl-item h3{margin-bottom:2px}.tl-item .tl-role{color:var(--muted);margin-bottom:10px;font-size:15px}.tl-item ul{color:var(--muted);margin:0;padding-left:18px;font-size:17px}.tl-item li{margin-bottom:6px}.contact-big{text-align:left;padding:110px 0 40px}.contact-big h1{max-width:14ch;margin:0 0 24px;font-size:clamp(40px,8vw,84px)}.contact-big p{color:var(--muted);max-width:46ch;margin:0}.contact-actions{flex-wrap:wrap;justify-content:flex-start;gap:16px;margin-top:48px;display:flex}.social-big{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:16px;margin-top:64px;padding-bottom:64px;display:flex}.social-big a{border:1px solid var(--border);background:var(--surface);min-height:48px;box-shadow:var(--glass-shadow);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 26px;font-size:15px;font-weight:600;transition:border-color .15s,transform .15s,box-shadow .15s;display:inline-flex}.social-big a:hover{border-color:color-mix(in srgb, var(--text) 45%, transparent);transform:translateY(-2px)}.notfound{text-align:center;padding:140px 0}.notfound h1{margin-bottom:12px;font-size:76px}.notfound p{color:var(--muted);margin-bottom:32px}.all-projects-mobile,.nav-links-mobile{display:none}@media (min-width:1280px){:root{--maxw:min(1680px, calc(100vw - 96px))}}@media (max-width:900px){.section{padding:64px 0}.dock{max-width:calc(100% - 24px);top:12px}.dock-glass{justify-content:space-between;padding:8px 9px 8px 15px}.nav-links{gap:6px}.nav-links a{padding:0 12px}.logo{font-size:19px}.work-grid{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:32px}.stat-row{gap:24px}.skill-list{grid-template-columns:1fr}.cs-section{grid-template-columns:1fr;gap:16px}.cs-gallery{grid-template-columns:1fr}.cs-gallery .frame.wide{grid-column:auto}.stat-grid{grid-template-columns:1fr 1fr}.product-grid,.skill-list.product-grid,.persona-grid,.persona-card{grid-template-columns:1fr}.persona-photo{aspect-ratio:4/3;width:100%;height:auto}.flow-stack{gap:44px}.flow-svg,.flow-loop-label{display:none}.fc-process{text-align:left;width:100%}.fc-node:not(:last-child):after{content:"↓";z-index:1;color:var(--text);font-size:19px;font-weight:700;line-height:1;position:absolute;top:calc(100% + 13px);left:50%;transform:translate(-50%)}.flow-legend{display:flex}.metrics-row{grid-template-columns:1fr 1fr;gap:8px}.metrics-head{display:none}.metrics-type{grid-column:1/-1}.cs-next-cards{grid-template-columns:1fr}.tl-item{grid-template-columns:1fr;gap:6px}.hero{padding:80px 0 56px}}@media (max-width:640px){.dock{top:calc(10px + env(safe-area-inset-top,0px));width:calc(100% - 20px)}.dock-glass{width:100%;height:auto;-webkit-backdrop-filter:var(--lg-filter,blur(10px) saturate(130%));backdrop-filter:var(--lg-filter,blur(10px) saturate(130%));background:var(--panel-bg);justify-content:space-between;padding:10px}.nav-toggle{border-radius:50%;display:flex}.nav-links:not(.nav-links-mobile){display:none}.nav-links-mobile{top:calc(74px + env(safe-area-inset-top,0px));z-index:9999;background:var(--panel-bg);-webkit-backdrop-filter:var(--lg-filter,blur(10px) saturate(130%));backdrop-filter:var(--lg-filter,blur(10px) saturate(130%));border:1px solid var(--panel-border);box-shadow:var(--panel-highlight), var(--glass-shadow);opacity:0;visibility:hidden;transform-origin:top;pointer-events:none;border-radius:20px;flex-direction:column;align-items:stretch;gap:12px;padding:14px;transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1),visibility .28s;display:flex;position:fixed;left:10px;right:10px;transform:translateY(-10px)scale(.98)}.nav-links-mobile.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.menu-backdrop{z-index:9998;opacity:0;visibility:hidden;pointer-events:none;background:#12233a29;transition:opacity .28s cubic-bezier(.22,1,.36,1),visibility .28s;position:fixed;top:0;bottom:0;left:0;right:0}.menu-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}.nav-links-mobile a{opacity:0;min-height:40px;padding:0 14px;font-weight:400;transition:opacity .25s,transform .25s,color .18s,background .18s;transform:translateY(-6px)}.nav-links-mobile.open a{opacity:1;transform:translateY(0)}.nav-links-mobile a:first-child{transition-delay:50ms}.nav-links-mobile a:nth-child(2){transition-delay:.1s}.nav-links-mobile a:nth-child(3){transition-delay:.15s}.nav-links-mobile a:nth-child(4){transition-delay:.2s}.nav-links-mobile .nav-cta{text-align:center;margin-left:0}.nav-divider{display:none}.logo{position:absolute;left:50%;transform:translate(-50%)}.all-projects-head{display:none}.all-projects-mobile{margin-top:48px;display:inline-flex}.section-head{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:40px}.hero{padding-top:calc(110px + env(safe-area-inset-top,0px))}}@-moz-document url-prefix(){.dock-glass,.nav-links-mobile,.card,.cs-next-card,.btn{transform:translateZ(0)}}@media (max-width:640px){:root{--frost:blur(6px) saturate(125%)}}main section{content-visibility:auto;contain-intrinsic-size:auto 720px}.work-grid>*,.metrics-table,.tool-list{content-visibility:auto}.cat-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.cat-card{border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));border-radius:22px;padding:14px 14px 20px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}.cat-card:hover{border-color:color-mix(in srgb, var(--text) 32%, transparent);transform:translateY(-5px)scale(1.012);box-shadow:0 22px 48px #1f385842}.cat-portrait{aspect-ratio:4/3;border:1px solid var(--border);color:color-mix(in srgb, var(--text) 62%, transparent);background:radial-gradient(120% 90% at 50% 0,#ffffff12,#0000 60%),linear-gradient(160deg,#12233a0f,#12233a21);border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.cat-portrait:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset 0 1px #ffffff59}.cat-portrait img,.cat-portrait svg{object-fit:cover;object-position:50% 100%;width:100%;height:100%}.cat-portrait svg{width:46%;max-width:150px;height:auto;transition:color .3s,transform .3s}.cat-card:hover .cat-portrait svg{color:var(--text);transform:scale(1.06)}.cat-role{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--surface) 72%, transparent);width:-moz-fit-content;width:fit-content;-webkit-backdrop-filter:var(--lg-filter,blur(10px));backdrop-filter:var(--lg-filter,blur(10px));text-transform:uppercase;letter-spacing:.07em;color:var(--text);white-space:nowrap;border-radius:999px;justify-content:center;margin:0 auto;padding:6px 12px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;bottom:10px;left:10px;right:10px}.cat-body{padding:16px 6px 0}.cat-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.cat-head h3{letter-spacing:-.01em;font-size:22px}.cat-age{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;flex:none;padding:4px 10px;font-size:12px;font-weight:600}.cat-meta{color:var(--muted);margin-top:5px;font-size:13.5px}.cat-bio{color:var(--muted);margin-top:10px;font-size:15px;line-height:1.55}.cat-base{border:1px solid var(--border);background:var(--surface-2);letter-spacing:.05em;color:var(--muted);border-radius:999px;align-items:center;gap:7px;margin-top:14px;padding:5px 12px;font-size:12px;display:inline-flex}.cat-base:before{content:"";background:var(--green);border-radius:50%;width:5px;height:5px}@media (max-width:900px){.cat-grid{grid-template-columns:1fr;gap:18px}}.edu-link{color:inherit;border-bottom:1px solid #0000;text-decoration:none;transition:color .18s,border-color .18s}.edu-link:hover{color:#2f6fed}.persona-grid{grid-template-columns:repeat(4,1fr);gap:24px}.persona-card{border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));box-shadow:var(--panel-highlight), var(--glass-shadow);border-radius:30px;flex-direction:column;padding:9px 9px 66px;display:flex;position:relative}.persona-photo{aspect-ratio:226/237;border:1px solid var(--border);border-radius:22px;width:100%;position:relative;overflow:hidden}.persona-photo:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset 0 1px #ffffff59}.persona-initial{object-position:50% 30%!important;transform:none!important}.persona-photo>img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;display:block}.persona-initial{background:linear-gradient(160deg,#ffffff38,#12233a29);place-items:center;width:100%;height:100%;display:grid}.persona-role-badge{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--surface) 72%, transparent);width:-moz-fit-content;width:fit-content;max-width:calc(100% - 20px);-webkit-backdrop-filter:var(--lg-filter,blur(10px));backdrop-filter:var(--lg-filter,blur(10px));text-transform:uppercase;letter-spacing:.07em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;justify-content:center;margin:0 auto;padding:6px 12px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;bottom:10px;left:10px;right:10px;overflow:hidden}.persona-body{padding:14px 10px 0}.persona-body h3{letter-spacing:-.01em;margin:0;font-size:18px}.persona-quote{border-left:2px solid var(--line);color:var(--muted);margin:10px 0 0;padding:0 0 0 10px;font-size:12.5px;font-style:italic;line-height:1.5}.persona-more{width:-moz-fit-content;width:fit-content;min-height:38px;margin:0;padding:10px 16px;font-size:12px;position:absolute;bottom:16px;right:16px}.persona-overlay{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b121c8c;place-items:center;padding:24px;animation:.2s overlay-in;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes overlay-in{0%{opacity:0}}.persona-modal{overscroll-behavior:contain;border:1px solid var(--glass-border);background:linear-gradient(180deg, #ffffff0f, transparent 30%), var(--bg);border-radius:24px;width:min(880px,100%);max-height:min(86vh,900px);padding:34px 36px 38px;animation:.25s cubic-bezier(.2,.7,.3,1) modal-in;position:relative;overflow-y:auto;box-shadow:0 40px 90px #04080f80}@keyframes modal-in{0%{opacity:0;transform:translateY(18px)scale(.97)}}.persona-close{border:1px solid var(--border);background:var(--surface-2);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;font-size:22px;line-height:1;transition:border-color .15s,color .15s;display:grid;position:absolute;top:16px;right:16px}.persona-close:hover{border-color:color-mix(in srgb, var(--text) 40%, transparent)}.pm-head{align-items:center;gap:16px;padding-right:48px;display:flex}.pm-avatar{border:1px solid var(--glass-border);background:linear-gradient(160deg,#ffffff14,#ffffff05);border-radius:50%;flex:none;place-items:center;width:72px;height:72px;font-size:26px;font-weight:600;display:grid;overflow:hidden}.pm-avatar img{object-fit:cover;object-position:50% 30%;width:100%;height:100%}.pm-head h3{letter-spacing:-.01em;font-size:26px}.pm-role{color:var(--muted);margin-top:3px;font-size:13.5px}.pm-quote{border-left:2px solid color-mix(in srgb, var(--text) 35%, transparent);color:var(--text);margin-top:18px;padding-left:14px;font-size:16px;font-style:italic}.pm-facts{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px;padding:18px;display:grid}.pm-facts dt{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11.5px;font-weight:600}.pm-facts dd{color:var(--text);margin-top:6px;font-size:14.5px;line-height:1.55}.pm-cols{grid-template-columns:repeat(2,1fr);gap:24px 32px;margin-top:26px;display:grid}@media (max-width:900px){.persona-grid{grid-template-columns:repeat(2,1fr);gap:18px}.persona-overlay{padding:12px}.persona-modal{padding:26px 20px 30px}.pm-facts,.pm-cols{grid-template-columns:1fr}}@property --lg-filter{syntax:"*";inherits:false}html.liquid-glass,html.liquid-glass .btn,html.liquid-glass .btn-primary,html.liquid-glass .cat-card,html.liquid-glass .persona-card,html.liquid-glass .nav-links a,html.liquid-glass .nav-cta{--glass-bg:linear-gradient(150deg, #ffffff42, #ffffff12 48%, #ffffff2e);--panel-bg:var(--glass-bg);--glass-border:#ffffff8c;--panel-border:#ffffff8c}html.liquid-glass .ns-glass,html.liquid-glass .card,html.liquid-glass .portrait,html.liquid-glass .cs-gallery .frame,html.liquid-glass .cs-progress,html.liquid-glass .fc-process,html.liquid-glass .flow-loop-label,html.liquid-glass .cs-note,html.liquid-glass .metrics-table,html.liquid-glass .cs-next-card,html.liquid-glass .skill-box,html.liquid-glass .tool-list li{--lg-bezel:1.4;--lg-bezel-max:34;--lg-ior:1.6;--lg-thickness:2.4;--lg-blur:11;--lg-rim-blur:0;--lg-saturate:1.55;--panel-bg:#ffffff3d;--glass-bg:var(--panel-bg);--glass-border:transparent;--panel-border:transparent}html.liquid-glass .nav-links-mobile{--lg-bezel:1.4;--lg-bezel-max:30;--lg-ior:1.6;--lg-thickness:2.4;--lg-blur:4;--lg-rim-blur:0;--lg-saturate:1.55;--panel-bg:#ffffff57;--glass-bg:var(--panel-bg);--glass-border:transparent;--panel-border:transparent}html.liquid-glass{--lg-rim:inset 1px 1px 0 #ffffffe6, inset -1px -1px 0 #ffffff80, inset 0 0 16px #ffffff29;--panel-highlight:var(--lg-rim);--glass-shadow:0 6px 22px #1f38581a}html.liquid-glass .btn:not(.nav-cta),html.liquid-glass .social-big a,html.liquid-glass .tools-row .tag,html.liquid-glass .cs-meta .tag,html.liquid-glass .persona-role-badge,html.liquid-glass .cat-role,.lg-lens{--lg-bezel:1;--lg-bezel-max:200;--lg-dome:.55;--lg-ior:1.5;--lg-dispersion:0;--lg-blur:.6;--lg-soften:.4;--lg-saturate:1.45;--lg-rim-blur:-1}html.liquid-glass .btn:not(.nav-cta){--glass-bg:linear-gradient(150deg, #fff3, #ffffff0d 48%, #ffffff24);--glass-border:transparent;box-shadow:var(--lg-rim), var(--glass-shadow);border-color:#0000}html.liquid-glass .btn:not(.nav-cta):active,html.liquid-glass .social-big a:active{filter:brightness(1.08);transform:scale(1.06)}.lg-lens{--lg-marble:1;--lg-ior:1.5;--lg-dispersion:0;--lg-blur:.5;--lg-soften:.45;--lg-saturate:1.3;color:#fff;-webkit-backdrop-filter:var(--lg-filter,blur(6px) saturate(160%));backdrop-filter:var(--lg-filter,blur(6px) saturate(160%));background:radial-gradient(circle,#0000 58%,#0a101c1a 80%,#0a101c6b 100%);border:0;border-radius:50%;position:relative;box-shadow:inset 0 0 0 .5px #ffffff8c,inset 1px 1.5px 2px #ffffff8c,inset -2px -3px 7px #ffffff47,5px 9px 14px #080e1a4d,1px 2px 3px #080e1a52}.lg-lens:before,.lg-lens:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.lg-lens:before{background:radial-gradient(#fffffff2,#ffffff47 55%,#0000 72%);width:30%;height:20%;top:11%;left:17%;transform:rotate(-32deg)}.lg-lens:after{background:radial-gradient(at 60% 62%,#ffffff6b,#0000 68%);width:42%;height:30%;bottom:9%;right:11%;transform:rotate(-38deg)}html.liquid-glass .dock-glass{--lg-ior:1.7;--lg-bezel:.85;--lg-thickness:2.2;--lg-dispersion:.09;--lg-blur:2;--lg-saturate:1.5;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000;box-shadow:0 14px 38px #1f38583d,0 2px 6px #1f38581f}.lg-slices{display:none}html.liquid-glass .dock-glass>.lg-slices{z-index:-1;pointer-events:none;border-radius:999px;display:block;position:absolute;top:-1px;bottom:-1px;left:-1px;right:-1px}.lg-slices>*{will-change:transform;-webkit-backdrop-filter:var(--lg-slice);backdrop-filter:var(--lg-slice);position:absolute;top:0}.lg-slices>.lg-slice-left,.lg-slices>.lg-slice-mid{transform-origin:0 0;left:0}.lg-slices>.lg-slice-right{transform-origin:100% 0;right:0}@property --lg-dark{syntax:"<number>";inherits:false;initial-value:0}.lg-slices>.lg-tint{border-radius:inherit;will-change:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(rgba(0, 0, 0, calc(.5 * var(--lg-dark))) 0 0), linear-gradient(150deg, rgba(255, 255, 255, calc(.36 * (1 - var(--lg-dark)))), rgba(255, 255, 255, calc(.12 * (1 - var(--lg-dark)))) 48%, rgba(255, 255, 255, calc(.26 * (1 - var(--lg-dark)))));transition:--lg-dark var(--dock-flip);top:0;bottom:0;left:0;right:0;box-shadow:inset 0 1.5px 1px #ffffffd9,inset 0 -1.5px 1px #fff6,inset 0 0 14px #ffffff4d,inset 0 -8px 14px #ffffff1f}html.liquid-glass .dock-glass:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,#fff,#fff3 30%,#ffffff1a 65%,#ffffffd9);padding:1px;position:absolute;top:-1px;bottom:-1px;left:-1px;right:-1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}html.liquid-glass .dock-glass .logo,html.liquid-glass .dock-glass .nav-links a{color:var(--text);text-shadow:0 0 10px #ffffffbf}html.liquid-glass .dock-glass.on-dark .logo,html.liquid-glass .dock-glass.on-dark .nav-links a{color:#fff;text-shadow:0 0 10px #0a14288c}html.liquid-glass .dock-glass .nav-links a{--lg-ior:1.5;--lg-bezel:.55;--lg-thickness:1.45;--lg-dispersion:.05;--lg-blur:.5;--lg-saturate:1.3}.nav-links a{--lg-track:var(--lg-filter,none)}html.liquid-glass .dock-glass .nav-links a.nav-green,html.liquid-glass .dock-glass:not(.has-target) .nav-cta{box-shadow:inset 0 1px 1px #ffffffbf, inset 0 -1px 1px #ffffff47, inset 0 0 8px #ffffff38, 0 6px 18px color-mix(in srgb, var(--accent) 14%, #1f385829);border-color:#0000;position:relative}html.liquid-glass .dock-glass .nav-links a.nav-green:after,html.liquid-glass .dock-glass:not(.has-target) .nav-cta:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#fffffff2,#ffffff26 38%,#ffffff1a 62%,#ffffffb3);padding:1px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.social-big a[class*=brand-]{--lg-blur:0;color:#fff;text-shadow:0 1px 2px #00000040;background:var(--brand-tint,linear-gradient(150deg, rgb(var(--brand-a) / .6), rgb(var(--brand-b) / .72)));-webkit-backdrop-filter:var(--lg-filter,saturate(150%));backdrop-filter:var(--lg-filter,saturate(150%));box-shadow:inset 0 1px 1px #fff9, inset 0 -1px 1px #fff3, 0 8px 22px rgb(var(--brand-b) / .3);border-color:#ffffff73}.social-big a[class*=brand-]:before{opacity:.3}.social-big a.brand-linkedin{--brand-a:10 102 194;--brand-b:0 65 130}.social-big a.brand-telegram{--brand-a:38 165 228;--brand-b:20 110 180}.social-big a.brand-whatsapp{--brand-a:37 211 102;--brand-b:18 140 126}.social-big a.brand-behance{--brand-a:23 105 255;--brand-b:0 60 190}.social-big a.brand-github{--brand-a:36 41 47;--brand-b:13 17 23}.social-big a.brand-instagram{--brand-b:129 52 175;--brand-tint:linear-gradient(45deg, #f58529a8, #dd2a7ba8 50%, #8134afa8 80%, #515bd4a8)}.ns-glass{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));position:relative}.nav-mobile-glass{display:none}html.liquid-glass .nav-links-mobile{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:1;background:0 0;border-color:#0000}html.liquid-glass .nav-links-mobile>.nav-mobile-glass{z-index:-1;border-radius:inherit;background:var(--panel-bg);box-shadow:var(--panel-highlight), var(--glass-shadow);-webkit-backdrop-filter:var(--lg-filter,var(--frost));backdrop-filter:var(--lg-filter,var(--frost));opacity:0;transition:opacity .28s cubic-bezier(.22,1,.36,1);display:block;position:absolute;top:0;bottom:0;left:0;right:0}html.liquid-glass .nav-links-mobile.open>.nav-mobile-glass{opacity:1}html.liquid-glass .nav-links-mobile a{--lg-bezel:1;--lg-bezel-max:200;--lg-dome:.55;--lg-ior:1.5;--lg-dispersion:0;--lg-blur:0;--lg-soften:.4;--lg-saturate:1.2;--lg-rim-blur:-1}.nav-links-mobile a,.nav-links-mobile a.nav-cta,.nav-links-mobile a.nav-green{box-shadow:none!important;filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:var(--text)!important;text-shadow:0 0 8px #fffffff2,0 0 2px #ffffffe6!important;background:0 0!important;border-color:#0000!important}.nav-links-mobile a:before,.nav-links-mobile a:after{display:none!important}.nav-links-mobile a.active,.nav-links-mobile a:hover,.nav-links-mobile a:active{-webkit-backdrop-filter:var(--lg-filter,none)!important;backdrop-filter:var(--lg-filter,none)!important;box-shadow:inset 1px 1px #ffffffe6,inset -1px -1px #ffffff80,inset 0 0 12px #ffffff38,0 4px 12px #1f38581f!important}.nav-links-mobile a:focus-visible{-webkit-backdrop-filter:var(--lg-filter,none)!important;backdrop-filter:var(--lg-filter,none)!important;box-shadow:inset 1px 1px #ffffffe6,inset -1px -1px #ffffff80,inset 0 0 12px #ffffff38,0 4px 12px #1f38581f!important}.nav-links-mobile a.active{color:var(--muted)!important;text-shadow:none!important;background:#ffffff0f!important}.nav-links-mobile a:hover,.nav-links-mobile a:active{transform:none;color:var(--text)!important;text-shadow:0 0 6px #fffc!important;background:#fff3!important}.nav-links-mobile a:focus-visible{transform:none;color:var(--text)!important;text-shadow:0 0 6px #fffc!important;background:#fff3!important}html.lg-lite .btn:not(.nav-cta),html.lg-lite .social-big a,html.lg-lite .tag,html.lg-lite .hero-tag,html.lg-lite .persona-role-badge,html.lg-lite .cat-role,html.lg-lite .tool-list li{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}html.lg-lite .card,html.lg-lite .skill-box,html.lg-lite .ns-glass,html.lg-lite .cat-card,html.lg-lite .persona-card,html.lg-lite .fc-process,html.lg-lite .cs-note,html.lg-lite .metrics-table,html.lg-lite .cs-next-card{-webkit-backdrop-filter:blur(10px)saturate(140%)!important;backdrop-filter:blur(10px)saturate(140%)!important}html.lg-lite .btn:not(.nav-cta),html.lg-lite .tools-row .tag,html.lg-lite .cs-meta .tag,html.lg-lite .hero-tag{background:#ffffff57!important}html.low-spec{--frost:blur(6px) saturate(112%)}@media (max-width:640px){.persona-grid{grid-template-columns:1fr;max-width:360px;margin-inline-start:auto;margin-inline-end:auto}}
