:root{--color-bg:#fff;--color-bg-accent:#1c1c1e;--color-text:#1d1d1f;--color-accent:#0071e3;--color-muted:#6e6e73;--color-white:#fff;--color-primary:#1d1d1f;--color-secondary:#3d3d54;--color-tertiary:#66666f;--color-gray-scale-1:#8e8e93;--color-gray-scale-2:#aeaeb2;--color-gray-scale-3:#c7c7cc;--color-gray-scale-4:#d1d1d6;--color-gray-scale-5:#e5e5ea;--color-gray-scale-6:#f2f2f7;--color-text-primary:var(--color-primary);--color-text-secondary:var(--color-secondary);--color-text-tertiary:var(--color-tertiary);--color-border-default:var(--color-gray-scale-4);--color-border-subtle:var(--color-gray-scale-5);--color-surface-default:var(--color-white);--color-surface-subtle:var(--color-gray-scale-6);--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-28:28px;--space-32:32px;--space-36:36px;--space-48:48px;--space-56:56px;--space-64:64px;--space-96:96px;--layout-max-width:2560px;--layout-default-width:1920px;--layout-min-width:320px;--layout-section-content-wide:1200px;--layout-section-content-default:1024px;--layout-paragraph-width:680px;--radius-8:8px;--radius-12:12px;--font-family-spoqa:"Spoqa Han Sans Neo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-suit:"SUIT", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xxlarge:36px;--font-size-xlarge:28px;--font-size-large:20px;--font-size-regular:18px;--font-size-small:16px;--font-size-xsmall:14px;--globalnav-height:44px;--localnav-height:52px;--globalnav-padding-x:64px;--content-padding-left:64px;--homefooter-height:48px;--homefooter-padding-bottom:24px}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:#0000}img,svg,video,canvas{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}@font-face{font-family:SUIT;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/SUIT-Regular.woff2)format("woff2")}@font-face{font-family:SUIT;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/SUIT-Medium.woff2)format("woff2")}@font-face{font-family:SUIT;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/SUIT-SemiBold.woff2)format("woff2")}@font-face{font-family:SUIT;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/SUIT-Bold.woff2)format("woff2")}@font-face{font-family:Spoqa Han Sans Neo;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/SpoqaHanSansNeo-Regular.woff2)format("woff2")}@font-face{font-family:Spoqa Han Sans Neo;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/SpoqaHanSansNeo-Medium.woff2)format("woff2")}@font-face{font-family:Spoqa Han Sans Neo;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/SpoqaHanSansNeo-Bold.woff2)format("woff2")}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;height:100%;font-size:100%}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{letter-spacing:0;min-height:100%;color:var(--color-text);background-color:var(--color-bg);text-rendering:optimizelegibility;font-feature-settings:"kern","liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Spoqa Han Sans Neo,SUIT,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.47;overflow-x:hidden}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;word-break:keep-all}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background-color:var(--color-text);color:var(--color-bg)}.visuallyhidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-to-content{background:var(--color-text);color:var(--color-bg);z-index:9999;padding:8px 16px;position:absolute;top:-40px;left:0}.skip-to-content:focus{top:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.globalnav{font-family:var(--font-family-suit);height:var(--globalnav-height)}.globalnav:not(.is-home):not(.is-about){border-bottom:1px solid var(--color-border-default)}.globalnav.is-about{z-index:10;color:var(--color-white);transition:color .3s,background-color .3s;position:fixed;top:0;left:0;right:0}.globalnav.is-about .globalnav-content .globalnav-home,.globalnav.is-about .globalnav-content .globalnav-menu-button{color:inherit;transition:color .3s}.globalnav.is-open .globalnav-content{opacity:0;pointer-events:none}.globalnav .globalnav-content{z-index:30;height:100%;padding:0 var(--globalnav-padding-x);box-sizing:border-box;align-items:center;transition:opacity .2s ease-out;display:flex;position:relative}.globalnav .globalnav-content .globalnav-home{letter-spacing:1.2%;color:var(--color-text-primary);align-items:center;font-size:18px;font-weight:600;line-height:100%;display:flex}.globalnav .globalnav-content .globalnav-menu-button{color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-left:auto;padding:0;line-height:0;display:inline-flex}@media (max-width:1024px){:root{--globalnav-padding-x:40px}.globalnav:not(.is-home){z-index:10;background:var(--color-white);color:var(--color-text-primary);position:fixed;top:0;left:0;right:0}}@media (max-width:640px){:root{--globalnav-padding-x:24px}}.localnav{border-bottom:1px solid var(--color-border-default);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);height:var(--localnav-height);z-index:100;will-change:transform;background:#fffc;transition:transform .4s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.localnav.is-visible{transform:translateY(0)}.localnav.is-open .localnav-content{opacity:0;pointer-events:none}.localnav .localnav-content{box-sizing:border-box;align-items:center;width:1024px;height:100%;margin:0 auto;padding:0 32px;transition:opacity .2s ease-out;display:flex}.localnav .localnav-content .localnav-title{font-family:var(--font-family-spoqa)}.localnav .localnav-content .localnav-title a,.localnav .localnav-content .localnav-title .localnav-title-button{color:var(--color-text-primary);font-size:var(--font-size-regular);font-style:normal;font-weight:500;line-height:100%}.localnav .localnav-content .localnav-title .localnav-title-button{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.localnav .localnav-content .localnav-actions{align-items:center;gap:16px;height:100%;margin-left:auto;display:flex}.localnav .localnav-content .localnav-actions .localnav-demo{border-radius:var(--radius-8);background:var(--color-primary);height:28px;color:var(--color-white,#fff);font-family:var(--font-family-spoqa);justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-style:normal;font-weight:400;line-height:100%;display:inline-flex}.localnav .localnav-content .localnav-actions .localnav-toggle{color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex}.nav-overlay{--nav-overlay-padding-x:clamp(24px, 4.5vw, 64px);z-index:101;background:var(--color-bg);opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility 0s linear .2s;position:fixed;inset:0}.nav-overlay.is-open{opacity:1;visibility:visible;transition:opacity .2s ease-out,visibility}.nav-overlay .nav-overlay-header{padding:clamp(24px,3.5vh,48px) var(--nav-overlay-padding-x) clamp(12px,2vh,24px);box-sizing:border-box;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.nav-overlay .nav-overlay-header .nav-overlay-close{color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex}.nav-overlay .nav-overlay-list{padding:0 var(--nav-overlay-padding-x);box-sizing:border-box;padding-top:calc(var(--nav-overlay-height) + clamp(64px,16vh,200px));flex-direction:column;gap:clamp(16px,2.5vh,40px);padding-bottom:clamp(40px,10vh,140px);display:flex}.nav-overlay .nav-overlay-link{font-family:var(--font-family-suit);color:var(--color-text-primary);font-size:clamp(28px,5vw,72px);font-weight:700;line-height:1.1;display:inline-block}.nav-overlay .nav-overlay-link.is-indent{margin-left:clamp(20px,2.5vw,48px)}.nav-overlay .nav-overlay-link:hover,.nav-overlay .nav-overlay-link.active{background:var(--color-primary);color:var(--color-white)}.nav-overlay .nav-overlay-label{font-family:var(--font-family-suit);color:var(--color-gray-scale-1);cursor:default;-webkit-user-select:none;user-select:none;font-size:clamp(28px,5vw,72px);font-weight:700;line-height:1.1;display:inline-block}.nav-overlay .nav-overlay-label.active{background:var(--color-gray-scale-1);color:var(--color-white)}.localfooter{background:var(--color-primary);padding:48px 0 24px}.localfooter-content{max-width:1024px;font-family:var(--font-family-suit);color:var(--color-white);box-sizing:border-box;margin:0 auto;padding:0 32px}.localfooter-content h2{font-size:var(--font-size-large);font-wieght:700;padding-bottom:8px}.localfooter-content .localfooternav{margin-left:auto}.localfooter-content .localfooternav .localfooternav-list{gap:24px;display:flex}.localfooter-content .localfooternav .localfooternav-list .localfooternav-item{padding-bottom:8px}.localfooter-content .localfooternav .localfooternav-list .localfooternav-item #localfooternav-projects-label{color:var(--color-gray-scale-1)}.localfooter-content .localfooternav .localfooternav-list .localfooternav-item .localfooternav-item-projects{padding-top:8px}.localfooter-content .localfooternav .localfooternav-list .localfooternav-item .localfooternav-link{font-size:var(--font-size-small)}.localfooter-content .localfooternav .localfooternav-list .localfooternav-item .localfooternav-link:hover{text-decoration:underline}.localfooter-content .info{font-size:var(--font-size-small);gap:8px;padding-top:40px;display:flex}.localfooter-content .copyright{color:var(--color-gray-scale-1);padding-top:32px;font-size:12px}.section-content{width:var(--layout-section-content-default);margin:0 auto}.section-content-wide{width:var(--layout-section-content-wide);margin:0 auto}.section-eyebrow{width:var(--layout-paragraph-width);font-family:var(--font-family-spoqa);font-size:var(--font-size-regular);text-transform:capitalize;color:var(--color-text-tertiary);padding-bottom:12px;font-weight:700;line-height:100%}.section-eyebrow:not(.subhead){background:linear-gradient(90deg,#0071e3 0%,#1d1d1f 40%);color:#0000;-webkit-background-clip:text;background-clip:text}.section-dd-discover .section-eyebrow,.section-dd-define .section-eyebrow,.section-dd-develop .section-eyebrow,.section-dd-deliver .section-eyebrow{background-image:linear-gradient(90deg,#1d1d1f 0%,#0071e3 40%)}.section-standalone .section-eyebrow{background:linear-gradient(135deg,#aeaeb2 0%,#f2f2f7 50%,#aeaeb2 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.section-headline-large{width:var(--layout-paragraph-width);font-family:var(--font-family-spoqa);font-size:var(--font-size-xxlarge);color:var(--color-text-primary);padding-bottom:24px;font-weight:700;line-height:120%}.section-headline-large .emphasis{background:var(--color-primary);color:var(--color-white);display:inline-block}.section-headline-small{width:var(--layout-paragraph-width);font-family:var(--font-family-spoqa);font-size:var(--font-size-xlarge);color:var(--color-text-primary);padding-bottom:24px;font-weight:700;line-height:130%}.section-headline-small .emphasis{background:var(--color-primary);color:var(--color-white);display:inline-block}.section-label{width:var(--layout-paragraph-width);font-family:var(--font-family-spoqa);font-size:var(--font-size-large);color:var(--color-text-tertiary);padding-bottom:12px;font-weight:700;line-height:120%}.section-callout{font-family:var(--font-family-spoqa);font-size:var(--font-size-xsmall);color:var(--color-text-primary);padding-bottom:8px;font-weight:500}.typography-copy{width:var(--layout-paragraph-width);font-feature-settings:"ss18" on;font-family:var(--font-family-suit);font-size:var(--font-size-regular);color:var(--color-text-secondary);padding-bottom:8px;font-weight:400;line-height:120%}.typography-copy-bold{font-family:var(--font-family-suit);font-size:var(--font-size-regular);color:var(--color-text-secondary);padding-bottom:16px;font-weight:700;line-height:130%}.typography-callout-headline{font-family:var(--font-family-spoqa);font-size:var(--font-size-regular);color:var(--color-text-primary);padding-bottom:16px;font-weight:700;line-height:130%}.typography-callout-copy{font-family:var(--font-family-suit);font-size:var(--font-size-regular);color:var(--color-text-secondary);font-weight:400;line-height:130%}.copy-email-wrap{display:inline-block;position:relative}.copy-email{font:inherit;color:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0}.copy-email-tooltip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#1d1d1f;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.copy-email-tooltip:after{content:"";border:4px solid #0000;border-top-color:#1d1d1f;position:absolute;top:100%;left:50%;transform:translate(-50%)}.copy-email-tooltip.is-visible{opacity:1;transform:translate(-50%)translateY(0)}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
