:root{--bg: #ffffff;--bg-2: #f6f6f6;--surface: #ffffff;--ink: #0a0a0a;--ink-2: #4d4d4d;--ink-3: #6b6b6b;--line: #e6e6e6;--accent: #0a0a0a;--accent-2: #2b2b2b;--accent-soft: #f1f1f1;--on-accent: #ffffff;--ok: #0a0a0a;--warn: #0a0a0a;--warn-soft: transparent;--grid: rgba(10, 10, 10, .05);--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px -12px rgba(0, 0, 0, .14);--mark-bg: #000000;--mark-fg: #ffffff;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--container: 1140px;--gutter: clamp(16px, 4vw, 40px);--nav-h: 64px;--r: 10px;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:light}:root[data-theme=dark]{--bg: #0a0a0a;--bg-2: #111111;--surface: #121212;--ink: #f5f5f5;--ink-2: #b3b3b3;--ink-3: #8f8f8f;--line: #262626;--accent: #f5f5f5;--accent-2: #d4d4d4;--accent-soft: #1c1c1c;--on-accent: #0a0a0a;--ok: #f5f5f5;--warn: #f5f5f5;--warn-soft: transparent;--grid: rgba(255, 255, 255, .05);--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px -12px rgba(0, 0, 0, .7);--mark-bg: #ffffff;--mark-fg: #0a0a0a;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:.97rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}img,svg{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--ink);color:var(--bg)}.skip-link{position:absolute;left:16px;top:-60px;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:6px;z-index:1000}.skip-link:focus{top:12px}.container{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}h1{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.5rem);font-weight:700;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}h2{font-size:clamp(1.35rem,1.15rem + .8vw,1.8rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}h3{font-size:1.02rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}.lede{font-size:1.05rem;color:var(--ink-2);max-width:56ch;text-wrap:pretty}.label{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;color:var(--ink-3);font-weight:400}.label:before{content:"//";color:var(--ink-3)}.muted{color:var(--ink-2)}.small{font-size:.9rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:8px;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:.95rem;white-space:nowrap;transition:background .18s,transform .18s var(--ease),box-shadow .18s;-webkit-tap-highlight-color:transparent}.btn:hover{background:var(--accent-2);transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active{transform:none}.btn-outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn-outline:hover{background:var(--bg-2);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink-3)}.btn-sm{min-height:38px;padding:0 14px;font-size:.88rem}.btn .arrow{transition:transform .18s var(--ease)}.btn:hover .arrow{transform:translate(3px)}.tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--bg-2);color:var(--ink-2)}.tag--dev{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.tag--dev:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:blink 1.6s infinite}@keyframes blink{50%{opacity:.25}}.ico{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);flex:none}.ico svg{width:20px;height:20px}.check{display:flex;gap:10px;align-items:flex-start}.check svg{width:18px;height:18px;flex:none;color:var(--ok);margin-top:3px}.nav{position:sticky;top:0;z-index:100;height:var(--nav-h);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px}.brand__mark{width:30px;height:30px;border-radius:7px}.brand__mark rect{fill:var(--mark-bg)}.brand__mark g{fill:var(--mark-fg)}.brand__word{font-family:var(--font-mono);font-weight:600;font-size:.84rem;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}.nav__links{display:flex;gap:4px}.nav__links a{padding:8px 12px;border-radius:6px;font-size:.92rem;font-weight:500;color:var(--ink-2);transition:background .15s,color .15s}.nav__links a:hover,.nav__links a.is-active{background:var(--bg-2);color:var(--ink)}.nav__tools{display:flex;align-items:center;gap:10px}.lang{display:inline-flex;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;border:1px solid var(--line);border-radius:7px;overflow:hidden}.lang button{min-width:38px;min-height:32px;color:var(--ink-3);font-weight:600}.lang button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.icon-btn{width:38px;height:38px;border-radius:7px;display:inline-grid;place-items:center;color:var(--ink-2)}.icon-btn:hover{background:var(--bg-2);color:var(--ink)}.icon-btn svg{width:18px;height:18px}.theme-toggle{position:relative}.theme-toggle .sun,.theme-toggle .moon{position:absolute;transition:opacity .2s,transform .3s var(--ease)}.theme-toggle .sun{opacity:0;transform:rotate(90deg) scale(.5)}:root[data-theme=dark] .theme-toggle .sun{opacity:1;transform:none}:root[data-theme=dark] .theme-toggle .moon{opacity:0;transform:rotate(-90deg) scale(.5)}.burger{display:none;position:relative}.burger span{position:absolute;left:10px;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),opacity .15s,top .3s}.burger span:nth-child(1){top:13px}.burger span:nth-child(2){top:18px}.burger span:nth-child(3){top:23px}.burger[aria-expanded=true] span:nth-child(1){top:18px;transform:rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){top:18px;transform:rotate(-45deg)}.mobile-menu{position:fixed;inset:var(--nav-h) 0 0 0;z-index:90;background:var(--bg);display:flex;flex-direction:column;padding:8px var(--gutter) calc(20px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .25s,transform .3s var(--ease),visibility 0s linear .3s}.mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .25s,transform .3s var(--ease),visibility 0s}.mobile-menu a.mm-link{display:block;padding:16px 0;border-bottom:1px solid var(--line);font-size:1.15rem;font-weight:600}.mobile-menu__foot{margin-top:auto;display:grid;gap:12px;padding-top:20px}.mobile-menu__foot .lang{justify-self:start}body.menu-open{overflow:hidden}.hero{background:linear-gradient(180deg,var(--bg-2),var(--bg));border-bottom:1px solid var(--line);padding:clamp(40px,7vh,80px) 0}.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center}.hero__copy{display:grid;gap:20px}.hero__actions{display:flex;flex-wrap:wrap;gap:10px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:22px;display:grid;gap:16px}.panel__head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.panel__head .brand__mark{width:36px;height:36px}.panel__head strong{display:block;font-size:.95rem}.panel__head span{font-size:.8rem;color:var(--ink-3)}.panel ul{display:grid;gap:10px;font-size:.95rem}.panel .tech{display:flex;flex-wrap:wrap;gap:6px;padding-top:14px;border-top:1px solid var(--line)}.panel .tech span{font-family:var(--font-mono);font-size:.7rem;padding:4px 8px;border-radius:6px;background:var(--bg-2);color:var(--ink-2)}.rise>*{opacity:0;transform:translateY(12px);animation:rise .8s var(--ease) forwards}.rise>*:nth-child(2){animation-delay:80ms}.rise>*:nth-child(3){animation-delay:.16s}.rise>*:nth-child(4){animation-delay:.24s}@keyframes rise{to{opacity:1;transform:none}}.section{padding:clamp(48px,7vh,80px) 0}.section--tint{background:var(--bg-2);border-block:1px solid var(--line)}.section__head{display:grid;gap:8px;margin-bottom:28px;max-width:760px}.section__head--row{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:none}.section__head--row>div{display:grid;gap:8px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d, 0ms)}.reveal.is-in{opacity:1;transform:none}.grid{display:grid;gap:14px}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--2{grid-template-columns:repeat(2,1fr)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:12px;align-content:start;transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}.card:hover{border-color:var(--ink-3);box-shadow:var(--shadow);transform:translateY(-2px)}.card p{color:var(--ink-2);font-size:.92rem}.prog{display:flex;align-items:center;gap:12px;padding:14px 16px}.prog .ico{width:36px;height:36px;border-radius:8px}.prog .ico svg{width:18px;height:18px}.prog__body{display:grid;gap:3px;min-width:0}.prog__body h3{font-size:.95rem}.prog__body .tag{justify-self:start}.firms{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.firm{display:grid;grid-template-columns:220px 1fr;gap:12px 20px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.firm:last-child{border-bottom:0}.firm:hover{background:var(--bg-2)}.firm__name{font-weight:600}.firm--other{background:var(--bg-2);align-items:start}.firm--other .firm__name{color:var(--ink-2);padding-top:6px}.firm__list{display:flex;flex-wrap:wrap;gap:8px}.firm__list li{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:.9rem;font-weight:500}.firm__list small{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.firm__list small.dev{color:var(--warn)}.examples{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 32px}.examples li{padding:10px 0;border-bottom:1px solid var(--line)}.clients{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.clients span{min-height:72px;display:grid;place-items:center;text-align:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-weight:600;font-size:.92rem;color:var(--ink-2);transition:color .2s,border-color .2s}.clients span:hover{color:var(--ink);border-color:var(--ink-3)}.partner{display:flex;align-items:center;gap:16px}.partner .logo{width:56px;height:56px;border-radius:12px;display:grid;place-items:center;background:var(--ink);color:var(--bg);font-weight:700;font-size:1rem;letter-spacing:-.02em;flex:none}.partner .logo--b{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.partner h3{font-size:1.05rem}.partner p{font-size:.9rem}.game{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.game__art{position:relative;min-height:220px;background:radial-gradient(120% 90% at 15% 100%,#3a3a3a,#161616 45%,#000 85%);display:grid;align-content:end;padding:22px;color:#fff}.game__art:before{content:"";position:absolute;right:-6%;top:-16%;width:40%;aspect-ratio:1;border-radius:50%;background:#f5f5f5;opacity:.92}.game__art strong{position:relative;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.2rem);font-weight:700;letter-spacing:-.03em;line-height:1;text-shadow:0 2px 16px rgba(0,0,0,.5)}.game__body{padding:24px;display:grid;gap:12px;align-content:center}.game__body .tags{display:flex;flex-wrap:wrap;gap:6px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:s}.step{position:relative;padding:20px 20px 20px 64px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);display:grid;gap:6px;align-content:start}.step:before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:20px;top:20px;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);font-size:.76rem;font-weight:600}.step p{color:var(--ink-2);font-size:.92rem}.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:start}.contact__info{display:grid;gap:18px}.contact__list{display:grid;gap:10px}.contact__list a,.contact__list div{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:500}.contact__list small{display:block;font-weight:400;font-size:.8rem;color:var(--ink-3)}.form{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:22px;display:grid;gap:12px}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:5px}.field label{font-size:.82rem;font-weight:600;color:var(--ink-2)}.field input,.field textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:1rem;transition:border-color .15s,box-shadow .15s}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.note{font-size:.8rem;color:var(--ink-3)}.form__ok{display:none;padding:12px 14px;border-radius:8px;background:var(--accent-soft);color:var(--ink);font-weight:600;font-size:.92rem}.form.is-sent .form__ok{display:block}.footer{border-top:1px solid var(--line);padding:36px 0 calc(24px + env(safe-area-inset-bottom));font-size:.9rem}.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:28px}.footer h2,.footer h4{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px}.footer ul{display:grid;gap:8px}.footer a{color:var(--ink-2)}.footer a:hover{color:var(--ink)}.footer p{color:var(--ink-2);max-width:40ch;margin-top:12px}.footer__bottom{margin-top:28px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.8rem;color:var(--ink-3)}.to-top{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:80;width:42px;height:42px;border-radius:10px;background:var(--ink);color:var(--bg);display:grid;place-items:center;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .3s,transform .3s var(--ease)}.to-top.is-on{opacity:1;transform:none;pointer-events:auto}.to-top svg{width:18px;height:18px}@media (max-width: 1024px){.grid--4{grid-template-columns:repeat(3,1fr)}.clients{grid-template-columns:repeat(4,1fr)}.nav__links a{padding:8px 9px;font-size:.88rem}}@media (max-width: 900px){.nav__links,.nav__tools .lang,.nav__tools .btn{display:none}.burger{display:inline-grid}.hero__grid{grid-template-columns:1fr}.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}.steps,.contact{grid-template-columns:1fr}.firm{grid-template-columns:1fr;gap:8px}.game{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr 1fr}}@media (max-width: 600px){body{font-size:.94rem}.grid--3,.grid--4,.grid--2{grid-template-columns:1fr}.examples{grid-template-columns:1fr;gap:0}.clients{grid-template-columns:repeat(2,1fr)}.form__row,.footer__grid{grid-template-columns:1fr}.hero__actions .btn{flex:1 1 100%}.section{padding:40px 0}}@media (hover: none){.card:hover,.btn:hover{transform:none}}@media print{.nav,.mobile-menu,.to-top{display:none!important}}.hero{background:var(--bg);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 70% 40%,#000 30%,transparent 85%);mask-image:radial-gradient(ellipse 70% 80% at 70% 40%,#000 30%,transparent 85%)}.hero .container{position:relative}.hero h1:after{content:"_";margin-left:4px;font-weight:400;animation:caret 1.1s steps(1) infinite}@keyframes caret{50%{opacity:0}}.section--tint{background:var(--bg-2)}.panel{padding:0;overflow:hidden;gap:0;font-size:.95rem}.panel__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg-2);font-family:var(--font-mono);font-size:.72rem;color:var(--ink-3)}.panel__bar i{width:9px;height:9px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ink-3)}.panel__bar span{margin-left:8px}.panel__head{padding:16px 20px;margin:0}.panel ul{padding:14px 20px 4px}.panel .tech{margin:10px 20px 18px}.panel .tech span{border:1px solid var(--line);background:transparent}.check svg{color:var(--ink)}.card{border-radius:8px}.card:hover{border-color:var(--ink);box-shadow:none}.firms{border-radius:8px}.firm__name{font-family:var(--font-mono);font-size:.88rem;font-weight:600}.firm__list li{border-radius:6px}.firm__list li:hover{border-color:var(--ink)}.clients span{border-radius:6px;font-family:var(--font-mono);font-size:.84rem;font-weight:600}.clients span:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.step{border-radius:8px}.step:before{border-radius:6px}.btn{border-radius:6px}.btn-outline{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--bg);box-shadow:inset 0 0 0 1.5px var(--ink)}.nav__links a.is-active{background:transparent;color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink);border-radius:0}.examples li span:before{content:""}.field input:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}:focus-visible{outline-color:var(--ink)}.hero:before{animation:grid-drift 24s linear infinite}@keyframes grid-drift{to{background-position:32px 32px,32px 32px}}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(420px circle at var(--mx, 70%) var(--my, 40%),color-mix(in srgb,var(--ink) 7%,transparent),transparent 70%);transition:background .2s}.hero h1.typing:after{animation:none;opacity:1}.hero h1 .typed{white-space:pre-wrap}.stats{display:flex;gap:28px;margin:6px 0 0;padding-top:18px;border-top:1px solid var(--line)}.stats div{display:grid;gap:2px}.stats dt{font-family:var(--font-mono);font-size:1.6rem;font-weight:600;letter-spacing:-.02em;line-height:1}.stats dt:after{content:"+";color:var(--ink-3);font-size:1rem;margin-left:2px;vertical-align:top}.stats dd{margin:0;font-size:.82rem;color:var(--ink-3)}.panel{animation:panel-in .9s var(--ease) .25s both}@keyframes panel-in{0%{opacity:0;transform:translateY(24px) scale(.98)}}.panel ul li{opacity:0;transform:translate(-10px);animation:line-in .5s var(--ease) both}.panel ul li:nth-child(1){animation-delay:.7s}.panel ul li:nth-child(2){animation-delay:.9s}.panel ul li:nth-child(3){animation-delay:1.1s}.panel ul li:nth-child(4){animation-delay:1.3s}.panel .tech span{opacity:0;animation:line-in .4s var(--ease) both}.panel .tech span:nth-child(1){animation-delay:1.5s}.panel .tech span:nth-child(2){animation-delay:1.58s}.panel .tech span:nth-child(3){animation-delay:1.66s}.panel .tech span:nth-child(4){animation-delay:1.74s}.panel .tech span:nth-child(5){animation-delay:1.82s}.panel .tech span:nth-child(6){animation-delay:1.9s}@keyframes line-in{to{opacity:1;transform:none}}.panel__bar i:nth-child(1){animation:dot 2.4s infinite}.panel__bar i:nth-child(2){animation:dot 2.4s .3s infinite}.panel__bar i:nth-child(3){animation:dot 2.4s .6s infinite}@keyframes dot{0%,70%,to{background:transparent}35%{background:var(--ink-3)}}.marquee{border-bottom:1px solid var(--line);padding:14px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee__track{display:flex;gap:40px;width:max-content;animation:marquee 40s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}.marquee ul{display:flex;gap:40px}.marquee li{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-3);white-space:nowrap;display:inline-flex;align-items:center;gap:40px}.marquee li:after{content:"/";color:var(--line)}@keyframes marquee{to{transform:translate(calc(-50% - 20px))}}.card{position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(260px circle at var(--cx, 50%) var(--cy, 50%),color-mix(in srgb,var(--ink) 8%,transparent),transparent 70%)}.card:hover:before{opacity:1}.card .ico{transition:transform .35s var(--ease-spring, cubic-bezier(.34,1.4,.64,1)),background .2s,color .2s}.card:hover .ico{transform:translateY(-2px) rotate(-6deg);background:var(--ink);color:var(--bg);box-shadow:none}.firm{position:relative;transition:background .2s,padding-left .3s var(--ease)}.firm:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ink);transform:scaleY(0);transition:transform .3s var(--ease)}.firm:hover:before{transform:scaleY(1)}.firm:hover{padding-left:24px}.firm__list li{transition:border-color .2s,transform .2s var(--ease)}.firm__list li:hover{transform:translateY(-2px)}.clients span{transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease)}.clients span:hover{transform:translateY(-3px)}.step.is-in:before{animation:pop .6s var(--ease) both;animation-delay:calc(var(--d, 0ms) + .2s)}@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15)}}.game__art{min-height:0;aspect-ratio:16 / 9;padding:0;background:#000;overflow:hidden}.game__art:before{display:none}.game__img,.game__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s,transform 1.2s var(--ease)}.game__video{opacity:0}.game:hover .game__img{transform:scale(1.04)}.game.is-playing .game__video{opacity:1}.game.is-playing .game__img{opacity:0}.game__play{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#0009;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .3s,transform .3s var(--ease)}.game__play svg{width:16px;height:16px;margin-left:2px}.game.is-playing .game__play{opacity:0;transform:scale(.6)}.game{grid-template-columns:1.2fr .8fr}.btn-outline{position:relative;overflow:hidden;isolation:isolate;transition:color .3s}.btn-outline:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);transform:translateY(101%);transition:transform .35s var(--ease);z-index:-1}.btn-outline:hover{background:transparent;color:var(--bg)}.btn-outline:hover:before{transform:none}@media (max-width: 900px){.game{grid-template-columns:1fr}}@media (max-width: 600px){.stats{gap:20px}.stats dt{font-size:1.35rem}.firm:hover{padding-left:18px}}@media (prefers-reduced-motion: reduce){.panel,.panel ul li,.panel .tech span{opacity:1!important;transform:none!important}.marquee__track{animation:none}}.game__body>.tag{justify-self:start}.firm--flat{grid-template-columns:1fr;padding:18px}.firm--flat:hover{padding-left:18px;background:transparent}.firm--flat:before{display:none}.firm--flat .firm__list{gap:10px}.firm--flat .firm__list li{padding:10px 14px;font-size:.95rem}@property --ang{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hero{min-height:min(88svh,820px);display:grid;align-items:center}.hero:before{opacity:.45}.hero__net{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.hero__scan{position:absolute;left:0;right:0;top:0;height:120px;pointer-events:none;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ink) 6%,transparent) 60%,transparent);animation:scan 7s linear infinite}@keyframes scan{0%{transform:translateY(-120px)}to{transform:translateY(100svh)}}.hero h1{background:linear-gradient(100deg,var(--ink) 0%,var(--ink) 35%,var(--ink-3) 50%,var(--ink) 65%,var(--ink) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise .8s var(--ease) 80ms forwards,shine 5s linear 1s infinite}@keyframes shine{0%{background-position:125% 0}to{background-position:-125% 0}}.glow-border{position:relative}.glow-border:after,.card:after,.ai:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from var(--ang),transparent 0 62%,color-mix(in srgb,var(--ink) 85%,transparent) 80%,transparent 96%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:spin 4s linear infinite}.card:after{opacity:0;transition:opacity .3s;animation-duration:3s}.card:hover:after{opacity:1}@keyframes spin{to{--ang: 360deg}}.ai{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:380px;background:color-mix(in srgb,var(--surface) 95%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 30px 80px -30px #000000b3,0 0 0 1px var(--line);border:0}.ai .panel__bar{position:relative}.ai__status{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-style:normal;color:var(--ink-2)}.ai__status b{width:7px;height:7px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 0 var(--ink);animation:ping 2s infinite}@keyframes ping{0%{box-shadow:0 0 color-mix(in srgb,var(--ink) 50%,transparent)}80%,to{box-shadow:0 0 0 8px transparent}}.ai__log{padding:18px 18px 8px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;overflow:hidden;min-height:270px}.msg{display:grid;gap:6px;max-width:92%;opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}.msg.is-in{opacity:1;transform:none}.msg__who{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.msg__body{padding:10px 13px;border-radius:10px;font-size:.92rem;line-height:1.5}.msg--you{align-self:flex-end}.msg--you .msg__who{text-align:right}.msg--you .msg__body{background:var(--ink);color:var(--bg);border-bottom-right-radius:3px}.msg--bot .msg__body{background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);border-bottom-left-radius:3px}.msg__body .caret:after{content:"▍";margin-left:1px;animation:caret 1s steps(1) infinite}.thinking{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.78rem;color:var(--ink-2)}.thinking i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:think 1.2s infinite}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}@keyframes think{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.plan__title{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.plan{display:flex;flex-wrap:wrap;gap:6px}.plan span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:6px;font-family:var(--font-mono);font-size:.74rem;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);opacity:0;transform:scale(.9);transition:opacity .3s,transform .35s var(--ease)}.plan span.is-in{opacity:1;transform:none}.plan span:before{content:"✓";font-size:.7rem}.ai__form{display:flex;align-items:center;gap:8px;margin:0 14px 14px;padding:6px 6px 6px 12px;border-radius:10px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s}.ai__form:focus-within{box-shadow:inset 0 0 0 1px var(--ink),0 0 0 4px var(--accent-soft)}.ai__prompt{font-family:var(--font-mono);color:var(--ink-3)}.ai__form input{flex:1;min-width:0;border:0;background:transparent;padding:8px 0;font-size:1rem;color:var(--ink)}.ai__form input:focus{outline:none}.ai__form input::placeholder{color:var(--ink-3)}.ai__send{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--ink);color:var(--bg);transition:transform .2s var(--ease)}.ai__send:hover{transform:translate(2px)}.ai__send svg{width:16px;height:16px}h2.scrambling{font-family:var(--font-mono);letter-spacing:-.02em}:root[data-theme=dark] .stats dt{text-shadow:0 0 18px rgba(255,255,255,.25)}:root[data-theme=dark] .hero h1{filter:drop-shadow(0 0 24px rgba(255,255,255,.08))}.section--tint .card,.section--tint .firms{background:color-mix(in srgb,var(--surface) 88%,transparent)}@media (max-width: 900px){.hero{min-height:0}.ai{min-height:360px}}@media (max-width: 600px){.ai__log{min-height:250px;padding:14px 14px 6px}.msg__body{font-size:.88rem}}@media (prefers-reduced-motion: reduce){.hero__scan{display:none}.hero h1{animation:none;opacity:1;transform:none;color:var(--ink);background:none}.card:after,.ai:after{animation:none}}.hero__grid{grid-template-columns:1fr 1fr}.core{position:relative;width:min(100%,540px);aspect-ratio:1;justify-self:center}.core__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.core:before{content:"";position:absolute;top:18%;right:18%;bottom:18%;left:18%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--ink) 14%,transparent),transparent 70%);filter:blur(30px);animation:breathe 6s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.12);opacity:.6}}.core__rings{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.core__rings circle{fill:none;stroke:var(--line);stroke-width:1;transform-origin:200px 200px}.core__rings .r1{stroke-dasharray:2 10;animation:rot 60s linear infinite}.core__rings .r2{stroke-dasharray:80 600;stroke:color-mix(in srgb,var(--ink) 40%,transparent);animation:rot 14s linear infinite reverse}.core__rings .r3{stroke-dasharray:1 6;animation:rot 40s linear infinite}@keyframes rot{to{transform:rotate(360deg)}}.hud{position:absolute;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;color:var(--ink-3);display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;background:color-mix(in srgb,var(--bg) 70%,transparent);box-shadow:inset 0 0 0 1px var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hud b{color:var(--ink);font-weight:600}.hud--tl{top:6%;left:2%}.hud--tr{top:6%;right:2%}.hud--bl{bottom:6%;left:2%}.hud--br{bottom:6%;right:2%}.hud__dot{width:6px;height:6px;border-radius:50%;background:var(--ink);animation:ping 2s infinite}.assist{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:center}.assist .section__head{margin:0}.section--assist{position:relative;overflow:hidden}.section--assist:before{content:"";position:absolute;right:-10%;top:10%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--ink) 8%,transparent),transparent 65%);pointer-events:none}.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.bento__item{padding:0;gap:0;grid-template-rows:auto 1fr}.bento__item.b-2{grid-column:span 2}.bento__item>.ico{display:none}.bento__item>h3{padding:16px 20px 0}.bento__item>p{padding:6px 20px 20px}.viz{height:150px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0 / 22px 22px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0 / 22px 22px,var(--bg-2)}.viz--code{padding:16px 18px;font-family:var(--font-mono);font-size:.76rem;display:grid;align-content:center;gap:4px}.viz--code code{display:flex;gap:14px;color:var(--ink-2);white-space:nowrap}.viz--code code i{font-style:normal;color:var(--ink-3);width:16px}.viz--code code b{color:var(--ink);font-weight:600}.viz--code code span{overflow:hidden;width:0;animation:typeline 8s steps(30,end) infinite}.viz--code code:nth-child(2) span{animation-delay:.6s}.viz--code code:nth-child(3) span{animation-delay:1.2s}.viz--code code:nth-child(4) span{animation-delay:1.8s}.viz--code code:nth-child(5) span{animation-delay:2.4s}.viz--code code:nth-child(5) span:after{content:"▍";animation:caret 1s steps(1) infinite}@keyframes typeline{0%{width:0}12%,80%{width:26ch}92%,to{width:0}}.viz--web{display:grid;place-items:center}.viz--web .vb,.viz--web .vw{width:78%}.viz--web .vb{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:var(--surface)}.viz--web .vb i{width:6px;height:6px;border-radius:50%;background:var(--line)}.viz--web .vb span{flex:1;height:8px;margin-left:6px;border-radius:4px;background:var(--bg-2)}.viz--web .vw{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:0 0 8px 8px;background:var(--surface)}.viz--web .vw b{height:8px;border-radius:4px;background:var(--ink);opacity:.15;width:var(--w);transform-origin:left;animation:bar 3.6s var(--ease) infinite}.viz--web .vw b:nth-child(2){animation-delay:.25s}.viz--web .vw b:nth-child(3){animation-delay:.5s;opacity:.35}.viz--web .vw b:nth-child(4){animation-delay:.75s}@keyframes bar{0%{transform:scaleX(0)}30%,80%{transform:scaleX(1)}to{transform:scaleX(0)}}.viz--win{display:grid;place-items:center}.viz--win .ww{width:74%;border:1px solid var(--line);border-radius:6px;background:var(--surface);overflow:hidden}.viz--win .wt{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--line)}.viz--win .wt span{flex:1;height:6px;border-radius:3px;background:var(--bg-2)}.viz--win .wt i{width:10px;height:2px;background:var(--ink-3)}.viz--win .wp{margin:14px 12px 8px;height:6px;border-radius:3px;background:var(--bg-2);overflow:hidden}.viz--win .wp b{display:block;height:100%;background:var(--ink);animation:prog 3s var(--ease) infinite}@keyframes prog{0%{width:0}70%,to{width:100%}}.viz--win .wl{display:grid;gap:5px;padding:0 12px 12px}.viz--win .wl i{height:5px;border-radius:3px;background:var(--bg-2)}.viz--win .wl i:last-child{width:60%}.viz--bank{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:0 22px}.bk__col span{display:inline-block;padding:8px 10px;border-radius:6px;border:1px solid var(--ink);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;background:var(--surface)}.bk__flow{position:relative;height:100%;overflow:hidden}.bk__flow:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--line)}.bk__flow i{position:absolute;top:calc(50% - 11px);left:0;font-style:normal;font-family:var(--font-mono);font-size:.7rem;padding:3px 7px;border-radius:5px;background:var(--ink);color:var(--bg);white-space:nowrap;opacity:0;animation:tx 4.8s linear infinite;animation-delay:calc(var(--i) * 1.6s)}@keyframes tx{0%{transform:translate(-20%);opacity:0}10%{opacity:1}85%{opacity:1}to{transform:translate(calc(var(--fw, 260px)));opacity:0}}.viz--sync{display:flex;align-items:center;justify-content:center;gap:14px;padding:0 22px}.viz--sync .db{padding:10px 14px;border-radius:8px;border:1px solid var(--ink);background:var(--surface);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em}.viz--sync .line{position:relative;flex:1;max-width:340px;height:2px;background:var(--line)}.viz--sync .line i{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:var(--ink);box-shadow:0 0 12px var(--ink);animation:flow 2.4s linear infinite}.viz--sync .line i:nth-child(2){animation-delay:.6s}.viz--sync .line i:nth-child(3){animation-delay:1.2s;animation-direction:reverse}.viz--sync .line i:nth-child(4){animation-delay:1.8s;animation-direction:reverse}@keyframes flow{0%{left:0}to{left:calc(100% - 8px)}}.viz--game img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .5s,transform 1s var(--ease)}.card:hover .viz--game img{filter:none;transform:scale(1.05)}.belts{display:grid;gap:12px}.belt{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.belt__track{display:flex;gap:10px;width:max-content;animation:marquee 50s linear infinite}.belt--rev .belt__track{animation-direction:reverse;animation-duration:56s}.belt:hover .belt__track{animation-play-state:paused}.belt__list{display:flex;gap:10px}.belts .belt__list li{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:.95rem;font-weight:500;white-space:nowrap;transition:border-color .2s,transform .2s var(--ease)}.belts .belt__list li:hover{border-color:var(--ink);transform:translateY(-2px)}.belts .belt__list small{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.belts .belt__list small.dev{color:var(--ink)}.belt--names .belt__track{animation-duration:36s;gap:0}.belt--names .belt__list{gap:0}.belt--names li{padding:18px 28px;font-family:var(--font-mono);font-size:1.02rem;font-weight:600;color:var(--ink-3);white-space:nowrap;display:inline-flex;align-items:center;gap:28px;transition:color .2s}.belt--names li:after{content:"✦";font-size:.7rem;color:var(--line)}.belt--names li:hover{color:var(--ink)}.cursor{position:fixed;left:0;top:0;z-index:999;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1px solid var(--ink);pointer-events:none;opacity:0;transition:width .25s var(--ease),height .25s var(--ease),margin .25s var(--ease),opacity .3s,background .25s;mix-blend-mode:difference}:root[data-theme=dark] .cursor{border-color:#fff}.cursor.is-on{opacity:.9}.cursor.is-hover{width:56px;height:56px;margin:-28px 0 0 -28px;background:#ffffff1f}@media (hover: none),(pointer: coarse){.cursor{display:none}}.btn{will-change:transform}@media (max-width: 900px){.hero__grid{grid-template-columns:1fr}.core{width:min(100%,420px);order:-1}.assist{grid-template-columns:1fr}.bento{grid-template-columns:repeat(2,1fr)}.bento__item.b-2{grid-column:span 2}}@media (max-width: 600px){.core{width:min(92%,340px)}.hud{font-size:.6rem;padding:3px 6px}.bento{grid-template-columns:1fr}.bento__item.b-2{grid-column:auto}.viz{height:130px}.belts .belt__list li{padding:10px 13px;font-size:.9rem}}@media (prefers-reduced-motion: reduce){.belt__track{animation:none;flex-wrap:wrap;width:auto}.belt__list[aria-hidden]{display:none}.belt__list{flex-wrap:wrap}.core__rings circle,.core:before{animation:none}}.bento__item{grid-template-rows:auto auto 1fr}.bento__item>p{align-self:start}.bk__flow i{top:calc(24% + var(--i) * 26% - 11px)}.bk__flow:before{top:24%;box-shadow:0 0 0 0 transparent}.bk__flow:after{content:"";position:absolute;left:0;right:0;top:76%;border-top:1px dashed var(--line)}.pxfx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none}.core__say{position:absolute;left:50%;bottom:3%;width:min(92%,380px);transform:translate(-50%,8px);display:grid;gap:8px;justify-items:center;padding:10px 12px;border-radius:10px;text-align:center;background:color-mix(in srgb,var(--bg) 78%,transparent);box-shadow:inset 0 0 0 1px var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .35s,transform .35s var(--ease)}.core.is-talk .core__say{opacity:1;transform:translate(-50%);pointer-events:auto}.core__say-text{margin:0;font-size:.86rem;line-height:1.45;min-height:2.9em}.core__say-text.is-typing:after{content:"";display:inline-block;width:.45em;height:1em;margin-left:2px;vertical-align:-2px;background:currentColor;animation:sayBlink 1s steps(1) infinite}.core__say-row{display:flex;gap:8px;align-items:center}.core__snd{width:34px;height:34px;border-radius:6px;display:grid;place-items:center;color:var(--ink);background:transparent;box-shadow:inset 0 0 0 1px var(--line);cursor:pointer}.core__snd:hover{box-shadow:inset 0 0 0 1px var(--ink)}.core__snd.is-on .w1{animation:wave 1s ease-in-out infinite}.core__snd.is-on .w2{animation:wave 1s ease-in-out .2s infinite}.core__snd.is-hint{animation:sndHint 1.6s ease-in-out infinite}.core .hud--bl,.core .hud--br{transition:opacity .3s}.core.is-talk .hud--bl,.core.is-talk .hud--br{opacity:0}@keyframes sayBlink{50%{opacity:0}}@keyframes wave{50%{opacity:.2}}@keyframes sndHint{50%{box-shadow:inset 0 0 0 1px var(--ink),0 0 0 4px color-mix(in srgb,var(--ink) 18%,transparent)}}.core-ph{display:none;width:min(100%,540px);aspect-ratio:1;justify-self:center}.core-full .core-ph{display:block}.core-full .core{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;aspect-ratio:auto;z-index:400;background:var(--bg)}.core-full .core__rings{inset:50% auto auto 50%;width:min(86vmin,820px);height:min(86vmin,820px);transform:translate(-50%,-50%)}.core-full .core:before{inset:50% auto auto 50%;width:60vmin;height:60vmin;transform:translate(-50%,-50%)}.core-full .hud--tl{top:16px;left:16px}.core-full .hud--tr{top:16px;right:16px}.core-full .hud--bl{bottom:16px;left:16px}.core-full .hud--br{bottom:16px;right:16px}.core-full .core__say{bottom:max(7vh,56px);width:min(92%,520px);padding:14px 16px}.core-full .core__say-text{font-size:clamp(.98rem,2vw,1.2rem)}.core-full.core-lock,.core-full.core-lock body{overflow:hidden}.core__skip{display:none}.core-full .core__skip{display:inline-flex}.core.is-leaving{transition:transform .9s cubic-bezier(.7,0,.2,1),clip-path .9s cubic-bezier(.7,0,.2,1),background-color .7s,opacity .6s}.core.is-leaving .hud,.core.is-leaving .core__say{opacity:0!important;transition:opacity .25s}@media (max-width: 900px){.core-ph{width:min(100%,420px);order:-1}}@media (max-width: 600px){.core-ph{width:min(92%,340px)}}.progress{position:fixed;left:0;top:0;z-index:120;width:100%;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}main{counter-reset:sec}.section .label{counter-increment:sec}.section .label:before{content:counter(sec,decimal-leading-zero);color:var(--ink);font-weight:600}.section .label:after{content:"";width:34px;height:1px;background:var(--line);margin-left:4px}.section h2{letter-spacing:-.022em}.section{position:relative}.section:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 22%,transparent) 50%,transparent);pointer-events:none}.nav{background:color-mix(in srgb,var(--bg) 62%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4)}.card{position:relative}.bento__item:before{content:"";position:absolute;right:10px;top:10px;width:8px;height:8px;border-top:1px solid var(--ink-3);border-right:1px solid var(--ink-3);opacity:.6;pointer-events:none;transition:opacity .3s,transform .3s var(--ease)}.bento__item:hover:before{opacity:1;transform:translate(2px,-2px)}.core__frame{display:none}.core-full .core__frame{display:block;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--grid, rgba(255,255,255,.04)) 1px,transparent 1px),linear-gradient(90deg,var(--grid, rgba(255,255,255,.04)) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 85%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 85%)}.core__frame i{position:absolute;width:26px;height:26px;border:0 solid var(--ink);opacity:.7}.core__frame i:nth-child(1){left:20px;top:52px;border-left-width:1px;border-top-width:1px}.core__frame i:nth-child(2){right:20px;top:52px;border-right-width:1px;border-top-width:1px}.core__frame i:nth-child(3){left:20px;bottom:52px;border-left-width:1px;border-bottom-width:1px}.core__frame i:nth-child(4){right:20px;bottom:52px;border-right-width:1px;border-bottom-width:1px}.core__boot{position:absolute;left:50%;top:18px;transform:translate(-50%);font:400 .66rem/1 var(--font-mono);letter-spacing:.18em;color:var(--ink-3);white-space:nowrap}.core__boot b{color:var(--ink);font-weight:600}.core__scanline{position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ink) 7%,transparent));border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent);animation:coreScan 5.5s linear infinite}@keyframes coreScan{0%{transform:translateY(-130px)}to{transform:translateY(100vh)}}.core.is-leaving .core__frame{opacity:0;transition:opacity .25s}.core__say{border-radius:4px;background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.core__say-tag{display:inline-flex;align-items:center;gap:6px;font:600 .6rem/1 var(--font-mono);letter-spacing:.2em;color:var(--ink-3)}.core__say-tag i{width:6px;height:6px;border-radius:50%;background:var(--ink);animation:ping 2s infinite}.core-full .core__say:before,.core-full .core__say:after{content:"";position:absolute;width:10px;height:10px;border:0 solid var(--ink)}.core-full .core__say:before{left:-1px;top:-1px;border-left-width:1px;border-top-width:1px}.core-full .core__say:after{right:-1px;bottom:-1px;border-right-width:1px;border-bottom-width:1px}@media (max-width: 600px){.core__boot,.core__frame i{display:none}}@media (prefers-reduced-motion: reduce){.core__scanline{animation:none;display:none}}:root{scrollbar-color:color-mix(in srgb,var(--ink) 35%,transparent) transparent;scrollbar-width:thin;accent-color:var(--ink)}h2,h3,.core__say-text{text-wrap:balance}.card p,.step p,.muted,.contact__info .lede,.footer p{text-wrap:pretty}.contact__list a span,.footer a{overflow-wrap:anywhere}@media (prefers-reduced-motion: reduce){.rise>*{animation:none;opacity:1;transform:none}.reveal{transition:none;opacity:1;transform:none}.hero:before,.hero h1:after,.tag--dev:before,.panel__bar i,.ai__status b,.hud__dot,.core__say-tag i,.msg__body .caret:after,.thinking i,.viz *,.viz *:after,.bk__flow i,.card:after,.ai:after,.core__say-text.is-typing:after,.step.is-in:before{animation:none!important}.viz--code code span{width:auto}.card:hover{transform:none}}.motion-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:14px;min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--ink-2);transition:color .15s,border-color .15s}.motion-toggle:hover{color:var(--ink);border-color:var(--ink-3)}.motion-toggle svg{width:12px;height:12px}.motion-paused .marquee__track,.motion-paused .belt__track{animation-play-state:paused}.belt:focus-within .belt__track{animation-play-state:paused}@media (forced-colors: active){.btn,.card,.belt li,.field input,.field textarea,.lang,.motion-toggle{border:1px solid CanvasText}.lang button[aria-pressed=true]{background:Highlight;color:HighlightText}.core__canvas{forced-color-adjust:none}}:root{--bg: #fafafa;--bg-2: #f2f2f2;--surface: #ffffff;--ink: #171717;--ink-2: #4d4d4d;--ink-3: #666666;--line: #e5e5e5;--accent: #171717;--accent-2: #333333;--accent-soft: #efefef;--on-accent: #ffffff;--grid: rgba(23, 23, 23, .05);--r: 12px;--r-sm: 8px;--pill: 9999px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--track-display: -.022em;--track-body: -.011em}:root[data-theme=dark]{--bg: #08090a;--bg-2: #0f1011;--surface: #0f1011;--ink: #f7f8f8;--ink-2: #d0d6e0;--ink-3: #8a8f98;--line: #1f2023;--accent: #f7f8f8;--accent-2: #e2e4e7;--accent-soft: #16171a;--on-accent: #08090a;--grid: rgba(247, 248, 248, .04);--shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 12px 32px -16px rgba(0, 0, 0, .8)}body{letter-spacing:var(--track-body);font-feature-settings:"cv11","ss01"}h1{font-weight:560;letter-spacing:var(--track-display);line-height:1.04;font-size:clamp(2rem,1.2rem + 2.6vw,3.25rem)}h2{font-weight:540;letter-spacing:var(--track-display);line-height:1.08;font-size:clamp(1.55rem,1.15rem + 1.3vw,2.3rem)}h3{font-weight:560;letter-spacing:-.012em}.lede{color:var(--ink-3);font-size:clamp(1rem,.95rem + .2vw,1.1rem);line-height:1.6}.hero h1{font-weight:560}.btn{border-radius:var(--pill);font-weight:520;letter-spacing:-.006em;padding-inline:20px}.btn-sm{padding-inline:14px;font-size:.84rem;min-height:34px}.btn:hover{transform:none;box-shadow:none;background:var(--accent-2)}.btn-outline{box-shadow:inset 0 0 0 1px var(--line)}.btn-outline:hover{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--ink-3)}.nav__links a{font-size:.84rem;font-weight:450;color:var(--ink-3);border-radius:var(--pill);padding:6px 12px}.nav__links a:hover,.nav__links a.is-active{color:var(--ink);background:var(--accent-soft)}.lang,.motion-toggle{border-radius:var(--pill)}.card{border-radius:var(--r);border-color:var(--line);background:var(--surface)}.card:hover{transform:none;border-color:color-mix(in srgb,var(--ink) 22%,transparent);box-shadow:none}.belt li,.belts .belt__list li{border-radius:var(--pill)}.field input,.field textarea{border-radius:var(--r-sm);background:var(--surface)}.field input:focus,.field textarea:focus{border-color:var(--ink-3)}.panel{border-radius:var(--r)}.tag{border-radius:var(--pill)}.form__hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form__err:empty,.form__ok:empty{display:none}.form__err{padding:12px 14px;border-radius:var(--r-sm, 8px);border:1px solid var(--ink-3);color:var(--ink);font-size:.92rem}.form__err:before{content:"! ";font-weight:700}.field [aria-invalid=true]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.form .btn[disabled]{opacity:.6;cursor:progress}.field .req{color:var(--ink-3);font-weight:400}.field__err{font-size:.8rem;color:var(--ink);display:flex;gap:6px;align-items:baseline}.field__err:before{content:"!";display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--ink);color:var(--bg);font-size:.62rem;font-weight:700;flex:none;transform:translateY(2px)}.form__captcha{min-height:65px}.form__captcha:empty{min-height:0}
