@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-ext-wght-normal.C8S-KRRz.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-ext-wght-normal.EocZY2iu.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.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:#06070b;--bg-raised:#0c0e15;--surface:#ffffff09;--surface-strong:#ffffff12;--line:#ffffff17;--line-strong:#fff3;--text:#e9ebf1;--muted:#a4aabb;--dim:#818899;--accent:#8ab4ff;--ok:#7ee0a8;--warn:#ffc27a;--danger:#ff9a9a;--font-sans:"Manrope Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Code", Consolas, monospace;--radius:18px;--radius-sm:10px;--wrap:1160px;--gutter:clamp(20px, 5vw, 40px);--header-h:68px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.65;overflow-x:hidden}body:before{--star:#ffffff80;--star-blue:#aacaff99;--tile-a:0 0 / 613px 541px;--tile-b:0 0 / 827px 709px;--tile-c:0 0 / 1093px 929px;content:"";z-index:-1;pointer-events:none;background:radial-gradient(60% 50% at 78% 8%, #567cd629, transparent 70%), radial-gradient(50% 40% at 8% 62%, #4660aa1a, transparent 70%), radial-gradient(1px 1px at 42px 71px, var(--star) 50%, transparent 51%) var(--tile-a), radial-gradient(1px 1px at 287px 148px, var(--star) 50%, transparent 51%) var(--tile-a), radial-gradient(1px 1px at 511px 392px, var(--star) 50%, transparent 51%) var(--tile-a), radial-gradient(1px 1px at 163px 467px, var(--star) 50%, transparent 51%) var(--tile-a), radial-gradient(1px 1px at 96px 310px, var(--star-blue) 50%, transparent 51%) var(--tile-b), radial-gradient(1.5px 1.5px at 430px 58px, var(--star-blue) 50%, transparent 51%) var(--tile-b), radial-gradient(1px 1px at 702px 505px, var(--star-blue) 50%, transparent 51%) var(--tile-b), radial-gradient(1px 1px at 318px 641px, var(--star) 50%, transparent 51%) var(--tile-b), radial-gradient(2px 2px at 214px 232px, var(--star-blue) 50%, transparent 51%) var(--tile-c), radial-gradient(1.5px 1.5px at 871px 104px, var(--star) 50%, transparent 51%) var(--tile-c), radial-gradient(2px 2px at 655px 778px, var(--star-blue) 50%, transparent 51%) var(--tile-c), var(--bg);position:fixed;inset:0}img,svg{max-width:100%;display:block}img{height:auto}h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:#8ab4ff4d}h1,h2{letter-spacing:-.03em;text-wrap:balance;color:#fff;background:linear-gradient(#fff 30%,#aab1c4);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700;line-height:1.08}h1{font-size:clamp(2.4rem,6.2vw,4.4rem)}h2{font-size:clamp(1.9rem,4vw,2.9rem)}h3{letter-spacing:-.015em;color:#fff;font-size:1.2rem;font-weight:650;line-height:1.3}.eyebrow,.tagline{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}.eyebrow{color:var(--accent);margin-bottom:18px}.tagline{color:var(--dim)}.lead{color:var(--muted);text-wrap:pretty;font-size:clamp(1.05rem,1.6vw,1.2rem)}.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(72px,11vw,132px)}.section__head{max-width:720px;margin-bottom:clamp(36px,5vw,56px)}.section__head .lead{margin-top:18px}.card{background:linear-gradient(180deg, #14161f, var(--bg-raised));border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,32px)}.skip-link{z-index:100;border-radius:var(--radius-sm);color:#000;background:#fff;padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.btn{min-height:48px;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 24px;font-size:.98rem;font-weight:650;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{color:#06070b;background:#fff}.btn--primary:hover{background:#d5ddf0}.btn--ghost{border-color:var(--line-strong);color:var(--text)}.btn--ghost:hover{background:var(--surface);border-color:#fff}.btn--sm{min-height:40px;padding:0 18px;font-size:.9rem}.btn[disabled]{opacity:.6;cursor:progress}.site-header{z-index:50;backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--line);background:#06070bb8;position:sticky;top:0}.site-header__inner{height:var(--header-h);align-items:center;gap:24px;display:flex}.brand{color:#fff;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand__name{letter-spacing:.02em;white-space:nowrap;font-size:1.06rem;font-weight:750}.brand__name span{color:var(--muted);font-weight:400}.nav{gap:28px;margin-left:auto;display:none}.nav a,.site-footer__nav a,.site-footer__social a,.site-footer__social span{color:var(--muted);font-size:.95rem;text-decoration:none;transition:color .2s}.nav a:hover,.site-footer__nav a:hover,.site-footer__social a:hover{color:#fff}.site-header__actions{align-items:center;gap:12px;margin-left:auto;display:flex}.site-header__cta{display:none}.lang{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.08em;border-radius:999px;padding:3px;font-size:.74rem;display:inline-flex}.lang a{min-width:36px;min-height:30px;color:var(--muted);border-radius:999px;place-items:center;padding:0 8px;text-decoration:none;display:grid}.lang a:hover{color:#fff}.lang a[aria-current=true]{background:var(--surface-strong);color:#fff}.menu{position:relative}.menu summary{border:1px solid var(--line);cursor:pointer;border-radius:12px;place-items:center;width:44px;height:44px;list-style:none;display:grid}.menu summary::-webkit-details-marker{display:none}.menu__panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-raised);min-width:220px;padding:8px;display:grid;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 24px 60px #0009}.menu__panel a{border-radius:8px;padding:12px 14px;text-decoration:none}.menu__panel a:hover{background:var(--surface-strong)}@media (width>=860px){.nav{display:flex}.site-header__actions{margin-left:0}.site-header__cta{display:inline-flex}.menu{display:none}}.hero{padding-top:clamp(40px,7vw,88px)}.hero__inner{align-items:center;gap:24px;display:grid}.hero__copy .lead{max-width:560px;margin-top:24px}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.hero__art{justify-self:center;width:min(78vw,380px)}.hero__art img{aspect-ratio:1;object-fit:cover;mix-blend-mode:screen;filter:contrast(1.3)brightness(.86);width:100%;-webkit-mask-image:radial-gradient(closest-side,#000 38%,#0000 100%);mask-image:radial-gradient(closest-side,#000 38%,#0000 100%)}@media (width>=900px){.hero__inner{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px}.hero__art{justify-self:end;width:min(100%,520px)}}.facts{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:clamp(40px,7vw,80px);display:grid;overflow:hidden}.facts>div{background:var(--bg-raised);padding:20px clamp(16px,2.4vw,28px)}.facts dt{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:.7rem}.facts dd{color:#fff;margin-top:6px;font-weight:600}@media (width>=860px){.facts{grid-template-columns:repeat(4,minmax(0,1fr))}}.services{gap:16px;display:grid}.service__icon{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--accent);border-radius:12px;margin-bottom:22px;padding:9px}.service p,.project__body>p,.principles p,.about__copy p:not(.eyebrow){color:var(--muted)}.service h3{margin-bottom:10px}@media (width>=720px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}.projects{gap:16px;margin-top:16px;display:grid}.project{align-content:start;gap:28px;display:grid}.project__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:18px;display:flex}.project__kind{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.72rem}.status{border:1px solid var(--line);color:var(--warn);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-size:.78rem;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status--live{color:var(--ok)}.project h3{font-size:1.45rem}.project h3 a{text-decoration-color:var(--line-strong);text-underline-offset:5px}.project__headline{color:var(--text);margin-top:4px;margin-bottom:14px;font-weight:600}.project__points{gap:10px;margin-top:20px;font-size:.95rem;display:grid}.project__points li{padding-left:22px;position:relative}.project__points li:before{content:"";border:1.5px solid var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:.62em;left:2px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips li{border:1px solid var(--line);font-family:var(--font-mono);color:var(--muted);border-radius:6px;padding:4px 10px;font-size:.72rem}.project--featured{background:radial-gradient(70% 90% at 100% 0%, #608ae629, transparent 70%), linear-gradient(180deg, #14161f, var(--bg-raised));padding:clamp(24px,4vw,44px)}.project--featured h3{letter-spacing:-.025em;font-size:clamp(1.7rem,3.2vw,2.3rem)}.module-map{border:1px solid var(--line);background:#06070b8c;border-radius:14px;align-self:center;padding:20px}.module-map__title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:14px;font-size:.7rem}.module-map ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.module-map li{border:1px solid var(--line);background:var(--surface);overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:10px 12px;font-size:.86rem;display:flex}.module-map li:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 10px var(--accent);border-radius:50%;flex:none}@media (width>=560px){.module-map ul{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=960px){.projects{grid-template-columns:repeat(3,minmax(0,1fr))}.project--featured{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px}.project--featured .module-map ul{grid-template-columns:repeat(2,minmax(0,1fr))}}.more-link{color:var(--accent);align-items:center;gap:8px;margin-top:26px;font-weight:650;text-decoration:none;display:inline-flex}.more-link:hover{color:#fff}.more-link span{transition:transform .2s}.more-link:hover span{transform:translate(3px)}.more-link--back{color:var(--muted);margin-top:0;margin-bottom:clamp(28px,4vw,44px);font-size:.95rem;font-weight:500}.more-link--back:hover span{transform:translate(-3px)}.project-hero{padding-top:clamp(32px,5vw,64px)}.project-hero__inner{align-items:center;gap:40px;display:grid}.project-hero__headline{color:var(--text);margin-top:16px;font-size:clamp(1.15rem,2vw,1.4rem);font-weight:600}.project-hero .lead{max-width:600px;margin-top:18px}.features,.closer{gap:16px;display:grid}.feature h3{margin-bottom:10px}.feature p{color:var(--muted)}.faq{gap:32px;display:grid}.faq__list{border-top:1px solid var(--line);gap:0;display:grid}.faq__list>div{border-bottom:1px solid var(--line);padding-block:22px}.faq__list dt{color:#fff;font-size:1.08rem;font-weight:650}.faq__list dd{color:var(--muted);margin-top:8px}.cta{background:radial-gradient(70% 120% at 100% 0%, #608ae629, transparent 70%), linear-gradient(180deg, #14161f, var(--bg-raised));place-items:center start;gap:28px;padding:clamp(28px,5vw,56px);display:grid}.cta h2{font-size:clamp(1.6rem,3.2vw,2.3rem)}.cta .lead{max-width:560px;margin-top:14px}@media (width>=720px){.features,.closer{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){.project-hero__inner{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px}.project-hero .module-map ul{grid-template-columns:repeat(2,minmax(0,1fr))}.features{grid-template-columns:repeat(3,minmax(0,1fr))}.faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:64px}.cta{grid-template-columns:minmax(0,1fr) auto}}.tech{gap:clamp(24px,3vw,32px);display:grid}.tech__core,.tech__more{gap:24px;display:grid}.tech__more{border-top:1px solid var(--line);padding-top:clamp(24px,3vw,32px)}.tech__title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:14px;font-size:.7rem}.tech__list{flex-wrap:wrap;gap:8px;display:flex}.tech__list li{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:.92rem;font-weight:600;display:flex}.tech__icon{color:var(--accent);flex:none}@media (width>=960px){.tech__core{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.tech__more{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}.about{gap:40px;display:grid}.about__copy p:not(.eyebrow)+p{margin-top:18px}.about__copy h2{margin-bottom:26px}.principles{align-content:start;gap:16px;display:grid}.principles__index{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);margin-bottom:12px;font-size:.78rem;display:block}.principles h3{margin-bottom:8px}@media (width>=960px){.about{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px}}.contact{gap:40px;display:grid}.contact__copy .lead{margin-top:18px}.contact__elsewhere{color:var(--muted);flex-wrap:wrap;gap:6px 10px;margin-top:28px;display:flex}.contact__elsewhere a{color:#fff;text-underline-offset:4px}.contact__email{color:#fff}.contact-form{gap:18px;display:grid}.field{gap:8px;min-width:0;display:grid}.field label{font-size:.9rem;font-weight:600}.field__optional{color:var(--dim);font-weight:400}.field input,.field select,.field textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--text);font:inherit;background:#06070b99;padding:12px 14px;transition:border-color .2s}.field textarea{resize:vertical;min-height:140px}.field ::placeholder{color:var(--dim);opacity:1}.field input:hover,.field select:hover,.field textarea:hover{border-color:#fff6}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline-offset:0;border-color:var(--accent);border-radius:var(--radius-sm)}.field [aria-invalid=true]{border-color:var(--danger)}.field--trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-form__footer{flex-wrap:wrap;align-items:center;gap:14px 20px;display:flex}.contact-form__legal{color:var(--dim);font-size:.8rem}.contact-form__legal a{text-underline-offset:3px}.grecaptcha-badge{visibility:hidden}.form-status{color:var(--muted);flex:220px;font-size:.92rem}.form-status[data-state=success]{color:var(--ok)}.form-status[data-state=error]{color:var(--danger)}@media (width>=620px){.contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}.field--wide{grid-column:1/-1}}@media (width>=960px){.contact{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:64px}}.site-footer{border-top:1px solid var(--line);background:#06070b99;margin-top:clamp(40px,6vw,80px);padding-block:48px 32px}.site-footer__inner{gap:32px;display:grid}.site-footer__brand .tagline{margin-top:12px}.site-footer__nav,.site-footer__social{align-content:start;justify-items:start;gap:10px;display:grid}.site-footer__legal{border-top:1px solid var(--line);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:40px;padding-top:24px;font-size:.85rem;display:flex}@media (width>=720px){.site-footer__inner{grid-template-columns:1.6fr 1fr 1fr}}.site-footer__consent{color:inherit;font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.site-footer__consent:hover{color:#fff}.consent{z-index:60;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-raised);max-width:560px;color:var(--muted);gap:16px;margin-inline:auto;padding:18px 20px;font-size:.92rem;display:grid;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 24px 60px #0009}.consent[hidden]{display:none}.consent__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (width>=720px){.consent{margin-inline:0;bottom:24px;left:auto;right:24px}}.notice{justify-items:start;gap:20px;max-width:640px;padding-block:clamp(80px,16vw,180px);display:grid}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.hero__art img{animation:14s ease-in-out infinite alternate drift}@keyframes drift{0%{transform:translateY(-8px)rotate(-2deg)}to{transform:translateY(10px)rotate(2.5deg)}}@supports (animation-timeline:view()){.reveal{animation:linear both reveal view();animation-range:entry entry 55%}@keyframes reveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}}}
