:root{--bg:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fg:#0f0f0f;--muted:#777;--accent:#111;--accent-primary:#0002ff;--accent-hover:#0002ff;--accent-active:#0002ff;--accent-glow:#0002ff;--font-sans:"Satoshi",sans-serif;--font-serif:"Satoshi",sans-serif;--page-gutter:clamp(48px,12vw,200px);--section-spacing:clamp(4rem,8vw,6rem);--header-height-offset:140px}@media (max-width:768px){:root{--page-gutter:1.7rem;--section-spacing:clamp(2rem,5vw,2.5rem);--header-height-offset:100px}}.flip-text{vertical-align:middle;flex-direction:column;height:1.2em;line-height:1.2em;display:inline-flex;position:relative;overflow:hidden}.flip-text span{height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);display:block}.flip-text:after{content:attr(data-text);width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;top:100%;left:0}@media (hover:hover){.flip-parent:hover .flip-text span,.flip-parent:hover .flip-text:after{transform:translateY(-100%)}}.btn-universal{font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:100px;justify-content:center;align-items:center;width:fit-content;padding:18px 40px;font-size:1rem;font-weight:500;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden}.btn-universal.variant-light{color:var(--fg);background:0 0;border-color:#0f0f0f1a}@media (hover:hover){.btn-universal.variant-light:hover{background:var(--fg);border-color:var(--fg);color:var(--bg);transform:translateY(-2px);box-shadow:0 10px 30px #0000000d}}.btn-universal.variant-dark{color:#fff;background:0 0;border-color:#fff6}@media (hover:hover){.btn-universal.variant-dark:hover{color:#000;background:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:0 10px 30px #fff3}}.btn-universal.variant-inverted{background:var(--fg);border-color:var(--fg);color:var(--bg)}@media (hover:hover){.btn-universal.variant-inverted:hover{background:var(--bg);color:var(--fg);border-color:#0f0f0f1a;transform:translateY(-2px);box-shadow:0 10px 30px #0000000d}}.outline-btn-pill{font-family:var(--font-sans);cursor:pointer;color:var(--fg);background:0 0;border:1px solid #0f0f0f1a;border-radius:100px;justify-content:center;align-items:center;padding:18px 40px;font-size:1rem;font-weight:500;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden}.section-label{font-family:var(--font-sans);text-transform:uppercase;color:var(--muted);letter-spacing:.05em;margin-bottom:4rem;font-size:.75rem;font-weight:600;display:block}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;background-color:#fff;min-height:100dvh}html,body{background-color:#fff;background-color:var(--bg);max-width:100vw;color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px;font-style:normal;font-weight:400;line-height:29px;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-on-scroll{opacity:0;will-change:opacity,transform}.animate-on-scroll.in-view{animation:.8s cubic-bezier(.2,.8,.2,1) forwards fadeUp}@media (max-width:768px){.btn-universal,.outline-btn-pill{padding:14px 28px}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}
.header{padding-block:clamp(.8rem,1.5vw,1rem);padding-inline:var(--page-gutter);z-index:10;width:100%;color:var(--fg);background:0 0;justify-content:space-between;align-items:center;transition:transform .3s,opacity .3s,color .3s,background .3s;display:flex;position:fixed;top:0;left:0}.header.header-on-dark{color:#fff!important}.header.header-on-dark .navList a{color:#fff!important}.header.header-on-dark .pill-btn{background:#fff;border-color:#fff;color:#000!important}.header.header-scrolled{-webkit-backdrop-filter:none!important;box-shadow:none!important;background:0 0!important;border-bottom:none!important}.header:not(.header-on-dark) .navList a{color:#000}.header:not(.header-on-dark) .logo img{filter:none}.header a:focus-visible{outline:2px solid var(--accent-glow);outline-offset:4px;border-radius:4px}.header.header-hidden{pointer-events:none;transform:translateY(-100%)}.logo a{width:140px;height:auto;margin-left:-30px;display:block}@media (max-width:768px){.logo a{width:100px;margin-left:-22px}}.logo img{object-fit:contain;width:100%;height:auto;transition:filter .3s;display:block}.header.header-on-dark .logo img{filter:brightness(0)invert()}.nav{align-items:center;display:flex}.navList{gap:3rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.contactLink{margin-left:auto}.pill-btn{font-family:var(--font-sans);background:#000;border:1px solid #000;border-radius:100px;justify-content:center;align-items:center;padding:10px 24px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex;color:#fff!important}.pill-btn:hover{background:0 0;transform:translateY(-1px);color:#000!important}.hamburger{cursor:pointer;z-index:100;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:30px;height:20px;padding:0;display:none}.hamburger .line{background-color:var(--fg);transform-origin:50%;width:100%;height:2px;transition:transform .3s,opacity .3s}.header.header-on-dark .hamburger .line,.hamburger.active .line{background-color:#fff}.hamburger.active .line:first-child{transform:translateY(9px)rotate(45deg)}.hamburger.active .line:nth-child(2){opacity:0}.hamburger.active .line:nth-child(3){transform:translateY(-9px)rotate(-45deg)}.mobile-nav{color:#fff;width:100vw;height:100vh;padding:8rem var(--page-gutter)6rem var(--page-gutter);z-index:90;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;opacity:0;background-color:#000;flex-direction:column;justify-content:flex-start;align-items:flex-start;transition:transform .6s cubic-bezier(.7,0,.3,1),opacity .3s;display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translateY(-100%)}.mobile-nav.open{opacity:1;transform:translateY(0)}.mobileList{text-align:left;flex-direction:column;flex-shrink:0;gap:1.5rem;width:100%;display:flex}.mobileList li a{font-family:var(--font-sans);color:#fff;font-size:2rem;font-weight:500;text-decoration:none}.mobile-header-right{display:none}.mobile-nav-item-services{width:100%}.mobile-services-toggle-wrapper{cursor:pointer;width:100%;font-family:var(--font-sans);color:#fff;justify-content:space-between;align-items:center;padding-bottom:.5rem;font-size:2rem;font-weight:500;display:flex}.dropdown-arrow{opacity:.7;transition:transform .4s cubic-bezier(.16,1,.3,1)}.mobile-nav-item-services.expanded .dropdown-arrow{opacity:1;color:var(--accent-glow);transform:rotate(180deg)}.mobile-sub-list{opacity:0;flex-direction:column;gap:1.2rem;max-height:0;padding-left:1rem;list-style:none;transition:all .5s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.mobile-nav-item-services.expanded .mobile-sub-list{opacity:1;max-height:800px;margin-top:1.5rem;margin-bottom:2rem}.mobile-sub-list li a{text-decoration:none;transition:all .3s;display:block;color:#ffffff80!important;font-size:1.1rem!important}.mobile-sub-list li a.all-services-link{margin-bottom:.5rem;font-weight:600;color:#ffffffe6!important}.mobile-sub-list li a:active{transform:translate(5px);color:var(--accent-glow)!important}@media (max-width:768px){.desktop-nav{display:none}.mobile-header-right{align-items:center;gap:1.25rem;display:flex}.mobile-cta-btn{margin-right:1rem}.hamburger{display:flex}}@media (max-width:1023px){.header{position:fixed}}.nav-item-services{align-items:center;height:100%;display:flex;position:relative}.nav-dropdown{-webkit-backdrop-filter:blur(24px)saturate(180%);opacity:0;visibility:hidden;z-index:1000;background:#000000f2;border:1px solid #ffffff1a;border-radius:16px;min-width:280px;padding:12px;transition:all .4s cubic-bezier(.16,1,.3,1);position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 20px 40px #0006,inset 0 0 0 1px #ffffff0d}.header.header-on-dark .btn-universal.variant-light{color:#fff;border-color:#fff6}@media (hover:hover){.header.header-on-dark .btn-universal.variant-light:hover{color:#000;background:#fff;border-color:#fff;box-shadow:0 10px 30px #fff3}}.nav-item-services:hover .nav-dropdown{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.nav-item-services:after{content:"";width:100%;height:20px;position:absolute;top:100%;left:0}.dropdown-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.dropdown-list li{width:100%}.dropdown-list a{border-radius:12px;align-items:center;padding:12px 16px;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.service-name{color:#ffffffb3;letter-spacing:-.01em;font-size:15px;font-weight:500;transition:all .2s}.dropdown-list a:hover{background:#ffffff14;transform:scale(1.02)}.dropdown-list a:hover .service-name{color:#fff;transform:translate(4px)}.mobile-social{text-align:left;flex-direction:column;flex-shrink:0;gap:1.25rem;width:100%;margin-top:3rem;padding-bottom:2rem;display:flex}.mobile-social-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:#fff6;font-size:.7rem;font-weight:600}.mobile-social-links{flex-direction:row;gap:1.5rem;display:flex}.mobile-social-links a{color:#fff;opacity:.7;justify-content:center;align-items:center;transition:all .3s;display:flex}.mobile-social-links a:hover{color:var(--accent-primary);opacity:1;transform:translateY(-2px)}.mobile-social-links svg{display:block}
.floating-contact{z-index:999;flex-direction:column;align-items:flex-end;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.contact-toggle{color:#fff;cursor:pointer;z-index:20;background:#000;border:1px solid #ffffff1a;border-right:none;border-radius:4px 0 0 4px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 4px 20px #0003}@media (hover:hover){.contact-toggle:hover{background:var(--accent-primary);border-color:var(--accent-glow);transform:scale(1.05)}}.floating-contact.open .contact-toggle{color:#000;background:#fff;border-color:#fff}.contact-menu{flex-direction:column-reverse;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex;position:absolute;bottom:100%;right:0}.contact-item{opacity:0;pointer-events:none;justify-content:flex-end;align-items:center;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;transform:translateY(20px)scale(.9)}.floating-contact.open .contact-item{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.floating-contact.open .contact-item:first-child{transition-delay:50ms}.floating-contact.open .contact-item:nth-child(2){transition-delay:.1s}.contact-icon{color:#fff;z-index:2;background:#111;border:1px solid #ffffff1a;border-right:none;border-radius:10px 0 0 10px;justify-content:center;align-items:center;width:50px;height:50px;transition:all .3s;display:flex;position:relative;box-shadow:0 4px 12px #0000001a}.contact-icon:focus-visible{outline:2px solid var(--accent-glow);outline-offset:2px}@media (hover:hover){.contact-item:hover .contact-icon{background:var(--accent-primary);color:#fff;transform:translate(-4px)}}.contact-label{color:#fff;opacity:0;pointer-events:none;white-space:nowrap;background:#000;border:1px solid #ffffff26;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;right:64px;transform:translateY(-50%)translate(10px);box-shadow:0 4px 12px #0000004d}@media (hover:hover){.contact-item:hover .contact-label{opacity:1;transform:translateY(-50%)translate(0)}}@media (max-width:768px){.floating-contact{display:none}}
