@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-ext-wght-normal.DzyfIafT.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:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-wght-normal.BMDVbyM7.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-ext-wght-normal.BWSLJLk6.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-wght-normal.C9H9m1vD.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:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-vietnamese-wght-normal.C1uRvKPU.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:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-ext-wght-normal.C8iNium2.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:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-wght-normal.BqRLTx4X.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{color-scheme:dark;--bg:#030306;--ink:#f7f7fb;--muted:#f7f7fba8;--surface:#ffffff08;--surface-strong:#ffffff0f;--line:#ffffff2e;--line-soft:#ffffff17;--accent:#8f63ff;--accent-soft:#bd9dff;--focus:#bd9dff;--shadow:0 0 22px #8f63ff47;--chrome-x:clamp(3rem, 4.4vw, 4.5rem);--progress-x:clamp(3.2rem, 5vw, 4.8rem);--container:min(1280px, calc(100vw - (var(--chrome-x) * 4.2)));--font-display:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Source Sans 3 Variable", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace}:root[data-theme=light]{color-scheme:light;--bg:#f3f2f6;--ink:#090911;--muted:#090911b8;--surface:#ffffffad;--surface-strong:#ffffffeb;--line:#09091133;--line-soft:#0909111c;--accent:#6846e8;--accent-soft:#5837c9;--shadow:0 0 16px #6846e824;--focus:#5837c9}@media (prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg:#f3f2f6;--ink:#090911;--muted:#090911b8;--surface:#ffffffad;--surface-strong:#ffffffeb;--line:#09091133;--line-soft:#0909111c;--accent:#6846e8;--accent-soft:#5837c9;--shadow:0 0 16px #6846e824;--focus:#5837c9}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;scroll-padding-top:0;overflow-x:clip}body{background:linear-gradient(135deg, var(--bg), color-mix(in srgb, var(--bg) 94%, white 6%));min-height:100dvh;margin:0;overflow-x:clip}html:has(.case-study-dialog[open]){block-size:100dvh;overflow:hidden}body.menu-open,body.case-study-open{overflow:hidden}body.case-study-open{block-size:100dvh;inline-size:100%;position:fixed;inset-inline:0}body.menu-open .site-header:before{opacity:0}body.menu-open .brand,body.menu-open .desktop-nav,body.menu-open .header-actions>:not(.menu-button){opacity:0;visibility:hidden;pointer-events:none}:root[data-theme=light] body{background:linear-gradient(135deg, var(--bg), #ebe9f0)}body:after{z-index:-1;opacity:.62;mix-blend-mode:soft-light;pointer-events:none;content:"";background-image:linear-gradient(115deg,#0000 0 11%,#8f63ff21 11.1% 11.18%,#0000 11.28% 37%,#bd9dff17 37.1% 37.18%,#0000 37.28% 64%,#8f63ff1a 64.1% 64.18%,#0000 64.28%),linear-gradient(0deg,#0000 0 18%,#bd9dff12 18.08% 18.14%,#0000 18.22% 58%,#8f63ff12 58.08% 58.14%,#0000 58.22%),url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");position:fixed;inset:0}:root[data-theme=dark] body:after{opacity:.7}body:before{z-index:-2;pointer-events:none;content:"";background:radial-gradient(78% 68% at 50% 42%,#eef2ff2e 0,#8f63ff1c 34%,#8f63ff0a 54%,#0000 76%);position:fixed;inset:0}:root[data-theme=light] body:before{background:radial-gradient(78% 68% at 50% 42%,#ffffffad 0,#6846e81f 36%,#6846e80a 56%,#0000 78%)}a{color:inherit;text-decoration:none}::selection{color:var(--ink);background:#8f63ff57}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:5px}.skip-link{z-index:120;background:var(--ink);color:var(--bg);padding:.75rem 1rem;transition:transform .16s;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{top:clamp(.65rem,2.2vw,2.35rem);left:var(--chrome-x);right:var(--chrome-x);z-index:120;isolation:isolate;background:0 0;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;min-height:3.4rem;padding:.45rem 0;transition:color .18s;display:grid;position:fixed}.site-header:before{z-index:-1;background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 18%, transparent), color-mix(in srgb, var(--bg) 7%, transparent));opacity:0;pointer-events:none;content:"";backdrop-filter:blur(25.2px)saturate(1.2)contrast(.96);border-radius:0 0 999px 999px;transition:opacity .32s,transform .42s cubic-bezier(.16,1,.3,1);position:absolute;inset:calc(-1*clamp(.65rem,2.2vw,2.35rem)) max(-1.4rem,-2vw) max(-.7rem,-1.2vw);transform:translateZ(0)scaleX(1.012);mask-image:linear-gradient(#000 0 54%,#000000c7 72%,#0000 100%)}.site-header.is-scrolled{background:0 0}.site-header.is-scrolled:before{opacity:.58;transform:translateZ(0)scaleX(1.024)scaleY(1.04)}.brand{align-items:center;gap:.65rem;min-width:max-content;display:inline-flex}.brand-mini-mark{opacity:0;width:0;height:1.65rem;filter:drop-shadow(0 0 12px color-mix(in srgb, var(--ink) 28%, transparent));place-items:center;transition:width .52s cubic-bezier(.16,1,.3,1),opacity .24s,transform .52s cubic-bezier(.16,1,.3,1),filter .22s;display:grid;overflow:hidden;transform:translate(-.25rem)scale(.9)}.brand-mini-mark img{object-fit:contain;width:auto;height:100%;display:block}.site-header.is-brand-expanded .brand-mini-mark{opacity:.92;width:1.65rem;transform:translate(0)scale(1)}.brand-logo{width:2.85rem;height:2.75rem;filter:drop-shadow(0 0 14px color-mix(in srgb, var(--ink) 32%, transparent));isolation:isolate;transition:width .62s cubic-bezier(.16,1,.3,1),filter .24s;display:block;position:relative}.brand-logo:before,.brand-logo:after{z-index:4;opacity:0;pointer-events:none;content:"";mix-blend-mode:screen;position:absolute;inset:-18% -10%}.brand-logo:before{filter:blur(4px);background:linear-gradient(110deg,#0000 18%,#8f63ff00 34%,#8f63ffb8 44%,#e6ecffc7 49%,#0000 62%);transform:translate(-115%)skew(-10deg)}.brand-logo:after{clip-path:inset(42% 0 36%);background:repeating-linear-gradient(#0000 0 7px,#fff3 8px 9px,#0000 10px 16px),linear-gradient(90deg,#8f63ff7a,#0000 28%,#ecf0ff80 56%,#0000);transform:translate(-.18rem)}.site-header.is-brand-expanded .brand-logo{width:clamp(8.7rem,11vw,9.8rem)}.brand-logo img{object-fit:contain;width:100%;height:100%;transition:opacity .28s,transform .62s cubic-bezier(.16,1,.3,1),filter .22s;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%)}.brand-logo-x{opacity:1;height:100%}.brand-logo-full{opacity:0;height:100%;transform:translateY(-50%)translate(-.6rem)}.site-header.is-brand-expanded .brand-logo-x{opacity:0;transform:translateY(-50%)scale(.92)}.site-header.is-brand-expanded .brand-logo-full{opacity:1;transform:translateY(-50%)translate(0)}.site-header.is-brand-glitching .brand-logo{filter:drop-shadow(0 0 16px color-mix(in srgb, var(--ink) 40%, transparent)) drop-shadow(0 0 18px #8f63ff42);animation:.72s step-end brand-glitch-shell}.site-header.is-brand-glitching .brand-logo:before{animation:.72s cubic-bezier(.16,1,.3,1) brand-glitch-sweep}.site-header.is-brand-glitching .brand-logo:after{animation:.72s step-end brand-glitch-slice}:root[data-theme=light] .brand-logo img,:root[data-theme=light] .brand-mini-mark img{filter:invert()contrast(1.05)}:root[data-theme=light] .brand-logo:before,:root[data-theme=light] .brand-logo:after{mix-blend-mode:multiply}.desktop-nav a,.theme-switch,.language-switch,.button{font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;font-weight:800}.desktop-nav{border-right:1px solid var(--line);justify-content:flex-end;align-items:center;gap:clamp(1.2rem,2.8vw,3rem);min-height:2.75rem;padding-right:clamp(1rem,2.4vw,2rem);display:flex}.desktop-nav a{min-height:2.75rem;color:var(--ink);opacity:.86;align-items:center;font-size:.72rem;line-height:1;transition:opacity .18s,text-shadow .18s;display:inline-flex;position:relative}.desktop-nav a:after{background:var(--accent);width:0;height:2px;box-shadow:var(--shadow);content:"";opacity:0;transition:width .26s cubic-bezier(.16,1,.3,1),opacity .26s;position:absolute;bottom:.28rem;left:50%;transform:translate(-50%)}.desktop-nav a.is-active:after{opacity:1;width:70%}.desktop-nav a:hover{opacity:1;text-shadow:0 0 16px color-mix(in srgb, var(--ink) 35%, transparent)}.header-actions{align-items:center;gap:1.2rem;min-width:0;min-height:2.75rem;display:inline-flex}.language-switch{--switch-width:4.85rem;--switch-pad:.25rem;--switch-inner:calc(var(--switch-width) - (var(--switch-pad) * 2));--switch-cell:calc(var(--switch-inner) / 2);--switch-thumb-left:var(--switch-pad);--switch-thumb-travel:var(--switch-cell);width:var(--switch-width);border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);background:color-mix(in srgb, var(--ink) 5%, transparent);min-height:2.75rem;color:var(--muted);cursor:pointer;padding:var(--switch-pad);letter-spacing:0;opacity:.74;border-radius:999px;grid-template-columns:1fr 1fr;align-items:stretch;font-size:.58rem;transition:opacity .18s,border-color .18s,background .18s,box-shadow .18s;display:inline-grid;position:relative}.language-switch:hover,.language-switch:focus-visible{opacity:1;border-color:color-mix(in srgb, var(--accent-soft) 58%, var(--ink) 20%);box-shadow:0 0 18px #8f63ff1f}.language-switch-label{top:var(--switch-pad);bottom:var(--switch-pad);left:var(--switch-pad);z-index:2;width:var(--switch-cell);pointer-events:none;text-align:center;justify-content:center;align-items:center;line-height:1;transition:color .22s,opacity .22s;display:flex;position:absolute}.language-switch-label:first-child{color:var(--bg);opacity:1}.language-switch-label:nth-child(2){left:calc(var(--switch-pad) + var(--switch-cell));color:var(--muted);opacity:.62}.language-switch-thumb{top:var(--switch-pad);left:var(--switch-thumb-left);z-index:1;width:var(--switch-cell);height:calc(100% - (var(--switch-pad) * 2));background:var(--ink);box-shadow:0 0 14px color-mix(in srgb, var(--ink) 24%, transparent);border-radius:999px;transition:transform .3s cubic-bezier(.16,1,.3,1),background .22s,box-shadow .22s;position:absolute}.language-switch[aria-pressed=true] .language-switch-thumb{transform:translateX(var(--switch-thumb-travel));background:color-mix(in srgb, var(--accent-soft) 42%, var(--ink) 58%);box-shadow:0 0 18px #8f63ff4d}.language-switch[aria-pressed=true] .language-switch-label:first-child{color:var(--muted);opacity:.62}.language-switch[aria-pressed=true] .language-switch-label:nth-child(2){color:var(--bg);opacity:1}.theme-switch{--switch-width:4.45rem;--switch-pad:.25rem;--switch-inner:calc(var(--switch-width) - (var(--switch-pad) * 2));--switch-cell:calc(var(--switch-inner) / 2);--switch-thumb-left:var(--switch-pad);--switch-thumb-travel:var(--switch-cell);width:var(--switch-width);border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);background:color-mix(in srgb, var(--ink) 5%, transparent);min-height:2.75rem;color:var(--muted);cursor:pointer;padding:var(--switch-pad);letter-spacing:0;opacity:.74;border-radius:999px;grid-template-columns:1fr 1fr;align-items:stretch;font-size:.82rem;transition:opacity .18s,border-color .18s,background .18s,box-shadow .18s;display:inline-grid;position:relative}.theme-switch:hover,.theme-switch:focus-visible{opacity:1;border-color:color-mix(in srgb, var(--accent-soft) 58%, var(--ink) 20%);box-shadow:0 0 18px #8f63ff1f}.theme-switch-icon{top:var(--switch-pad);bottom:var(--switch-pad);left:var(--switch-pad);z-index:2;width:var(--switch-cell);letter-spacing:0;pointer-events:none;text-align:center;justify-content:center;align-items:center;font-family:system-ui,sans-serif;line-height:1;transition:color .22s,opacity .22s,text-shadow .22s;display:flex;position:absolute}.theme-switch-icon-dark{color:var(--bg);opacity:1}.theme-switch-icon-light{left:calc(var(--switch-pad) + var(--switch-cell));color:var(--muted);opacity:.62}.theme-switch-thumb{top:var(--switch-pad);left:var(--switch-thumb-left);z-index:1;width:var(--switch-cell);height:calc(100% - (var(--switch-pad) * 2));background:var(--ink);box-shadow:0 0 14px color-mix(in srgb, var(--ink) 24%, transparent);border-radius:999px;transition:transform .3s cubic-bezier(.16,1,.3,1),background .22s,box-shadow .22s;position:absolute}.theme-switch[aria-pressed=true] .theme-switch-thumb{transform:translateX(var(--switch-thumb-travel));background:color-mix(in srgb, var(--accent-soft) 42%, var(--ink) 58%);box-shadow:0 0 18px #8f63ff4d}.theme-switch[aria-pressed=true] .theme-switch-icon-dark{color:var(--muted);opacity:.62}.theme-switch[aria-pressed=true] .theme-switch-icon-light{color:var(--bg);opacity:1;text-shadow:none}.menu-button{cursor:pointer;background:0 0;border:0;flex:0 0 2.75rem;align-content:center;gap:.55rem;width:2.75rem;min-height:2.75rem;padding:0;display:grid}.menu-button span{background:var(--ink);transform-origin:50%;height:2px;box-shadow:0 0 14px color-mix(in srgb, var(--ink) 32%, transparent);transition:transform .36s cubic-bezier(.16,1,.3,1),opacity .24s,box-shadow .24s;display:block}.menu-button[aria-expanded=true] span:first-child{transform:translateY(.35rem)rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-.35rem)rotate(-45deg)}.mobile-menu{z-index:100;overscroll-behavior:contain;background:radial-gradient(circle at 55% 0%, #dce6ff24, transparent 16rem), color-mix(in srgb, var(--bg) 94%, transparent);opacity:0;visibility:hidden;pointer-events:none;backdrop-filter:blur();max-height:100dvh;padding:clamp(1rem,4vw,4rem);transition:opacity .52s cubic-bezier(.16,1,.3,1),visibility .52s,transform .56s cubic-bezier(.16,1,.3,1),backdrop-filter .56s;display:grid;position:fixed;inset:0;overflow:auto;transform:translateY(-1.25rem)scale(1.015)}.mobile-menu[hidden]{display:none}.mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;backdrop-filter:blur(18px);transform:translateY(0)}.mobile-menu.is-closing{opacity:0;visibility:visible;pointer-events:none;backdrop-filter:blur();transform:translateY(-1.1rem)scale(1.01)}.mobile-menu-panel{opacity:0;grid-template-columns:minmax(0,.92fr) minmax(18rem,.72fr);gap:clamp(1.4rem,5vw,4.5rem);width:min(1100px,100%);min-height:min-content;margin:auto;transition:opacity .52s cubic-bezier(.16,1,.3,1),transform .56s cubic-bezier(.16,1,.3,1);display:grid;transform:translateY(1.2rem)scale(.985)}.mobile-menu.is-open .mobile-menu-panel{opacity:1;transform:translateY(0)scale(1)}.mobile-menu.is-closing .mobile-menu-panel{opacity:0;transform:translateY(-.9rem)scale(.99)}.mobile-menu-head{border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;grid-column:1/-1;justify-content:center;align-items:center;padding-bottom:1rem;display:flex}#mobile-menu-title{justify-self:center}.mobile-menu nav{gap:.8rem;min-width:0;display:grid;overflow:clip}.mobile-menu nav a{width:100%;min-width:0;max-width:100%;color:var(--ink);font-family:var(--font-display);letter-spacing:clamp(.08em,.8vw,.14em);text-transform:uppercase;align-items:baseline;gap:clamp(.85rem,1.7vw,1.4rem);font-size:clamp(2.4rem,min(4.6vw,10vh),4rem);font-weight:300;line-height:1;transition:color .2s,text-shadow .2s,transform .2s;display:flex;overflow:hidden}.mobile-menu nav a span:last-child{white-space:nowrap;min-width:0;max-width:100%}.mobile-menu.is-open nav a{animation:.62s cubic-bezier(.16,1,.3,1) both menu-item-in}.mobile-menu.is-open nav a:first-child{animation-delay:70ms}.mobile-menu.is-open nav a:nth-child(2){animation-delay:.12s}.mobile-menu.is-open nav a:nth-child(3){animation-delay:.17s}.mobile-menu.is-open nav a:nth-child(4){animation-delay:.22s}.mobile-menu nav a span:first-child{color:var(--accent-soft);font-family:var(--font-mono);letter-spacing:.18em;font-size:.9rem}.mobile-menu nav a:hover{color:var(--accent-soft);text-shadow:var(--shadow);transform:translate(.5rem)}.mobile-menu-aside{align-self:end;gap:1.4rem;min-width:0;display:grid}.mobile-menu-aside p{margin:0}.mobile-menu-aside strong{color:var(--ink);font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;display:block}main{position:relative}.section{place-items:center;min-height:100svh;padding:clamp(3rem,4vh,4.2rem) 0;scroll-margin-top:0;display:grid;position:relative;overflow:visible}.content-grid{z-index:1;width:var(--container);margin:0 auto;position:relative}.two-col{grid-template-columns:minmax(0,.88fr) minmax(18rem,.86fr);align-items:center;gap:clamp(1.5rem,3.4vw,3.6rem);display:grid}[data-reveal]{opacity:1;transition:opacity .6s,transform .6s;transform:none}.reveal-enhanced [data-reveal]:not(.is-visible){opacity:0;transform:translateY(24px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.hero-content{text-align:center;justify-items:center;width:min(64rem,100vw - 2rem);display:grid}.hero-heading-lockup{justify-items:center;width:100%;max-width:min(100%,58rem);display:grid}h1,h2{color:var(--ink);font-family:var(--font-display);letter-spacing:clamp(.26em,1.4vw,.52em);text-transform:uppercase;text-shadow:0 0 28px color-mix(in srgb, var(--ink) 20%, transparent);margin:0;font-weight:300}h1{margin-inline:auto;letter-spacing:clamp(.04em,.52vw,.14em);text-align:center;justify-items:center;width:100%;max-width:100%;margin-bottom:clamp(.72rem,1.4vh,1rem);font-size:clamp(2.7rem,7.6vw,5.9rem);line-height:.94;display:grid}.hero-title-word{white-space:nowrap;max-width:100%;display:block}.hero-title-plus{color:color-mix(in srgb, var(--accent-soft) 58%, var(--ink) 42%);font-family:var(--font-mono);letter-spacing:0;text-shadow:none;margin-block:clamp(.14rem,.55vh,.38rem);font-size:.32em;font-weight:400;line-height:1;display:block}.hero-kicker{width:fit-content;color:color-mix(in srgb, var(--ink) 58%, var(--muted) 42%);font-family:var(--font-mono);letter-spacing:.28em;text-align:center;text-transform:uppercase;text-wrap:balance;margin:0 0 clamp(.9rem,1.8vh,1.25rem);font-size:.68rem;line-height:1.4}h2{font-size:clamp(1.72rem,3.3vw,3.35rem);line-height:1.04}h3{color:var(--ink);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.78rem;line-height:1.25}p{color:var(--muted);font-family:var(--font-body);hyphens:auto;letter-spacing:.005em;overflow-wrap:break-word;text-align:left;text-wrap:pretty;font-size:.98rem;font-weight:400;line-height:1.62}.eyebrow,.meta{font-family:var(--font-mono);letter-spacing:.34em;text-transform:uppercase}.eyebrow span,.purple-dot{color:var(--accent);text-shadow:var(--shadow)}:root[data-theme=light] .eyebrow span,:root[data-theme=light] .purple-dot,:root[data-theme=light] .plus{text-shadow:none}.actions{flex-wrap:wrap;justify-content:center;gap:clamp(.65rem,1.4vw,1.1rem);margin-top:clamp(1.15rem,2.7vh,2rem);display:flex}.hero-content .actions{justify-content:center}.actions.align-left{justify-content:center;margin-top:1.05rem}.button{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 70%, transparent);min-width:clamp(10.5rem,12.5vw,13.8rem);min-height:2.82rem;color:var(--ink);letter-spacing:.1em;border-radius:.28rem;justify-content:space-between;align-items:center;padding:0 1.05rem;font-size:.875rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:inline-flex}.button:after{content:"→";margin-left:1.2rem;font-size:1.35rem;font-weight:300;transition:transform .18s}.button:hover,.button:focus-visible{box-shadow:var(--shadow), inset 0 0 0 1px #8f63ff2e;border-color:#bd9dffd1;transform:translateY(-2px)}.button:hover:after{transform:translate(4px)}.button-primary{border-color:#bd9dffb3;box-shadow:0 0 18px #8f63ff38}.button-full{width:100%;min-width:0;margin-top:auto}.page-chrome{z-index:40;pointer-events:none;position:fixed;inset:0;overflow:clip}.vertical-label{left:var(--chrome-x);grid-template-rows:4.7rem auto 4.7rem;justify-items:center;gap:1.6rem;display:grid;position:absolute;top:18%;bottom:20%;transform:translate(-50%)}.vertical-label span{background:var(--line);width:1px}.vertical-label p{writing-mode:vertical-rl;color:var(--ink);font-family:var(--font-mono);letter-spacing:.42em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800;transform:rotate(180deg)}.dots{opacity:.22;width:4.4rem;height:4.4rem;color:color-mix(in srgb, var(--accent-soft) 58%, var(--ink) 42%);background-image:radial-gradient(currentColor 1px,#0000 1.5px);background-size:.72rem .72rem;position:absolute}.dots-top{top:17%;right:calc(var(--progress-x) + 1.8rem)}.dots-bottom{bottom:10%;left:calc(var(--chrome-x) - 1.5rem)}.progress-nav{right:var(--progress-x);color:var(--ink);font-family:var(--font-mono);pointer-events:auto;place-items:center;display:grid;position:absolute;top:29%;transform:translate(50%)}.progress-track{place-items:center;gap:1.35rem;display:grid;position:relative}.progress-track:before{background:var(--line);content:"";width:1px;position:absolute;top:-.9rem;bottom:-.9rem;left:50%;transform:translate(-50%)}.progress-track a{border-radius:999px;place-items:center;width:2.75rem;height:2.75rem;transition:transform .26s;display:grid;position:relative}.progress-track a:before{border:1px solid color-mix(in srgb, var(--ink) 62%, transparent);border-radius:inherit;background:var(--bg);content:"";width:1.15rem;height:1.15rem;transition:border-color .26s,box-shadow .26s,transform .26s}.progress-track a:after{border-radius:inherit;content:"";background:0 0;width:.35rem;height:.35rem;transition:background .22s,box-shadow .22s;position:absolute}.progress-track a:hover:before{border-color:color-mix(in srgb, var(--accent-soft) 76%, var(--ink) 24%)}.progress-track a.is-active:before{border:3px solid color-mix(in srgb, var(--accent-soft) 92%, var(--ink) 8%);box-shadow:var(--shadow);transform:scale(1.08)}.progress-track a.is-active:after{background:var(--ink);box-shadow:0 0 10px color-mix(in srgb, var(--ink) 72%, transparent)}.plus{left:var(--chrome-x);color:var(--accent);text-shadow:var(--shadow);font-size:1.65rem;position:absolute;bottom:22%;transform:translate(-50%)}.corner-lines{right:max(-2rem, calc(var(--progress-x) - 10vw));aspect-ratio:1;border:1px solid color-mix(in srgb, var(--accent-soft) 26%, var(--line-soft));width:clamp(10rem,22vw,24rem);position:absolute;bottom:-2rem;overflow:clip;transform:rotate(45deg);box-shadow:0 0 34px #8f63ff14}.corner-lines:before,.corner-lines:after{border:1px solid color-mix(in srgb, var(--accent-soft) 22%, var(--line-soft));content:"";position:absolute;inset:2.8rem}.corner-lines:after{inset:5.6rem}.scroll-cue{pointer-events:auto;width:2.75rem;height:2.75rem;position:fixed;bottom:1.35rem;left:50%;transform:translate(-50%)}.scroll-cue:after{border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);content:"";width:1.15rem;height:1.15rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-35%)rotate(45deg)}.scroll-cue:before{background:var(--accent);width:1.25rem;height:2px;box-shadow:var(--shadow);content:"";position:absolute;top:.25rem;left:50%;transform:translate(-50%)}.copy-block{text-align:center;justify-items:center;max-width:42rem;display:grid}.eyebrow{color:var(--muted);margin:0 0 .85rem;font-size:.68rem}.lead{letter-spacing:.002em;text-align:justify;text-align-last:left;width:min(100%,37rem);margin-block:clamp(.85rem,1.8vh,1.15rem);font-size:clamp(1rem,1.08vw,1.12rem);font-weight:500;line-height:1.68}.capability-list{margin-top:.95rem;display:grid}.capability-card{border-bottom:1px solid var(--line-soft);text-align:left;grid-template-columns:3rem minmax(0,1fr);align-items:center;gap:.85rem;width:min(100%,34rem);padding:.62rem 0;display:grid}.icon-box{border:1px solid var(--line);width:3rem;height:3rem;color:var(--accent-soft);font-family:var(--font-mono);text-shadow:0 0 14px color-mix(in srgb, var(--accent-soft) 38%, transparent);border-radius:.4rem;place-items:center;font-size:.92rem;font-weight:800;line-height:1;display:grid;box-shadow:inset 0 0 24px #8f63ff14}.capability-icon{width:1.45rem;height:1.45rem;-webkit-mask:var(--capability-icon) center / contain no-repeat;mask:var(--capability-icon) center / contain no-repeat;background:currentColor;display:block}.capability-card p{text-align:left;max-width:30rem;margin:.28rem 0 0;font-size:.94rem;line-height:1.5}.avatar-stage{pointer-events:none;isolation:isolate;place-items:center;min-height:19rem;display:grid;position:relative;overflow:visible}.avatar-stage:before{z-index:-1;filter:blur(24px);content:"";background:radial-gradient(#dce6ff1a,#0000 72%);border-radius:999px;position:absolute;inset:2% 8% 4%}.avatar-stage:after{z-index:-1;filter:blur(28px);content:"";background:radial-gradient(#8f63ff0d,#0000 72%);border-radius:999px;position:absolute;inset:20% 18% 8%}.avatar-image{object-fit:contain;opacity:.5;filter:grayscale(.14)brightness(.78)contrast(1.04)drop-shadow(0 1rem 1.8rem #0000004d);transform-origin:50%;width:min(26rem,90%);max-width:100%;max-height:min(50vh,30rem);display:block}.avatar-stage-about .avatar-image{opacity:.54;width:min(28rem,88%);max-height:min(54vh,32rem);transform:none}:root[data-theme=light] .avatar-image{opacity:.48;filter:grayscale(.2)brightness(1.02)contrast(.98)drop-shadow(0 1rem 1.8rem #0000001a)}.section-top{margin-bottom:clamp(.6rem,1.4vw,1.05rem)}.section-heading-lockup{justify-items:center;gap:.35rem;display:grid}.work-section{align-items:center}.section-top p{text-align:left;text-align-last:auto;width:min(100%,36rem);margin-top:.7rem}.centered{text-align:center;justify-items:center;display:grid}.centered p{text-align:left;text-align-last:auto;width:min(100%,36rem)}.purple-dot{margin:0;font-size:.86rem;display:block}.purple-dot:before{content:"•"}.split-top{text-align:center;justify-items:center;gap:2rem;display:grid}.side-line{display:none}.project-carousel{--project-carousel-gap:clamp(.75rem, 1.5vw, 1.1rem);width:min(68rem,100%);max-width:100%;margin-inline:auto}.project-carousel-viewport{border-radius:.45rem;padding:clamp(.35rem,1vw,.7rem);overflow:clip}.project-grid{isolation:isolate;display:grid;position:relative}.project-nav{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 80%, transparent);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;font-family:var(--font-mono);border-radius:999px;flex:0 0 2.75rem;place-items:center;font-size:1rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:inset 0 0 1.2rem #8f63ff12}.project-nav:hover,.project-nav:focus-visible{box-shadow:var(--shadow);outline:2px solid var(--accent-soft);outline-offset:3px;border-color:#bd9dffc2;transform:translateY(-1px)}.project-carousel-controls{justify-content:center;align-items:center;gap:clamp(1rem,3vw,2rem);margin-top:.8rem;display:flex}.project-counter{min-width:8rem;color:var(--muted);font-family:var(--font-mono);text-align:center;margin:0;font-size:.76rem;font-weight:700}.project-card,.service-card{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-strong), var(--surface));border-radius:.35rem;flex-direction:column;min-height:100%;transition:border-color .18s,box-shadow .18s;display:flex}.project-card{box-sizing:border-box;background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 72%, var(--ink) 12%), color-mix(in srgb, var(--bg) 82%, var(--accent) 10%));width:min(52rem,78%);max-width:52rem;min-height:20rem;box-shadow:var(--shadow), 0 1.5rem 3rem #0003;transform-origin:50%;border-color:#8f63ffb8;grid-area:1/1;grid-template-columns:minmax(10rem,.85fr) minmax(0,1.15fr);justify-self:center;align-items:stretch;gap:clamp(1rem,2vw,1.5rem);padding:clamp(.9rem,2vw,1.4rem);transition:transform .56s cubic-bezier(.22,1,.36,1),filter .56s,opacity .42s,border-color .18s,box-shadow .18s;display:grid}.project-card[data-position=center]{z-index:3;pointer-events:auto;opacity:1;filter:none;transform:translate(0)scale(1)}.project-card[data-position=previous],.project-card[data-position=next]{z-index:1;pointer-events:none;opacity:.42;filter:blur(5px)saturate(.68)}.project-card[data-position=previous]{transform-origin:0;justify-self:start;transform:scale(.8)}.project-card[data-position=next]{transform-origin:100%;justify-self:end;transform:scale(.8)}.project-preview-hit-area{box-sizing:border-box;z-index:2;cursor:pointer;touch-action:manipulation;transform-origin:50%;border-radius:.35rem;grid-area:1/1;place-self:stretch center;width:min(52rem,78%);min-height:100%}.project-preview-hit-area[data-project-preview=previous]{transform-origin:0;justify-self:start;transform:scale(.8)}.project-preview-hit-area[data-project-preview=next]{transform-origin:100%;justify-self:end;transform:scale(.8)}.project-content{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.project-card.is-active:hover,.project-card.is-active:focus-within{box-shadow:var(--shadow), 0 1.5rem 3rem #0003;border-color:#8f63ffb8}:root[data-theme=light] .project-card{background:linear-gradient(#fffffffa,#f4f2faf5);border-color:#6846e88a;box-shadow:0 0 0 1px #6846e824,0 1.4rem 2.6rem #2a234a24}:root[data-theme=light] .project-visual{background:radial-gradient(circle at 70% 70%,#6846e824,#0000 36%),linear-gradient(145deg,#e8e5f0,#f8f7fb)}.service-card:hover{box-shadow:var(--shadow);border-color:#8f63ffb8;transform:translateY(-4px)}.project-visual{border:1px solid var(--line-soft);background:radial-gradient(circle at 70% 70%, #8f63ff47, transparent 34%), linear-gradient(145deg, color-mix(in srgb, var(--bg) 82%, var(--ink) 18%), var(--bg));border-radius:.35rem;place-items:center;min-height:clamp(6.4rem,12vh,9rem);display:grid;position:relative;overflow:hidden}.project-visual span{border:1px solid var(--line);background:repeating-linear-gradient(0deg,#0000 0 1.8rem,#8f63ff21 1.85rem),linear-gradient(135deg,#ffffff14,#0000);border-radius:.5rem;width:72%;height:68%;transition:transform .22s}.project-card.is-active:hover .project-visual span{transform:scale(1.04)}.project-visual.audio span{border-radius:999px 999px 1rem 1rem;width:48%}.project-visual.productivity span{width:78%}.meta{margin:.65rem 0 .38rem;font-size:.6rem}.project-card h3{margin-bottom:.32rem}.project-card p:not(.meta){text-align:left;margin-top:0;font-size:.94rem;line-height:1.5}.project-technologies{flex-wrap:wrap;gap:.4rem;width:100%;margin:.3rem 0 .8rem;padding:0;list-style:none;display:flex}.project-technology{border:1px solid color-mix(in srgb, var(--accent-soft) 36%, transparent);background:color-mix(in srgb, var(--accent-soft) 9%, transparent);min-height:2.75rem;color:var(--ink);font-family:var(--font-mono);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .62rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.project-technology-logo-frame{background:#fffffff0;border:1px solid #2a2f3d29;border-radius:.3rem;flex:none;place-items:center;width:1.35rem;height:1.35rem;display:grid}.project-technology-logo{background:var(--technology-color,var(--accent));width:.95rem;height:.95rem;-webkit-mask:var(--technology-logo) center / contain no-repeat;mask:var(--technology-logo) center / contain no-repeat}.project-technology-mark{border:1px solid color-mix(in srgb, var(--accent) 72%, var(--ink));background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 38%, transparent));width:1rem;height:1rem;box-shadow:inset 0 0 0 .18rem color-mix(in srgb, var(--bg) 76%, transparent);border-radius:.22rem;flex:none}.project-actions{gap:.5rem;width:100%;margin-top:auto;display:grid}.project-actions .button{margin-top:0}.case-study-trigger{cursor:pointer}.case-study-dialog{--modal-gutter:clamp(.5rem, 2vw, 1rem);inline-size:min(64rem, calc(100vw - 2 * var(--modal-gutter)));block-size:min(52rem, calc(100dvh - 2 * var(--modal-gutter)));max-block-size:none;max-inline-size:none;color:var(--ink);opacity:1;background:0 0;border:0;margin:auto;padding:0;transition:opacity .18s;overflow:clip}.case-study-dialog[open]:not(.is-closed){opacity:1}.case-study-dialog.is-closed{opacity:0}.case-study-dialog::backdrop{backdrop-filter:blur(12px)saturate(.85);background:#030306b8}:root[data-theme=light] .case-study-dialog::backdrop{background:#ebe9f2ad}.case-study-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 96%, var(--accent) 4%);border-radius:.75rem;grid-template-rows:auto auto minmax(0,1fr);gap:clamp(.4rem,1.4dvh,1rem);block-size:100%;min-block-size:0;padding:clamp(.65rem,2.2dvh,1.5rem);transition:transform .18s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden;transform:translateY(0)scale(1);box-shadow:0 .5rem .75rem #00000047}.case-study-dialog[open]:not(.is-closed) .case-study-panel{transform:translateY(0)scale(1)}.case-study-dialog.is-closed .case-study-panel{transform:translateY(clamp(.5rem,2dvh,1rem))scale(.985)}:root[data-theme=light] .case-study-panel{background:color-mix(in srgb, var(--bg) 94%, white 6%);box-shadow:0 .5rem .75rem #2a234a2e}.case-study-header{justify-content:space-between;align-items:start;gap:clamp(.5rem,1.5vw,1rem);min-block-size:0;display:flex}.case-study-header h2{letter-spacing:.12em;max-width:16ch;font-size:clamp(1.15rem,min(3vw,4dvh),2.4rem)}.case-study-header p,.case-study-narrative{margin-block:clamp(.2rem,.7dvh,.5rem) 0}.case-study-summary{min-block-size:0}.case-study-narrative{max-width:72ch;font-size:clamp(.78rem,min(.98rem,2dvh),.98rem);line-height:clamp(1.25,2.5dvh,1.62)}.case-study-source{color:var(--accent-soft);font-family:var(--font-mono);text-underline-offset:.2em;margin-top:clamp(.3rem,.8dvh,.65rem);font-size:.78rem;font-weight:700;display:inline-flex}.case-study-source:hover,.case-study-source:focus-visible{color:var(--ink)}.case-study-close,.case-study-controls button{border:1px solid var(--line);background:var(--surface-strong);min-width:2.75rem;min-height:2.75rem;color:var(--ink);cursor:pointer;border-radius:.3rem}.case-study-close{flex:none;padding-inline:clamp(.65rem,2vw,1rem)}.case-study-carousel{grid-template-rows:minmax(0,1fr) auto;min-block-size:0;display:grid;overflow:hidden}.case-study-slides,.case-study-slides figure{block-size:100%;min-block-size:0}.case-study-slides figure{grid-template-rows:minmax(0,1fr) auto;margin:0;display:grid;overflow:hidden}.case-study-slides figure[hidden]{display:none}.case-study-media{aspect-ratio:8/5;background:var(--surface-strong);object-fit:contain;border-radius:.35rem;block-size:auto;min-block-size:0;max-block-size:min(100%,clamp(8rem,45dvh,30rem));inline-size:100%;display:block}.case-study-slides figcaption{color:var(--muted);margin-top:clamp(.2rem,.6dvh,.5rem);font-size:clamp(.72rem,1.7dvh,.9rem);line-height:1.3}.case-study-controls{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;margin-top:clamp(.3rem,.8dvh,.75rem);display:grid}.case-study-controls p{text-align:center;margin:0}.case-study-close:hover,.case-study-controls button:hover{border-color:var(--accent-soft)}@supports not (backdrop-filter:blur(1px)){.case-study-dialog::backdrop{background:#030306f0}:root[data-theme=light] .case-study-dialog::backdrop{background:#ebe9f2f5}}@media (prefers-reduced-transparency:reduce){.case-study-dialog::backdrop{backdrop-filter:none;background:#030306f0}:root[data-theme=light] .case-study-dialog::backdrop{background:#ebe9f2f5}}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.55rem,1vw,.75rem);display:grid}.service-card{text-align:left;align-items:stretch;min-height:clamp(11.2rem,18vh,13.4rem);padding:clamp(.78rem,1vw,.98rem)}.skill-card-head{align-items:center;gap:.62rem;width:100%;display:flex}.skill-card-head h3{margin:0}.service-card p{text-align:left;width:100%;margin:.72rem 0 0;font-size:.94rem;line-height:1.52}.skill-badges{flex-wrap:wrap;gap:.38rem;width:100%;margin:.78rem 0 0;padding:0;list-style:none;display:flex}.skill-badge{border:1px solid color-mix(in srgb, var(--accent-soft) 34%, transparent);background:color-mix(in srgb, var(--accent-soft) 8%, transparent);min-height:1.75rem;color:var(--ink);font-family:var(--font-mono);letter-spacing:.04em;border-radius:999px;align-items:center;gap:.34rem;padding:.28rem .52rem;font-size:.62rem;font-weight:800;line-height:1;display:inline-flex}.skill-logo{object-fit:contain;flex:none;width:1.08rem;height:1.08rem}.skill-badge:has(.skill-logo[src$=appsmith\.svg],.skill-logo[src$=visualbasic\.svg],.skill-logo[src$=asacom\.png]) .skill-logo{box-sizing:content-box;background:#fff;border-radius:.2rem;padding:.12rem}.skill-logo[src$=java\.svg]{width:1.22rem;height:1.22rem}.contact-grid{grid-template-columns:minmax(0,40rem);justify-content:center;display:grid}.contact-grid>.copy-block{width:100%;min-width:0;max-width:100%}.contact-form{border:1px solid color-mix(in srgb, var(--ink) 12%, var(--accent) 10%);background:linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 62%, transparent), color-mix(in srgb, var(--surface) 78%, transparent));border-radius:.72rem;gap:.32rem;width:100%;margin-top:.38rem;padding:.5rem;transition:border-color .24s,box-shadow .24s,transform .24s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 1.5rem 3.4rem #0000001f}.contact-form:before{z-index:0;opacity:0;pointer-events:none;content:"";background:radial-gradient(circle,#8f63ff00,#0000 22rem);transition:opacity .26s,background .26s;position:absolute;inset:-35% -20%}.contact-form:after{z-index:0;filter:blur(2px);opacity:0;pointer-events:none;content:"";background:linear-gradient(105deg,#0000,#ffffff29,#8f63ff33,#0000);width:42%;height:100%;position:absolute;top:0;left:-45%;transform:skew(-12deg)}.contact-form>*{z-index:1;position:relative}.contact-form.is-sending{box-shadow:var(--shadow), inset 0 1px 0 #ffffff0d;border-color:#8f63ff94}.contact-form.is-sending:before{opacity:1;background:radial-gradient(circle,#8f63ff21,#0000 19rem);animation:1.2s ease-in-out infinite form-sending-pulse}.contact-form.is-sent{border-color:#bd9dffd1;animation:.82s cubic-bezier(.16,1,.3,1) form-sent-lift;box-shadow:0 0 0 1px #8f63ff2e,0 0 38px #8f63ff42,inset 0 1px #ffffff14}.contact-form.is-sent:after{animation:1.4s cubic-bezier(.16,1,.3,1) form-success-sweep}.contact-form.is-error{border-color:#ff787899;box-shadow:0 0 30px #ff507824,inset 0 1px #ffffff0d}.form-field{gap:.2rem;display:grid;position:relative}.form-field-honey{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;left:0;overflow:hidden}.form-field>span{width:max-content;max-width:100%;color:color-mix(in srgb, var(--ink) 72%, var(--accent-soft) 28%);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;padding:0 .32rem;font-size:.52rem;font-weight:800;display:inline-flex;transform:translate(.36rem)}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid color-mix(in srgb, var(--ink) 14%, var(--accent) 14%);background:linear-gradient(135deg, color-mix(in srgb, var(--bg) 88%, white 5%), color-mix(in srgb, var(--bg) 94%, var(--accent) 6%));width:100%;min-height:2.75rem;color:var(--ink);border-radius:.5rem;padding:.6rem .78rem;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s;box-shadow:inset 0 1px #ffffff0d,0 0 0 1px #0000001a}.contact-form select{appearance:none;cursor:pointer;padding-right:3.05rem}.contact-form select:invalid{color:color-mix(in srgb, var(--muted) 82%, transparent)}.contact-form select option{color:#f7f7fb;background:#050507}.contact-form select option:checked{color:#fff;background:#2a174f}.contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover{border-color:color-mix(in srgb, var(--ink) 22%, var(--accent) 28%)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#8f63ffd1;outline:0;transform:translateY(-1px);box-shadow:0 0 0 3px #8f63ff29,0 0 26px #8f63ff1f}.contact-form textarea{resize:none;min-height:2.75rem;max-height:8rem;overflow-y:auto}.contact-form button:disabled{cursor:progress;opacity:.64;transform:none}.contact-form.is-sent button{box-shadow:var(--shadow);border-color:#bd9dffd1}.form-success-mark{opacity:0;place-items:center;height:0;transition:height .52s cubic-bezier(.16,1,.3,1),opacity .36s,transform .52s cubic-bezier(.16,1,.3,1);display:grid;transform:translateY(.7rem)scale(.86)}.form-success-mark span{width:3.2rem;height:3.2rem;color:var(--ink);box-shadow:var(--shadow);font-family:var(--font-mono);background:radial-gradient(circle,#8f63ff38,#0000 72%);border:1px solid #bd9dffb8;border-radius:999px;justify-content:center;align-items:center;padding-bottom:.08rem;font-size:1.3rem;line-height:1;display:flex}.contact-form.is-sent .form-success-mark{opacity:1;height:3.6rem;transform:translateY(0)scale(1)}.contact-form.is-sent .form-success-mark span{animation:.84s cubic-bezier(.16,1,.3,1) form-check-pop}:root[data-theme=light] .contact-form{background:linear-gradient(145deg,#ffffffc2,#ffffff8a);box-shadow:inset 0 1px #fffc,0 1.2rem 3rem #00000014}:root[data-theme=light] .contact-form input,:root[data-theme=light] .contact-form select,:root[data-theme=light] .contact-form textarea{background:linear-gradient(135deg, #ffffffe0, color-mix(in srgb, var(--bg) 86%, var(--accent) 6%));box-shadow:inset 0 1px #ffffffdb,0 0 0 1px #0000000d}.form-status{color:var(--accent-soft);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:.3rem 0 0;font-size:.72rem;font-weight:800}.contact-form.is-sent .form-status{color:var(--ink);text-shadow:0 0 18px color-mix(in srgb, var(--accent-soft) 42%, transparent)}.contact-form.is-error .form-status{color:#ff8fa3}.contact-meta{grid-template-columns:minmax(0,1fr);gap:.75rem;margin-top:.6rem;display:grid}.contact-meta p{grid-template-columns:auto 1fr;gap:.3rem .7rem;margin:0;display:grid}.contact-meta p>span:first-child{color:var(--ink);grid-row:span 2}.contact-meta strong{color:var(--ink);font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase}@media (width<=1100px){:root{--chrome-x:1.6rem;--progress-x:2rem;--container:min(100% - 2rem, 58rem)}.desktop-nav{display:none}.site-header{grid-template-columns:minmax(0,1fr) auto}.section{place-items:center;padding-block:clamp(4.4rem,6.2vh,5.6rem)}.two-col,.contact-grid{grid-template-columns:1fr}.avatar-stage{min-height:18rem}.avatar-image{opacity:.42;max-height:26rem}.avatar-stage-about .avatar-image{width:min(24rem,82vw);transform:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vertical-label,.progress-nav{display:none}.split-top{display:grid}.mobile-menu{padding-top:5.5rem}.mobile-menu-panel{grid-template-columns:1fr;gap:clamp(1rem,3vh,2rem);margin-block:0 auto}.mobile-menu nav{gap:clamp(.35rem,1.2vh,.8rem)}.mobile-menu nav a{font-size:clamp(2.4rem,min(8vw,10vh),4.5rem)}}@media (width<=680px){:root{--container:min(100% - 1.5rem, 58rem)}.site-header{gap:1rem;top:.9rem;left:1rem;right:1rem}.brand-logo{width:2.55rem;height:2.45rem}.site-header.is-brand-expanded .brand-logo{width:clamp(3rem,100vw - 18rem,9.2rem)}.brand{min-width:0}.header-actions{gap:.35rem}.header-actions>button:not(.menu-button){flex:0 auto}.menu-button{flex:0 0 2.75rem}.language-switch{--switch-width:4.35rem;min-height:2.75rem;font-size:.52rem}.theme-switch{--switch-width:4.1rem;min-height:2.75rem;font-size:.76rem}.mobile-menu{padding:5rem 1rem 1rem}.mobile-menu-head{justify-content:flex-start;gap:1rem}.mobile-menu nav a{font-size:clamp(2.3rem,min(14vw,10vh),4.8rem)}.section{padding-block:4.5rem}h1{letter-spacing:clamp(.02em,.52vw,.055em);width:100%;max-width:min(100%,22rem);font-size:clamp(1.7rem,8.2vw,2.85rem)}h2{letter-spacing:clamp(.12em,2.6vw,.24em);overflow-wrap:anywhere;font-size:clamp(2rem,11vw,3.3rem)}.section-heading-lockup h2{letter-spacing:clamp(.08em,1.6vw,.2em);overflow-wrap:normal;font-size:clamp(1.6rem,9vw,3rem)}.actions,.button{width:100%}.button{min-width:0}.service-grid,.contact-meta{grid-template-columns:1fr}.project-carousel{--project-carousel-gap:.65rem}.project-carousel-viewport{padding-inline:.15rem;overflow:clip}.project-card{grid-template-columns:minmax(0,1fr);gap:.65rem;width:calc(100% - 1.5rem);min-height:0;padding:.85rem}.project-card[data-position=previous],.project-card[data-position=next]{transform:scale(.78)}.project-preview-hit-area{width:calc(100% - 1.5rem)}.project-preview-hit-area[data-project-preview=previous],.project-preview-hit-area[data-project-preview=next]{transform:scale(.78)}.project-visual{min-height:clamp(7rem,30vw,10rem)}.project-carousel-controls{margin-top:.65rem}.corner-lines{display:none}}@media (width<=360px){.site-header{gap:.25rem;left:.75rem;right:.75rem}.site-header.is-brand-expanded .brand-logo{width:3rem}.site-header.is-brand-expanded .brand-logo-full{opacity:0}.site-header.is-brand-expanded .brand-logo-x{opacity:1;transform:translateY(-50%)scale(1)}.site-header.is-brand-expanded .brand-mini-mark{width:0}.header-actions{gap:.2rem}.language-switch{--switch-width:3.35rem}.theme-switch{--switch-width:3.15rem}}@media (height<=760px){.site-header{top:.85rem}.section{min-height:100svh;padding-block:2.7rem}.hero-section{min-height:100svh}.actions{margin-top:clamp(1rem,3vh,1.9rem)}.avatar-stage{min-height:22rem}.avatar-image{opacity:.26;max-height:29rem}.lead{margin-block:.7rem}.project-visual{min-height:6.2rem}.project-card p:not(.meta){margin-bottom:.7rem}.project-technology{padding-inline:.52rem;font-size:.65rem}.service-card{min-height:10.8rem}.service-card p{margin-block:.5rem 0}.skill-badges{gap:.32rem;margin-top:.58rem}.contact-form{gap:.24rem;padding:.42rem}.contact-form textarea{min-height:2.75rem}.contact-meta{margin-top:.45rem}.mobile-menu{align-items:start;padding-top:4.75rem}.mobile-menu-panel{gap:clamp(.65rem,2vh,1.15rem);margin-block:0}.mobile-menu-head{padding-bottom:.55rem}.mobile-menu nav{gap:.2rem}.mobile-menu nav a{font-size:clamp(1.9rem,min(8vw,7vh),3.5rem)}.mobile-menu-aside{gap:.65rem}.mobile-menu-aside p{font-size:.86rem;line-height:1.35}}@media (width<=680px) and (height<=760px){.mobile-menu-aside p{display:none}.mobile-menu-aside{margin-top:.2rem}.mobile-menu-aside .button{min-height:2.75rem}.hero-section{align-items:center}h1{margin-bottom:.6rem}.avatar-stage{min-height:15rem}.avatar-image{opacity:.38;max-height:20rem}.section{padding-block:3rem}.contact-form input,.contact-form select,.contact-form textarea{padding:.8rem .95rem}}@media (height<=620px) and (width>=640px){.case-study-dialog{block-size:calc(100dvh - 1rem);inline-size:min(70rem,100vw - 1rem)}.case-study-panel{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(14rem,.8fr) minmax(0,1fr);gap:clamp(.4rem,1.5vw,.8rem);padding:clamp(.5rem,1.5dvh,.75rem)}.case-study-header h2{font-size:clamp(1rem,min(2.4vw,3.6dvh),1.6rem)}.case-study-narrative{min-block-size:0;margin:0;font-size:clamp(.7rem,2.2dvh,.86rem);line-height:1.25}.case-study-carousel{grid-area:1/2/span 2}.case-study-media{max-block-size:min(100%,clamp(6rem,52dvh,20rem))}}@media (height<=620px) and (width<640px){.case-study-dialog{block-size:calc(100dvh - 1rem);inline-size:calc(100vw - 1rem)}.case-study-panel{grid-template-rows:auto minmax(3.75rem,1fr) minmax(7rem,1fr);gap:.35rem;padding:clamp(.35rem,1.5dvh,.65rem)}.case-study-header h2{font-size:clamp(1rem,4dvh,1.35rem)}.case-study-narrative{overscroll-behavior:contain;min-block-size:2.5em;margin:0;font-size:clamp(.875rem,2.2dvh,.9rem);line-height:1.25;overflow-y:auto}.case-study-carousel{min-block-size:0}.case-study-media{max-block-size:min(100%,14dvh)}.case-study-controls{gap:.4rem;margin-top:.2rem}}@media (prefers-reduced-motion:reduce){.project-card{transition:none}html{scroll-behavior:auto}.case-study-dialog,.case-study-panel{transition:none}.case-study-dialog.is-closing{opacity:1}.case-study-dialog.is-closing .case-study-panel{transform:none}*,:before,:after{transition:none!important;animation:none!important}[data-reveal],.reveal-enhanced [data-reveal]:not(.is-visible){opacity:1;transform:none}.button:hover,.project-card:hover,.service-card:hover,.mobile-menu nav a:hover{transform:none}}@keyframes menu-item-in{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes form-sending-pulse{0%,to{opacity:.42;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes form-success-sweep{0%{opacity:0;transform:translate(0)skew(-12deg)}18%{opacity:1}to{opacity:0;transform:translate(360%)skew(-12deg)}}@keyframes form-sent-lift{0%{transform:translateY(0)scale(1)}45%{transform:translateY(-.18rem)scale(1.008)}to{transform:translateY(0)scale(1)}}@keyframes form-check-pop{0%{opacity:0;transform:scale(.55)rotate(-12deg)}60%{opacity:1;transform:scale(1.12)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes brand-glitch-shell{0%,to{transform:none}12%{transform:translate(.04rem)skew(-2deg)}21%{transform:translate(-.06rem)skew(2deg)}32%{transform:translate(.03rem)}44%{transform:translate(-.02rem)skew(-1deg)}58%{transform:none}}@keyframes brand-glitch-sweep{0%,10%{opacity:0;transform:translate(-115%)skew(-10deg)}24%{opacity:.9}46%{opacity:.42}68%,to{opacity:0;transform:translate(92%)skew(-10deg)}}@keyframes brand-glitch-slice{0%,to{opacity:0;clip-path:inset(42% 0 36%);transform:translate(0)}14%{opacity:.62;clip-path:inset(18% 0 66%);transform:translate(.16rem)}22%{opacity:.22;clip-path:inset(64% 0 20%);transform:translate(-.14rem)}31%{opacity:.5;clip-path:inset(44% 0 42%);transform:translate(.1rem)}43%{opacity:.16;clip-path:inset(8% 0 78%);transform:translate(-.08rem)}54%{opacity:0}}
