*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto;scroll-padding-top:calc(var(--header-h) + 20px)}body,h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}img,picture,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-underline-offset:.2em;text-decoration:none}@font-face{font-family:Roboto;src:url(../assets/fonts/Roboto-Variable.ttf)format("truetype-variations");font-style:normal;font-weight:100 900;font-stretch:75% 100%;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../assets/fonts/jetbrains-mono-latin.woff2)format("woff2");font-style:normal;font-weight:500 600;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;src:url(../assets/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");font-style:normal;font-weight:500 600;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;src:url(../assets/fonts/jetbrains-mono-cyrillic.woff2)format("woff2");font-style:normal;font-weight:500 600;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;src:url(../assets/fonts/jetbrains-mono-cyrillic-ext.woff2)format("woff2");font-style:normal;font-weight:500 600;font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}:root{--font-display:"Roboto", system-ui, sans-serif;--heading:var(--text);--font-body:"Roboto", system-ui, sans-serif;--font-mono:Consolas,"Liberation Mono", monospace, ui-monospace, "SFMono-Regular", "Cascadia Mono";--font-ui:"JetBrains Mono", monospace;--fs-micro:.75rem;--fs-label:.75rem;--fs-body:clamp(1rem, .95rem + .22vw, 1.125rem);--fs-lead:clamp(1.125rem, 1rem + .6vw, 1.5rem);--fs-statement:clamp(1.5rem, 1.1rem + 1.7vw, 2.5rem);--fs-h2:clamp(2.25rem, 1.4rem + 3.4vw, 4.5rem);--fs-h1:clamp(2.75rem, 1rem + 6.6vw, 7rem);--shell:1320px;--gutter:clamp(20px, 5vw, 72px);--header-h:76px;--space-2xs:6px;--space-xs:10px;--space-sm:18px;--space-md:28px;--space-lg:44px;--space-xl:72px;--space-2xl:clamp(80px, 11vw, 150px);--section-pad:clamp(96px, 13vw, 180px);--section-pad-top:clamp(72px, 9.5vw, 132px);--radius-sm:6px;--radius-md:12px;--on-media:#f4f4f6;--color-purple-featured:var(--violet-bright);--ease:cubic-bezier(.22, .61, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur:.32s;--dur-slow:.62s;--dur-theme:.3s}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--process-glow-mix:7%;--process-glow-mix-soft:2%;--surface-base:#fbfafe;--surface-panel:#fbfaf7;--surface-card:#fdfdfc;--surface-card-hover:#fdfcf9;--surface-scroll:#eeebe4;--tone-1:#fbfafe;--tone-2:#fdfcfe;--tone-3:#fcfbf9;--line:#1f1e2321;--line-soft:#1f1e2313;--line-strong:#1f1e2347;--text:#292830;--heading:#3f3d49;--text-dim:#5e5b64;--text-faint:#6e6a74;--violet:#7358e4;--violet-bright:#6b4fe0;--violet-soft:#7358e41a;--btn-glow:#7358e442;--green:#2e9d4b;--green-strong:#1f7a3d;--green-ring:#6fcf7952;--dot:#1f1e2317;--grid-line:#1f1e230d;--grid-line-lit:#7358e433;--grid-dot:#7358e4cc;--grid-reveal:300px;--grid-mask-mid:#0000008c;--grid-mask-end:100%;--watermark:#1f1e230d;--hover-wash:#1f1e230d;--header-bg:#fefefec7;--scrim:#1f1e2359;--card-shadow:0 1px 3px #1f1e230d;--footer-word:#0000000f;--about-body-color:#46434c;--core-cool:#38bd5a;--core-mid:#289e4e;--core-hot:#218d54;--core-accent:#a493ed;--core-aura-core:#6fcf79;--core-aura-rim:#b6e6c7;--core-halo:#c6ead3;--core-glow:1;--core-opacity:1;--core-back-fade:.1;--core-aura-strength:.72;--core-halo-strength:.22;--core-point-scale:1.14;--core-pointer-heat:.34;--decor-spot-core:#5a3cc88c;--decor-spot-mid:#5a3cc84d;--decor-spot-soft:#5a3cc81a}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-base:#08080a;--surface-panel:#0b0b0e;--surface-card:#101015;--surface-card-hover:#15151b;--surface-scroll:#1c1c24;--tone-1:#08080a;--tone-2:#0b0b0e;--tone-3:#101015;--line:#ffffff17;--line-soft:#ffffff0d;--line-strong:#fff3;--text:#f4f4f6;--text-dim:#9a9aa6;--text-faint:#74747e;--violet:#7155ff;--violet-bright:#9b85ff;--violet-soft:#7155ff24;--btn-glow:#7155ff66;--green:#6ee7a0;--green-strong:#6ee7a0;--green-ring:#6ee7a029;--dot:#ffffff13;--grid-line:#ffffff0b;--grid-line-lit:#ffffff12;--grid-dot:var(--violet-bright);--grid-reveal:260px;--grid-mask-mid:#000c;--grid-mask-end:100%;--watermark:#ffffff08;--hover-wash:#ffffff0a;--header-bg:#08080ab8;--scrim:#08080a99;--card-shadow:none;--footer-word:#ffffff0d;--about-body-color:#c6c6d1;--core-cool:#33257a;--core-mid:#7a5cff;--core-hot:#cbb8ff;--core-accent:#6ee7a0;--core-aura-core:#6a4ed8;--core-aura-rim:#8d74ff;--core-halo:#7155ff;--core-glow:1.2;--core-opacity:.95;--core-back-fade:.16;--core-aura-strength:.52;--core-halo-strength:.26;--decor-spot-core:#ffffff52;--decor-spot-mid:#b4cdd738;--decor-spot-soft:#6e8c9b14}:root.is-theme-switching *,:root.is-theme-switching :before,:root.is-theme-switching :after{transition:background-color var(--dur-theme) var(--ease), border-color var(--dur-theme) var(--ease), color var(--dur-theme) var(--ease), fill var(--dur-theme) var(--ease), stroke var(--dur-theme) var(--ease), box-shadow var(--dur-theme) var(--ease)!important}body{background:var(--surface-base);min-height:100svh;color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);font-variation-settings:"wdth" 100;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.6;overflow-x:hidden}.home-page{--section-pad-top:var(--space-xl);--section-pad-bottom:calc(var(--space-xl) + var(--space-lg) + var(--space-xs))}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;color:var(--heading);line-height:1.02}h2{font-size:var(--fs-h2);font-weight:800}h3{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}::selection{background:var(--violet);color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:2px}.shell{width:100%;max-width:var(--shell);padding-inline:var(--gutter);margin-inline:auto}.kicker{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-weight:400}.caret{vertical-align:-.12em;background:var(--green);width:.5em;height:1em;margin-right:.6em;animation:1.2s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.btn{border-radius:var(--radius-sm);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s cubic-bezier(.4, 0, .2, 1);border:1px solid #0000;align-items:center;gap:.6em;padding:.95em 1.6em;font-size:.8125rem;font-weight:500;display:inline-flex}.btn--primary{background:var(--violet);color:#fff}.btn--ghost{border-color:var(--line-strong);color:var(--text);background:0 0}.btn--sm{padding:.7em 1.1em;font-size:.75rem}.btn span{font-family:inherit;font-weight:inherit;transition:transform var(--dur) var(--ease)}@media (hover:hover) and (pointer:fine){.btn--primary:hover{background:var(--violet-bright);box-shadow:0 0 30px var(--btn-glow)}.btn--ghost:hover{border-color:var(--text);background:var(--hover-wash)}.btn{position:relative;overflow:hidden}.btn:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000,#fff6,#0000);width:50%;height:100%;transition:left .6s;position:absolute;top:0;left:-75%;transform:skew(-20deg)}.btn:hover:before,.btn:focus-visible:before{left:125%}.btn:hover{transform:scale(1.04)}.btn:hover span{transform:translate(3px)}}.btn:focus-visible{transform:scale(1.04)}.btn--primary:focus-visible{box-shadow:0 0 30px var(--btn-glow)}.btn:focus-visible span{transform:translate(3px)}.btn:active{transform:translateY(1px)scale(.98)}.spec{gap:var(--space-sm);display:grid}.spec__row{padding-top:var(--space-sm);border-top:1px solid var(--line);gap:4px;display:grid}.spec dt{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.spec dd{color:var(--text-dim);margin:0;font-size:1rem;line-height:1.5}.section-divider{width:100%}.section-divider-line{background:var(--line);width:100%;height:1px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--surface-base)}::-webkit-scrollbar-thumb{background:var(--surface-scroll);border:3px solid var(--surface-base);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--violet)}.skip-link{top:var(--space-sm);left:var(--space-sm);z-index:200;padding:var(--space-xs) var(--space-sm);background:var(--text);color:var(--surface-base);font-family:var(--font-ui);font-weight:500;font-size:var(--fs-label);border-radius:var(--radius-sm);position:fixed;transform:translateY(-250%)}.skip-link:focus{transform:translateY(0)}#scroll-progress{z-index:120;pointer-events:none;height:2px;position:fixed;inset:0 0 auto}.scroll-progress__fill{background:linear-gradient(90deg, var(--violet), var(--violet-bright));width:0%;height:100%;display:block}.rail{z-index:60;align-items:center;gap:var(--space-sm);pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;display:none;position:fixed;top:50%;left:clamp(16px,2.2vw,34px);transform:translateY(-50%)}.rail__pct{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.1em;color:var(--violet-bright);font-variant-numeric:tabular-nums}.rail__track{background-image:repeating-linear-gradient(to bottom, var(--line-strong) 0 1px, transparent 1px 14px);width:1px;height:clamp(120px,20vh,200px);position:relative}.rail__fill{background:var(--violet-bright);transform-origin:top;width:1px;height:100%;position:absolute;inset:0 auto 0 0;transform:scaleY(0)}.rail__label{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.24em;text-transform:uppercase;color:var(--violet-bright);writing-mode:vertical-rl;transition:color var(--dur) var(--ease)}@media (min-width:1200px){.rail{display:flex}}#header{z-index:100;padding-block:var(--space-sm);will-change:padding;transition:border-bottom-color .4s var(--ease);background:0 0;border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}#header:before{content:"";z-index:-1;background:var(--header-bg);-webkit-backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .4s var(--ease);position:absolute;inset:0}#header.is-scrolled:before{opacity:1}.header__row{align-items:center;gap:var(--space-md);display:flex}.logo{font-family:var(--font-ui);letter-spacing:-.01em;color:var(--text);white-space:nowrap;font-size:1rem;font-weight:600}.logo__mark{color:var(--violet-bright);margin-right:2px}.site-nav{flex:auto;align-items:center;gap:clamp(20px,3vw,48px);display:flex}.site-nav__list{font-family:var(--font-ui);align-items:center;gap:clamp(14px,2vw,32px);margin-inline:auto;font-size:.8125rem;font-weight:500;display:flex}.site-nav__list a,.site-nav__languages a{font-family:inherit;font-weight:inherit;color:var(--text-dim);transition:color var(--dur) var(--ease);align-items:baseline;gap:.5em;padding-block:.35em;display:inline-flex;position:relative}.site-nav__num{font-family:inherit;font-weight:inherit;font-size:var(--fs-micro);color:var(--text-faint);transition:color var(--dur) var(--ease)}.site-nav__list a:after{content:"";background:var(--violet);transform-origin:0;pointer-events:none;height:2px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.site-nav__list a:hover:after,.site-nav__list a:focus-visible:after,.site-nav__list a.is-active:after{transform:scaleX(1)}.site-nav__languages a:after{content:"";transform-origin:100%;width:100%;height:1px;transition:transform var(--dur) var(--ease);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.site-nav__list a:hover,.site-nav__list a:focus-visible,.site-nav__list a.is-active,.site-nav__languages a:hover,.site-nav__languages a:focus-visible{color:var(--text)}.site-nav__list a:hover .site-nav__num,.site-nav__list a.is-active .site-nav__num{color:var(--violet-bright)}.site-nav__languages a:hover:after,.site-nav__languages a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.site-nav__languages{align-items:center;gap:var(--space-2xs);font-family:var(--font-ui);font-size:.8125rem;font-weight:500;display:flex}.site-nav__languages a.is-active,.site-nav__languages a.is-active:hover,.site-nav__languages a.is-active:focus-visible{color:var(--green-strong)}.site-nav__languages a.is-active:after{transform:scaleX(1)}.site-nav__lang-sep{color:var(--text-faint)}.header__cta{flex:none}@media (hover:hover) and (pointer:fine){.btn--ghost.header__cta:hover{background:var(--violet);border-color:var(--violet);color:#fff}}.hero__status.header__status{white-space:nowrap;flex:none;margin-bottom:0}.theme-toggle{width:34px;height:34px;margin-left:calc(var(--space-md) * -.35);color:var(--text-dim);font-family:var(--font-ui);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-weight:500;display:inline-flex;position:relative}.theme-toggle__icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform var(--dur) var(--ease);overflow:visible}.theme-toggle__sun,.theme-toggle__moon{transform-box:fill-box;transform-origin:50%;transition:opacity .3s var(--ease), transform .3s var(--ease-out)}.theme-toggle__sun{opacity:0;transform:rotate(-80deg)scale(.55)}.theme-toggle__moon,:root[data-theme=dark] .theme-toggle__sun{opacity:1;transform:rotate(0)scale(1)}:root[data-theme=dark] .theme-toggle__moon{opacity:0;transform:rotate(80deg)scale(.55)}@media (hover:hover) and (pointer:fine){.theme-toggle:hover{color:var(--text);background:var(--hover-wash)}.theme-toggle:hover .theme-toggle__icon{transform:rotate(-18deg)}}.theme-toggle:active .theme-toggle__icon{transform:scale(.9)}.site-nav__toggle{border:1px solid var(--line);border-radius:var(--radius-sm);width:40px;height:40px;font-family:var(--font-ui);cursor:pointer;background:0 0;order:3;margin-left:auto;padding:0;font-weight:500;display:none}.site-nav__toggle-icon,.site-nav__toggle-icon:before,.site-nav__toggle-icon:after{background:var(--text);width:16px;height:1px;transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease);display:block}.site-nav__toggle-icon{margin-inline:auto;position:relative}.site-nav__toggle-icon:before,.site-nav__toggle-icon:after{content:"";position:absolute;left:0}.site-nav__toggle-icon:before{transform:translateY(-5px)}.site-nav__toggle-icon:after{transform:translateY(5px)}.site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon{background:0 0}.site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon:before{transform:rotate(45deg)}.site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon:after{transform:rotate(-45deg)}#header.is-scrolled{border-bottom-color:var(--line)}.hero{--cursor-x:50%;--cursor-y:45%;isolation:isolate;min-height:100svh;padding-block:calc(var(--header-h) + clamp(16px, 3.4vh, 44px)) clamp(18px, 2.6vh, 40px);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.hero__grid-base,.hero__cursor-grid{z-index:0;pointer-events:none;position:absolute}.hero__grid-base{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:64px 64px,64px 64px;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 45%,#000 40%,#0000 100%);mask-image:radial-gradient(90% 70% at 50% 45%,#000 40%,#0000 100%)}.hero__cursor-grid{opacity:0;transition:opacity var(--dur-slow) var(--ease);background-image:linear-gradient(var(--grid-line-lit) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line-lit) 1px, transparent 1px), radial-gradient(circle at 0 0, var(--grid-dot) 1.5px, transparent 1.6px);-webkit-mask-image:radial-gradient(circle var(--grid-reveal) at var(--cursor-x) var(--cursor-y), #000 0%, var(--grid-mask-mid) 45%, transparent var(--grid-mask-end));-webkit-mask-image:radial-gradient(circle var(--grid-reveal) at var(--cursor-x) var(--cursor-y), #000 0%, var(--grid-mask-mid) 45%, transparent var(--grid-mask-end));mask-image:radial-gradient(circle var(--grid-reveal) at var(--cursor-x) var(--cursor-y), #000 0%, var(--grid-mask-mid) 45%, transparent var(--grid-mask-end));background-size:64px 64px,64px 64px,64px 64px;inset:0}.hero__cursor-grid.is-active{opacity:1}.hero__inner{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(26px,2.4vw,32px);margin-top:auto;display:grid;position:relative}.hero__main{position:relative;top:0}.hero__eyebrow{color:var(--text-dim);letter-spacing:.16em;align-items:center;display:flex}.hero__title{max-width:13ch;font-size:min(var(--fs-h1), 12.5vh);letter-spacing:-.045em;margin-top:clamp(12px,2.2vh,28px);font-weight:900;line-height:.98}.hero__line{display:block}.hero__word--violet{color:var(--violet-bright)}.hero__word--green{color:var(--green)}.hero__arrow{color:var(--text-faint);vertical-align:.3em;margin-left:.18em;font-size:.42em;font-weight:200;display:inline-block}.hero__lead{max-width:46ch;color:var(--text-dim);margin-top:clamp(12px,2.2vh,28px);font-size:clamp(1rem,.94rem + .3vw,1.1875rem);line-height:1.55}.hero__actions{gap:var(--space-xs);flex-wrap:wrap;margin-top:clamp(26px,4.2vh,56px);display:flex}.hero__contacts{align-items:center;gap:.45em;font-size:1rem;display:flex}.contact__spec .hero__contacts{flex-wrap:wrap;justify-content:flex-start}.hero__social-link{color:inherit;text-underline-offset:.18em;transition:color var(--dur) var(--ease);align-items:center;gap:.4em;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.hero__social-icon{fill:currentColor;flex:none;width:1em;height:1em}.hero__social-link:hover,.hero__social-link:focus-visible{color:var(--green)}.hero__side{box-sizing:content-box;isolation:isolate;align-self:center;gap:clamp(20px,3.2vh,28px);width:100%;min-width:0;height:clamp(360px,59vh,630px);padding-block:16px;display:grid;position:relative;top:0;overflow:hidden}.hero__side canvas{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity 60ms var(--ease);background:0 0;position:absolute;inset:0}.hero__side[data-three-state=loaded] canvas.is-ready{opacity:1}.hero__side[data-three-state=fallback] canvas{display:none}.hero__side[data-core-hot=true]{cursor:grab}.hero__side[data-core-drag=true],.hero__side[data-core-drag=true][data-core-hot=true]{cursor:grabbing}.hero__three-fallback{opacity:.58;pointer-events:none;transition:opacity var(--dur-slow) var(--ease), visibility var(--dur-slow) var(--ease);place-items:center;display:grid;position:absolute;inset:0}.hero__side[data-three-state=loaded] .hero__three-fallback{visibility:hidden;opacity:0}.hero__three-fallback-mark{aspect-ratio:1;border:1px solid var(--line-strong);border-radius:50%;width:min(42%,230px);position:relative;transform:rotate(-14deg)scaleY(.58)}.hero__three-fallback-mark:before,.hero__three-fallback-mark:after{content:"";border-radius:50%;position:absolute}.hero__three-fallback-mark:before{border:1px solid color-mix(in srgb, var(--violet-bright) 55%, transparent);inset:17%;transform:rotate(68deg)scaleY(1.35)}.hero__three-fallback-mark:after{background:color-mix(in srgb, var(--green) 20%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--green) 48%, transparent);inset:36%}.hero__status{margin-bottom:var(--space-md);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.08em;color:var(--text);align-items:center;gap:.6em;display:flex}.hero__status-dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 0 3px var(--green-ring);border-radius:50%}.hero__foot{z-index:1;padding-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);justify-content:center;align-items:center;margin-top:clamp(36px,8.5vh,120px);display:flex;position:relative}.hero__scroll{align-items:center;gap:.7em;display:flex}.hero__scroll-arrow{animation:scroll-arrow-drift 2.6s var(--ease) infinite;font-size:1.1em;line-height:1}@keyframes scroll-arrow-drift{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.site-section{padding-block:var(--section-pad);position:relative}.home-page .site-section{padding-block:var(--section-pad-top) var(--section-pad-bottom)}.section__container{z-index:1;position:relative}.about__grid{margin-top:var(--space-lg);grid-template-columns:minmax(0,62fr) minmax(0,38fr);align-items:start;gap:clamp(40px,6vw,110px);display:grid}.about__accent{color:var(--violet-bright)}.about__statement{max-width:26ch;margin-top:var(--space-md);letter-spacing:-.025em;color:var(--text);text-wrap:nowrap;font-size:clamp(1.15rem,.95rem + .95vw,1.6875rem);font-weight:300;line-height:1.2}.about__body{gap:var(--space-sm);max-width:64ch;margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--line);font-size:clamp(1rem,.95rem + .4vw,1.25rem);display:grid}.about__body,.contact__lead{font-family:var(--font-body);letter-spacing:normal;color:var(--text-dim);font-weight:300;line-height:1.4}.about__body{color:var(--about-body-color)}.about__skills{margin-top:clamp(0px,2vw,28px)}.about__skills,.about__skills *{-webkit-user-select:none;user-select:none}.stack{margin-top:var(--space-md);gap:0;display:grid}.stack__row{gap:var(--space-xs);padding-block:calc((var(--space-xs) + var(--space-sm)) / 2);border-top:1px solid var(--line);display:grid}.stack dt{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.stack dd{margin:0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-card);box-shadow:var(--card-shadow);font-family:var(--font-mono);color:var(--text-dim);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);padding:calc(.6em - 2px) 1em;font-size:.875rem}@media (hover:hover) and (pointer:fine){.chips li:hover{border-color:var(--violet);background:var(--violet-soft);color:var(--text)}}#projects,.projects{position:relative;overflow:hidden}.projects-grid,.projects-grid *{-webkit-user-select:none;user-select:none}.projects__head{z-index:2;justify-content:space-between;align-items:flex-end;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--line);display:flex;position:relative}.section-title{margin-top:var(--space-xs);font-size:clamp(2rem,1.3rem + 2.6vw,3.5rem)}.section-title__accent{color:var(--color-purple-featured)}.section-title .title-word{display:inline-block}.projects__note{color:var(--text-faint);white-space:nowrap;padding-bottom:.4em}.projects-bg-text{z-index:0;width:100%;font-family:var(--font-display);letter-spacing:-.01em;text-align:center;color:var(--watermark);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(5rem,19vw,16rem);font-weight:900;position:absolute;top:50%;left:0;transform:translateY(-50%)}.projects-grid{--project-gap:clamp(16px, 2vw, 28px);z-index:1;justify-content:center;gap:var(--project-gap);flex-wrap:wrap;width:100%;display:flex;position:relative}.projects-pager{justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);display:flex}.projects-pager__btn{border:1px solid var(--line);width:38px;height:38px;font-family:var(--font-mono);color:var(--text-dim);cursor:pointer;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), opacity var(--dur) var(--ease);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.875rem;line-height:1;display:flex}.projects-pager__btn:disabled{opacity:.3;cursor:default}.projects-pager__dots{align-items:center;gap:var(--space-xs);display:flex}.projects-pager__dot{background:var(--line-strong);cursor:pointer;width:8px;height:8px;transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);border:0;border-radius:50%;padding:0;transform:scale(1)}.projects-pager__dot[aria-current=true]{background:var(--violet-bright);transform:scale(1.5)}@media (hover:hover) and (pointer:fine){.projects-pager__btn:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.projects-pager__dot:hover:not([aria-current=true]){background:var(--text-faint)}}.project-card{width:calc((100% - 2 * var(--project-gap)) / 3);aspect-ratio:1672/941;border-radius:var(--radius-md);cursor:pointer;background:var(--surface-card);box-shadow:var(--card-shadow);position:relative;overflow:visible}@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes project-border-spin{to{--a:360deg}}.hover-frame,.card-glow-hover__frame{z-index:3;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.hover-frame{--hover-border-width:2px;--hover-border-inset:0px}.card-glow-hover__frame{--hover-border-width:.5px;--hover-border-inset:.5px}:is(.hover-frame,.card-glow-hover__frame):before,:is(.hover-frame,.card-glow-hover__frame):after{content:"";border-radius:inherit;opacity:0;pointer-events:none;transition:opacity calc(var(--dur) * 2) var(--ease);position:absolute}.hover-frame:before,.card-glow-hover__frame:before{--glow-halo:color-mix(in oklch, var(--violet-bright) 55%, var(--green));z-index:-1;box-shadow:0 0 10px 5px color-mix(in srgb, var(--glow-halo) 28%, transparent), 0 0 18px 7px color-mix(in srgb, var(--glow-halo) 17%, transparent), 0 0 36px 9px color-mix(in srgb, var(--glow-halo) 9%, transparent);inset:0}.hover-frame:after,.card-glow-hover__frame:after{inset:calc(-1 * var(--hover-border-inset));padding:var(--hover-border-width);background:conic-gradient(from var(--a), var(--green), var(--violet-bright), var(--green));-webkit-mask-composite:xor;animation:1.5s linear infinite paused project-border-spin;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}:is(.project-card,.pricing-card,.process__card):hover :is(.hover-frame,.card-glow-hover__frame):after{opacity:1;animation-play-state:running}:is(.project-card,.pricing-card,.process__card):hover :is(.hover-frame,.card-glow-hover__frame):before{opacity:.3}.project-img{object-fit:contain;object-position:center;border-radius:inherit;filter:none;opacity:1;-webkit-user-drag:none;width:100%;height:100%;transition:opacity .38s var(--ease);display:block}.projects-grid:has(.project-card:hover) .project-card:not(:hover) .project-img{opacity:.8}.project-overlay{padding:var(--space-sm) var(--space-md) var(--space-md);color:var(--on-media);opacity:0;transition:opacity var(--dur-slow) var(--ease);background:0 0;align-items:baseline;gap:.8em;display:flex;position:absolute;inset:auto 0 0}.project-index{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.14em;color:var(--violet-bright)}.project-overlay h3{color:var(--on-media);font-size:clamp(1.25rem,1rem + .8vw,1.75rem);font-weight:700}@media (hover:hover) and (pointer:fine){.project-card:hover .project-overlay{opacity:1}}@media (hover:none){.project-overlay{opacity:1}}.process{--process-gap:clamp(10px, 1vw, 16px);--process-pad:clamp(14px, 1.2vw, 18px);overflow:hidden}.process__head{max-width:52ch}.process__head h2{margin-top:var(--space-xs);font-size:clamp(2rem,1.3rem + 2.6vw,3.5rem)}.process__title-line{display:block}.process__head .section__lead{max-width:100px}.process__labels{align-items:center;gap:var(--space-sm);display:flex}.process__flow{gap:var(--process-gap);width:100%;max-width:none;margin-top:var(--space-xl);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.process__step{min-width:0;display:flex}.process__card{min-width:0;min-height:clamp(280px,22vw,320px);padding:var(--process-pad);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--card-shadow);transition:border-color calc(var(--dur) * 2) var(--ease);flex-direction:column;flex:auto;display:flex;position:relative;overflow:visible}html.card-reveals :is(.process__card,.pricing-card){opacity:0;transform:translateY(34px)}.process__heading{z-index:1;align-items:start;gap:var(--space-xs);grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.process__index{font-family:var(--font-mono);letter-spacing:-.05em;color:var(--text-faint);transition:color var(--dur) var(--ease);font-size:clamp(1.625rem,1.2rem + 1vw,2.125rem);font-weight:700;line-height:1}.process__title{z-index:1;letter-spacing:-.02em;font-size:.9rem;font-weight:700;line-height:1.25;position:relative}.process__text{z-index:1;text-align:center;max-width:28ch;color:var(--text-dim);align-self:center;margin:auto 0;font-size:1rem;line-height:1.7;position:relative}@media (hover:hover) and (pointer:fine){.process__step:hover .process__card{border-color:var(--line-strong)}.process__step:hover .process__index{color:var(--violet-bright)}}@media (min-width:900.02px){.process--editorial-gradient .process__step:first-child{--process-step-accent:var(--violet-bright);--process-step-next:color-mix(in oklch, var(--violet-bright) 74%, var(--green))}.process--editorial-gradient .process__step:nth-child(2){--process-step-accent:color-mix(in oklch, var(--violet-bright) 74%, var(--green));--process-step-next:color-mix(in oklch, var(--violet-bright) 52%, var(--green))}.process--editorial-gradient .process__step:nth-child(3){--process-step-accent:color-mix(in oklch, var(--violet-bright) 52%, var(--green));--process-step-next:color-mix(in oklch, var(--violet-bright) 28%, var(--green))}.process--editorial-gradient .process__step:nth-child(4){--process-step-accent:color-mix(in oklch, var(--violet-bright) 28%, var(--green));--process-step-next:var(--green)}.process--editorial-gradient .process__step:nth-child(5){--process-step-accent:var(--green);--process-step-next:var(--green)}.process--editorial-gradient .process__card{background:linear-gradient(var(--surface-card), var(--surface-card)) padding-box, linear-gradient(112deg, color-mix(in srgb, var(--process-step-accent) 44%, transparent), color-mix(in srgb, var(--process-step-next) 28%, transparent)) border-box;border-color:#0000}.process--editorial-gradient .process__card:after{content:"";z-index:3;border:1px solid color-mix(in srgb, var(--process-step-accent) 48%, transparent);border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);position:absolute;inset:0}.process--editorial-gradient .process__index{color:color-mix(in srgb, var(--text-faint) 72%, var(--text))}.process--editorial-gradient .process__head{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;column-gap:clamp(48px,8vw,128px);width:100%;max-width:none;display:grid}.process--editorial-gradient .process__head .section__lead{justify-self:end;max-width:34ch;margin:0}.process--editorial-gradient .process__summary{place-self:end;width:min(100%,34ch);display:grid;container-type:inline-size}.process--editorial-gradient .process__head .section__lead{isolation:isolate;text-align:center;width:190cqi;max-width:none;margin:0 0 .35em;position:relative}.process--editorial-gradient .process__lead-line{left:var(--process-gap);white-space:nowrap;width:100cqi;margin-inline:auto;display:block;position:relative}.process--editorial-gradient .process__head .section__lead:before{content:"/WORKFLOW";z-index:-1;font-family:var(--font-mono);letter-spacing:-.02em;color:var(--watermark);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:65cqi;font-weight:700;line-height:1;position:absolute;top:30%;left:80%;transform:translate(-50%,-50%)}.process--editorial-gradient .process__card:before{content:"";z-index:0;border-radius:inherit;background:linear-gradient(145deg, color-mix(in srgb, var(--process-step-accent) 6%, transparent), transparent 44%);opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);position:absolute;inset:0}.process--editorial-gradient .process__flow{position:relative}.process--editorial-gradient .process__flow:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--violet-bright) 68%, transparent), color-mix(in oklch, var(--violet-bright) 52%, var(--green)), color-mix(in srgb, var(--green) 68%, transparent));height:1px;transform:scaleX(var(--process-line-draw,1));transform-origin:0;position:absolute;bottom:5px;left:10%;right:10%}.process--editorial-gradient .process__step{padding-bottom:34px;position:relative}.process--editorial-gradient .process__step:after{content:"";z-index:2;border:2px solid var(--surface-card);background:var(--process-step-accent);width:11px;height:11px;box-shadow:0 0 0 1px color-mix(in srgb, var(--process-step-accent) 62%, transparent);opacity:var(--process-dot-draw,1);transform:translateX(-50%) scale(var(--process-dot-draw,1));border-radius:50%;position:absolute;bottom:0;left:50%}.process--editorial-gradient .process__heading{align-items:center}.process--editorial-gradient .process__heading:after{content:"";width:100%;height:1px;margin:var(--space-xs) 0 var(--space-sm);background:var(--line);grid-column:1/-1}.process--editorial-gradient .process__title{letter-spacing:.025em;text-transform:uppercase;min-height:2.5em;font-size:1.05rem}.process--editorial-gradient .process__text{width:100%;color:color-mix(in srgb, var(--text-dim) 82%, var(--text));flex:auto;justify-content:center;align-self:center;align-items:center;margin:0 auto;display:flex}.process--editorial-gradient .process__index{color:color-mix(in srgb, var(--text-faint) 72%, var(--text));transition:color .25s var(--ease);font-size:clamp(1.8125rem,1.35rem + 1.12vw,2.375rem)}.process--editorial-gradient .process__glow{z-index:0;border-radius:inherit;opacity:0;pointer-events:none;background:radial-gradient(circle 140px at calc(var(--glow-x,250) * 1%) calc(var(--glow-y,250) * 1%), color-mix(in srgb, var(--process-step-accent,var(--violet-bright)) var(--process-glow-mix,14%), transparent), color-mix(in srgb, var(--process-step-accent,var(--violet-bright)) var(--process-glow-mix-soft,4%), transparent) 15%, transparent 15%);position:absolute;inset:0}}.process--editorial-gradient .process__head{column-gap:var(--process-gap);grid-template-columns:repeat(5,minmax(0,1fr))}.process--editorial-gradient .process__headline{grid-column:1/span 2}@media (min-width:900.02px) and (hover:hover) and (pointer:fine){.process--editorial-gradient .process__step:hover .process__card{border-color:#0000}.process--editorial-gradient .process__step:hover .process__card:after{opacity:.34}.process--editorial-gradient .process__step:hover .process__card:before{opacity:1}.process--editorial-gradient .process__step:hover .process__index{color:color-mix(in srgb, var(--process-step-accent) 68%, var(--text))}}.process--editorial-gradient .process__card:after{content:none}.marquee{width:100%;margin-block:var(--space-xl) 0;padding-block:var(--space-md);border-block:1px solid var(--line);overflow:hidden}.marquee-track{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;align-items:center;width:max-content;display:flex}.marquee-track *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.home-page .services-intro:has(~.service-stack.is-stacked){padding-block:var(--space-xl) var(--space-lg)}.section-divider[data-snap-anchor=landing-pages]:has(+.service-stack.is-stacked){margin-bottom:calc(2 * (var(--space-sm) + var(--space-2xs)) - var(--space-sm))}.marquee-text{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap;font-size:clamp(1.05rem,1.32vw,1.35rem);line-height:1.4;display:inline-block}.marquee-text i{color:var(--violet);padding-inline:.4em;font-style:normal}.service-stack{width:100%;position:relative}.service-process__nav{display:none}.service-stack.is-stacked .service-process__viewport{height:var(--service-height);padding-block:var(--space-sm) var(--space-md);overflow:hidden}.service-stack.is-stacked .service-process__layout{grid-template-columns:minmax(0,35fr) minmax(0,65fr);column-gap:clamp(28px,3.5vw,56px);display:grid}.services-intro:has(~.service-stack.is-stacked) .section__container{grid-template-columns:minmax(0,35fr) minmax(0,65fr);column-gap:clamp(28px,3.5vw,56px);display:grid}.services-intro:has(~.service-stack.is-stacked) .services-intro__heading{grid-column:1}.services-intro:has(~.service-stack.is-stacked) .section__lead{grid-column:2;align-self:end;margin-top:0}.service-stack.is-stacked .service-process__layout{height:100%}.service-stack.is-stacked .service-process__nav{height:100%;min-height:0;padding-top:var(--space-md);flex-direction:column;display:flex}.service-process__nav a{justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding-block:var(--space-sm);border-top:1px solid var(--line-soft);font-size:var(--fs-body);color:var(--text-dim);opacity:.65;transition:color var(--dur) var(--ease), opacity var(--dur) var(--ease);flex:none;display:flex}.service-process__nav a:hover{opacity:.85}.service-process__nav a[aria-current=step]{color:var(--green-strong);opacity:1}.service-process__number{text-align:right;font-family:var(--font-mono);font-size:var(--fs-label);white-space:nowrap;flex:0 0 4ch}.service-stack.is-stacked .service-process__panels{isolation:isolate;min-width:0;height:100%;position:relative;overflow:hidden}.service-stack.is-stacked .service-section{isolation:isolate;will-change:transform, opacity;pointer-events:none;width:auto;height:100%;padding:0;position:absolute;inset:0}.service-stack.is-stacked .service-section.is-active{pointer-events:auto}.service-stack.is-stacked .section__container{will-change:transform;height:auto}.service-stack.is-stacked .section__split{gap:var(--space-md);flex-direction:column;height:auto;display:flex}.service-stack.is-stacked .service-section .section__copy{padding:var(--space-md) 0 0;top:0}.service-stack.is-stacked .section__visual img{aspect-ratio:4/3;height:auto}.service-stack.is-stacked .section__decor{padding-block:var(--space-sm);display:block;position:static}.service-section{--text-width:50%;--visual-width:50%;box-sizing:border-box;width:100%;scroll-margin-top:var(--header-h);overflow:hidden;container-type:inline-size}.service-section .section__container{width:100%;max-width:none;margin:0;padding:0}.service-section .section__split{grid-template-columns:minmax(0, var(--text-width)) minmax(0, var(--visual-width));align-items:stretch;gap:0;width:100%;display:grid}.service-section .section__split--reverse{grid-template-columns:minmax(0, var(--visual-width)) minmax(0, var(--text-width))}.service-section .section__copy{flex-direction:column;justify-content:flex-start;min-width:0;padding:0 clamp(32px,4.5vw,86px);display:flex;position:relative;top:30px}:is([id=wordpress],[id=webapps]) .section__copy{padding-left:calc(max(0px, (100cqw - var(--shell)) / 2) + var(--gutter))}@media (min-width:768px){.service-section .section__split:not(.section__split--reverse) .section__copy{padding-right:clamp(20px,2.5vw,48px)}}.section__copy h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.5rem)}.section__lead{max-width:40ch;margin-top:var(--space-md);font-size:var(--fs-lead);letter-spacing:-.015em;color:var(--text);text-wrap:balance;font-style:italic;font-weight:300;line-height:1.35}.service__description{margin-top:var(--space-md);letter-spacing:-.015em;color:var(--text);text-wrap:balance;font-size:clamp(1rem,.875rem + .525vw,1.3125rem);font-weight:300;line-height:1.35}.feature-list{max-width:48ch;margin-top:var(--space-lg);gap:0;display:grid}.service-section .feature-list{width:-moz-fit-content;width:fit-content;max-width:calc(100% - 40px)}.feature-list li{border-top:1px solid var(--line-soft);color:var(--text-dim);transition:color var(--dur) var(--ease);padding:.75em 0 .75em 2em;font-size:1rem;position:relative}.service-section .feature-list li{align-items:center;gap:var(--space-xs);width:calc(100% + 40px);padding-inline:15px;display:flex}.feature-list li:last-child{border-bottom:1px solid var(--line-soft)}.feature-list li:before{content:"+";font-family:var(--font-mono);color:var(--green);justify-content:center;align-items:center;font-size:.9525rem;line-height:1;display:flex;position:absolute;top:0;bottom:0;left:0}.service-section .feature-list li:before{flex:none;position:static}@media (hover:hover) and (pointer:fine){.feature-list li:hover{color:var(--text)}}.service-section .section__visual{width:100%;margin:0;padding:0;position:relative;overflow:hidden}.service-section .section__visual img{object-fit:cover;object-position:center;border:0;border-radius:0;width:100%;max-width:none;height:100%;margin:0;display:block}.section__decor{bottom:clamp(18px,3vh,40px);left:var(--gutter);z-index:0;font-family:var(--font-body);font-size:var(--fs-micro);letter-spacing:.2em;color:var(--text-faint);opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.pricing{padding-top:var(--section-pad-top);overflow:hidden}.pricing-header{max-width:64ch}.pricing-header h2{margin-top:var(--space-xs);font-size:clamp(2rem,1.3rem + 2.6vw,3.5rem)}.pricing-header .section__lead{max-width:56ch}.pricing-grid{margin-top:var(--space-xl);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,24px);display:grid}.pricing-card{--pricing-border-accent:var(--violet-bright);--pricing-border-next:color-mix(in oklch, var(--violet-bright) 74%, var(--green));isolation:isolate;border-radius:var(--radius-md);background:linear-gradient(var(--surface-card), var(--surface-card)) padding-box, linear-gradient(112deg, color-mix(in srgb, var(--pricing-border-accent) 44%, transparent), color-mix(in srgb, var(--pricing-border-next) 28%, transparent)) border-box;box-shadow:var(--card-shadow);transition:border-color calc(var(--dur) * 2) var(--ease), background var(--dur-slow) var(--ease);border:1px solid #0000;flex-direction:column;padding:clamp(24px,2.4vw,36px);display:flex;position:relative}.pricing-card-header{justify-content:space-between;align-items:center;gap:var(--space-sm);min-width:0;margin-top:calc(var(--space-2xs) * -1);display:flex}.pricing-card-number{--violet-bright:#6b4fe0;font-family:var(--font-mono);letter-spacing:-.05em;color:var(--text-faint);transition:color .25s var(--ease);flex:none;font-size:clamp(2rem,1.4rem + 1.4vw,2.75rem);font-weight:700;line-height:1}.pricing-card-title{min-width:0;font-size:clamp(1.5rem,1.15rem + 1vw,1.875rem);font-weight:700}.pricing-card-description{max-width:36ch;min-height:6.2em;margin-top:var(--space-xs);color:var(--text-dim);font-size:1rem;line-height:1.55}.pricing-card-meta{justify-content:space-between;align-items:baseline;gap:var(--space-xs);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.pricing-card-price{font-family:var(--font-display);letter-spacing:-.005em;color:var(--text);transition:color var(--dur) var(--ease);align-items:baseline;gap:.45em;font-size:clamp(1.75rem,1.2rem + 1.6vw,2.5rem);font-weight:800;line-height:1;display:flex}.pricing-card-price:lang(ru),.pricing-card-price:lang(pt){font-size:clamp(1.4rem,1rem + 1.15vw,1.9rem)}.pricing-card-price span{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-weight:400}.pricing-card-timeline{white-space:nowrap}.pricing-card-features{margin-top:var(--space-md)}.pricing-card-link{padding-top:var(--space-lg);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);transition:color var(--dur) var(--ease);align-self:flex-start;align-items:center;gap:.6em;font-size:.8125rem;display:inline-flex;position:relative}.pricing-card-link:after{content:"";transform-origin:100%;width:100%;height:1px;transition:transform var(--dur) var(--ease);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.pricing-card-link span{transition:transform var(--dur) var(--ease)}.pricing-card-link:focus-visible:after{transform-origin:0;transform:scaleX(1)}@media (hover:hover) and (pointer:fine){.pricing-card:hover{border-color:var(--line-strong);background:var(--surface-card-hover)}.pricing-card:hover .pricing-card-number{color:var(--violet-bright)}.pricing-card:hover .pricing-card-link{color:var(--text)}.pricing-card:hover .pricing-card-link:after{transform-origin:0;transform:scaleX(1)}.pricing-card:hover .pricing-card-link span{transform:translate(3px)}}.pricing-card:hover{background:linear-gradient(var(--surface-card-hover), var(--surface-card-hover)) padding-box, linear-gradient(112deg, color-mix(in srgb, var(--pricing-border-accent) 44%, transparent), color-mix(in srgb, var(--pricing-border-next) 28%, transparent)) border-box;border-color:#0000}.pricing-card:hover .pricing-card-price{color:var(--green)}.pricing-footer{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.pricing-footer__copy{max-width:62ch}.pricing-footer__copy h3{font-size:clamp(1.25rem,1rem + .8vw,1.75rem)}.pricing-footer__copy p{margin-top:var(--space-2xs);color:var(--text-dim);font-size:1rem}.page-hero{padding-block:calc(var(--header-h) + clamp(56px, 9vw, 130px)) var(--section-pad);background-image:radial-gradient(var(--dot) 1px, transparent 1px);background-size:28px 28px;position:relative}.page-hero__title{max-width:17ch;margin-top:var(--space-sm);font-size:var(--fs-h2);font-weight:800}.page-hero__lead{max-width:56ch;margin-top:var(--space-md);font-size:var(--fs-lead);color:var(--text-dim);font-weight:300;line-height:1.4}.page-hero__actions{gap:var(--space-xs);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.pricing-packages__head,.pricing-addons__head{margin-bottom:var(--space-xl)}.pricing-packages__head h2,.pricing-addons__head h2{margin-top:var(--space-xs);font-size:clamp(2rem,1.3rem + 2.6vw,3.5rem)}#addons-title{font-size:var(--fs-statement)}.pricing-package{border-top:1px solid var(--line);scroll-margin-top:var(--space-md);transition:border-color var(--dur-slow) var(--ease);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:clamp(32px,5vw,88px);padding-block:clamp(36px,4.5vw,64px);display:grid}.pricing-package:last-of-type{border-bottom:1px solid var(--line)}.pricing-package .pricing-card-title{font-size:clamp(1.875rem,1.35rem + 1.5vw,2.625rem)}.pricing-package .pricing-card-description{max-width:40ch}.pricing-package .pricing-card-meta{justify-content:flex-start;gap:var(--space-lg)}.pricing-package .feature-list{margin-top:var(--space-md)}@media (hover:hover) and (pointer:fine){.pricing-package:hover{border-top-color:var(--line-strong)}.pricing-package:hover .pricing-card-number{color:var(--violet-bright)}}.addons-grid{margin-top:var(--space-xl);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2.6vw,38px) clamp(24px,3vw,56px);display:grid}.addon{padding-top:var(--space-md);border-top:1px solid var(--line);transition:border-color var(--dur) var(--ease)}.addon__num{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.14em;color:var(--text-faint);transition:color var(--dur) var(--ease);display:block}.addon__title{margin-top:var(--space-xs);text-transform:uppercase;letter-spacing:.02em;font-size:1.025rem;font-weight:700}.addon__price{margin-top:var(--space-2xs);font-family:var(--font-mono);letter-spacing:.02em;color:var(--green-strong);font-size:1.3125rem}.addon__desc{max-width:36ch;margin-top:var(--space-xs);color:var(--text-dim);font-size:1rem;line-height:1.55}@media (hover:hover) and (pointer:fine){.addon:hover{border-top-color:var(--line-strong)}.addon:hover .addon__num{color:var(--violet-bright)}}.pricing-cta__title{margin-top:var(--space-xs);font-size:clamp(2.5rem,1.4rem + 4vw,5rem);font-weight:800}.pricing-cta__lead{max-width:48ch;margin-top:var(--space-md);font-size:var(--fs-lead);color:var(--text-dim);font-weight:300;line-height:1.4}.pricing-cta__actions{gap:var(--space-xs);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.contact{min-height:100svh;padding-top:var(--section-pad-top);padding-bottom:var(--space-md);background-image:radial-gradient(var(--dot) 1px, transparent 1px);background-size:28px 28px;flex-direction:column;display:flex;position:relative;overflow:hidden}.contact__row{z-index:1;grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:start;gap:clamp(40px,6vw,100px);display:grid;position:relative}.contact__copy h2{margin-top:var(--space-md);font-size:clamp(2.5rem,1.4rem + 4vw,5rem);font-weight:800}.contact__lead{max-width:42ch;margin-top:var(--space-md);font-size:var(--fs-lead)}.contact__spec{width:100%;max-width:38ch;margin-top:0}.contact__email-link{color:var(--text);font-family:var(--font-display);font-size:var(--fs-statement);letter-spacing:-.025em;text-decoration-line:underline;-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);text-underline-offset:.16em;transition:color var(--dur) var(--ease), text-decoration-color var(--dur) var(--ease);font-weight:700;line-height:1.15;text-decoration-thickness:.07em;display:inline-block}.contact__email-link:hover,.contact__email-link:focus-visible{color:var(--green-strong);-webkit-text-decoration-color:var(--violet-bright);text-decoration-color:var(--violet-bright)}@media (max-width:1080px){.hero__inner{gap:var(--space-xl);grid-template-columns:minmax(0,1fr)}.hero__side{justify-self:center;max-width:480px}.about__grid,.contact__row{grid-template-columns:minmax(0,1fr)}.about__skills{margin-top:0}.contact__spec{margin-top:var(--space-lg)}.pricing-grid,.addons-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process__flow{margin-top:var(--space-lg)}}@media (max-width:900px){.pricing-package{gap:var(--space-lg);grid-template-columns:minmax(0,1fr)}.section__watermark{font-size:clamp(90px,26vw,180px)}.process{--process-gap:clamp(14px, 4vw, 22px)}.process__flow{margin-top:var(--space-lg);grid-template-columns:minmax(0,1fr)}.project-card{width:calc((100% - var(--project-gap)) / 2)}.process__card{min-height:0}.process__text{max-width:46ch;margin:var(--space-sm) 0 0;text-align:left;align-self:start}.process__title{letter-spacing:.02em;text-transform:uppercase;font-size:1.0625rem}}@media (min-width:768px) and (max-height:700px){.service-section .section__copy{padding-block:24px}}@media (min-width:1101px) and (max-height:580px){.service-section .section__copy{padding-block:16px}.service-section .service__description{margin-top:var(--space-sm)}.service-section .feature-list{margin-top:var(--space-md)}.service-section .feature-list li{padding-block:.55em}}@media (min-width:768px) and (max-width:1100px) and (max-height:700px){.service-section,.service-section .section__container,.service-section .section__split{height:auto;min-height:100svh}.service-section .section__copy,.service-section .section__visual{height:auto}}@media (max-width:767px){.service-section{height:auto;min-height:0;overflow:clip}.service-section .section__container,.service-section .section__split{height:auto}.service-section .section__split,.service-section .section__split--reverse{grid-template-columns:minmax(0,1fr)}.service-stack .service-section{padding-block:0}.service-section .section__copy{height:auto;padding:var(--space-xl) var(--gutter);top:0}.service-section:not(:last-child):after{content:"";bottom:0;left:var(--gutter);right:var(--gutter);background:var(--line);height:1px;transform:scaleX(var(--service-rule-draw,1));transform-origin:0;position:absolute}.service-section .section__visual{height:clamp(320px,78svh,620px)}.service-section .section__split--reverse .section__copy{order:1}.service-section .section__split--reverse .section__visual{order:2}}@media (max-width:940px){.site-nav__toggle{width:44px;height:44px;margin-left:0;display:block}.header__cta{display:none}.header__status{margin-left:auto}.theme-toggle{margin-left:0}.header__row{gap:clamp(10px,2.4vw,28px)}.site-nav{z-index:90;justify-content:center;gap:var(--space-xl);width:min(320px,82vw);padding:var(--space-xl) var(--space-lg);overscroll-behavior:contain;background:var(--surface-panel);border-left:1px solid var(--line);transition:transform var(--dur-slow) var(--ease-out);flex-direction:column;flex:none;display:flex;position:fixed;inset:0 0 0 auto;overflow-y:auto;transform:translate(100%)}.site-nav.is-open{transform:translate(0)}.site-nav__list{align-items:flex-start;gap:var(--space-2xs);flex-direction:column;margin-inline:0;font-size:1.125rem}.site-nav__list a{gap:.8em;padding-block:.55em}.site-nav__list a:after{bottom:calc(.55em - 4px)}.site-nav__languages{gap:var(--space-xs);font-size:1rem}.site-nav__languages a{padding-block:.7em}.site-nav:before{content:"";z-index:-1;background:var(--scrim);opacity:0;pointer-events:none;width:100vw;transition:opacity var(--dur-slow) var(--ease);position:absolute;top:0;bottom:0;right:100%}.site-nav.is-open:before{opacity:1}}@media (max-width:640px){:root{--header-h:64px;--fs-micro:.8125rem;--fs-label:.8125rem}.projects-bg-text{display:none}.projects__head{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.projects__note{display:none}.hero__actions .btn,.page-hero__actions .btn,.pricing-cta__actions .btn,.pricing-footer .btn{flex:100%;justify-content:center}.hero__side{height:clamp(300px,46vh,420px)}.hero__foot{margin-top:var(--space-xl)}.pricing-grid,.addons-grid{grid-template-columns:minmax(0,1fr)}.pricing-footer{flex-direction:column;align-items:stretch}.project-card{width:100%}h1,h2,h3{letter-spacing:-.02em}.hero__title{letter-spacing:-.03em}.about__body,.contact__lead,.service__description,.section__lead,.page-hero__lead,.pricing-cta__lead{font-weight:400;line-height:1.55}.section__lead{font-style:normal}.about__statement{text-wrap:balance;max-width:none;font-weight:400;line-height:1.3}.pricing-card-description{min-height:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}#header,#header:before{transition-duration:.4s!important}.site-nav__list a:after{transition-duration:.3s!important}.btn{transition-duration:var(--dur), var(--dur), var(--dur), .3s, .3s!important}.btn span{transition-duration:var(--dur)!important}.btn:before{transition-duration:.6s!important}.caret{opacity:1}}.accent_green{color:var(--green)}.accent_violet{color:var(--violet-bright)}.case__watermark--footer.section-decor{--spot-x:50%;--spot-y:50%;text-align:center;width:max-content;font-size:18vw;font-family:var(--font-display);letter-spacing:-.02em;opacity:1;color:var(--footer-word);-webkit-text-fill-color:var(--footer-word);white-space:nowrap;background:0 0;padding-bottom:0;font-weight:700;line-height:1;position:absolute;bottom:.05em;left:50%;right:auto;transform:translate(-50%)}.case__watermark--footer.section-decor:after{content:attr(data-text);pointer-events:none;background:radial-gradient(circle var(--decor-spot-size) at var(--spot-x) var(--spot-y), var(--decor-spot-core) 0%, var(--decor-spot-core) 10%, var(--decor-spot-mid) 35%, var(--decor-spot-soft) 60%, transparent 100%);color:#0000;-webkit-text-fill-color:transparent;opacity:0;transition:opacity var(--dur-slow) var(--ease);-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.case__watermark--footer.section-decor.is-illuminated:after{opacity:1}._cloud_32{justify-content:center;align-items:center;gap:var(--space-3xl,var(--space-xl)) var(--space-xl);padding:var(--space-xl) 0 var(--space-2xl);flex-wrap:wrap;display:flex}._cloudItem_42{transform:translate(var(--dx,0px), calc(var(--dy,0px) + (var(--sp,.5) - .5) * var(--depth,0px)));will-change:transform;justify-content:center;align-items:center;display:inline-flex}._cloudInner_55{align-items:center;gap:var(--space-2xs);flex-direction:column;display:flex}._cloudLogo_62{width:calc(var(--logo-scale,1) * 46px);height:calc(var(--logo-scale,1) * 46px);object-fit:contain;opacity:.55;filter:grayscale()brightness(1.8);transition:opacity .3s,filter .3s}._cloudLabel_77{font-size:var(--fs-micro);color:var(--text-dim);letter-spacing:.01em;white-space:nowrap;font-weight:500;transition:color .3s}._cloudItem_42:hover ._cloudLogo_62,._cloudItem_42:active ._cloudLogo_62{opacity:1;filter:grayscale(0)brightness()}._cloudItem_42:hover ._cloudLabel_77,._cloudItem_42:active ._cloudLabel_77{color:var(--text)}._cloud_32 ._cloudLabel_77{display:none}.contact{isolation:isolate}.contact>:not(.logo-physics-canvas){z-index:1;position:relative}.logo-physics-ready ._cloudItem_42{visibility:hidden}.logo-physics-canvas{z-index:0;pointer-events:none;width:100%;height:100%;max-height:100vh;display:block;position:absolute;inset:auto 0 0}@media (max-width:640px){._cloud_32{gap:var(--space-2xl) var(--space-lg)}._cloudLogo_62{width:calc(var(--logo-scale,1) * 40px);height:calc(var(--logo-scale,1) * 40px)}}@media (max-width:393px){._cloud_32{gap:var(--space-lg) var(--space-sm);padding:var(--space-lg) 0 var(--space-sm)}}.contact__email-row{padding-top:var(--space-sm)}
