.service-category:where(.astro-5jppf5ab){top:calc(4rem + var(--category-offset));transition:border-color .22s ease,background-color .22s ease}.service-category-image:where(.astro-5jppf5ab){opacity:.14;filter:grayscale(1) brightness(.65);transform:scale(1.03);transition:opacity .5s ease,filter .5s ease,transform .7s cubic-bezier(.22,1,.36,1)}.service-category-wash:where(.astro-5jppf5ab){background:linear-gradient(110deg,color-mix(in srgb,var(--secondary-100) 94%,transparent),color-mix(in srgb,var(--secondary-100) 72%,transparent));transition:opacity .5s ease}.service-category:where(.astro-5jppf5ab):hover .service-category-image:where(.astro-5jppf5ab){opacity:.5;filter:grayscale(0) brightness(.8);transform:scale(1)}.service-category:where(.astro-5jppf5ab):hover .service-category-wash:where(.astro-5jppf5ab){opacity:.72}html.dark .service-category-wash:where(.astro-5jppf5ab){background:linear-gradient(110deg,color-mix(in srgb,var(--secondary-950) 94%,transparent),color-mix(in srgb,var(--secondary-950) 72%,transparent))}.service-category:where(.astro-5jppf5ab)[open]{border-color:color-mix(in srgb,var(--primary-500) 45%,transparent);background:color-mix(in srgb,var(--primary-500) 5%,transparent)}html.service-stacks-ready .category-service:where(.astro-5jppf5ab){opacity:0;transform:translateY(14px)}html.service-stacks-ready .service-category:where(.astro-5jppf5ab).is-active .category-service:where(.astro-5jppf5ab){animation:category-service-in .42s cubic-bezier(.22,1,.36,1) calc(var(--service-index)*.1s) forwards}@keyframes category-service-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html.service-stacks-ready .category-service:where(.astro-5jppf5ab){opacity:1;transform:none;animation:none}}.git-lawn-grid:where(.astro-umnvcfh3){display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,minmax(0,1fr));gap:4px;aspect-ratio:12/1}.git-lawn-cell:where(.astro-umnvcfh3){background:#ffffff12}.git-lawn-cell-1:where(.astro-umnvcfh3){background:color-mix(in oklab,var(--color-primary-400) 28%,transparent)}.git-lawn-cell-2:where(.astro-umnvcfh3){background:color-mix(in oklab,var(--color-primary-400) 50%,transparent)}.git-lawn-cell-3:where(.astro-umnvcfh3){background:color-mix(in oklab,var(--color-primary-400) 72%,transparent)}.git-lawn-cell-4:where(.astro-umnvcfh3){background:var(--color-primary-400)}html:not(.dark) .git-lawn-cell:where(.astro-umnvcfh3){background:#09142614}@media (max-width:640px){.git-lawn-grid:where(.astro-umnvcfh3){gap:2px}}.work-carousel,.blog-carousel,.labs-carousel{outline:0}.work-carousel:focus-visible,.blog-carousel:focus-visible,.labs-carousel:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.work-carousel .flickity-button,.blog-carousel .flickity-button,.labs-carousel .flickity-button{background:color-mix(in srgb,var(--primary-500) 92%,transparent);color:#fff;width:40px;height:40px;box-shadow:0 6px 20px color-mix(in srgb,var(--primary-500) 25%,transparent);transition:background .2s,transform .2s}.work-carousel .flickity-button:hover,.blog-carousel .flickity-button:hover,.labs-carousel .flickity-button:hover{background:var(--primary-500);transform:translateY(-50%) scale(1.05)}.work-carousel .flickity-button:disabled,.blog-carousel .flickity-button:disabled,.labs-carousel .flickity-button:disabled{background:color-mix(in srgb,var(--secondary-400) 35%,transparent);box-shadow:none}.work-carousel .flickity-button-icon,.blog-carousel .flickity-button-icon,.labs-carousel .flickity-button-icon{fill:currentColor}.work-carousel .flickity-prev-next-button.previous,.blog-carousel .flickity-prev-next-button.previous,.labs-carousel .flickity-prev-next-button.previous{left:8px}.work-carousel .flickity-prev-next-button.next,.blog-carousel .flickity-prev-next-button.next,.labs-carousel .flickity-prev-next-button.next{right:8px}.work-carousel .flickity-viewport,.blog-carousel .flickity-viewport,.labs-carousel .flickity-viewport{cursor:grab}.work-carousel.is-pointer-down .flickity-viewport,.blog-carousel.is-pointer-down .flickity-viewport,.labs-carousel.is-pointer-down .flickity-viewport{cursor:grabbing}@keyframes marquee-left{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes marquee-right{0%{transform:translate3d(-50%,0,0)}to{transform:translateZ(0)}}.marquee-track:where(.astro-wvzwhl5e){will-change:transform;backface-visibility:hidden}.marquee-left:where(.astro-wvzwhl5e){animation:marquee-left 80s linear infinite}.marquee-right:where(.astro-wvzwhl5e){animation:marquee-right 80s linear infinite}.marquee-left-slow:where(.astro-wvzwhl5e){animation:marquee-left 120s linear infinite}.marquee-right-slow:where(.astro-wvzwhl5e){animation:marquee-right 120s linear infinite}.stack-3d-container:where(.astro-wvzwhl5e){perspective:900px}.stack-3d-skew:where(.astro-wvzwhl5e){transform:rotateX(26deg) rotateY(-7deg) rotate(12deg);transform-origin:50% 50%;padding:3rem 0 4rem}.stack-fade-mask:where(.astro-wvzwhl5e){mask-image:linear-gradient(to right,#0000,#00000040 25%,#000000bf,#000 65%),linear-gradient(to top,#000,#0009 60%,#0000);-webkit-mask-composite:source-in,xor;mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.25) 25%,rgba(0,0,0,.75) 45%,#000 65%),linear-gradient(to top,#000 0,rgba(0,0,0,.6) 60%,transparent 100%);-webkit-mask-composite:source-in}@media (prefers-reduced-motion:reduce){.marquee-left:where(.astro-wvzwhl5e),.marquee-right:where(.astro-wvzwhl5e),.marquee-left-slow:where(.astro-wvzwhl5e),.marquee-right-slow:where(.astro-wvzwhl5e){animation:none}}