.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}@font-face{font-family:Geomanist;src:url(/fonts/geomanist-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Geomanist;src:url(/fonts/geomanist-regular-italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Geomanist Book;src:url(/fonts/geomanist-book.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--color-canvas:#f5f8fd;--color-ink:#1c2129;--color-muted:#595f68;--color-soft:#dfe2e7;--color-dark:#1a1c1e;--color-white:#fff;--color-case:#fef2e6;--color-outline:#d1d2d3;--color-caption:#747981;--color-nav:#e3e7ee;--color-nav-dark:#22282f;--color-section-label:#898f99;--color-testimonial-copy:#babfc9;--color-testimonial-track:#3c3c3c;--font-body:"Geomanist", system-ui, sans-serif;--font-display:"Geomanist Book", "Geomanist", system-ui, sans-serif;--size-display:clamp(4rem, 7.42vw, 7rem);--size-h2:clamp(3rem, 3.71vw, 3.5rem);--size-h3:2.125rem;--size-body-lg:1.3125rem;--size-label:1.1875rem;--size-button:1rem;--layout-gutter:72px;--section-space:176px;--radius-card:11.3849px;--ease-button-text:cubic-bezier(.625, .05, 0, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;background:var(--color-canvas)}body{scrollbar-width:none;-ms-overflow-style:none;color:var(--color-ink);background:var(--color-canvas);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-weight:400}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p,blockquote,figure{margin:0}button,a{-webkit-tap-highlight-color:transparent}html.is-page-transitioning{overflow:hidden}::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-group(page-transition-overlay){z-index:1000;animation:none}::view-transition-old(page-transition-overlay),::view-transition-new(page-transition-overlay){visibility:visible;opacity:1;mix-blend-mode:normal;animation:none}.page-transition{z-index:1000;pointer-events:none;visibility:hidden;position:fixed;inset:0;overflow:clip}.page-transition__panel{color:var(--color-dark);background-color:currentColor;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:100%;left:0}.page-transition__title{color:var(--color-canvas);opacity:0;width:calc(100% - (var(--layout-gutter) * 2));font-family:var(--font-display);font-size:var(--size-display);letter-spacing:-.04em;text-align:center;justify-content:center;font-weight:400;line-height:1;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.page-transition__title span{display:block}.section-shell{padding-inline:var(--layout-gutter)}.eyebrow{color:var(--color-muted);font-size:var(--size-label);letter-spacing:-.02em;text-transform:uppercase;line-height:.8}.eyebrow--center{text-align:center}.eyebrow--light{color:var(--color-canvas);opacity:.5}.brand-mark{align-items:center;gap:0;width:96px;height:32px;display:flex}.brand-mark img{width:32px;height:32px}.brand-mark__portrait{object-fit:cover;border-radius:50%}.brand-mark__glyph{flex:0 0 32px;width:32px;height:32px;position:relative}.brand-mark__glyph img{transition:opacity .22s;position:absolute;inset:0}.brand-mark__glyph-light{opacity:0}.site-header{z-index:50;top:48px;left:var(--layout-gutter);right:var(--layout-gutter);justify-content:space-between;align-items:flex-start;display:flex;position:fixed}.segment{align-items:stretch;display:flex}[data-main-nav]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.segment__item{min-height:36px;color:var(--color-ink);background:var(--color-nav);font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;place-items:center;padding:10px;font-size:19px;line-height:.8;transition:color .22s,background-color .22s;display:grid;position:relative;overflow:hidden}.segment__item--active{color:var(--color-ink);background:var(--color-nav);border-radius:64px}.header-cta{border-radius:999px}.site-header[data-scrolled=true][data-surface=light] .header-cta{color:var(--color-canvas);background:var(--color-ink)}.site-header[data-surface=dark] .brand-mark__glyph-dark{opacity:0}.site-header[data-surface=dark] .brand-mark__glyph-light{opacity:1}.site-header[data-surface=dark] [data-main-nav] .segment__item{color:var(--color-canvas);background:var(--color-nav-dark)}.site-header[data-surface=dark] .header-cta{color:var(--color-ink);background:var(--color-nav)}.hero{min-height:607px;padding:212px var(--layout-gutter) 48px;flex-direction:column;align-items:center;display:flex;overflow:hidden}.hero__content{text-align:center;flex-direction:column;align-items:center;gap:32px;width:min(1045px,100%);display:flex}.hero h1,.type-display{font-family:var(--font-display);font-size:var(--size-display);letter-spacing:-.04em;font-weight:400;line-height:1}.hero h1 span{display:block}.hero__content>p{color:var(--color-muted);font-size:var(--size-body-lg);letter-spacing:-.03em;line-height:1.2}.button-main{color:var(--color-white);background:var(--color-ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;border-radius:56px;font-size:21px;line-height:.8;display:inline-flex;position:relative;overflow:hidden}.button-main__inner{justify-content:center;align-items:center;min-height:57px;padding:20px 30px;display:flex;position:relative;overflow:hidden}.button-main--compact{font-size:16px}.button-main--compact .button-main__inner{min-height:49px;padding:18px}.hover-text__sizer{opacity:0}.hover-text__window{position:absolute;inset:0;overflow:hidden}.hover-text__track{height:200%;transition:transform .52s var(--ease-button-text);flex-direction:column;display:flex;transform:translateY(0)}[data-text-hover][data-animating=true] .hover-text__track{transform:translateY(-50%)}[data-text-hover][data-resetting=true] .hover-text__track{transition:none}.hover-text__line{flex:0 0 50%;justify-content:center;align-items:center;display:flex}.button-main--light{color:var(--color-ink);background:var(--color-canvas)}.button-main--outline{color:var(--color-dark);background:0 0;border:1px solid #a4b8cb}.footer .button-main--outline{color:var(--color-canvas);border-color:#50565c}.work{padding-block:48px var(--section-space);flex-direction:column;align-items:center;gap:32px;display:flex}.work__list{flex-direction:column;gap:24px;width:100%;display:flex}.project-card{grid-template-columns:minmax(180px,1fr) minmax(0,853.87px) minmax(100px,1fr);align-items:center;width:100%;display:grid}.project-card__meta{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.project-card__meta h3{font-family:var(--font-display);font-size:var(--size-h3);letter-spacing:-.04em;font-weight:400;line-height:1}.project-card__meta p{color:var(--color-muted);font-size:var(--size-label);letter-spacing:-.03em;line-height:1.2}.project-card__media{aspect-ratio:3/2;border-radius:var(--radius-card);overflow:hidden}.project-card__media img,.project-card__media video{object-fit:cover;will-change:transform;width:100%;height:100%}.project-card__action{width:64px;height:64px;color:var(--color-white);background:var(--color-ink);border-radius:50%;justify-self:end;place-items:center;display:grid}.project-card__action svg{width:40px;height:40px}.project-card[hidden]{display:none}.work-page-hero{flex-direction:column;align-items:center;min-height:678px;padding:212px 48px 128px;display:flex;overflow:hidden}.work-page-hero__content{text-align:center;flex-direction:column;align-items:center;gap:64px;width:min(1045px,100%);display:flex}.work-page-hero__content>div:first-child{flex-direction:column;align-items:center;gap:16px;display:flex}.work-page-hero h1{font-family:var(--font-display);font-size:var(--size-display);letter-spacing:-.04em;font-weight:400;line-height:1}.work-page-hero h1 span{display:block}.work-page-hero__content>div:first-child>p{color:var(--color-muted);font-size:var(--size-body-lg);letter-spacing:-.03em;line-height:1.2}.work-filters{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.filter-button{border:1px solid var(--color-outline);min-height:49px;color:var(--color-dark);font-family:var(--font-display);font-size:var(--size-button);letter-spacing:-.02em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:56px;justify-content:center;align-items:center;padding:18px;line-height:.8;display:inline-flex;position:relative;overflow:hidden}.filter-button--active{color:var(--color-white);background:var(--color-ink);border-color:var(--color-ink)}.work-index{padding-block:48px var(--section-space);flex-direction:column;align-items:center;gap:32px;display:flex}.case-page-hero{flex-direction:column;align-items:center;min-height:517px;padding:212px 48px 128px;display:flex;overflow:hidden}.case-page-hero__content{flex-direction:column;align-items:center;gap:16px;width:min(1414px,100%);display:flex}.case-page-hero__title{text-align:center;flex-direction:column;align-items:center;width:min(1045px,100%);display:flex}.case-page-hero h1{font-family:var(--font-display);font-size:var(--size-display);letter-spacing:-.04em;font-weight:400;line-height:1}.case-meta{justify-content:center;align-items:flex-end;gap:72px;margin:0;display:flex}.case-meta div{flex-direction:column;align-items:center;gap:16px;display:flex}.case-meta dt{color:var(--color-caption);text-align:center;text-transform:uppercase;font-size:.9375rem;line-height:1.1}.case-meta dd{color:var(--color-ink);font-size:var(--size-body-lg);letter-spacing:-.02em;text-align:center;margin:0;line-height:.8}.case-meta__site-link{align-items:center;gap:.35em;display:inline-flex}.case-meta__site-text{padding-bottom:.12em;line-height:1.1;display:inline-flex;position:relative;overflow:hidden}.case-meta__site-text .hover-text__line{text-underline-offset:3px;text-decoration:underline}.case-meta__site-link>svg{flex:none;width:1em;height:1em}.case-gallery{flex-direction:column;display:flex}.case-visual{justify-content:center;align-items:center;padding:176px 144px;display:flex;overflow:hidden}.case-visual:first-child{padding-top:0}.case-visual__media{border-radius:0;width:100%;max-width:1222px;height:auto;display:block}.case-visual--full{padding:0}.case-visual--full .case-visual__media{border-radius:0;max-width:none}.case-next{color:var(--color-canvas);background:var(--color-dark);flex-direction:column;justify-content:center;align-items:center;gap:24px;padding-block:128px;display:flex}.case-next>.eyebrow{width:100%;color:var(--color-caption);letter-spacing:0;text-align:center;font-size:15px;line-height:1.1}.case-next__project-card{cursor:pointer;flex-direction:column;align-items:center;gap:16px;width:min(580px,100% - 40px);display:flex}.case-next h2{max-width:580px;font-family:var(--font-display);font-size:var(--size-display);letter-spacing:-.04em;text-align:center;font-weight:400;line-height:1}.case-next__link{color:var(--color-canvas);letter-spacing:-.02em;align-items:center;gap:.35em;font-size:21px;line-height:.8;display:inline-flex}.case-next__link-text{padding-bottom:.12em;line-height:1.1;display:inline-flex;position:relative;overflow:hidden}.case-next__link-text .hover-text__line{text-underline-offset:3px;text-decoration:underline}.case-next__link>svg{flex:none;width:1em;height:1em}.case-next__card{aspect-ratio:3/2;border-radius:7.6789px;width:min(576px,100%);display:block;overflow:hidden}.case-next__card img,.case-next__card video{object-fit:cover;will-change:transform;width:100%;height:100%}.case-footer{padding-top:0}.social-proof{min-height:1050px;padding-block:var(--section-space);color:var(--color-canvas);background:var(--color-dark);grid-template-columns:minmax(0,1fr) minmax(560px,700px);align-items:center;gap:16px;display:grid}.social-proof__copy{flex-direction:column;justify-content:space-between;min-height:698px;padding-right:80px;display:flex}.social-proof .eyebrow{color:var(--color-section-label);opacity:1;font-size:15px;line-height:1.1}.social-proof h2{color:var(--color-canvas);font-family:var(--font-display);font-size:var(--size-h2);letter-spacing:-.04em;margin-top:32px;font-weight:400;line-height:1}.testimonial-carousel{flex-direction:column;gap:16px;width:min(603px,100%);display:flex}.testimonial-carousel__header{color:var(--color-section-label);text-transform:uppercase;justify-content:space-between;font-size:15px;line-height:1.1;display:flex}.testimonial-carousel__body{flex-direction:column;gap:8px;min-height:293px;display:flex}.testimonial-progress{background:var(--color-testimonial-track);width:100%;height:1px;overflow:hidden}.testimonial-progress span{background:var(--color-canvas);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.testimonial-carousel__identity-row{min-width:0;position:relative}.testimonial-carousel__slides{min-width:0}.testimonial-slide{flex-direction:column;gap:40px;display:flex}.testimonial-slide[hidden]{display:none}.testimonial-slide figcaption{align-items:center;gap:16px;min-height:67px;padding-right:102px;display:flex}.testimonial-slide figcaption img{object-fit:cover;border-radius:50%;flex:none;width:40px;height:40px}.testimonial-slide figcaption span{flex-direction:column;gap:4px;min-width:0;display:flex}.testimonial-slide strong{color:var(--color-canvas);font-family:var(--font-display);font-size:21px;font-weight:400;line-height:1.5}.testimonial-slide small{color:var(--color-caption);font-size:21px;line-height:1.1}.testimonial-slide blockquote{max-width:603px;color:var(--color-testimonial-copy);font-size:21px;font-style:normal;line-height:1.4}.testimonial-carousel__controls{width:70px;height:35px;display:flex;position:absolute;top:11px;right:0}.testimonial-carousel__controls button{color:#101010;background:var(--color-canvas);cursor:pointer;border:0;border-radius:0;place-items:center;width:35px;height:35px;padding:4px;display:grid}.testimonial-carousel__controls button:last-child{border-radius:40px}.client-grid{flex:none;grid-template-columns:repeat(3,1fr);gap:4px;width:min(700px,100%);display:grid}.client-logo-card{aspect-ratio:1;border-radius:8px;min-width:0;position:relative;overflow:hidden}.client-logo-card__window{position:absolute;inset:0;overflow:hidden}.client-logo-card__track{height:200%;transition:transform .52s var(--ease-button-text);flex-direction:column;display:flex;transform:translateY(0)}.client-logo-card[data-animating=true] .client-logo-card__track{transform:translateY(-50%)}.client-logo-card[data-resetting=true] .client-logo-card__track{transition:none}.client-logo-card__line{flex:0 0 50%;justify-content:center;align-items:center;display:flex}.client-logo-card__line img{opacity:.7;object-fit:contain;width:100%;height:100%}.footer{color:var(--color-canvas);background:var(--color-dark);flex-direction:column;gap:8px;display:flex}.footer__cta{min-height:752px;padding-block:var(--section-space);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex}.footer__heading{flex-direction:column;align-items:center;gap:32px;display:flex}.footer__cta .eyebrow{color:var(--color-section-label);font-size:15px}.footer__cta h2{width:min(580px,100%);font-family:var(--font-display);font-size:var(--size-display);letter-spacing:-.04em;font-weight:400;line-height:1}.footer__actions{flex-direction:column;align-items:center;gap:8px;display:flex}.footer__bottom{border-radius:16px;justify-content:space-between;align-items:flex-start;min-height:94px;padding-block:24px;display:flex}.footer__facts,.footer__social{gap:72px;display:flex}.footer__facts>div,.footer__social-group{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.footer__bottom span{color:#747981;text-transform:uppercase;font-size:.9375rem}.footer__bottom strong,.footer__bottom a{font-size:1rem;font-weight:400}.footer__social{gap:72px}.footer__social a{color:var(--color-canvas);line-height:1.1;display:inline-flex;position:relative;overflow:hidden}.footer__social a span{color:var(--color-canvas)}.style-guide{min-height:100vh;padding-block:48px 128px}.style-guide__header{justify-content:space-between;align-items:center;margin-bottom:96px;display:flex}.style-guide__header>a{color:var(--color-muted)}.style-guide__section{border-top:1px solid var(--color-soft);flex-direction:column;align-items:flex-start;gap:24px;padding-block:64px;display:flex}.type-h2{font-family:var(--font-display);font-size:var(--size-h2);letter-spacing:-.04em;font-weight:400;line-height:1}.type-h3{font-family:var(--font-display);font-size:var(--size-h3);letter-spacing:-.04em;font-weight:400;line-height:1}.type-body{color:var(--color-muted);font-size:var(--size-body-lg);letter-spacing:-.03em;line-height:1.2}.style-guide__row{flex-wrap:wrap;gap:16px;display:flex}.swatches{flex-wrap:wrap;gap:28px;display:flex}.swatches div{flex-direction:column;gap:12px;display:flex}.swatches span{border:1px solid var(--color-soft);width:100px;height:100px}.swatches code{color:var(--color-muted)}.style-guide__brand{align-items:flex-start;gap:48px;display:flex}.style-guide__brand>img{object-fit:cover;background:#c3c9d3;width:512px;height:512px}.case-study{min-height:100vh;padding-block:48px 128px}.case-study__back{color:var(--color-muted);align-items:center;gap:8px;margin-bottom:128px;display:inline-flex}.case-study header{flex-direction:column;gap:24px;margin-bottom:64px;display:flex}.case-study h1{font-family:var(--font-display);font-size:var(--size-display);letter-spacing:-.04em;font-weight:400;line-height:1}.case-study header>p:last-child{max-width:640px;color:var(--color-muted);font-size:var(--size-body-lg);line-height:1.2}.case-study__cover,.case-study__gallery img{border-radius:var(--radius-card);width:100%}.case-study__content{max-width:720px;color:var(--color-muted);font-size:var(--size-body-lg);margin:96px auto;line-height:1.5}.case-study__content h2{color:var(--color-ink);font-family:var(--font-display);font-size:var(--size-h3);letter-spacing:-.04em;margin:48px 0 16px;font-weight:400;line-height:1}.case-study__gallery{flex-direction:column;gap:24px;display:flex}@media (width<=900px){:root{--layout-gutter:20px}.site-header{top:24px;left:var(--layout-gutter);right:var(--layout-gutter)}.hero,.work-page-hero,.case-page-hero{min-height:auto;padding:152px var(--layout-gutter) 96px}.site-header{align-items:center}.site-header>.segment:first-of-type{display:none}.hero__content>p{max-width:34ch}.project-card{grid-template-columns:1fr 64px;gap:16px}.project-card__meta{grid-column:1;margin-bottom:8px}.project-card__media{grid-area:2/1/auto/-1}.project-card__action{grid-area:1/2;width:52px;height:52px}.project-card__action svg{width:28px;height:28px}.social-proof{grid-template-columns:1fr}.social-proof__copy{min-height:560px;padding-right:0}.client-logo-card{min-height:0}.footer__bottom{align-items:flex-start;gap:64px}.case-visual:not(.case-visual--full){padding-inline:var(--layout-gutter)}}@media (width<=600px){:root{--size-display:3.5rem;--size-h2:2.75rem;--size-h3:1.75rem;--size-body-lg:1.125rem;--size-label:1rem}.hero h1 span{display:inline}.hero h1 span:first-child{margin-right:.2em}.work{padding-block:32px 96px}.work-page-hero h1 span{display:inline}.work-page-hero h1 span:first-child{margin-right:.2em}.case-meta{flex-wrap:wrap;align-items:flex-start;gap:32px;width:100%}.case-meta div{min-width:130px}.social-proof{padding-block:96px}.client-grid{grid-template-columns:repeat(3,1fr)}.footer__bottom,.footer__facts{flex-direction:column;gap:40px}.footer__social{flex-wrap:wrap;gap:24px}.style-guide__brand{flex-direction:column}.style-guide__brand>img{width:100%;height:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
