.footer{color:#7e8ca4;background:#fff;border-top:.0625rem solid #dfe5f0;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;min-height:6.25rem;padding:1.5rem max(2rem,50% - 30.375rem);display:grid}.footer a{text-decoration:none}.footer .footerLogo{color:#15171e;letter-spacing:-.0625rem;font-size:1.25rem;font-weight:700}.footer .footerLogo span{color:#6445df}.footer p,.footer .footerLinks{font-size:.875rem;line-height:1.5}.footer p{text-align:center}.footer .footerLinks{flex-wrap:wrap;justify-content:flex-end;justify-self:end;gap:1rem;display:flex}.footer .footerLinks a{color:#7e8ca4}.footer .footerLinks a:hover{color:#6445df}.footer a:focus-visible{outline-offset:.25rem;outline:.1875rem solid #6445df}@media (max-width:47.5rem){.footer{grid-template-columns:1fr 1fr;gap:1rem;min-height:5rem;padding:1.25rem 1.5rem}.footer p{text-align:left;grid-area:2/1/auto/-1}.footer .footerLinks{gap:.75rem}}
.navbar .projectsNavPanel{color:#fff;opacity:0;visibility:hidden;pointer-events:none;transform-origin:top;background:radial-gradient(circle at 8% 100%,#6445df3d,#0000 38%),#15171e;border:1px solid #ffffff1f;border-radius:1.5rem;grid-template-columns:minmax(13rem,.9fr) minmax(0,2.4fr);gap:2rem;width:min(100% - 2rem,75.75rem);margin-inline:auto;padding:1.5rem;display:grid;position:absolute;top:100%;left:0;right:0;box-shadow:0 1.5rem 3.5rem #15171e40}.navbar .projectsNavIntro{flex-direction:column;align-items:flex-start;padding:.5rem 0 .5rem .5rem;display:flex}.navbar .projectsNavIntro h2{letter-spacing:-.045em;max-width:18rem;margin:1.2rem 0 0;font-size:clamp(1.7rem,2.4vw,2.5rem);line-height:1.08}.navbar .projectsNavIntro p{color:#ffffffad;max-width:18rem;margin:.9rem 0 1.5rem;font-size:.875rem;line-height:1.5}.navbar .projectsNavEyebrow{color:#bcaaff;letter-spacing:.12em;font-size:.7rem;font-weight:700}.navbar .projectsNavGalleryLink{color:#15171e;background:#fff;border-radius:999px;align-items:center;gap:1.25rem;margin-top:auto;padding:.78rem 1rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:background .18s,transform .18s;display:inline-flex}.navbar .projectsNavGalleryLink:hover{background:#e8e1ff;transform:translateY(-2px)}.navbar .projectsNavGalleryLink:focus-visible{outline-offset:3px;outline:3px solid #00bbae}.navbar .projectsNavPreviews{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;min-width:0;display:grid}.navbar .projectsNavEmpty{color:#ffffffb3;grid-column:1/-1;align-self:center}.navbar .projectsNavPreview{color:#fff;background:#ffffff12;border:1px solid #ffffff1f;border-radius:.9rem;flex-direction:column;min-width:0;text-decoration:none;transition:background .18s,transform .18s;display:flex;position:relative;overflow:hidden}.navbar .projectsNavPreview:hover{background:#ffffff21;transform:translateY(-4px)}.navbar .projectsNavPreview:focus-visible{outline-offset:3px;outline:3px solid #00bbae}.navbar .projectsNavPreviewImage{aspect-ratio:1.15;background:#2b2a37;width:100%;display:block;position:relative;overflow:hidden}.navbar .projectsNavPreviewImage img{object-fit:cover;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.navbar .projectsNavPreview:hover .projectsNavPreviewImage img{transform:scale(1.06)}.navbar .projectsNavPreviewPlaceholder{color:#bcaaff;place-items:center;height:100%;font-weight:700;display:grid}.navbar .projectsNavPreviewInfo{flex-direction:column;flex:1;gap:.55rem;padding:.9rem;display:flex;position:relative}.navbar .projectsNavPreviewInfo strong{max-width:calc(100% - 1.3rem);font-size:.875rem;line-height:1.2}.navbar .projectsNavPreviewMeta{color:#bcaaff;text-transform:uppercase;justify-content:space-between;gap:.35rem;font-size:.68rem;font-weight:600;display:flex}.navbar .projectsNavPreviewArrow{color:#00bbae;position:absolute;bottom:.75rem;right:.9rem}@media (max-width:62rem){.navbar .projectsNavPanel{gap:1rem;padding:1rem}.navbar .projectsNavIntro{padding-left:0}}@media (max-width:47.5rem){.navbar .projectsNavPanel{grid-template-columns:1fr;gap:1.25rem;max-height:calc(100svh - 5.25rem);padding:1.25rem;top:100%;overflow-y:auto}.navbar .projectsNavIntro h2{margin-top:.75rem}.navbar .projectsNavIntro p{margin:.6rem 0 1rem}.navbar .projectsNavPreviews{scroll-snap-type:x mandatory;padding:0 .15rem .5rem;display:flex;overflow-x:auto}.navbar .projectsNavPreview{scroll-snap-align:start;flex:0 0 min(65vw,14rem)}}
.navbar{z-index:10;color:#15171e;background:#f5f5fc;position:sticky;top:0;left:0;right:0}.navbar .navbarInner{grid-template-columns:1fr auto 1fr;align-items:center;width:min(100% - 4rem,75.75rem);min-height:4rem;margin:0 auto;display:grid}.navbar .navbarLogo{color:#15171e;letter-spacing:-.0625rem;width:fit-content;font-size:1.25rem;font-weight:700;line-height:1;text-decoration:none}.navbar .navbarLogo span{color:#6445df}.navbar .navbarLogo:focus-visible{outline-offset:.25rem;outline:.1875rem solid #6445df}.navbar .navbarDesktopNav{align-items:center;gap:2rem;display:flex}.navbar .navbarDesktopNav a,.navbar .navbarDesktopNav button{color:#15171eb8;cursor:pointer;background:0 0;border:0;padding:0;font-size:.875rem;font-weight:400;text-decoration:none;transition:color .18s}.navbar .navbarDesktopNav a:hover,.navbar .navbarDesktopNav button:hover{color:#6445df}.navbar .navbarDesktopNav a.isActive,.navbar .navbarDesktopNav button.isActive{color:#6445df;font-weight:600}.navbar .navbarDesktopNav a:focus-visible,.navbar .navbarDesktopNav button:focus-visible{outline-offset:.25rem;outline:.1875rem solid #6445df}.navbar .navbarContactButton{color:#fff;background:#15171e;border-radius:62.4375rem;justify-content:center;justify-self:end;align-items:center;min-height:2.25rem;padding:.625rem 1.25rem;font-size:.75rem;font-weight:600;line-height:1rem;text-decoration:none;transition:background-color .18s,transform .18s;display:inline-flex}.navbar .navbarContactButton:hover{background:#6445df;transform:translateY(-.125rem)}.navbar .navbarContactButton:focus-visible{outline-offset:.25rem;outline:.1875rem solid #6445df}.navbar .navbarMenuButton,.navbar .navbarMobileMenu{display:none}@media (max-width:47.5rem){.navbar .navbarInner{z-index:2;background:#f5f5fcf5;border-bottom:.0625rem solid #dfe5f0;justify-content:space-between;width:100%;min-height:4.125rem;padding:0 1.25rem;display:flex;position:relative}.navbar .navbarDesktopNav,.navbar .navbarContactButton{display:none}.navbar .navbarMenuButton{color:#15171e;cursor:pointer;background:0 0;border:0;place-content:center;gap:.3125rem;width:2.25rem;height:2.25rem;display:grid}.navbar .navbarMenuButton span{background:currentColor;width:1rem;height:.0625rem;transition:transform .18s;display:block}.navbar .navbarMenuButton:focus-visible{outline-offset:.125rem;outline:.1875rem solid #6445df}.navbar .navbarMobileMenu{z-index:1;opacity:0;pointer-events:none;background:radial-gradient(at 80% 100%,#00bbae2e,#0000 48%),#f5f5fc;height:0;transition:height .22s,opacity .16s;display:block;position:absolute;top:4.125rem;left:0;right:0;overflow:hidden}.navbar .navbarMobileMenu nav{flex-direction:column;padding:1.125rem 1.25rem 1.5rem;display:flex}.navbar .navbarMobileMenu a,.navbar .navbarMobileMenu button{color:#15171e;text-align:left;cursor:pointer;background:0 0;border:0;padding:.8125rem 0;font-size:1rem;font-weight:500;text-decoration:none}.navbar .navbarMobileMenu a.isActive,.navbar .navbarMobileMenu button.isActive{color:#6445df;font-weight:700}.navbar .navbarMobileMenu a:focus-visible,.navbar .navbarMobileMenu button:focus-visible{outline-offset:.125rem;outline:.1875rem solid #6445df}.navbar .navbarMobileMenu.isOpen{opacity:1;pointer-events:auto;height:fit-content}.navbar:has(.navbarMobileMenu.isOpen) .navbarMenuButton span:first-child{transform:translateY(.1875rem)rotate(45deg)}.navbar:has(.navbarMobileMenu.isOpen) .navbarMenuButton span:last-child{transform:translateY(-.1875rem)rotate(-45deg)}}
