@font-face{font-family:IBM Plex Sans;src:url(/static/fe/font/ibm-plex-sans/IBMPlexSans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/static/fe/font/ibm-plex-sans/IBMPlexSans-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/static/fe/font/ibm-plex-sans/IBMPlexSans-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/static/fe/font/ibm-plex-sans/IBMPlexSans-MediumItalic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/static/fe/font/ibm-plex-sans/IBMPlexSans-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/static/fe/font/ibm-plex-sans/IBMPlexSans-SemiBoldItalic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/static/fe/font/ibm-plex-sans/IBMPlexSans-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/static/fe/font/ibm-plex-sans/IBMPlexSans-BoldItalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/static/fe/font/cormorant-garamond/CormorantGaramond-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/static/fe/font/cormorant-garamond/CormorantGaramond-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/static/fe/font/cormorant-garamond/CormorantGaramond-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/static/fe/font/cormorant-garamond/CormorantGaramond-SemiBoldItalic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/static/fe/font/cormorant-garamond/CormorantGaramond-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/static/fe/font/cormorant-garamond/CormorantGaramond-BoldItalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--va-color-logo-dark: #1a1f1f;--va-color-logo-red: #981b1e;--va-color-canvas-ivory: #f7f4ef;--va-color-surface-porcelain: #fcfbf8;--va-color-surface-warm: #f3ede5;--va-color-ink-navy: #162033;--va-color-ink-soft: #4d5665;--va-color-ink-muted: #868d98;--va-color-border-light: #e7e0d6;--va-color-border-warm: #d5c7b3;--va-color-accent-sand: #b5966e;--va-color-accent-strong: #866540;--va-color-accent-strong-hover: #7f603c;--va-color-accent-blush: #ede2d4;--va-color-section-deep: #162a46;--va-color-success-sage: #617a67;--va-color-danger-terracotta: #a65a52;--va-color-warning-ochre: #c59b54;--va-color-info-slate: #5d7c98;--va-color-bg: #f7f4ef;--va-color-surface: #fcfbf8;--va-color-surface-soft: #f3ede5;--va-color-surface-dark: #162a46;--va-color-text: #162033;--va-color-text-soft: #4d5665;--va-color-text-muted: #868d98;--va-color-border: #e7e0d6;--va-color-border-strong: #d5c7b3;--va-color-accent: #b5966e;--va-color-accent-soft: #ede2d4;--va-color-success: #617a67;--va-color-danger: #a65a52;--va-color-warning: #c59b54;--va-color-info: #5d7c98;--va-font-body: IBM Plex Sans, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--va-font-display: Cormorant Garamond, Georgia, serif;--va-font-ui: IBM Plex Sans, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--va-font-mono: SFMono-Regular, ui-monospace, Menlo, Monaco, Consolas, monospace;--va-space-1: .25rem;--va-space-2: .5rem;--va-space-3: .75rem;--va-space-4: 1rem;--va-space-5: 1.5rem;--va-space-6: 2rem;--va-space-7: 3rem;--va-space-8: 4rem;--va-space-9: 6rem;--va-radius-xs: .25rem;--va-radius-sm: .375rem;--va-radius-md: .5rem;--va-radius-lg: .875rem;--va-radius-pill: 999px;--va-shadow-xs: 0 6px 18px rgba(15, 31, 59, .03);--va-shadow-sm: 0 14px 32px rgba(15, 31, 59, .05);--va-shadow-md: 0 20px 46px rgba(15, 31, 59, .08);--va-container-max: 90rem;--va-container-wide-max: 96rem;--va-reading-max: 46rem;--va-content-max: 72rem;--va-transition-fast: .16s ease;--va-transition-base: .22s ease;--va-border-width: 1px}.va-featured-case{display:grid;gap:clamp(1.25rem,3vw,2rem)}@media(min-width:64rem){.va-featured-case{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.va-webapp-case-list{display:grid}.va-webapp-case-list__item{padding-block:clamp(2rem,4vw,3rem);border-bottom:1px solid var(--va-color-border)}.va-webapp-case-list__item:first-child{padding-top:0}.va-webapp-case-list__item:last-child{padding-bottom:0;border-bottom:0}@media(min-width:64rem){.va-webapp-case-list__item.is-reversed .va-featured-case__content{order:2}.va-webapp-case-list__item.is-reversed .va-featured-case__visual{order:1}}.va-webapp-case-list .va-featured-case{align-items:start}.va-webapp-case-list .va-featured-case__content{align-content:start}.va-webapp-case-list .va-featured-case__title-link,.va-webapp-case-list .va-featured-case__media-link{color:inherit}.va-webapp-case-list .va-featured-case__title-link:hover,.va-webapp-case-list .va-featured-case__title-link:focus-visible,.va-webapp-case-list .va-featured-case__media-link:hover,.va-webapp-case-list .va-featured-case__media-link:focus-visible{color:inherit}.va-webapp-case-list .va-featured-case__title-link{display:inline}.va-webapp-case-list .va-featured-case__media-link{display:block}.va-webapp-case-list .portfolioItemTags{margin-top:.25rem}.va-webapp-detail{display:grid;gap:clamp(1.5rem,3vw,2.5rem)}.va-webapp-detail__hero{width:100%}.va-webapp-detail__media{overflow:hidden}.va-webapp-detail__media .va-ratio{isolation:isolate}.va-webapp-detail__overlay{position:absolute;inset:auto 0 0;z-index:1;display:flex;align-items:flex-end;min-height:45%;padding:clamp(1.25rem,3vw,2.25rem);background:linear-gradient(180deg,#16203300,#16203333 24%,#16203394,#162033e0)}.va-webapp-detail__overlay-content{display:grid;gap:.9rem;max-width:min(100%,52rem)}.va-webapp-detail__overlay-content .va-eyebrow,.va-webapp-detail__overlay-content .va-title-lg{color:#fff}.va-webapp-detail__overlay-content .va-title-lg{max-width:100%}.va-webapp-detail__overlay-content .portfolioItemTags li{border-color:#ffffff24;background:#ffffff14;color:#ffffffeb;backdrop-filter:blur(8px)}.va-webapp-detail__section{width:100%}.va-webapp-detail__back-link{margin-bottom:-.5rem}.va-webapp-detail__copy .va-prose,.va-webapp-detail__copy .va-prose>*{max-width:none}.va-webapp-detail__copy .va-prose p,.va-webapp-detail__copy .va-prose li,.va-webapp-detail__copy .va-prose blockquote{max-width:none}.va-webapp-detail__quote{padding:0}.va-webapp-detail__quote .va-webapp-detail__quote-card{position:relative;display:grid;gap:1.25rem;padding:clamp(1.5rem,3vw,2rem)}.va-webapp-detail__quote .va-webapp-detail__quote-card:before{content:"";position:absolute;inset:0 auto 0 0;width:.35rem;background:var(--va-color-accent)}.va-webapp-detail__quote .va-webapp-detail__quote-mark{position:absolute;top:clamp(1rem,2vw,1.35rem);right:clamp(1rem,2vw,1.35rem);font-size:clamp(2rem,4vw,3rem);color:#c19c6438;pointer-events:none}.va-webapp-detail__quote .va-webapp-detail__quote-body{position:relative;z-index:1;display:grid;gap:1rem;padding-right:clamp(1.75rem,4vw,3.5rem)}.va-webapp-detail__quote .va-webapp-detail__quote-body blockquote,.va-webapp-detail__quote .va-webapp-detail__quote-body blockquote p{max-width:none;color:var(--va-color-text);text-shadow:none;font-size:clamp(1.15rem,1.15rem + (1.45rem - 1.15rem) * (100vw - 22.5rem) / (90rem - 22.5rem),1.45rem);line-height:1.5}.va-webapp-detail__quote .va-webapp-detail__quote-attribution{padding-top:.9rem;border-top:1px solid var(--va-color-border)}.va-webapp-detail__quote .va-webapp-detail__quote-attribution p,.va-webapp-detail__quote .va-webapp-detail__quote-attribution strong,.va-webapp-detail__quote .va-webapp-detail__quote-attribution cite{max-width:none;color:var(--va-color-text-soft)}.va-featured-case__content,.va-featured-case__visual{display:grid;gap:1rem}.va-featured-case__media{overflow:hidden}.va-featured-case__media .va-ratio{isolation:isolate}.va-featured-case__quote-overlay{position:absolute;inset:auto 0 0;z-index:1;display:flex;align-items:flex-end;padding:clamp(1rem,2.2vw,1.5rem);background:linear-gradient(180deg,#16203300,#16203324 26%,#16203370 62%,#162033c2)}.va-featured-quote{max-width:min(100%,39rem);color:#fffffff0}.va-featured-quote__mark{display:inline-flex;color:#fffffff0;font-size:1.15rem;line-height:1}.va-featured-quote blockquote,.va-featured-quote p{margin:0;color:#fffffff0}.va-featured-quote blockquote{line-height:1.6;text-shadow:0 1px 12px rgba(0,0,0,.18)}.va-featured-quote blockquote p+p,.va-featured-quote>p{margin-top:.7rem}.va-featured-quote>p,.va-featured-quote cite,.va-featured-quote strong{color:#fffffff0;font-size:clamp(.88rem,.88rem + (.96rem - .88rem) * (100vw - 22.5rem) / (90rem - 22.5rem),.96rem)}.va-featured-quote cite{font-style:normal}@media (max-width: calc(48rem - .02px)){.va-ratio--mobile-content-overlay{display:grid}.va-ratio--mobile-content-overlay:before{display:none}.va-ratio--mobile-content-overlay>img{position:absolute;inset:0}.va-webapp-detail__overlay,.va-featured-case__quote-overlay{position:relative;inset:auto;min-height:clamp(18rem,78vw,28rem);padding:1rem}.va-webapp-detail__overlay{min-height:clamp(18rem,72vw,26rem)}.va-webapp-detail__overlay-content{gap:.6rem}.va-webapp-detail__overlay-content .va-eyebrow{font-size:.58rem;letter-spacing:.13em}.va-webapp-detail__overlay-content .va-title-lg{font-size:clamp(1.9rem,10vw,2.75rem);line-height:.98}.va-webapp-detail__overlay-content .portfolioItemTags{gap:.35rem}.va-webapp-detail__overlay-content .portfolioItemTags li{min-height:1.65rem;padding:.28rem .5rem;font-size:.68rem;line-height:1.1}.va-featured-quote blockquote{line-height:1.45;font-size:.82rem}.va-featured-quote blockquote p+p,.va-featured-quote>p{margin-top:.55rem}.va-featured-quote>p,.va-featured-quote cite,.va-featured-quote strong{font-size:.82rem;line-height:1.45}}.va-tech-card{min-height:100%;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;display:grid;gap:.75rem}.va-tech-card .va-tech-card__head{display:flex;align-items:center;gap:.8rem;min-width:0}.va-tech-card h3{margin:0}.va-tech-card p{margin:0;font-size:clamp(.8rem,.8rem + (.86rem - .8rem) * (100vw - 22.5rem) / (90rem - 22.5rem),.86rem)}.va-tech-card__icon{width:2.4rem;height:2.4rem;margin-bottom:0;color:#162a46a6}.va-tech-card__icon.voidart-icon{font-size:2rem}.va-tech-card__icon.void-php:before{transform:translate(.18rem) scale(.92);transform-origin:center}@media (max-width: calc(48rem - .02px)){.va-section--home-tech .va-section-head{justify-items:center;text-align:center;margin-bottom:1.5rem}.va-section--home-tech .va-grid--4{gap:0}.va-section--home-tech .va-tech-card{padding-block:1.05rem 1.2rem;border-top:1px solid var(--va-color-border);justify-items:center;text-align:center}.va-section--home-tech .va-tech-card:first-child{padding-top:0;border-top:0}.va-section--home-tech .va-tech-card p{max-width:26ch}.va-section--home-tech .va-tech-card__head{justify-content:center}}.va-stat-grid{width:min(100%,74rem);margin-inline:auto;border:0;border-radius:0;background:transparent}@media(min-width:48rem){.va-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.va-stat-grid{column-gap:0}}@media(min-width:80rem){.va-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.va-stat{background:transparent;padding:1.3rem 1rem 1.1rem;text-align:center;border-left:0}@media(min-width:80rem){.va-stat{border-left:1px solid var(--va-color-border)}.va-stat:first-child{border-left:0}}@media (max-width: calc(80rem - .02px)){.va-stat__value{font-size:clamp(2.35rem,5vw,2.8rem)}}.va-stat__label{font-size:clamp(.76rem,.76rem + (.82rem - .76rem) * (100vw - 22.5rem) / (90rem - 22.5rem),.82rem)}@media (max-width: calc(80rem - .02px)){.va-stat__label{font-size:clamp(.88rem,.88rem + (.96rem - .88rem) * (100vw - 22.5rem) / (90rem - 22.5rem),.96rem)}}.portfolioItemsGrid{display:grid;gap:clamp(1rem,2vw,1.5rem)}.portfolioItemsGrid.columns-1,.portfolioItemsGrid.columns-2,.portfolioItemsGrid.columns-3,.portfolioItemsGrid.columns-4{grid-template-columns:minmax(0,1fr)}@media(min-width:48rem){.portfolioItemsGrid.columns-2,.portfolioItemsGrid.columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.portfolioItemsGrid.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolioItemsGrid.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.portfolioItem{min-width:0}.portfolioItemLink,.portfolioItem>.portfolioItemThumb,.portfolioItem>.portfolioItemBody,.portfolioItem>a{display:block}.portfolioItemLink{height:100%;background:var(--va-color-surface);border:1px solid var(--va-color-border);border-radius:var(--va-radius-md);overflow:hidden;box-shadow:var(--va-shadow-xs)}.portfolioItemLink:hover{border-color:var(--va-color-border-strong);box-shadow:var(--va-shadow-sm)}.portfolioItem--splitLink{height:100%;background:var(--va-color-surface);border:1px solid var(--va-color-border);border-radius:var(--va-radius-md);overflow:hidden;box-shadow:var(--va-shadow-xs)}.portfolioItem--splitLink:hover{border-color:var(--va-color-border-strong);box-shadow:var(--va-shadow-sm)}.portfolioItemThumb{aspect-ratio:16/10;overflow:hidden;background:var(--va-color-surface-soft)}.portfolioItemThumb img{width:100%;height:100%;object-fit:cover}.portfolioItemThumbLink,.portfolioItemTitleLink{display:block;color:inherit;text-decoration:none}.portfolioItemBody{display:grid;gap:.8rem;padding:1rem}.portfolioItemTitle{margin:0;font-family:var(--va-font-ui);font-weight:600;line-height:1.25;font-size:clamp(.96rem,.96rem + (1.04rem - .96rem) * (100vw - 22.5rem) / (90rem - 22.5rem),1.04rem);color:var(--va-color-text)}.portfolioItemDescription{color:var(--va-color-text-soft);line-height:1.6;font-size:clamp(.9rem,.9rem + (.98rem - .9rem) * (100vw - 22.5rem) / (90rem - 22.5rem),.98rem)}.va-portfolio-grid--home .portfolioItemLink,.va-portfolio-grid--home .portfolioItem--splitLink{border:0;box-shadow:none;background:transparent;border-radius:0}.va-portfolio-grid--home .portfolioItemThumb{position:relative;border:1px solid var(--va-color-border);border-radius:var(--va-radius-sm)}.va-portfolio-grid--home .portfolioItemThumb img{border-radius:inherit}.va-portfolio-grid--home .portfolioItemBody{padding:.7rem 0 0}.va-portfolio-grid--home .portfolioItemTitle{font-family:var(--va-font-ui);font-weight:600;line-height:1.35;font-size:clamp(.84rem,.84rem + (.92rem - .84rem) * (100vw - 22.5rem) / (90rem - 22.5rem),.92rem)}.va-portfolio-grid--home .portfolioItemDescription{font-size:clamp(.73rem,.73rem + (.79rem - .73rem) * (100vw - 22.5rem) / (90rem - 22.5rem),.79rem);line-height:1.5}.va-portfolio-grid--selected-work .portfolioItemThumb{overflow:visible}.va-portfolio-grid--selected-work .portfolioItemBody--withOverlayTags{padding-top:1.6rem}.va-portfolio-grid--selected-work .portfolioItemBody{padding-left:1.5rem}.va-portfolio-grid--selected-work .portfolioItemTags--overlay{position:absolute;left:1rem;bottom:0;z-index:2;max-width:calc(100% - 2rem);gap:.45rem;transform:translateY(50%)}.va-portfolio-grid--selected-work .portfolioItemTags--overlay li{min-height:1.7rem;padding:.3rem .55rem;border-color:var(--va-color-border);background:var(--va-color-surface);box-shadow:var(--va-shadow-xs);font-size:clamp(.68rem,.68rem + (.72rem - .68rem) * (100vw - 22.5rem) / (90rem - 22.5rem),.72rem)}.page-websites .portfolioItemsGrid{column-gap:clamp(1rem,2vw,1.5rem);row-gap:clamp(2rem,4vw,3rem)}@media (max-width: calc(64rem - .02px)){.va-portfolio-grid--selected-work .portfolioItemsGrid{row-gap:2rem}}@media(min-width:48rem)and (max-width: calc(64rem - .02px)){.va-portfolio-grid--selected-work .portfolioItemsGrid.columns-3>.portfolioItem:last-child:nth-child(odd){grid-column:1/-1;width:100%;max-width:calc((100% - clamp(1rem,2vw,1.5rem))/2);justify-self:center}}.portfolioItemTags,.portfolioTags,.portfolioPhotoCategories{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}.portfolioItemTags li,.portfolioTags li,.portfolioPhotoCategories li{display:inline-flex;align-items:center;min-height:2.2rem;padding:.45rem .8rem;border:1px solid var(--va-color-border);border-radius:999px;background:#fff;color:var(--va-color-text-soft);font-size:clamp(.8rem,.8rem + (.86rem - .8rem) * (100vw - 22.5rem) / (90rem - 22.5rem),.86rem);line-height:1}.portfolioTags li,.portfolioPhotoCategories li{cursor:pointer;transition:border-color var(--va-transition-fast),color var(--va-transition-fast),background-color var(--va-transition-fast)}.portfolioTags li:hover,.portfolioTags li.active,.portfolioPhotoCategories li:hover,.portfolioPhotoCategories li.active{color:var(--va-color-text);border-color:var(--va-color-border-strong);background:var(--va-color-surface-soft)}@media (max-width: calc(48rem - .02px)){.portfolioItemTags{gap:.35rem}.portfolioItemTags li{min-height:1.65rem;padding:.28rem .5rem;font-size:.68rem;line-height:1.1}}
