.brand[data-astro-cid-gq5d7tsk]{color:var(--color-ink);font-family:var(--font-heading);letter-spacing:-.075em;align-items:center;gap:.5rem;min-height:2.75rem;font-size:1.9rem;font-weight:650;text-decoration:none;display:inline-flex}.brand__mark[data-astro-cid-gq5d7tsk]{width:2rem;height:2rem;color:var(--color-primary);flex-shrink:0}.brand__dot[data-astro-cid-gq5d7tsk]{color:var(--color-primary)}.brand--inverse[data-astro-cid-gq5d7tsk]{color:var(--color-inverse)}.brand--inverse[data-astro-cid-gq5d7tsk] .brand__mark[data-astro-cid-gq5d7tsk],.brand--inverse[data-astro-cid-gq5d7tsk] .brand__dot[data-astro-cid-gq5d7tsk]{color:var(--color-focus-inverse)}.brand--compact[data-astro-cid-gq5d7tsk]{font-size:1.7rem}.site-footer[data-astro-cid-h4ir32vx]{background:var(--color-dark);color:var(--color-inverse);padding:4rem 0 1.5rem}.site-footer[data-astro-cid-h4ir32vx]>.container{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:5rem;display:grid}.site-footer__statement[data-astro-cid-h4ir32vx]{flex-direction:column;align-items:start;gap:1.5rem;display:flex}.site-footer__statement[data-astro-cid-h4ir32vx] p[data-astro-cid-h4ir32vx]{max-width:24ch;color:var(--color-inverse-muted);font-size:var(--text-lead);line-height:var(--leading-relaxed);margin:0}.site-footer__statement[data-astro-cid-h4ir32vx]>a[data-astro-cid-h4ir32vx]{min-height:2.75rem;font-size:var(--text-sm);text-underline-offset:.3em;overflow-wrap:anywhere;align-items:center;display:inline-flex}.site-footer__links[data-astro-cid-h4ir32vx]{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}h2[data-astro-cid-h4ir32vx]{color:var(--color-inverse-muted);font-family:var(--font-body);font-size:var(--text-label);letter-spacing:0;margin:.75rem 0 1rem;font-weight:500}ul[data-astro-cid-h4ir32vx]{margin:0;padding:0;list-style:none}nav[data-astro-cid-h4ir32vx] a[data-astro-cid-h4ir32vx]{min-height:2.75rem;font-size:var(--text-sm);align-items:center;text-decoration:none;display:inline-flex}nav[data-astro-cid-h4ir32vx] a[data-astro-cid-h4ir32vx]:hover{color:var(--color-focus-inverse)}.site-footer__bottom[data-astro-cid-h4ir32vx]{font-size:var(--text-label);color:var(--color-inverse-muted);border-top:1px solid #56584c;grid-column:1/-1;margin-top:3rem;padding-top:1.5rem}.site-footer__bottom[data-astro-cid-h4ir32vx] p[data-astro-cid-h4ir32vx]{margin:0}@media (width<=48rem){.site-footer[data-astro-cid-h4ir32vx]>.container{grid-template-columns:minmax(0,1fr);gap:2.5rem}.site-footer__bottom[data-astro-cid-h4ir32vx]{margin-top:0}.site-footer__links[data-astro-cid-h4ir32vx]{gap:1rem}}.language-switch[data-astro-cid-5gcu6bed]{min-width:2.75rem;min-height:2.75rem;color:var(--color-ink-muted);font-family:var(--font-body);font-size:var(--text-label);justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.language-switch[data-astro-cid-5gcu6bed]:hover{color:var(--color-primary);text-underline-offset:.25em;text-decoration:underline}.menu-overlay[data-astro-cid-2iijbkao][hidden]{display:none}.menu-overlay[data-astro-cid-2iijbkao]{z-index:100;justify-items:end;display:grid;position:fixed;inset:0}.menu-backdrop[data-astro-cid-2iijbkao]{opacity:0;background:var(--color-overlay);width:100%;height:100%;transition:opacity var(--transition-base);border:0;position:absolute;inset:0}.menu-dialog[data-astro-cid-2iijbkao]{width:min(100%,32rem);height:100dvh;padding:0 var(--space-5) max(var(--space-6), env(safe-area-inset-bottom));overscroll-behavior:contain;opacity:0;background:var(--color-canvas);box-shadow:var(--shadow-lg);transition:opacity var(--transition-base), transform var(--transition-base);scroll-padding-top:7rem;position:relative;overflow-y:auto;transform:translate(1rem)}.menu-dialog__header[data-astro-cid-2iijbkao]{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:max(var(--space-5), env(safe-area-inset-top)) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-canvas);display:flex;position:sticky;top:0}.menu-close[data-astro-cid-2iijbkao]{border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-surface);width:2.75rem;height:2.75rem;color:var(--color-ink);font-size:var(--text-2xl);cursor:pointer;line-height:1}ul[data-astro-cid-2iijbkao]{margin:var(--space-8) 0 0;padding:0;list-style:none;display:grid}nav[data-astro-cid-2iijbkao] a[data-astro-cid-2iijbkao]{border-bottom:1px solid var(--color-border);min-height:4.75rem;color:var(--color-ink);font-family:var(--font-heading);font-size:var(--text-heading);letter-spacing:-.02em;grid-template-columns:minmax(0,1fr);align-items:center;font-weight:550;text-decoration:none;display:grid}nav[data-astro-cid-2iijbkao] a[data-astro-cid-2iijbkao].active{color:var(--color-primary)}.menu-overlay[data-astro-cid-2iijbkao][data-state=open] .menu-backdrop[data-astro-cid-2iijbkao],.menu-overlay[data-astro-cid-2iijbkao][data-state=open] .menu-dialog[data-astro-cid-2iijbkao]{opacity:1}.menu-overlay[data-astro-cid-2iijbkao][data-state=open] .menu-dialog[data-astro-cid-2iijbkao]{transform:translate(0)}.menu-dialog__footer[data-astro-cid-2iijbkao]{margin-top:var(--space-10);justify-content:flex-start;display:flex}@media (height<=30rem){.menu-dialog__header[data-astro-cid-2iijbkao]{padding-block:max(var(--space-3), env(safe-area-inset-top)) var(--space-3)}ul[data-astro-cid-2iijbkao]{margin-top:var(--space-3)}nav[data-astro-cid-2iijbkao] a[data-astro-cid-2iijbkao]{min-height:3.5rem;font-size:var(--text-heading)}.menu-dialog__footer[data-astro-cid-2iijbkao]{margin-top:var(--space-4)}}@media (width>=64rem){.menu-overlay[data-astro-cid-2iijbkao]{display:none}}.site-header[data-astro-cid-pau66mmb]{z-index:80;background:var(--color-canvas);border-bottom:1px solid var(--color-border);position:sticky;inset:0 0 auto}.site-header__inner[data-astro-cid-pau66mmb]{min-height:var(--header-height);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.desktop-nav[data-astro-cid-pau66mmb]{align-items:center;gap:1.25rem;display:none}.desktop-nav[data-astro-cid-pau66mmb] ul[data-astro-cid-pau66mmb]{align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.desktop-nav[data-astro-cid-pau66mmb] a[data-astro-cid-pau66mmb]{min-height:2.875rem;color:var(--color-ink-muted);font-size:var(--text-sm);transition:background var(--transition-fast), color var(--transition-fast);align-items:center;padding:.7rem 1rem;font-weight:500;text-decoration:none;display:inline-flex}.desktop-nav[data-astro-cid-pau66mmb] a[data-astro-cid-pau66mmb]:hover,.desktop-nav[data-astro-cid-pau66mmb] a[data-astro-cid-pau66mmb].active{color:var(--color-ink)}.desktop-nav[data-astro-cid-pau66mmb] a[data-astro-cid-pau66mmb]:not(.contact-link){position:relative}.desktop-nav[data-astro-cid-pau66mmb] a[data-astro-cid-pau66mmb]:not(.contact-link):after{content:"";transform-origin:0;height:1px;transition:transform .22s var(--motion-ease-out);background:currentColor;position:absolute;bottom:.6rem;left:1rem;right:1rem;transform:scaleX(0)}.desktop-nav[data-astro-cid-pau66mmb] a[data-astro-cid-pau66mmb]:not(.contact-link):is(:hover,:focus-visible,.active):after{transform:scaleX(1)}.desktop-nav[data-astro-cid-pau66mmb] a[data-astro-cid-pau66mmb].contact-link{background:var(--color-ink);color:var(--color-inverse);border-radius:var(--radius-control);margin-left:.75rem;padding-inline:1.4rem}.desktop-nav[data-astro-cid-pau66mmb] a[data-astro-cid-pau66mmb].contact-link:hover,.desktop-nav[data-astro-cid-pau66mmb] a[data-astro-cid-pau66mmb].contact-link.active{background:var(--color-primary);color:var(--color-inverse);text-decoration:none}.menu-toggle[data-astro-cid-pau66mmb]{border:1px solid var(--color-control-border);border-radius:var(--radius-control);width:2.875rem;height:2.875rem;color:var(--color-ink);cursor:pointer;background:0 0;place-content:center;gap:.4rem;display:inline-grid}.menu-toggle[data-astro-cid-pau66mmb]:hover{background:var(--color-surface-muted)}.menu-toggle[data-astro-cid-pau66mmb] span[data-astro-cid-pau66mmb]{background:currentColor;width:1.2rem;height:1.5px}@media (width>=64rem){.desktop-nav[data-astro-cid-pau66mmb]{display:flex}.menu-toggle[data-astro-cid-pau66mmb]{display:none}}.email-toast[data-astro-cid-widlvjne]{--color-focus:var(--color-focus-inverse);z-index:90;inset-inline-end:max(1.5rem, env(safe-area-inset-right));bottom:max(1.5rem, env(safe-area-inset-bottom));border-radius:var(--radius-control);background:var(--color-dark);width:min(27rem,100% - 2rem);color:var(--color-inverse);border:1px solid #56584c;align-items:start;gap:.875rem;padding:1.25rem .75rem 1.25rem 1.25rem;animation:.18s ease-out toast-in;display:flex;position:fixed;box-shadow:0 .75rem 2.5rem #1d1e1933}.email-toast[data-astro-cid-widlvjne][hidden],.toast-address[data-astro-cid-widlvjne][hidden]{display:none}.toast-icon[data-astro-cid-widlvjne]{color:var(--color-focus-inverse);flex-shrink:0;margin-top:.125rem}.email-toast[data-astro-cid-widlvjne][data-state=error] .toast-icon[data-astro-cid-widlvjne]{display:none}.toast-copy[data-astro-cid-widlvjne]{flex:1;min-width:0}.toast-title[data-astro-cid-widlvjne]{font-size:var(--text-base);margin:0;font-weight:500}.toast-detail[data-astro-cid-widlvjne]{color:var(--color-inverse-muted);font-size:var(--text-sm);margin:.35rem 0 0;line-height:1.5}.toast-close[data-astro-cid-widlvjne]{border-radius:var(--radius-md);width:44px;height:44px;color:var(--color-inverse-muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin-top:-.5rem;display:flex}.toast-close[data-astro-cid-widlvjne]:hover{color:var(--color-inverse);background:var(--color-dark-raised)}.toast-address[data-astro-cid-widlvjne]{border:1px solid var(--color-control-border);border-radius:var(--radius-md);background:var(--color-dark-raised);width:100%;color:var(--color-inverse);margin-top:.75rem;padding:.75rem;font-size:1rem}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@media (width<=36rem){.email-toast[data-astro-cid-widlvjne]{inset-inline-end:1rem;bottom:max(1rem, env(safe-area-inset-bottom));gap:.75rem;padding-inline-start:1rem}}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--color-canvas:#f6f4ee;--color-surface:#fffdf8;--color-surface-raised:#fffdf8;--color-surface-muted:#eeebe3;--color-ink:#25241f;--color-ink-muted:#626057;--color-ink-subtle:#706d64;--color-border:#dfdcd2;--color-border-strong:#b7b3a6;--color-control-border:#898476;--color-primary:#bb3e20;--color-primary-hover:#9b2f16;--color-primary-soft:#f8e4db;--color-accent:#e45a32;--color-accent-soft:#f8e4db;--color-success:#176447;--color-warning:#8a5b12;--color-danger:#9d2f3f;--color-focus:#bb3e20;--color-focus-inverse:#ffb28f;--color-overlay:#1d1e19ad;--color-inverse:#fff9ed;--color-inverse-muted:#cbc7b9;--color-dark:#292a23;--color-dark-raised:#36382e;--color-dark-deep:#1d1e19;--product-viggo:#715031;--product-viggo-soft:#ede3cf;--product-takofy:#426047;--product-takofy-soft:#e5eadc;--product-finance:#8c442c;--product-finance-soft:#f6e0d3;--product-qavision:#4e557d;--product-qavision-soft:#e5e5ef;--font-body:"IBM Plex Sans Variable", "Helvetica Neue", Arial, sans-serif;--font-heading:"Bricolage Grotesque Variable", "Arial Narrow", sans-serif;--text-display:clamp(3rem, 1.8rem + 4.5vw, 5.5rem);--text-title:clamp(2.5rem, 1.75rem + 3vw, 4.5rem);--text-section:clamp(2rem, 1.5rem + 2vw, 3.25rem);--text-heading:clamp(1.375rem, 1.125rem + 1vw, 1.875rem);--text-subtitle:clamp(1.375rem, 1.2rem + .7vw, 1.75rem);--text-lead:clamp(1.125rem, 1rem + .5vw, 1.375rem);--text-label:.8125rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.25rem;--text-6xl:4.5rem;--leading-tight:1.08;--leading-snug:1.28;--leading-normal:1.6;--leading-relaxed:1.66;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:.125rem;--radius-md:.25rem;--radius-control:.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-pill:999px;--shadow-sm:0 1px 2px #25241f09;--shadow-control:0 .5rem 1.4rem -1rem #25241f3d;--shadow-control-hover:0 .9rem 2rem -1.15rem #25241f6b;--shadow-md:0 1.5rem 4rem -3rem #25241f47;--shadow-lg:0 2rem 5rem -3rem #25241f5c;--focus-ring:0 0 0 3px #bb3e204d;--container:80rem;--container-narrow:48rem;--header-height:5rem;--transition-fast:.16s ease;--transition-base:.24s ease}body{color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);text-rendering:optimizelegibility;font-kerning:normal}h1,h2,h3,h4{color:var(--color-ink);font-family:var(--font-heading);font-optical-sizing:auto;letter-spacing:-.035em;font-weight:550;line-height:var(--leading-tight);text-wrap:balance;margin-block:0}h1{font-size:var(--text-title)}h2{font-size:var(--text-section)}h3{font-size:var(--text-heading);letter-spacing:-.02em;line-height:1.2}p{text-wrap:pretty}a{color:inherit}:root{--motion-ease-out:cubic-bezier(.22, 1, .36, 1);--motion-ease-in-out:cubic-bezier(.65, 0, .35, 1);--motion-feedback:.18s;--motion-reveal:.48s}@media (prefers-reduced-motion:no-preference){:where(.hero-work-link,.case-link,.approach-link,.company-work__link,.overview-link,.product-back,.button)>span[aria-hidden=true]:not(.button__spinner){transition:transform var(--motion-feedback) var(--motion-ease-out);display:inline-block}:where(.case-link,.approach-link,.company-work__link):is(:hover,:focus-visible)>span[aria-hidden=true]{transform:translate(4px)}:where(.hero-work-link,.overview-link):is(:hover,:focus-visible)>span[aria-hidden=true]{transform:translateY(3px)}.product-back:is(:hover,:focus-visible)>span[aria-hidden=true]{transform:translate(-4px)}.button:not([aria-disabled=true]):is(:hover,:focus-visible)>span[aria-hidden=true]:not(.button__spinner){transform:translate(2px,-2px)}@media (hover:hover) and (pointer:fine){.case-image img,.gallery-frame--link img{transition:transform .48s var(--motion-ease-out)}.case-image:hover img,.gallery-frame--link:hover img{transform:scale(1.025)}}}@media print{[data-enter],[data-reveal]{opacity:1!important;transform:none!important}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-4));-webkit-text-size-adjust:100%}body{background:var(--color-canvas);min-height:100vh;margin:0}:where(.cta-section,.site-footer){--color-focus:var(--color-focus-inverse)}body[data-menu-open=true]{position:fixed;inset-inline:0;overflow:hidden}main:focus{outline:none}img,picture,video,svg{max-width:100%;display:block}img,video{height:auto}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-primary-soft);color:var(--color-ink)}.container{width:min(100% - 2.5rem, var(--container));margin-inline:auto}.container--narrow{max-width:var(--container-narrow)}.skip-link{inset:var(--space-3) auto auto var(--space-3);z-index:200;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);background:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-ink);transition:translate var(--transition-fast);font-weight:600;text-decoration:none;position:fixed;translate:0 -180%}.skip-link:focus-visible{translate:0}.eyebrow{margin:0 0 var(--space-4);color:var(--color-ink-muted);font-family:var(--font-body);font-size:var(--text-label);letter-spacing:.015em;font-weight:500}.section{padding-block:clamp(var(--space-16), 8vw, var(--space-24))}.section--soft{border-block:1px solid var(--color-border);background:var(--color-surface-muted)}.section-intro{max-width:46rem;margin-bottom:clamp(var(--space-8), 5vw, var(--space-12))}.section-intro h2{max-width:18ch}.section-intro>p:not(.eyebrow){max-width:40rem;margin:var(--space-5) 0 0;color:var(--color-ink-muted);font-size:var(--text-lead);line-height:var(--leading-relaxed)}.prose{max-width:var(--container-narrow)}.prose h2{margin:var(--space-12) 0 var(--space-4);font-size:var(--text-heading)}.prose p{color:var(--color-ink-muted);line-height:var(--leading-relaxed)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (width>=48rem){.container{width:min(100% - 5rem, var(--container))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
