@font-face{font-family:Recovered Geist;src:url(/fonts/geist-sans.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:100 900}@font-face{font-family:Recovered Geist Mono;src:url(/fonts/geist-mono.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:100 900}:root{--font-geist-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-geist-mono:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}.contact-details{gap:.75rem 2rem}.footer-company-details{flex-direction:column;gap:.375rem;display:flex}.site-brand-logo{flex:none;width:11.25rem;height:1.25rem;display:block;position:relative}.site-brand-logo--footer{width:12.25rem;height:1.5rem}.site-brand-logo__image{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.site-brand-logo__image--white,.dark .site-brand-logo__image--black{display:none}.dark .site-brand-logo__image--white{display:block}@media (max-width:420px){.site-brand-logo:not(.site-brand-logo--footer){width:7.5rem;height:.9375rem}.site-brand-logo--footer{width:10.75rem;height:1.25rem}}@media (min-width:421px) and (max-width:850px){.site-brand-logo:not(.site-brand-logo--footer){width:8.75rem;height:1.0625rem}}.portfolio-projects__intro{justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:5rem;display:flex}.portfolio-projects__intro>p{max-width:34rem;color:color-mix(in srgb,var(--accent-foreground)65%,transparent);font-size:1rem;line-height:1.625}.portfolio-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2rem;display:grid}.portfolio-project{background:var(--background);color:var(--foreground);border-radius:1rem}.portfolio-project>a{height:100%;padding:.75rem;display:block}.portfolio-project__media{aspect-ratio:16/9;background:color-mix(in srgb,var(--foreground)6%,var(--background));border-radius:.75rem;position:relative;overflow:hidden}.portfolio-project__media img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .7s cubic-bezier(.22,1,.36,1)}.portfolio-project:hover .portfolio-project__media img{transform:scale(1.025)}.portfolio-featured__media-link{height:100%;display:block}.portfolio-featured__media-link .portfolio-project__media{aspect-ratio:auto;height:100%;min-height:20rem}.portfolio-projects__grid--systems{margin-top:1.5rem}.portfolio-project__copy{justify-content:space-between;align-items:flex-end;gap:1.5rem;padding:1.5rem 1rem 1rem;display:flex}.portfolio-project__copy h4{letter-spacing:-.025em;font-size:1.5rem;font-weight:500;line-height:1.25}.portfolio-project__copy p{max-width:30rem;color:color-mix(in srgb,var(--foreground)58%,transparent);margin-top:.5rem;font-size:.875rem;line-height:1.625}.portfolio-project__link{font-family:var(--font-geist-mono);letter-spacing:.16em;text-transform:uppercase;flex:none;align-items:center;gap:.75rem;padding-bottom:.1rem;font-size:.6875rem;display:inline-flex}.portfolio-project__link>span{background:var(--foreground);width:1.5rem;height:1.5rem;color:var(--background);border-radius:.375rem;justify-content:center;align-items:center;display:inline-flex}.portfolio-marks__intro{border-top:1px solid color-mix(in srgb,var(--accent-foreground)15%,transparent);margin-top:5rem;padding-top:2rem}@media (max-width:1100px){.portfolio-projects__intro{flex-direction:column;align-items:flex-start}}@media (max-width:850px){.portfolio-projects__intro,.portfolio-marks__intro{margin-top:3.5rem}.portfolio-projects__grid{grid-template-columns:1fr;gap:1rem;margin-top:1.5rem}.portfolio-featured__media-link .portfolio-project__media{aspect-ratio:16/9;min-height:0}.portfolio-project__copy{flex-direction:column;align-items:flex-start;gap:1.25rem;padding:1.25rem .75rem .75rem}}.contact-stepper{width:100%;position:relative}.contact-stepper input.contact-honeypot{border:0;width:1px;height:1px;padding:0;position:absolute;left:-10000px;overflow:hidden}.contact-stepper__progress{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:3.75rem;display:grid}.contact-stepper__progress-item{border-top:2px solid color-mix(in srgb,var(--foreground)10%,transparent);color:color-mix(in srgb,var(--foreground)35%,transparent);flex-direction:column;gap:.3rem;padding-top:1rem;display:flex}.contact-stepper__progress-item.is-active{border-color:var(--foreground);color:var(--foreground)}.contact-stepper__progress-item span{font-family:var(--font-geist-mono);font-size:.7rem}.contact-stepper__progress-item small{font-size:.7rem}.contact-stepper fieldset{border:0;min-width:0;margin:0;padding:0}.contact-stepper legend{letter-spacing:-.045em;margin-bottom:.75rem;font-size:clamp(1.9rem,3vw,2.9rem);font-weight:500;line-height:1.05}.field-help{color:color-mix(in srgb,var(--foreground)58%,transparent);margin:0 0 1.75rem;font-size:.875rem}.choice-grid,.input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.choice{border:1px solid color-mix(in srgb,var(--foreground)10%,transparent);background:var(--background);min-height:3.9rem;color:var(--foreground);text-align:left;cursor:pointer;border-radius:.65rem;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;transition:border-color .2s,background-color .2s,color .2s;display:flex}.choice:hover,.choice.is-selected{border-color:var(--foreground)}.choice.is-selected{background:var(--foreground);color:var(--background)}.contact-stepper textarea,.contact-stepper input[type=text],.contact-stepper input[type=email],.contact-stepper input[type=tel],.contact-stepper input[type=url]{border:1px solid color-mix(in srgb,var(--foreground)12%,transparent);background:var(--background);width:100%;color:var(--foreground);border-radius:.65rem}.contact-stepper textarea{resize:vertical;padding:1.1rem;font-size:1rem;line-height:1.55}.contact-stepper input[type=text],.contact-stepper input[type=email],.contact-stepper input[type=tel],.contact-stepper input[type=url]{height:3.3rem;padding:0 .9rem}.file-picker{border:1px dashed color-mix(in srgb,var(--foreground)35%,transparent);background:var(--background);cursor:pointer;border-radius:.75rem;align-items:center;gap:1rem;min-height:5.6rem;margin-bottom:1.75rem;padding:1.4rem;display:flex}.file-picker:hover{border-color:var(--foreground)}.input-label{margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:block}.input-grid{gap:1.1rem}.input-grid label>span{justify-content:space-between;margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:flex}.input-grid em{color:color-mix(in srgb,var(--foreground)50%,transparent);font-size:.7rem;font-style:normal;font-weight:400}.consent{color:color-mix(in srgb,var(--foreground)60%,transparent);align-items:flex-start;gap:.75rem;margin-top:1.6rem;font-size:.8rem;line-height:1.5;display:flex}.consent input{width:1.1rem;height:1.1rem;accent-color:var(--foreground);flex:none;margin-top:.1rem}.consent a,.text-link{color:var(--foreground);text-decoration:underline}.contact-stepper__actions{border-top:1px solid color-mix(in srgb,var(--foreground)10%,transparent);justify-content:space-between;gap:.75rem;margin-top:2.6rem;padding-top:1.5rem;display:flex}.form-error{border:1px solid color-mix(in srgb,var(--foreground)28%,transparent);color:var(--foreground);border-radius:.65rem;margin:1.5rem 0 0;padding:.9rem 1rem;font-size:.85rem;line-height:1.5}.button{min-height:3rem;font-family:var(--font-geist-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:.4rem;justify-content:center;align-items:center;gap:.6rem;padding:0 1.2rem;font-size:.72rem;font-weight:600;display:inline-flex}.button--dark,.button--accent{background:var(--foreground);color:var(--background)}.button--secondary{border-color:color-mix(in srgb,var(--foreground)12%,transparent);color:var(--foreground);background:0 0}.button:disabled{opacity:.35;cursor:not-allowed}.contact-success{text-align:center;padding:5rem 1.5rem}.contact-success__icon{background:var(--foreground);width:4rem;height:4rem;color:var(--background);border-radius:999px;place-items:center;margin:0 auto 1.8rem;display:grid}.contact-success h3{letter-spacing:-.05em;max-width:16ch;margin:0 auto 1rem;font-size:clamp(2rem,4vw,3rem);line-height:1}.contact-success>p{max-width:38rem;color:color-mix(in srgb,var(--foreground)60%,transparent);margin:0 auto 1.5rem;line-height:1.55}@media (max-width:720px){.contact-stepper__progress{margin-bottom:2.5rem}.contact-stepper__progress-item small{display:none}.choice-grid,.input-grid{grid-template-columns:1fr}.contact-stepper__actions{flex-direction:column-reverse;align-items:stretch}.contact-stepper__actions .button{width:100%}}.legal-copy h1{letter-spacing:-.06em;margin:1.5rem 0 4rem;font-size:clamp(3rem,7vw,7rem);font-weight:500;line-height:.95}.legal-copy h2{letter-spacing:-.035em;margin:3rem 0 .9rem;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:500;line-height:1.1}.legal-copy p:not(:first-child){color:color-mix(in srgb,var(--foreground)65%,transparent);font-size:1rem;line-height:1.7}.legal-copy a{color:var(--foreground);text-decoration:underline}.logo-wheel{border-top:1px solid color-mix(in srgb,var(--foreground)10%,transparent);border-bottom:1px solid color-mix(in srgb,var(--foreground)10%,transparent);margin-top:3rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.logo-wheel__track{will-change:transform;width:max-content;animation:48s linear infinite logo-wheel-scroll;display:flex}.logo-wheel:hover .logo-wheel__track{animation-play-state:paused}.logo-wheel__item{border-right:1px solid color-mix(in srgb,var(--foreground)10%,transparent);width:15rem;height:7.5rem;color:color-mix(in srgb,var(--foreground)62%,transparent);text-align:center;flex:none;justify-content:center;align-items:center;padding:1.5rem;transition:background-color .25s,color .25s;display:flex}a.logo-wheel__item:hover{background:color-mix(in srgb,var(--foreground)4%,transparent);color:var(--foreground)}.logo-wheel__item img{object-fit:contain;filter:none;mix-blend-mode:normal;width:100%;max-width:9rem;max-height:4rem}.dark .logo-wheel__item img:not(.logo-wheel__image--light){background:#fff;border-radius:.25rem;box-shadow:0 0 0 .4rem #fff}.logo-wheel__item img.logo-wheel__image--light{filter:brightness(0)}.dark .logo-wheel__item img.logo-wheel__image--light{filter:none}.logo-wheel__item span{font-family:var(--font-geist-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:500;line-height:1.4}.partner-logo-slot{border:1px solid color-mix(in srgb,var(--accent-foreground)12%,transparent);background:var(--background);width:100%;min-height:8rem;color:var(--foreground);border-radius:.75rem;justify-content:center;align-items:center;padding:1.5rem;transition:transform .3s cubic-bezier(.33,1,.68,1);display:flex}.partner-logo-slot:hover{transform:translateY(-.25rem)}.partner-logo-slot img{object-fit:contain;width:100%;max-width:12rem;max-height:5rem}.partner-logo-slot img.partner-logo--lh{max-width:10.5rem;max-height:4.5rem}.partner-logo-slot img.partner-logo--icea{max-width:14rem;max-height:6rem}.partner-logo-slot span{font-family:var(--font-geist-mono);letter-spacing:.12em;font-size:.75rem}@keyframes logo-wheel-scroll{to{transform:translate(-50%)}}@media (max-width:720px){.logo-wheel__item{width:11rem;height:6.5rem;padding:1rem}}@media (prefers-reduced-motion:reduce){.logo-wheel__track{animation:none}}
