:root{--bg:#fafaf8;--soft:#f1f1ee;--ink:#14161a;--muted:#5b5f66;--line:#e4e4e0;--line-strong:#d5d6d1;--accent:#2f45c9;--accent-soft:#eceffb;--on-accent:#fff;--ok:#16a36b;--shadow:#14161a29;--glass:#fafaf8d1;--display:"Manrope Variable","Manrope",system-ui,sans-serif;--sans:"Manrope Variable","Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono Variable","JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;--max:1160px;--nav-h:68px;--radius:14px;--ease:cubic-bezier(.2,.7,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);color-scheme:light}:root[data-theme=dark]{--bg:#14161a;--soft:#1a1d22;--ink:#f1f1ee;--muted:#a9aeb6;--line:#22262d;--line-strong:#3a3f47;--accent:#7d8ef2;--accent-soft:#7d8ef221;--on-accent:#14161a;--ok:#2fd18b;--shadow:#0009;--glass:#14161ac7;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:400;line-height:1.65}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}@media (width<=600px){.wrap{padding:0 16px}}.mono{font-family:var(--mono)}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:var(--bg);border-radius:8px;padding:10px 14px;font-size:.85rem;transition:top .2s;position:fixed;top:-60px;left:16px}.skip:focus{top:12px}section{border-top:1px solid var(--line);padding:112px 0;position:relative}@media (width<=600px){section{padding:80px 0}}.label{font-family:var(--mono);color:var(--accent);letter-spacing:.01em;margin-bottom:18px;font-size:.78rem}h1,h2,h3{font-family:var(--display);font-weight:700}h2{letter-spacing:-.03em;max-width:20ch;font-size:clamp(2rem,4vw,3rem);line-height:1.08}.grid-2{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}@media (width<=860px){.grid-2{grid-template-columns:1fr;gap:36px}}.prose p{color:var(--muted);max-width:58ch;margin-bottom:18px;font-size:1.04rem}.prose p strong{color:var(--ink);font-weight:500}.btn{isolation:isolate;border:1px solid var(--ink);cursor:pointer;transition:background-color .25s,border-color .25s,color .25s,transform .25s var(--ease);border-radius:10px;align-items:center;gap:10px;padding:13px 22px;font-size:.92rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.98)}.btn .arr{width:15px;height:15px;transition:transform .3s var(--ease)}.btn:hover .arr{transform:translate(3px)}.btn.solid{background:var(--ink);color:var(--bg)}.btn.solid:after{content:"";z-index:-1;transition:transform .8s var(--ease-out);background:linear-gradient(110deg,#0000 30%,#ffffff47 50%,#0000 70%);position:absolute;inset:0;transform:translate(-110%)}.btn.solid:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.solid:hover:after{transform:translate(110%)}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}.link-arrow{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding-bottom:2px;font-size:.92rem;font-weight:500;transition:color .2s,border-color .2s;display:inline-flex}.link-arrow svg{width:14px;height:14px;transition:transform .3s var(--ease)}.link-arrow:hover{color:var(--accent);border-color:var(--accent)}.link-arrow:hover svg{transform:translate(3px)}.spot{isolation:isolate;position:relative}.spot:before,.spot:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;position:absolute}.spot:before{z-index:2;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),var(--accent),transparent 70%);-webkit-mask-composite:xor;padding:1px;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 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;mask-composite:exclude;mask-mode:match-source,match-source}.spot:after{z-index:-1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),var(--accent-soft),transparent 65%);inset:0}.spot:hover:before,.spot:hover:after{opacity:1}.js .reveal{opacity:0;filter:blur(6px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),filter .9s var(--ease-out);transition-delay:calc(var(--d,0) * 90ms);transform:translateY(18px)}.js .reveal.in{opacity:1;filter:none;transform:none}@view-transition{navigation:auto}::view-transition-old(root){animation:.22s both vt-out}::view-transition-new(root){animation:vt-in .45s var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}.theme-vt::view-transition-old(root),.theme-vt::view-transition-new(root){mix-blend-mode:normal;animation:none}.theme-vt .site-header{view-transition-name:none!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js .reveal{opacity:1;filter:none;transform:none}@view-transition{navigation:none}}.form{gap:16px;display:grid}.form .field{gap:6px;display:grid}.form .field>label,.form .field-label{font-family:var(--mono);color:var(--muted);font-size:.75rem;transition:color .2s}.form .field>label:before,.form .field-label:before{content:"› ";color:var(--accent);opacity:0;transition:opacity .2s}.form .field:focus-within>label,.form .field:focus-within>.field-label{color:var(--accent)}.form .field:focus-within>label:before,.form .field:focus-within>.field-label:before{opacity:1}.form input:not([type=checkbox]),.form textarea,.form select{background:var(--bg);border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);border-radius:10px;outline:none;padding:12px 14px;font-size:.98rem;transition:border-color .2s,box-shadow .2s}.form input::placeholder,.form textarea::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}.form input:hover,.form textarea:hover,.form select:hover{border-color:var(--line-strong)}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.form .field.invalid input,.form .field.invalid textarea,.form .field.invalid .choices{border-color:#e5484d;animation:.35s shake}.form .field .msg{color:#e5484d;font-size:.78rem}.form .field .msg:empty{display:none}.form textarea{resize:vertical;min-height:120px}.form .row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=560px){.form .row{grid-template-columns:1fr}}.form .actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.form .status{font-family:var(--mono);color:var(--muted);font-size:.75rem}.form .status.err{color:#e5484d}.form .status.ok{color:var(--ok)}.form button:disabled{opacity:.6;cursor:progress}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.logo[data-astro-cid-f7espo7c] .core[data-astro-cid-f7espo7c]{fill:var(--accent);stroke:none;transform-origin:56px 62px;transition:transform .5s var(--ease-out)}.intro .logo[data-astro-cid-f7espo7c] path[data-astro-cid-f7espo7c]{stroke-dasharray:1 1;stroke-dashoffset:1px;animation:draw 1.4s var(--ease-out) .15s forwards}.intro .logo[data-astro-cid-f7espo7c] path[data-astro-cid-f7espo7c]:nth-of-type(2){animation-delay:.4s}.intro .logo[data-astro-cid-f7espo7c] path[data-astro-cid-f7espo7c]:nth-of-type(3){animation-delay:.65s}.intro .logo[data-astro-cid-f7espo7c] .core[data-astro-cid-f7espo7c]{animation:pop .6s var(--ease-out) 1.2s forwards;transform:scale(0)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{to{transform:scale(1)}}.theme[data-astro-cid-l6lhmie6]{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;place-items:center;transition:color .2s,border-color .2s;display:grid}.theme[data-astro-cid-l6lhmie6]:hover{color:var(--ink);border-color:var(--line-strong)}svg[data-astro-cid-l6lhmie6]{width:18px;height:18px}.disc[data-astro-cid-l6lhmie6],.cut[data-astro-cid-l6lhmie6],.rays[data-astro-cid-l6lhmie6]{transform-origin:12px 12px;transition:transform .6s var(--ease-out), opacity .4s}[data-theme=dark] .disc[data-astro-cid-l6lhmie6]{transform:scale(1.6)}[data-theme=dark] .cut[data-astro-cid-l6lhmie6]{transform:translate(-11px,6px)}[data-theme=dark] .rays[data-astro-cid-l6lhmie6]{opacity:0;transform:rotate(-60deg)scale(.4)}.site-header[data-astro-cid-nen7h5rs]{z-index:20;background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.4);view-transition-name:site-header;border-bottom:1px solid #0000;transition:border-color .3s;position:sticky;top:0}.site-header[data-astro-cid-nen7h5rs].scrolled{border-color:var(--line)}nav[data-astro-cid-nen7h5rs]{height:var(--nav-h);align-items:center;gap:28px;display:flex}.brand[data-astro-cid-nen7h5rs]{font-family:var(--display);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.3rem;font-weight:700;display:flex}.brand[data-astro-cid-nen7h5rs] .logo{width:30px;height:30px}.brand[data-astro-cid-nen7h5rs]:hover .logo .core{transform:scale(1.45)}.links[data-astro-cid-nen7h5rs]{align-items:center;gap:30px;margin-left:auto;font-size:.9rem;display:flex;position:relative}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--muted);transition:color .2s}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page],.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs].active{color:var(--ink)}.ind[data-astro-cid-nen7h5rs]{background:var(--accent);opacity:0;pointer-events:none;width:0;height:2px;transition:transform .45s var(--ease-out), width .45s var(--ease-out), opacity .3s;border-radius:2px;position:absolute;bottom:-9px;left:0}.links[data-astro-cid-nen7h5rs] .nav-cta[data-astro-cid-nen7h5rs]{color:var(--bg);background:var(--ink);border-radius:8px;margin-left:6px;padding:9px 18px;transition:background-color .2s,color .2s}.links[data-astro-cid-nen7h5rs] .nav-cta[data-astro-cid-nen7h5rs]:hover{color:var(--on-accent);background:var(--accent)}.actions[data-astro-cid-nen7h5rs]{align-items:center;gap:8px;display:flex}.menu-btn[data-astro-cid-nen7h5rs]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;width:38px;height:38px;display:none;position:relative}.menu-btn[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:var(--ink);height:1.6px;transition:transform .35s var(--ease-out);border-radius:2px;position:absolute;left:10px;right:10px}.menu-btn[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]:first-child{transform:translateY(-4px)}.menu-btn[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]:last-child{transform:translateY(4px)}.menu-btn[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:first-child{transform:rotate(45deg)}.menu-btn[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:last-child{transform:rotate(-45deg)}.progress[data-astro-cid-nen7h5rs]{background:var(--accent);transform-origin:0;height:1px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.progress[data-astro-cid-nen7h5rs]{animation:linear both progress scroll(root)}}@keyframes progress{to{transform:scaleX(1)}}@media (width<=860px){nav[data-astro-cid-nen7h5rs]{justify-content:space-between}.links[data-astro-cid-nen7h5rs]{top:var(--nav-h);background:var(--bg);border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transition:opacity .3s var(--ease-out), transform .3s var(--ease-out), visibility 0s .3s;flex-direction:column;align-items:stretch;gap:0;position:absolute;left:0;right:0;transform:translateY(-8px)}.links[data-astro-cid-nen7h5rs].open{visibility:visible;opacity:1;transition:opacity .3s var(--ease-out), transform .3s var(--ease-out);transform:none}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-top:1px solid var(--line);padding:16px 24px}.links[data-astro-cid-nen7h5rs] .nav-cta[data-astro-cid-nen7h5rs]{text-align:center;border-radius:0;margin:0;padding:16px 24px}.ind[data-astro-cid-nen7h5rs]{display:none}.menu-btn[data-astro-cid-nen7h5rs]{display:block}}footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);color:var(--muted);padding:36px 0;font-size:.85rem}.wrap[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-items:center;gap:16px 28px;display:flex}.brand[data-astro-cid-jo6i4kqk]{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:8px;font-weight:700;display:flex}.brand[data-astro-cid-jo6i4kqk] .logo{width:22px;height:22px}.status[data-astro-cid-jo6i4kqk]{align-items:center;gap:8px;margin-left:auto;font-size:.75rem;display:inline-flex}.status[data-astro-cid-jo6i4kqk] i[data-astro-cid-jo6i4kqk]{background:var(--ok);border-radius:50%;width:7px;height:7px;position:relative}.status[data-astro-cid-jo6i4kqk] i[data-astro-cid-jo6i4kqk]:after{content:"";background:var(--ok);animation:ping 2.4s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}@keyframes ping{70%,to{opacity:0;transform:scale(2.8)}}.legal[data-astro-cid-jo6i4kqk]{border-top:1px dashed var(--line);margin-top:20px;padding-top:20px;font-size:.72rem}.legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{transition:color .2s}.legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.up[data-astro-cid-jo6i4kqk]{align-items:center;gap:6px;font-size:.75rem;transition:color .2s;display:inline-flex}.up[data-astro-cid-jo6i4kqk] svg{width:12px;height:12px;transition:transform .3s var(--ease)}.up[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.up[data-astro-cid-jo6i4kqk]:hover svg{transform:translate(2px)}@media (width<=700px){.status[data-astro-cid-jo6i4kqk]{margin-left:0}}
