:root{--vt-bg:#fcfdff;--vt-page:#f6f3ec;--vt-page-deep:#eeeae1;--vt-surface:#fff;--vt-bg2:#eaeef5;--vt-ice:#e3efff;--vt-navy:#0a152a;--vt-night:#060911;--vt-night-text:#a4abb8;--vt-night-muted:#858b98;--vt-night-line:#a4abb829;--vt-text:#0f141d;--vt-body:#303640;--vt-muted:#545b68;--vt-muted2:#5f6672;--vt-faint:#999fa8;--vt-hair:#0f14281a;--vt-hair-str:#0f142838;--vt-accent:#3d78ff;--vt-accent-rgb:61, 120, 255;--vt-accent-ink:#265ddc;--vt-accent-hover:#1f4fc4;--vt-accent-on-dark:#6f9bff;--ease-out:cubic-bezier(.16, .84, .44, 1);--ease-snap:cubic-bezier(.23, 1, .32, 1);--gutter:clamp(20px, 4vw, 44px);--nav-h:72px}@media (width<=600px){:root{--nav-h:64px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--vt-page);scroll-padding-top:calc(var(--nav-h) + 16px);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#265ddc61 var(--vt-page)}html,body{overflow-x:clip}body{background:var(--vt-page);color:var(--vt-text);font-family:var(--font-sans), Helvetica, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.5}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{text-wrap:balance}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}::selection{background:var(--vt-accent-ink);color:#fff}:focus-visible{outline:2px solid var(--vt-accent-ink);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.vt-wrap{width:100%;max-width:1320px;margin-inline:auto}.vt-pad{padding-inline:var(--gutter)}.mono{font-family:var(--font-mono), ui-monospace, monospace}body:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#265ddc12 1px,#0000 1px),linear-gradient(90deg,#265ddc12 1px,#0000 1px),linear-gradient(#265ddc09 1px,#0000 1px),linear-gradient(90deg,#265ddc09 1px,#0000 1px);background-position:-1px -1px;background-size:120px 120px,120px 120px,24px 24px,24px 24px;position:fixed;inset:0}.vt-band-paper{background:var(--vt-bg)}.vt-band-mist{background:var(--vt-bg2)}.vt-band-ice{background:var(--vt-ice)}.vt-band-hero{background:radial-gradient(60% 70% at 88% 18%, rgba(var(--vt-accent-rgb), .12), transparent 70%), linear-gradient(180deg, var(--vt-ice) 0%, var(--vt-bg) 82%)}.vt-band-night{background:var(--vt-night);color:#fff}:is(.vt-band-hero,.vt-band-paper,.vt-band-mist,.vt-band-ice,.vt-band-night){isolation:isolate;--art-op:.13;--art-mask:radial-gradient(ellipse 80% 88% at 100% 0%, #000 38%, transparent 84%), radial-gradient(ellipse 80% 88% at 0% 100%, #000 38%, transparent 84%);position:relative}:is(.vt-band-hero,.vt-band-paper,.vt-band-mist,.vt-band-ice,.vt-band-night):before{content:"";z-index:-1;pointer-events:none;background:var(--art,none);opacity:var(--art-op);-webkit-mask-image:var(--art-mask);mask-image:var(--art-mask);position:absolute;inset:0}.vt-band-hero{--art:url(/art/frame-light.svg) center / 100% 100% no-repeat, url(/art/spanners-light.svg) left -16% bottom -46% / min(1300px, 90vw) auto no-repeat, url(/art/drive-light.svg) right -20% top -14% / min(1000px, 72vw) auto no-repeat;--art-op:.1;--art-mask:linear-gradient(#000, #000)}.vt-band-mist{--art:url(/art/scope-light.svg) right -12% top -4% / min(980px, 70vw) auto no-repeat, url(/art/drive-light.svg) left -14% bottom -16% / min(1150px, 82vw) auto no-repeat}.vt-band-ice{--art:url(/art/pcb-light.svg) right -10% top -6% / min(1000px, 72vw) auto no-repeat, url(/art/toolkit-light.svg) left -14% bottom -18% / min(1100px, 80vw) auto no-repeat}.vt-band-night{--art:url(/art/engine-dark.svg) right -6% top -8% / min(900px, 66vw) auto no-repeat;--art-op:.14}.vt-band-paper.vt-art-quiet{--art:url(/art/mechanical-light.svg) right -18% top -4% / min(900px, 66vw) auto no-repeat;--art-op:.08;--art-mask:linear-gradient(90deg, transparent 0, transparent calc(50% + 420px), #000 100%)}@media (width<=767px){:is(.vt-band-mist,.vt-band-ice,.vt-band-night){--art-op:.07;--art-mask:linear-gradient(#000 0%, transparent 30%, transparent 70%, #000 100%)}.vt-band-hero{--art:url(/art/spanners-light.svg) left 30% bottom -2% / 200vw auto no-repeat;--art-op:.08;--art-mask:linear-gradient(transparent 40%, #000 80%)}.vt-band-paper.vt-art-quiet{--art:none}}.vt-display{letter-spacing:-.045em;font-weight:800;line-height:.92}.vt-h2{letter-spacing:-.035em;font-size:clamp(34px,4.6vw,64px);font-weight:800;line-height:1}.vt-eyebrow{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--vt-muted2);font-size:12px;font-weight:500}.vt-eyebrow b{color:var(--vt-accent-ink);font-weight:500}.vt-tag{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--vt-accent-ink);align-items:center;gap:10px;font-size:11.5px;display:inline-flex}.vt-tag:before{content:"";background:var(--vt-accent-ink);width:6px;height:6px}.vt-meta{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--vt-muted2);font-size:12px}.vt-btn{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .16s var(--ease-snap);border:0;border-radius:3px;justify-content:center;align-items:center;gap:10px;padding:16px 28px;font-size:13px;font-weight:600;display:inline-flex}.vt-btn:active{transform:scale(.97)}.vt-btn-dark{background:var(--vt-text);color:#fff}.vt-btn-accent{background:var(--vt-accent-ink);color:#fff}.vt-btn-outline{border:1px solid var(--vt-hair-str);color:var(--vt-text);font-weight:500}.vt-btn-light{color:var(--vt-text);background:#fff}.vt-btn-chip{gap:14px;padding:7px 7px 7px 20px}.vt-btn-sm{padding-block:8px;font-size:13.5px}.vt-chip{width:30px;height:30px;color:var(--vt-text);background:#fff;border-radius:999px;flex-shrink:0;place-items:center;transition:background-color .2s,color .2s;display:grid;position:relative;overflow:hidden}.vt-chip-sm{width:26px;height:26px}.vt-chip svg{transition:transform .3s var(--ease-snap)}.vt-chip svg+svg{position:absolute;transform:translate(-180%)}.vt-chip[data-ext] svg+svg{transform:translate(-180%,180%)}.vt-btn-accent .vt-chip{color:var(--vt-accent-ink)}.vt-btn-light .vt-chip{background:var(--vt-accent-ink);color:#fff}.vt-btn-outline .vt-chip{background:var(--vt-text);color:#fff}@media (hover:hover) and (pointer:fine){.vt-btn-dark:hover{background:var(--vt-accent-ink)}.vt-btn-dark:hover .vt-chip{color:var(--vt-accent-ink)}.vt-btn-accent:hover{background:var(--vt-accent-hover)}.vt-btn-outline:hover{border-color:var(--vt-accent-ink);color:var(--vt-accent-ink)}.vt-btn-outline:hover .vt-chip{background:var(--vt-accent-ink)}.vt-btn-light:hover{background:var(--vt-text);color:#fff}.vt-btn-light:hover .vt-chip{color:var(--vt-text);background:#fff}.vt-btn:hover .vt-chip svg:first-child{transform:translate(180%)}.vt-btn:hover .vt-chip svg+svg{transform:translate(0)}.vt-btn:hover .vt-chip[data-ext] svg:first-child{transform:translate(180%,-180%)}.vt-btn:hover .vt-chip[data-ext] svg+svg{transform:translate(0)}}.vt-ul{position:relative}.vt-ul:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .3s var(--ease-out);background:currentColor;position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.vt-ul[aria-current=page]:after{transform:scaleX(1)}@media (hover:hover) and (pointer:fine){.vt-ul:hover:after{transform:scaleX(1)}}.vt-zimg{transition:transform .9s var(--ease-out)}.vt-go{transition:transform .3s var(--ease-out), color .3s ease;display:inline-block}.vt-pcard{transition:border-color .2s,box-shadow .3s}.vt-prow{position:relative}.vt-prow:before{content:"";background:var(--vt-accent);transform-origin:0;width:100%;height:2px;transition:transform .6s var(--ease-out);position:absolute;top:-1px;left:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.vt-pcard:hover{border-color:var(--vt-accent);box-shadow:0 24px 48px -24px rgba(var(--vt-accent-rgb), .35)}.vt-pcard:hover .vt-zimg,.vt-prow:hover .vt-zimg{transform:scale(1.04)}.vt-pcard:hover .vt-go,.vt-prow:hover .vt-go{color:var(--vt-accent-ink);transform:translate(3px,-3px)}.vt-prow:hover:before{transform:scaleX(1)}}.vt-hatch{background-color:var(--vt-bg2);background-image:repeating-linear-gradient(135deg,#0000000d 0 1px,#0000 1px 10px)}.vt-hdr-ruler{background-image:repeating-linear-gradient(90deg,#10111238 0 1px,#0000 1px 60px),repeating-linear-gradient(90deg,#1011121f 0 1px,#0000 1px 12px);background-position:0 100%,0 100%;background-repeat:no-repeat;background-size:100% 6px,100% 3px}.vt-header{transition:transform .5s var(--ease-out)}.vt-header[data-hidden=true]{transform:translateY(-100%)}.vt-navlink{height:100%;color:var(--vt-muted);align-items:center;transition:color .2s;display:flex;position:relative}.vt-navlink[aria-current=page]{color:var(--vt-text)}.vt-navlink[aria-current=page]:after{content:"";background:linear-gradient(var(--vt-accent), var(--vt-accent)) left bottom / 100% 2px no-repeat, linear-gradient(var(--vt-accent), var(--vt-accent)) left bottom / 1.5px 10px no-repeat, linear-gradient(var(--vt-accent), var(--vt-accent)) right bottom / 1.5px 10px no-repeat;height:10px;position:absolute;inset:auto -4px 0}@media (hover:hover) and (pointer:fine){.vt-navlink:hover{color:var(--vt-text)}}.vt-mnav{transition:padding-left .3s var(--ease-out), color .2s ease;position:relative}.vt-mnav[aria-current=page]{color:var(--vt-accent-ink);padding-left:24px}.vt-mnav[aria-current=page]:before{content:"";background:var(--vt-accent);width:12px;height:2px;position:absolute;top:50%;left:0}.vt-foot-impeller{opacity:.13;-webkit-mask-image:linear-gradient(90deg,#000 45%,#0000 95%);mask-image:linear-gradient(90deg,#000 45%,#0000 95%)}.vt-svg-mono{font-family:var(--font-mono), ui-monospace, monospace}.vt-foot-ruler{background-image:repeating-linear-gradient(90deg,#fff6 0 1px,#0000 1px 10%),repeating-linear-gradient(90deg,#fff6 0 1px,#0000 1px 2%),repeating-linear-gradient(90deg,#fff6 0 1px,#0000 1px .5%);background-repeat:no-repeat;background-size:100% 18px,100% 11px,100% 6px}.vt-social-ico{transition:border-color .2s,background-color .2s,color .2s}@media (hover:hover) and (pointer:fine){.vt-social:hover .vt-social-ico{border-color:var(--vt-accent);background:var(--vt-accent);color:#fff}}.vt-social:focus-visible .vt-social-ico{border-color:var(--vt-accent)}@media (prefers-reduced-motion:no-preference){.vt-rise{animation:vt-rise .9s var(--ease-out) both}.vt-rise-2{animation:vt-rise .9s .12s var(--ease-out) both}.vt-rise-3{animation:vt-rise .9s .24s var(--ease-out) both}html.vt-js [data-reveal]{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transition-delay:calc(var(--i,0) * 80ms);transform:translateY(24px)}html.vt-js [data-reveal][data-in]{opacity:1;transform:none}}@keyframes vt-rise{0%{opacity:0;transform:translateY(22px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important}}.bar[data-astro-cid-nen7h5rs]{z-index:60;border-bottom:1px solid var(--vt-hair);-webkit-backdrop-filter:blur(18px);background:#f6f3ecdb;position:fixed;inset:0 0 auto}.hdr[data-astro-cid-nen7h5rs]{height:var(--nav-h);justify-content:space-between;align-items:center;gap:16px;display:flex}.brand[data-astro-cid-nen7h5rs]{align-items:center;gap:16px;height:100%;display:flex}.logo[data-astro-cid-nen7h5rs]{flex-shrink:0}.logo[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{width:auto;height:42px;display:block}.brand-tag[data-astro-cid-nen7h5rs]{letter-spacing:.16em;color:var(--vt-accent-ink);border-left:1px solid #00000024;padding:6px 0 6px 16px;font-size:13px;transition:color .2s}.right[data-astro-cid-nen7h5rs]{align-items:center;gap:28px;height:100%;display:flex}.site[data-astro-cid-nen7h5rs]{letter-spacing:.04em;gap:6px;font-size:13px;display:none}@media (hover:hover){.brand-tag[data-astro-cid-nen7h5rs]:hover{color:var(--vt-accent)}}@media (width>=640px){.site[data-astro-cid-nen7h5rs]{display:flex}}.cta-short[data-astro-cid-nen7h5rs]{display:none}@media (width<=600px){.logo[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{height:35px}.brand[data-astro-cid-nen7h5rs]{gap:12px}.brand-tag[data-astro-cid-nen7h5rs]{padding-left:12px;font-size:12px}.right[data-astro-cid-nen7h5rs] .vt-btn{padding:7px 7px 7px 14px;font-size:12.5px}}@media (width<=399px){.logo[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{height:30px}.brand[data-astro-cid-nen7h5rs]{gap:10px}.brand-tag[data-astro-cid-nen7h5rs]{padding-left:10px;font-size:11px}}@media (width<=359px){.cta-long[data-astro-cid-nen7h5rs],.right[data-astro-cid-nen7h5rs] .vt-chip{display:none}.cta-short[data-astro-cid-nen7h5rs]{display:inline}.right[data-astro-cid-nen7h5rs] .vt-btn{padding-inline:14px}}.foot[data-astro-cid-jo6i4kqk]{overflow:hidden}.inner[data-astro-cid-jo6i4kqk]{padding-top:clamp(60px,7vw,96px);padding-bottom:36px;position:relative}.ruler[data-astro-cid-jo6i4kqk]{height:18px;margin-bottom:clamp(40px,5vw,64px)}.signoff[data-astro-cid-jo6i4kqk]{letter-spacing:-.05em;max-width:1100px;margin-bottom:clamp(48px,6vw,80px);font-size:clamp(40px,7vw,108px);font-weight:800;line-height:.92}.think[data-astro-cid-jo6i4kqk]{color:var(--vt-accent)}.w[data-astro-cid-jo6i4kqk]{vertical-align:top;margin-bottom:-.12em;padding-bottom:.12em;display:inline-block;overflow:hidden}.w[data-astro-cid-jo6i4kqk]>span[data-astro-cid-jo6i4kqk]{display:inline-block}@media (prefers-reduced-motion:no-preference){html.vt-js .w[data-astro-cid-jo6i4kqk]>span[data-astro-cid-jo6i4kqk]{transition:transform 1s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i) * 70ms);transform:translateY(105%)}html.vt-js .signoff[data-astro-cid-jo6i4kqk][data-in] .w[data-astro-cid-jo6i4kqk]>span[data-astro-cid-jo6i4kqk]{transform:none}}.foot[data-astro-cid-jo6i4kqk] .impeller{color:#fff;pointer-events:none;width:min(560px,46vw);display:none;position:absolute;top:42%;left:-70px;transform:translateY(-50%)}@media (width>=768px){.foot[data-astro-cid-jo6i4kqk] .impeller{display:block}}.cols[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--vt-night-line);grid-template-columns:1fr 1fr;gap:40px;margin-bottom:46px;padding-top:40px;display:grid}.about[data-astro-cid-jo6i4kqk]{grid-column:span 2}@media (width>=768px){.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:1.8fr 1fr 1fr 1fr}.about[data-astro-cid-jo6i4kqk]{grid-column:auto}}.about[data-astro-cid-jo6i4kqk] img[data-astro-cid-jo6i4kqk]{width:auto;height:32px;margin-bottom:18px}.about[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{max-width:280px;color:var(--vt-night-muted);font-size:14.5px;line-height:1.55}.coltitle[data-astro-cid-jo6i4kqk]{letter-spacing:.14em;color:var(--vt-night-muted);margin-bottom:16px;font-size:11px}.col[data-astro-cid-jo6i4kqk]{color:var(--vt-night-text);flex-direction:column;align-items:flex-start;gap:11px;font-size:14.5px;display:flex}.col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{transition:color .2s}@media (pointer:coarse){.col[data-astro-cid-jo6i4kqk]{gap:2px}.col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{padding-block:9px}.legal-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{padding-block:12px}}.col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:#fff}.social[data-astro-cid-jo6i4kqk]{align-items:center;gap:12px;display:flex}.ico[data-astro-cid-jo6i4kqk]{border:1px solid var(--vt-night-line);border-radius:999px;flex-shrink:0;place-items:center;width:28px;height:28px;margin-block:-4px;display:grid}.legal[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--vt-night-line);letter-spacing:.05em;color:var(--vt-night-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:24px;font-size:12px;display:flex}.legal-links[data-astro-cid-jo6i4kqk]{gap:22px;display:flex}.legal-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:#fff}.bp[data-astro-cid-2pmxhthe]{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:clip}.plate[data-astro-cid-2pmxhthe]{width:min(var(--w), 150vw);transform:rotate(var(--rot));color:var(--vt-navy);position:absolute}.art[data-astro-cid-2pmxhthe]{background:var(--vt-navy);-webkit-mask:var(--src) center / contain no-repeat;mask:var(--src) center / contain no-repeat;opacity:.09}.draw[data-astro-cid-2pmxhthe]{opacity:.085}.draw[data-astro-cid-2pmxhthe] svg{width:100%;height:auto;display:block}@media (width<=767px){.art[data-astro-cid-2pmxhthe],.draw[data-astro-cid-2pmxhthe]{opacity:.06}}main[data-astro-cid-hkbrpulz]{isolation:isolate;position:relative}
