.aside-title:where(.astro-rqou6idt){margin-bottom:1rem;font-size:1.5rem;font-weight:600}.free-open-source-aside:where(.astro-rqou6idt){background:var(--aspire-color-primary);border-radius:1rem;margin-bottom:2rem;padding:2rem 4rem;font-size:1.25rem;line-height:1.5}.free-open-source-aside:where(.astro-rqou6idt),.aside-title:where(.astro-rqou6idt){color:var(--aspire-color-white)}.simple-card:where(.astro-du3cnhxh){grid-template-rows:auto 1fr;align-items:start;gap:.5rem;display:grid}.icon-box:where(.astro-du3cnhxh){color:var(--aspire-color-primary);justify-self:start;place-items:center;display:grid}.icon-box:where(.astro-du3cnhxh) svg{--sl-icon-size:2rem!important}.content:where(.astro-du3cnhxh){gap:.5rem;display:grid}.title:where(.astro-du3cnhxh){color:var(--aspire-color-black);align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:700;line-height:1.4;display:flex}.title:where(.astro-du3cnhxh) a:where(.astro-du3cnhxh){color:inherit;text-decoration:none}.title:where(.astro-du3cnhxh) a:where(.astro-du3cnhxh):hover{text-decoration:underline}.body:where(.astro-du3cnhxh){color:color-mix(in srgb, var(--aspire-color-black) 80%, transparent);line-height:1.6}[data-theme=dark] .title:where(.astro-du3cnhxh){color:var(--aspire-color-white)}[data-theme=dark] .body:where(.astro-du3cnhxh){color:color-mix(in srgb, var(--aspire-color-white) 80%, transparent)}.container:where(.astro-aijba2cw){background:var(--sl-color-bg);border:1px solid var(--sl-color-gray-5);border-radius:.75rem;margin:2rem 0;box-shadow:0 4px 6px #0000001a}.header:where(.astro-aijba2cw){background:var(--sl-color-bg-nav);text-align:center;border-bottom:1px solid var(--sl-color-gray-5);border-top-left-radius:.75rem;border-top-right-radius:.75rem;padding:1.5rem}.header:where(.astro-aijba2cw) h3:where(.astro-aijba2cw){color:var(--sl-color-text);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.lang-toggles:where(.astro-aijba2cw){background:var(--sl-color-bg);border:1px solid var(--sl-color-gray-4);border-radius:.5rem;align-items:center;gap:.2rem;margin-bottom:1rem;padding:.2rem;display:inline-flex}.lang-toggle:where(.astro-aijba2cw){color:var(--sl-color-text);cursor:pointer;background:0 0;border:none;border-radius:.375rem;margin-top:0;padding:.25rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.lang-toggle:where(.astro-aijba2cw):hover{background:var(--sl-color-gray-5)}.lang-toggle:where(.astro-aijba2cw).active{background:var(--aspire-color-secondary);color:var(--aspire-color-black)}.header:where(.astro-aijba2cw) p:where(.astro-aijba2cw){margin:0 0 1.5rem;font-size:.9rem}.toggles:where(.astro-aijba2cw){grid-template-columns:repeat(5,1fr);gap:.75rem;display:grid}.toggle:where(.astro-aijba2cw){background:var(--sl-color-bg);border:1px solid var(--sl-color-gray-5);cursor:pointer;color:var(--sl-color-text);box-sizing:border-box;border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:4rem;margin:0;padding:.75rem .5rem;font-size:.8rem;font-weight:500;display:flex}.toggle:where(.astro-aijba2cw):hover{border-color:var(--sl-color-gray-4);background:var(--sl-color-bg-nav);transform:translateY(-1px)}.toggle:where(.astro-aijba2cw).active{background:var(--aspire-color-primary);border-color:var(--sl-color-gray-4);color:var(--aspire-color-white)}.code-display:where(.astro-aijba2cw){border-top:1px solid var(--sl-color-border);margin-top:0;padding:1.5rem}.code-variant:where(.astro-aijba2cw){margin-top:0}html[data-theme=dark] .toggle:where(.astro-aijba2cw).active{color:var(--aspire-color-white)}@media (width<=768px){.toggles:where(.astro-aijba2cw){grid-template-columns:repeat(2,1fr);gap:.5rem}.toggle:where(.astro-aijba2cw){padding:.5rem .25rem;font-size:.75rem}.header:where(.astro-aijba2cw),.code-display:where(.astro-aijba2cw){padding:1rem}}@media (width<=480px){.toggles:where(.astro-aijba2cw){grid-template-columns:1fr;gap:.5rem}.header:where(.astro-aijba2cw),.code-display:where(.astro-aijba2cw){padding:.75rem}.header:where(.astro-aijba2cw) h3:where(.astro-aijba2cw){font-size:1.1rem}.code-display:where(.astro-aijba2cw) .expressive-code pre{overflow-x:hidden}.code-display:where(.astro-aijba2cw) .expressive-code pre>code,.code-display:where(.astro-aijba2cw) .expressive-code .ec-line,.code-display:where(.astro-aijba2cw) .expressive-code .ec-line>.code{white-space:pre-wrap;word-break:break-word}}.icon-placeholder:where(.astro-baacyidc){height:4.5rem}.languages-supported:where(.astro-baacyidc){text-align:center}.languages-grid:where(.astro-baacyidc){flex-wrap:wrap;justify-content:space-between;gap:.5rem;max-width:100%;display:flex}.language-card:where(.astro-baacyidc){border:1px solid var(--sl-color-gray-4);background:var(--sl-color-gray-6);box-sizing:border-box;width:8rem;margin-top:initial;cursor:pointer;color:inherit;border-radius:.5rem;flex-direction:column;flex:0 0 8rem;align-items:center;padding:1rem 1.5rem;text-decoration:none;transition:transform .2s;display:flex}.language-card:where(.astro-baacyidc):hover{transform:scale(1.1)}.language-card:where(.astro-baacyidc):focus,.language-card:where(.astro-baacyidc):focus-visible{outline:2px solid var(--sl-color-text-accent);outline-offset:2px;transform:scale(1.1)}.language-card:where(.astro-baacyidc) img:where(.astro-baacyidc){width:4rem;height:4rem;margin-bottom:.5rem}.language-card:where(.astro-baacyidc) svg:where(.astro-baacyidc){width:4rem;height:4rem;color:var(--sl-color-text-accent);margin-bottom:.5rem}.language-card:where(.astro-baacyidc) span:where(.astro-baacyidc){white-space:nowrap;font-size:1rem;font-weight:500}@media (width<=600px){.languages-grid:where(.astro-baacyidc){justify-content:space-evenly}.language-card:where(.astro-baacyidc){flex:0 0 7rem;width:7rem;margin-top:.5rem;padding:.75rem 1rem}.language-card:where(.astro-baacyidc) img:where(.astro-baacyidc),.language-card:where(.astro-baacyidc) svg:where(.astro-baacyidc){width:3.5rem;height:3.5rem}.language-card:where(.astro-baacyidc) span:where(.astro-baacyidc){font-size:.9rem}}.orbit-section:where(.astro-qxxbyxvx){text-align:center;border:1px solid var(--sl-color-gray-5);background:var(--sl-color-bg);border-radius:.5rem}.orbit-container:where(.astro-qxxbyxvx){width:30rem;height:30rem;margin:4rem auto;position:relative}.orbit-circle:where(.astro-qxxbyxvx){opacity:.6;margin-top:initial;border-radius:50%;position:absolute;top:50%;left:50%}.orbit-inner:where(.astro-qxxbyxvx){opacity:.9;border:.3rem dashed var(--sl-color-accent);width:70%;height:70%;transform:translate(-50%,-50%)}.orbit-middle:where(.astro-qxxbyxvx){opacity:.6;border:.2rem dashed var(--sl-color-accent);width:85%;height:85%;transform:translate(-50%,-50%)}.orbit-outer:where(.astro-qxxbyxvx){opacity:.3;border:.1rem dashed var(--aspire-color-primary);width:100%;height:100%;transform:translate(-50%,-50%)}.local-active:where(.astro-qxxbyxvx) .orbit-inner:where(.astro-qxxbyxvx),.local-active:where(.astro-qxxbyxvx) .orbit-middle:where(.astro-qxxbyxvx),.local-active:where(.astro-qxxbyxvx) .orbit-outer:where(.astro-qxxbyxvx){border-color:var(--aspire-color-primary)}.test-active:where(.astro-qxxbyxvx) .orbit-inner:where(.astro-qxxbyxvx),.test-active:where(.astro-qxxbyxvx) .orbit-middle:where(.astro-qxxbyxvx),.test-active:where(.astro-qxxbyxvx) .orbit-outer:where(.astro-qxxbyxvx){border-color:var(--sl-color-blue-low)}.prod-active:where(.astro-qxxbyxvx) .orbit-inner:where(.astro-qxxbyxvx),.prod-active:where(.astro-qxxbyxvx) .orbit-middle:where(.astro-qxxbyxvx),.prod-active:where(.astro-qxxbyxvx) .orbit-outer:where(.astro-qxxbyxvx){border-color:var(--sl-color-green-low)}.orbit-center:where(.astro-qxxbyxvx){z-index:10;margin-top:initial;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.terminal:where(.astro-qxxbyxvx){width:100%;min-width:14rem;margin-top:initial;display:none}.orbit-container:where(.astro-qxxbyxvx).prod-active .prod-view:where(.astro-qxxbyxvx),.orbit-container:where(.astro-qxxbyxvx).test-active .test-view:where(.astro-qxxbyxvx),.orbit-container:where(.astro-qxxbyxvx).local-active .local-view:where(.astro-qxxbyxvx){display:block}.orbit-node:where(.astro-qxxbyxvx){background:var(--aspire-color-primary);min-width:16rem;color:var(--sl-color-white);text-align:center;z-index:5;border:1px solid var(--sl-color-gray-3);box-shadow:var(--sl-shadow-md);border-radius:1.25rem;padding:1rem;transition:all .3s ease-in-out;display:none;position:absolute}.prod-view:where(.astro-qxxbyxvx).orbit-node{background:var(--sl-color-green-low)}.test-view:where(.astro-qxxbyxvx).orbit-node{background:var(--sl-color-blue-low)}.local-view:where(.astro-qxxbyxvx).orbit-node{background:var(--aspire-color-primary);color:var(--aspire-color-white)}.service-name:where(.astro-qxxbyxvx){font-size:var(--sl-text-xl);white-space:nowrap;font-weight:600}.service-type:where(.astro-qxxbyxvx){font-size:var(--sl-text-sm);white-space:nowrap;margin-top:.25rem;font-weight:550;transition:opacity .15s ease-in-out}.orbit-redis:where(.astro-qxxbyxvx){top:15%;left:15%;transform:translate(-50%,-50%)}.orbit-postgres:where(.astro-qxxbyxvx){top:15%;right:15%;transform:translate(50%,-50%)}.orbit-frontend:where(.astro-qxxbyxvx){bottom:15%;right:15%;transform:translate(50%,50%)}.orbit-api:where(.astro-qxxbyxvx){bottom:15%;left:15%;transform:translate(-50%,50%)}.orbit-container:where(.astro-qxxbyxvx):not(.no-motion) .orbit-inner:where(.astro-qxxbyxvx){animation:45s linear infinite rotate-fast}.orbit-container:where(.astro-qxxbyxvx):not(.no-motion) .orbit-middle:where(.astro-qxxbyxvx){animation:60s linear infinite rotate}.orbit-container:where(.astro-qxxbyxvx):not(.no-motion) .orbit-outer:where(.astro-qxxbyxvx){animation:90s linear infinite rotate-slow}@keyframes rotate-fast{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes rotate{0%{transform:translate(-50%,-50%)rotate(360deg)}to{transform:translate(-50%,-50%)rotate(0)}}@keyframes rotate-slow{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.environment-toggle:where(.astro-qxxbyxvx){text-align:center;margin:2rem auto}.toggle-container:where(.astro-qxxbyxvx){background:var(--sl-color-gray-6);border:1px solid var(--sl-color-gray-4);border-radius:2rem;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding:.5rem;display:inline-flex}.toggle-btn:where(.astro-qxxbyxvx){border:1px solid var(--sl-color-gray-6);cursor:pointer;color:var(--sl-color-white);margin-top:initial;background:0 0;border-radius:1.5rem;min-width:7rem;padding:.5rem 1.5rem;font-size:1.1rem;font-weight:600;transition:all .3s}.toggle-btn:where(.astro-qxxbyxvx):hover:not(.active){background:var(--sl-color-gray-5);border:1px solid var(--sl-color-gray-3)}.toggle-btn:where(.astro-qxxbyxvx).active{background:var(--aspire-color-primary);border:1px solid var(--sl-color-gray-3)}.toggle-btn:where(.astro-qxxbyxvx).active,.toggle-local:where(.astro-qxxbyxvx).active{color:var(--aspire-color-white)}.toggle-test:where(.astro-qxxbyxvx).active,.toggle-prod:where(.astro-qxxbyxvx).active{color:var(--aspire-color-black)}:root[data-theme=dark]{& .toggle-btn.active,& .toggle-local.active{color:var(--aspire-color-white)}}.toggle-prod:where(.astro-qxxbyxvx).active{background:var(--sl-color-green-low)}.toggle-test:where(.astro-qxxbyxvx).active{background:var(--sl-color-blue-low)}.subtitle:where(.astro-qxxbyxvx){font-size:var(--sl-text-lg);color:var(--sl-color-text);text-wrap:pretty;margin-top:.75rem;display:none}.subtitle:where(.astro-qxxbyxvx).local-active,.subtitle:where(.astro-qxxbyxvx).test-active,.subtitle:where(.astro-qxxbyxvx).prod-active{display:block}@media (width<=768px){.orbit-container:where(.astro-qxxbyxvx){width:32rem;height:32rem}.orbit-redis:where(.astro-qxxbyxvx){top:15%;left:15%;transform:translate(-40%,-50%)}.orbit-postgres:where(.astro-qxxbyxvx){top:15%;right:15%;transform:translate(40%,-50%)}.orbit-frontend:where(.astro-qxxbyxvx){bottom:15%;right:15%;transform:translate(40%,50%)}.orbit-api:where(.astro-qxxbyxvx){bottom:15%;left:15%;transform:translate(-40%,50%)}.orbit-node:where(.astro-qxxbyxvx){min-width:10rem;padding:.4rem .5rem}.toggle-btn:where(.astro-qxxbyxvx){min-width:6rem;padding:.25rem .75rem}}@media (width<=600px){.orbit-container:where(.astro-qxxbyxvx){width:22rem;height:22rem}.orbit-redis:where(.astro-qxxbyxvx){top:15%;left:15%;transform:translate(-35%,-50%)}.orbit-postgres:where(.astro-qxxbyxvx){top:15%;right:15%;transform:translate(35%,-50%)}.orbit-frontend:where(.astro-qxxbyxvx){bottom:15%;right:15%;transform:translate(35%,50%)}.orbit-api:where(.astro-qxxbyxvx){bottom:15%;left:15%;transform:translate(-35%,50%)}.orbit-node:where(.astro-qxxbyxvx){min-width:9rem;padding:.4rem .5rem}.service-name:where(.astro-qxxbyxvx){font-size:.9rem}.service-type:where(.astro-qxxbyxvx){font-size:.8rem}.toggle-btn:where(.astro-qxxbyxvx){padding:initial;min-width:5rem}}@media (width>=320px) and (width<=429px){.service-type:where(.astro-qxxbyxvx){display:none!important}}.infinite-scroll-container:where(.astro-ksbgygnk){isolation:isolate;flex-direction:column;gap:1rem;width:100%;min-width:0;max-width:100%;padding:1rem 0;display:flex;overflow:clip hidden}.integration-controls:where(.astro-ksbgygnk){justify-content:flex-start;display:flex}.control-btn:where(.astro-ksbgygnk){--carousel-primary:var(--aspire-color-primary);background:var(--carousel-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:42px;height:42px;transition:background .25s,transform .25s;display:flex}.control-btn:where(.astro-ksbgygnk):hover{transform:scale(1.06)}.control-btn:where(.astro-ksbgygnk):focus-visible{outline:.1875rem solid var(--carousel-primary);outline-offset:.125rem}.icon-pause:where(.astro-ksbgygnk),.icon-play:where(.astro-ksbgygnk){justify-content:center;align-items:center;line-height:0;display:flex}.icon-play:where(.astro-ksbgygnk),.control-btn:where(.astro-ksbgygnk)[aria-pressed=true] .icon-pause:where(.astro-ksbgygnk){display:none}.control-btn:where(.astro-ksbgygnk)[aria-pressed=true] .icon-play:where(.astro-ksbgygnk){display:flex}.scroll-row:where(.astro-ksbgygnk){contain:paint;width:100%;min-width:0;max-width:100%;display:flex;position:relative;overflow:clip hidden;mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.scroll-content:where(.astro-ksbgygnk){will-change:transform;gap:1rem;animation-timing-function:linear;animation-iteration-count:infinite;display:flex}.scroll-row:where(.astro-ksbgygnk):hover .scroll-content:where(.astro-ksbgygnk){animation-play-state:paused}.scroll-rtl:where(.astro-ksbgygnk) .scroll-content:where(.astro-ksbgygnk){animation:97s linear infinite scroll-rtl}.scroll-ltr:where(.astro-ksbgygnk) .scroll-content:where(.astro-ksbgygnk){animation:93s linear infinite scroll-ltr}.scroll-rtl-slow:where(.astro-ksbgygnk) .scroll-content:where(.astro-ksbgygnk){animation:87s linear infinite scroll-rtl}@keyframes scroll-rtl{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scroll-ltr{0%{transform:translate(-50%)}to{transform:translate(0)}}.img:where(.astro-ksbgygnk){background-color:var(--sl-color-bg);border:1px solid var(--sl-color-gray-4);width:7rem;min-width:7rem;height:7rem;min-height:7rem;margin-top:initial;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;display:flex;overflow:hidden}.img:where(.astro-ksbgygnk) img:where(.astro-ksbgygnk){object-fit:contain;width:100%;height:100%}.img:where(.astro-ksbgygnk) :where(.astro-ksbgygnk){margin-top:initial}a:where(.astro-ksbgygnk).img img:where(.astro-ksbgygnk).icon.light{display:none}a:where(.astro-ksbgygnk).img img:where(.astro-ksbgygnk).icon.dark,[data-theme=light] a:where(.astro-ksbgygnk).img img:where(.astro-ksbgygnk).icon.light{display:block}[data-theme=light] a:where(.astro-ksbgygnk).img img:where(.astro-ksbgygnk).icon.dark{display:none}@media screen and (width<=768px){.img:where(.astro-ksbgygnk){width:5rem;min-width:5rem;height:5rem;min-height:5rem}.scroll-content:where(.astro-ksbgygnk){gap:.75rem}}@media screen and (width>=320px) and (width<=767px){.img:where(.astro-ksbgygnk){width:4rem;min-width:4rem;height:4rem;min-height:4rem}.scroll-content:where(.astro-ksbgygnk){gap:.5rem}}@media (prefers-reduced-motion:reduce){.scroll-content:where(.astro-ksbgygnk){animation:none!important;transform:none!important}.scroll-row:where(.astro-ksbgygnk){scrollbar-width:thin;overflow-x:auto;mask-image:none}}.infinite-scroll-container:where(.astro-ksbgygnk).is-paused .scroll-row:where(.astro-ksbgygnk){scrollbar-width:thin;overflow-x:auto;mask-image:none}.infinite-scroll-container:where(.astro-ksbgygnk).is-paused .scroll-content:where(.astro-ksbgygnk){animation:none!important;transform:none!important}.testimonial-carousel:where(.astro-yzc34sls){--carousel-primary:var(--aspire-color-primary);--carousel-card-bg:var(--sl-color-bg,var(--sl-color-bg-sidebar));--carousel-text:var(--sl-color-text);--card-width:21.25rem;--card-gap:1.5rem;max-width:75rem;margin:2rem auto 2.5rem;padding:0 0 .5rem}.carousel-track:where(.astro-yzc34sls){gap:var(--card-gap);scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 .25rem;display:flex;overflow-x:auto}.carousel-track:where(.astro-yzc34sls)::-webkit-scrollbar{display:none}.card:where(.astro-yzc34sls){flex:0 0 var(--card-width);scroll-snap-align:start;background:var(--carousel-card-bg);border:1px solid var(--sl-color-gray-5,#d9d9d9);text-align:center;min-height:15.625rem;box-shadow:var(--sl-shadow-sm);border-radius:.5rem;flex-direction:column;align-items:center;padding:1.5rem 1.5rem 1.75rem;transition:transform .25s,box-shadow .25s;display:flex;position:relative}.card:where(.astro-yzc34sls):focus-visible{outline:.1875rem solid var(--carousel-primary);outline-offset:.125rem}.avatar-container:where(.astro-yzc34sls){width:5.25rem;height:5.25rem;margin-bottom:1rem;position:relative}.avatar-initials:where(.astro-yzc34sls){border:3px solid var(--carousel-primary);border-radius:50%;justify-content:center;align-items:center;width:5.25rem;height:5.25rem;font-size:2rem;font-weight:600;transition:opacity .3s;display:flex}.avatar-image:where(.astro-yzc34sls){object-fit:cover;border:3px solid var(--carousel-primary);opacity:0;border-radius:50%;width:5.25rem;height:5.25rem;transition:opacity .3s;position:absolute;top:0;left:0}.card:where(.astro-yzc34sls):hover .avatar-initials:where(.astro-yzc34sls){opacity:0}.card:where(.astro-yzc34sls):hover .avatar-image:where(.astro-yzc34sls){opacity:1}.text:where(.astro-yzc34sls){color:var(--carousel-text);margin-bottom:.75rem;font-size:1rem}.text:where(.astro-yzc34sls):before{content:"\"";color:var(--carousel-primary);pointer-events:none;z-index:1;padding-right:.5rem;font-size:1.75rem;font-style:normal;font-weight:700;line-height:1}.name:where(.astro-yzc34sls){color:var(--aspire-color-secondary);font-size:1rem;font-weight:500}.name:where(.astro-yzc34sls) a:where(.astro-yzc34sls){color:inherit;white-space:normal;text-decoration:none}.name:where(.astro-yzc34sls) a:where(.astro-yzc34sls):hover{text-decoration:underline}.controls:where(.astro-yzc34sls){gap:.65rem;margin-top:1rem;display:flex}.control-btn:where(.astro-yzc34sls){background:var(--carousel-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:42px;height:42px;transition:background .25s,transform .25s;display:flex}.control-btn:where(.astro-yzc34sls):hover:not([disabled]){transform:scale(1.06)}.control-btn:where(.astro-yzc34sls)[disabled]{opacity:.45;cursor:not-allowed}@media (width<=768px){.testimonial-carousel:where(.astro-yzc34sls){--card-width:100%}.card:where(.astro-yzc34sls){min-height:230px}}html[data-theme=light]{& .name{color:var(--aspire-color-primary)}}html[data-theme=dark]{& .testimonial-carousel{--carousel-card-bg:var(--sl-color-black,#1a1a1a)}}
