@font-face {
  font-family: BDO Grotesk;
  src: url('../fonts/BDOGrotesk-Regular.woff2') format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: BDO Grotesk;
  src: url('../fonts/BDOGrotesk-Medium.woff2') format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: BDO Grotesk;
  src: url('../fonts/BDOGrotesk-DemiBold.woff2') format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: IBM Plex Mono;
  src: url('../fonts/IBMPlexMono-Text.woff2') format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: IBM Plex Mono;
  src: url('../fonts/IBMPlexMono-SemiBold.woff2') format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: IBM Plex Mono;
  src: url('../fonts/IBMPlexMono-Medium.woff2') format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: BDO Grotesk;
  src: url('../fonts/BDOGrotesk-Bold.woff2') format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --site--background: var(--palette--black);
  --_text-style---font-family: var(--_text---font--primary);
  --site--text: var(--palette--white);
  --_text-style---font-size: var(--_text---font-size--text-main);
  --_text-style---line-height: var(--_text---line-height--main);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text---font-size--text-2xl: 3rem;
  --_text---line-height--small: 1.2;
  --_text---font--primary-regular: 500;
  --_text---font-size--text-xl: 2.5rem;
  --_text---line-height--medium: 1.3;
  --_text---font-size--text-l: 2rem;
  --_text---line-height--large: 1.4;
  --_text---font-size--text-main: 1.5rem;
  --_size---section-space--main: clamp(3 * 1rem, ((3 - ((5 - 3) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((5 - 3) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 5 * 1rem);
  --_size---section-space--large: clamp(4.5 * 1rem, ((4.5 - ((8 - 4.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((8 - 4.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 8 * 1rem);
  --_size---section-space--small: clamp(2.25 * 1rem, ((2.25 - ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 3 * 1rem);
  --_size---section-space--none: 0px;
  --_size---section-space--xsmall: clamp(1.25 * 1rem, ((1.25 - ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 1.5 * 1rem);
  --_gap---size--0: 0rem;
  --_size---max-width--main: calc(var(--_size---site--viewport-max) * 1rem);
  --_size---site--margin: 1rem;
  --_size---max-width--full: 100%;
  --_text-style---text-wrap: pretty;
  --palette--brand: #e9fe00;
  --_text---font--secondary: "IBM Plex Mono", Arial, sans-serif;
  --palette--blacker: color-mix(in srgb, var(--palette--black), black 20%);
  --_text---font-size--text-xs: 1rem;
  --_text---letter-spacing--normal: 0rem;
  --palette--transparent: transparent;
  --palette--white: white;
  --_size---space--1: clamp(.375 * 1rem, ((.375 - ((.5 - .375) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.5 - .375) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .5 * 1rem);
  --_size---space--2: clamp(.625 * 1rem, ((.625 - ((.75 - .625) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.75 - .625) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .75 * 1rem);
  --_size---space--3: clamp(.875 * 1rem, ((.875 - ((1 - .875) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((1 - .875) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 1 * 1rem);
  --_size---space--4: clamp(1.25 * 1rem, ((1.25 - ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 1.5 * 1rem);
  --_size---columns--4: calc(4 * ((100cqw - 11 * var(--_size---site--gutter)) / 12)  + 3 * var(--_size---site--gutter));
  --_size---columns--6: calc(6 * ((100cqw - 11 * var(--_size---site--gutter)) / 12)  + 5 * var(--_size---site--gutter));
  --_size---site--gutter: 1rem;
  --_size---columns--1: calc(1 * ((100cqw - 11 * var(--_size---site--gutter)) / 12));
  --_size---columns--11: calc(11 * ((100cqw - 11 * var(--_size---site--gutter)) / 12)  + 10 * var(--_size---site--gutter));
  --_size---columns--9: calc(9 * ((100cqw - 11 * var(--_size---site--gutter)) / 12)  + 8 * var(--_size---site--gutter));
  --_size---columns--5: calc(5 * ((100cqw - 11 * var(--_size---site--gutter)) / 12)  + 4 * var(--_size---site--gutter));
  --_size---columns--7: calc(7 * ((100cqw - 11 * var(--_size---site--gutter)) / 12)  + 6 * var(--_size---site--gutter));
  --_size---columns--3: calc(3 * ((100cqw - 11 * var(--_size---site--gutter)) / 12)  + 2 * var(--_size---site--gutter));
  --_size---columns--2: calc(2 * ((100cqw - 11 * var(--_size---site--gutter)) / 12)  + var(--_size---site--gutter));
  --_size---columns--8: calc(8 * ((100cqw - 11 * var(--_size---site--gutter)) / 12)  + 7 * var(--_size---site--gutter));
  --_size---columns--10: calc(10 * ((100cqw - 11 * var(--_size---site--gutter)) / 12)  + 9 * var(--_size---site--gutter));
  --_size---columns--12: calc(12 * ((100cqw - 11 * var(--_size---site--gutter)) / 12)  + 11 * var(--_size---site--gutter));
  --_size---site--margin-small\<deleted\|variable-13614c44-5197-acaa-8b92-679796ad38c0\>: 1rem;
  --_text---font-size--text-s: 1.25rem;
  --_text---letter-spacing--tight: -.02rem;
  --_size---radius--tiny: .075rem;
  --_gap---size--1: var(--_size---space--1);
  --site--text-mute: var(--palette--grey-50);
  --_gap---size--6: var(--_size---space--6);
  --_gap---size--5: var(--_size---space--5);
  --palette--grey-80: color-mix(in srgb, var(--palette--black), white 10%);
  --_gap---size--0-5: var(--_size---space--0-5);
  --_size---space--5: clamp(1.75 * 1rem, ((1.75 - ((2 - 1.75) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((2 - 1.75) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 2 * 1rem);
  --_size---space--7: clamp(2.25 * 1rem, ((2.25 - ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 3 * 1rem);
  --palette--blackest: color-mix(in srgb, var(--palette--black), black 50%);
  --_text---font-size--text-fixed-s: 1.25rem;
  --_gap---size--4: var(--_size---space--4);
  --palette--black: #1a1a1a;
  --_size---section-space--page-top: clamp(8 * 1rem, ((8 - ((12 - 8) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((12 - 8) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 12 * 1rem);
  --palette--grey-30: color-mix(in srgb, var(--palette--black), white 60%);
  --palette--grey-85: color-mix(in srgb, var(--palette--black), white 5%);
  --palette--grey-40: color-mix(in srgb, var(--palette--black), white 50%);
  --_text---line-height--main: 1.3;
  --palette--orange: #ff5102;
  --palette--green: #1daa26;
  --palette--lilac: #c58cff;
  --palette--blue: #337cff;
  --_size---space--8: clamp(2.5 * 1rem, ((2.5 - ((4 - 2.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((4 - 2.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 4 * 1rem);
  --_gap---size--base: var(--_size---site--gutter);
  --_gap---size--2: var(--_size---space--2);
  --_text---font--primary: "BDO Grotesk", Arial, sans-serif;
  --palette--grey-50: color-mix(in srgb, var(--palette--black), white 40%);
  --_text---font--primary-medium: 600;
  --_size---radius--small: .2rem;
  --_size---border-width--main: .075rem;
  --_text---font-size--text-fixed-xs: 1rem;
  --_size---radius--main: .4rem;
  --_text---font-size--text-fixed-s\<deleted\|variable-adc541ed-1672-36e6-b15d-98f7dc94d013\>: 13px;
  --_text---line-height--none: 1;
  --_text---letter-spacing--tightest: -.04rem;
  --_text-style---margin-top: var(--_size---space--4);
  --_text-style---margin-bottom: var(--_size---space--4);
  --_size---space--6: clamp(2 * 1rem, ((2 - ((2.5 - 2) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((2.5 - 2) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 2.5 * 1rem);
  --_text---font--primary-bold: 700;
  --_size---section-space--xlarge: clamp(12 * 1rem, ((12 - ((8 - 12) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((8 - 12) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 8 * 1rem);
  --_size---site--viewport-max: 160;
  --_size---site--viewport-min: 25;
  --_size---site--column-count: 12;
  --_size---site--column-width: calc((min(var(--_size---max-width--main), 100% - var(--_size---site--margin) * 2)  - (var(--_size---site--gutter) * (var(--_size---site--column-count)  - 1))) / var(--_size---site--column-count));
  --_alignment---direction: start;
  --_gap---size--3: var(--_size---space--3);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_size---max-width--small: 50rem;
  --palette--grey-70: color-mix(in srgb, var(--palette--black), white 20%);
  --palette--grey-60: color-mix(in srgb, var(--palette--black), white 30%);
  --palette--grey-20: color-mix(in srgb, var(--palette--black), white 70%);
  --palette--grey-10: color-mix(in srgb, var(--palette--black), white 80%);
  --palette--grey-5: color-mix(in srgb, var(--palette--black), white 90%);
  --palette--grey-2: color-mix(in srgb, var(--palette--black), white 93%);
  --_size---radius--large: .8rem;
  --_size---radius--round: 100vw;
  --_size---space--0-25: clamp(.125rem, ((.125 - ((.15625 - .125) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.15625 - .125) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .15625rem);
  --_size---space--0-5: clamp(.25rem, ((.25 - ((.3125 - .25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.3125 - .25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .3125rem);
  --_gap---size--7: var(--_size---space--7);
  --_text---font--primary-trim-top: .5em;
  --_text---font--primary-trim-bottom: .31em;
  --_text---text-transform--none: var(--text-transform, none);
  --_text---text-transform--uppercase: uppercase;
  --_text---text-transform--capitalize: capitalize;
  --_text---text-transform--lowercase: lowercase;
  --_text---line-height--xsmall: 1.1;
  --_gap---size--8: var(--_size---space--8);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  --ui--navbar-dot-default: var(--palette--grey-50);
  --ui--navbar-dot-active: var(--palette--brand);
  --_text---font-size--text-m: 1.75rem;
  --_text---font-size--text-3xl: 4rem;
  --_text---font-size--text-fixed-main: 1.5rem;
  --_text---letter-spacing--loose: .02rem;
}

body {
  background-color: var(--site--background);
  font-family: var(--_text-style---font-family);
  color: var(--site--text);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --site--background: var(--palette--black);
  --site--text: var(--palette--white);
  --palette--brand: #e9fe00;
  --palette--blacker: color-mix(in srgb, var(--palette--black), black 20%);
  --palette--transparent: transparent;
  --palette--white: white;
  --site--text-mute: var(--palette--grey-50);
  --palette--grey-80: color-mix(in srgb, var(--palette--black), white 10%);
  --palette--blackest: color-mix(in srgb, var(--palette--black), black 50%);
  --palette--black: #1a1a1a;
  --palette--grey-30: color-mix(in srgb, var(--palette--black), white 60%);
  --palette--grey-85: color-mix(in srgb, var(--palette--black), white 5%);
  --palette--grey-40: color-mix(in srgb, var(--palette--black), white 50%);
  --palette--orange: #ff5102;
  --palette--green: #1daa26;
  --palette--lilac: #c58cff;
  --palette--blue: #337cff;
  --palette--grey-50: color-mix(in srgb, var(--palette--black), white 40%);
  --palette--grey-70: color-mix(in srgb, var(--palette--black), white 20%);
  --palette--grey-60: color-mix(in srgb, var(--palette--black), white 30%);
  --palette--grey-20: color-mix(in srgb, var(--palette--black), white 70%);
  --palette--grey-10: color-mix(in srgb, var(--palette--black), white 80%);
  --palette--grey-5: color-mix(in srgb, var(--palette--black), white 90%);
  --palette--grey-2: color-mix(in srgb, var(--palette--black), white 93%);
  --ui--navbar-dot-default: var(--palette--grey-50);
  --ui--navbar-dot-active: var(--palette--brand);
  text-transform: var(--_text-style---text-transform, none);
}

h1 {
  font-size: var(--_text---font-size--text-2xl);
  line-height: var(--_text---line-height--small);
  font-weight: var(--_text---font--primary-regular);
  margin-top: 0;
  margin-bottom: 0;
  display: flow-root;
}

h2 {
  font-size: var(--_text---font-size--text-xl);
  line-height: var(--_text---line-height--medium);
  font-weight: var(--_text---font--primary-regular);
  margin-top: 0;
  margin-bottom: 0;
  display: flow-root;
}

h3 {
  font-size: var(--_text---font-size--text-l);
  line-height: var(--_text---line-height--large);
  margin-top: 0;
  margin-bottom: 0;
  display: flow-root;
}

h4 {
  display: flow-root;
}

h5 {
  font-size: var(--_text---font-size--text-main);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-main);
  --_text-style---line-height: var(--_text---line-height--main);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: balance;
  --_text-style---margin-top: var(--_size---space--7);
  --_text-style---margin-bottom: var(--_size---space--4);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  display: flow-root;
}

p {
  display: flow-root;
}

a {
  color: var(--site--text);
  text-decoration: none;
}

ul {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  list-style: "";
}

ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
}

.main {
  flex-flow: column;
  flex: 1;
  display: flex;
}

.page-wrapper {
  flex-flow: column;
  min-height: 100svh;
  display: flex;
  overflow: clip;
}

body.is-loading {
  overflow: hidden;
}

.section {
  width: 100%;
  padding-top: var(--_size---section-space--main);
  padding-bottom: var(--_size---section-space--main);
  flex-flow: column;
  justify-content: center;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  position: relative;
}

.section.is-lg {
  padding-top: var(--_size---section-space--large);
  padding-bottom: var(--_size---section-space--large);
}

.section.is-sm {
  padding-top: var(--_size---section-space--small);
  padding-bottom: var(--_size---section-space--small);
}

.section.is-none {
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section.is-xs {
  padding-top: var(--_size---section-space--xsmall);
  padding-bottom: var(--_size---section-space--xsmall);
}

.section.is-bottom-lg {
  padding-bottom: var(--_size---section-space--large);
}

.section.is-project-text-top {
  min-height: 5dvh;
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section.is-project {
  padding-top: var(--_gap---size--0);
  padding-bottom: var(--_gap---size--0);
}

.section.is-50vh {
  justify-content: flex-start;
  align-items: stretch;
  min-height: 50svh;
}

.container {
  max-width: var(--_size---max-width--main);
  width: calc(100% - var(--_size---site--margin) * 2);
  flex-flow: column;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  container-type: inline-size;
}

.container.is-max-width-full {
  max-width: var(--_size---max-width--full);
}

.container.cms-container {
  grid-row-gap: var(--_size---site--margin);
  flex-flow: column;
  display: flex;
}

.title-wrapper {
  margin-top: 0;
  margin-bottom: 1.125rem;
  padding: 0;
  position: relative;
}

.tag-label {
  z-index: 1;
  background-color: var(--palette--brand);
  filter: brightness();
  outline-offset: 0px;
  min-width: 1.5em;
  font-family: var(--_text---font--secondary);
  color: var(--palette--blacker);
  font-size: var(--_text---font-size--text-xs);
  text-align: center;
  letter-spacing: var(--_text---letter-spacing--normal);
  text-transform: uppercase;
  border-style: none;
  border-radius: .25rem;
  outline: 0 #0000;
  flex: none;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: .5em;
  padding-right: .5em;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  display: inline-block;
  position: relative;
  transform: translate(0, -.05em);
}

.tag-label.is-transparent {
  background-color: var(--palette--transparent);
  color: var(--palette--white);
}

.u-text-style-h3 {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-l);
  --_text-style---line-height: var(--_text---line-height--medium);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: balance;
  --_text-style---margin-top: var(--_size---space--7);
  --_text-style---margin-bottom: var(--_size---space--5);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-transform: var(--_text-style---text-transform, none);
  text-wrap: var(--_text-style---text-wrap);
  display: flow-root;
}

.u-text-style-m {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-m);
  --_text-style---line-height: var(--_text---line-height--large);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: pretty;
  --_text-style---margin-top: var(--_size---space--4);
  --_text-style---margin-bottom: var(--_size---space--4);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-transform: var(--_text-style---text-transform, none);
  text-wrap: var(--_text-style---text-wrap);
  display: flow-root;
}

.u-text-style-main {
  font-family: var(--_text-style---font-family);
  color: var(--site--text);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: normal;
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-main);
  --_text-style---line-height: var(--_text---line-height--main);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: pretty;
  --_text-style---margin-top: var(--_size---space--4);
  --_text-style---margin-bottom: var(--_size---space--4);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-transform: var(--_text-style---text-transform, none);
  text-wrap: var(--_text-style---text-wrap);
  display: flow-root;
}

.u-text-style-main.u-weight-medium.logo-scroll-up, .u-text-style-main.u-weight-medium.logo-scroll-down {
  position: absolute;
  inset: auto;
}

.u-text-style-s {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-s);
  --_text-style---line-height: var(--_text---line-height--main);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: pretty;
  --_text-style---margin-top: var(--_size---space--4);
  --_text-style---margin-bottom: var(--_size---space--4);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-transform: var(--_text-style---text-transform, none);
  text-wrap: var(--_text-style---text-wrap);
  display: flow-root;
}

.tag-wrapper {
  grid-column-gap: .2125rem;
  grid-row-gap: .2125rem;
  flex-wrap: wrap;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 100%;
  margin-bottom: .15rem;
  line-height: 1.25;
  display: flex;
}

.card {
  flex: 0 auto;
  width: 100%;
  min-width: 4rem;
  padding: 1.5rem;
  display: block;
  overflow: hidden;
}

.card.is-p-0 {
  padding: 0;
}

.navbar-link {
  justify-content: center;
  align-self: stretch;
  align-items: center;
  min-height: 3rem;
  padding-left: .5rem;
  padding-right: .5rem;
  display: flex;
}

.navbar-link.w--current {
  -webkit-text-decoration-color: var(--palette--transparent);
  text-decoration-color: var(--palette--transparent);
}

.navbar-link.is-logo {
  font-size: var(--_text---font-size--text-main);
}

.navbar-link.is-logo.w--current {
  width: 100%;
}

.navbar-link.is-contact {
  display: none;
}

.navbar-link.is-centre {
  font-size: var(--_text---font-size--text-main);
}

.navbar-link.is-centre.w--current {
  font-size: var(--_text---font-size--text-main);
  display: inline-flex;
}

.navbar-link.is-right {
  margin-right: -.5rem;
}

.navbar-link.is-left.w--current {
  margin-left: -.5rem;
}

.image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.image.is-4x3 {
  aspect-ratio: 4 / 3;
}

.image.is-1x1 {
  aspect-ratio: 1;
}

.image.is-16x9 {
  aspect-ratio: 16 / 9;
  background-image: none;
  background-position: 0 0;
  background-size: auto;
}

.image.is-contain {
  object-fit: contain;
}

.image.is-2x1 {
  aspect-ratio: 2;
}

.image.is-3x4 {
  aspect-ratio: 3 / 4;
}

.image.is-2x3 {
  aspect-ratio: 2 / 3;
}

.image.is-4x5 {
  aspect-ratio: 4 / 5;
}

.col {
  max-width: 100%;
  display: block;
}

.col.is-grow {
  flex: 1;
  padding: 0;
  display: block;
}

.col.is-span-6 {
  width: var(--_size---columns--6);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-4-xs, .col.is-span-1-md, .col.is-span-1-xs {
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-4 {
  width: var(--_size---columns--4);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-11 {
  width: var(--_size---columns--11);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-4-sm {
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-9 {
  width: var(--_size---columns--9);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-5 {
  width: var(--_size---columns--5);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-7 {
  width: var(--_size---columns--7);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-3-xs {
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-1 {
  width: var(--_size---columns--1);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-2 {
  width: var(--_size---columns--2);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-3-md, .col.is-span-8-md {
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-10 {
  width: var(--_size---columns--10);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-3-sm, .col.is-span-2-xs, .col.is-span-4-md {
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-3 {
  width: var(--_size---columns--3);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-8 {
  width: var(--_size---columns--8);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-2-md, .col.is-span-6, .col.is-span-6-md, .col.is-span-1-sm, .col.is-span-7-md, .col.is-span-5-md {
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-12 {
  width: var(--_size---columns--12);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.col.is-span-2-sm {
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  display: block;
}

.block {
  flex: 1;
  width: 100%;
  display: block;
}

.image-wrapper {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  flex-flow: column;
  align-self: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  position: relative;
  overflow: clip;
}

.image-wrapper.is-list {
  display: none;
}

.text-wrapper {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  position: relative;
}

.u-text-mute {
  color: var(--site--text-mute);
}

.our-work_header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.portfolio-grid {
  margin-top: var(--_size---site--margin);
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_gap---size--6);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
  position: relative;
}

.portfolio-grid.is-list {
  grid-template-columns: 1fr;
}

.portfolio-card {
  grid-column-gap: var(--_size---space--2);
  grid-row-gap: var(--_size---space--2);
  flex-flow: column;
  width: 100%;
  display: flex;
  position: relative;
}

.portfolio-card.is-list {
  padding-top: var(--_size---site--margin);
  padding-bottom: var(--_size---site--margin);
  grid-column-gap: var(--_size---space--2);
  grid-row-gap: var(--_size---space--2);
  border-top: 1px solid var(--palette--grey-80);
  border-bottom: 1px solid var(--palette--grey-80);
  grid-template-rows: auto auto;
  grid-template-columns: .25fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.portfolio-text-wrapper {
  grid-column-gap: var(--_size---space--2);
  grid-row-gap: var(--_size---space--2);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.portfolio-tag-list {
  z-index: 1;
  grid-column-gap: var(--_size---space--1);
  grid-row-gap: var(--_size---space--1);
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  position: absolute;
  inset: auto auto .5em .5em;
}

.text-secondary {
  font-family: var(--_text---font--secondary);
  letter-spacing: var(--_text---letter-spacing--tight);
  text-transform: uppercase;
  margin-bottom: 0;
}

.footer__cta {
  grid-column-gap: var(--_gap---size--0-5);
  grid-row-gap: var(--_gap---size--0-5);
  flex-flow: column;
  display: flex;
}

.footer__cta.is-20rem {
  max-width: 20rem;
}

.footer-inner {
  max-width: var(--_size---max-width--main);
  min-height: 100svh;
  padding-top: var(--_size---space--4);
  padding-bottom: var(--_size---space--4);
  grid-column-gap: var(--_size---section-space--large);
  grid-row-gap: var(--_size---section-space--small);
  font-variation-settings: "wght" 670;
  width: calc(100% - var(--_size---site--margin) * 2);
  flex-flow: column;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}

.footer__a {
  line-height: 1;
  text-decoration: none;
}

.footer__links-row {
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_size---space--5);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.footer__links-col {
  grid-column-gap: var(--_size---site--margin);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.footer__logo-row {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  display: flex;
}

.footer-wrap {
  z-index: 1000;
  background-color: var(--palette--blackest);
  --site--background: var(--palette--black);
  --site--text: var(--palette--white);
  --palette--brand: #e9fe00;
  --palette--blacker: color-mix(in srgb, var(--palette--black), black 20%);
  --palette--transparent: transparent;
  --palette--white: white;
  --site--text-mute: var(--palette--grey-50);
  --palette--grey-80: color-mix(in srgb, var(--palette--black), white 10%);
  --palette--blackest: color-mix(in srgb, var(--palette--black), black 50%);
  --palette--black: #1a1a1a;
  --palette--grey-30: color-mix(in srgb, var(--palette--black), white 60%);
  --palette--grey-85: color-mix(in srgb, var(--palette--black), white 5%);
  --palette--grey-40: color-mix(in srgb, var(--palette--black), white 50%);
  --palette--orange: #ff5102;
  --palette--green: #1daa26;
  --palette--lilac: #c58cff;
  --palette--blue: #337cff;
  --palette--grey-50: color-mix(in srgb, var(--palette--black), white 40%);
  --palette--grey-70: color-mix(in srgb, var(--palette--black), white 20%);
  --palette--grey-60: color-mix(in srgb, var(--palette--black), white 30%);
  --palette--grey-20: color-mix(in srgb, var(--palette--black), white 70%);
  --palette--grey-10: color-mix(in srgb, var(--palette--black), white 80%);
  --palette--grey-5: color-mix(in srgb, var(--palette--black), white 90%);
  --palette--grey-2: color-mix(in srgb, var(--palette--black), white 93%);
  --ui--navbar-dot-default: var(--palette--grey-50);
  --ui--navbar-dot-active: var(--palette--brand);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.footer__links {
  grid-column-gap: var(--_size---space--2);
  grid-row-gap: var(--_size---space--2);
  font-size: var(--_text---font-size--text-fixed-s);
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.u-text-style-h4 {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text---font--primary-regular);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-m);
  --_text-style---line-height: var(--_text---line-height--large);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: balance;
  --_text-style---margin-top: var(--_size---space--7);
  --_text-style---margin-bottom: var(--_size---space--4);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-transform: var(--_text-style---text-transform, none);
  text-wrap: var(--_text-style---text-wrap);
  display: flow-root;
}

.button-wrapper {
  width: auto;
  margin-top: var(--_size---site--margin);
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.about_component {
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_size---site--margin);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: stretch stretch;
  display: grid;
}

.logo-wrapper {
  aspect-ratio: 16 / 9;
  background-color: var(--palette--black);
  flex-flow: row;
  flex: 1;
  justify-content: center;
  align-self: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
}

.icon-embed-button {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1.2rem;
  height: 1.2rem;
  display: flex;
}

.icon-embed-button:where(.w-variant-a6b0c1e7-1b6f-8902-29bf-4bc1a5f939db) {
  width: .9rem;
  height: .9rem;
}

.is-5-col {
  width: 100%;
  max-width: var(--_size---columns--5);
}

.is-6-col {
  width: 100%;
  max-width: var(--_size---columns--6);
}

.is-3-col {
  width: 100%;
  max-width: var(--_size---columns--3);
}

.about_title-wrapper {
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_size---site--margin);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.u-text-wrap-balance {
  text-wrap: balance;
}

.services_text-wrapper {
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_size---site--margin);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.services_title {
  color: var(--palette--grey-40);
  font-size: var(--_text---font-size--text-main);
  line-height: var(--_text---line-height--main);
}

.project__text-grid {
  grid-column-gap: var(--_size---site--gutter);
  grid-row-gap: var(--_size---site--gutter);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.project_industry-wrapper {
  align-self: center;
}

.project__info-wrapper {
  grid-column-gap: var(--_size---site--gutter);
  grid-row-gap: var(--_size---site--gutter);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: flex;
}

.button-underline {
  grid-column-gap: var(--_gap---size--1);
  grid-row-gap: var(--_gap---size--1);
  font-family: var(--_text---font--primary);
  font-size: var(--_text---font-size--text-main);
  line-height: 1.2;
  font-weight: var(--_text---font--primary-regular);
  letter-spacing: var(--_text---letter-spacing--tight);
  color: inherit;
  justify-content: center;
  align-items: flex-start;
  text-decoration: none;
  display: flex;
}

.button-underline:where(.w-variant-a6b0c1e7-1b6f-8902-29bf-4bc1a5f939db) {
  font-size: var(--_text---font-size--text-s);
}

.is-max-height-80vh {
  max-height: 80svh;
}

.is-max-height-90vh {
  max-height: 90svh;
}

.recent-work-grid {
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_gap---size--6);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
}

.button {
  grid-column-gap: .7rem;
  grid-row-gap: .7rem;
  background-color: var(--palette--brand);
  color: var(--palette--blacker);
  font-size: var(--_text---font-size--text-main);
  font-weight: var(--_text---font--primary-regular);
  border-radius: 0;
  justify-content: flex-start;
  align-items: center;
  padding: .75rem 1rem;
  text-decoration: none;
  display: flex;
}

.our-work-page_header {
  grid-column-gap: var(--_size---site--gutter);
  grid-row-gap: var(--_size---site--gutter);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.work_filter-link.is-list {
  color: var(--palette--grey-50);
}

.footer__copyright {
  font-size: var(--_text---font-size--text-xs);
  margin-bottom: 0;
}

.btn-group {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  justify-content: center;
  display: flex;
}

.btn-bubble {
  justify-content: flex-start;
  align-items: stretch;
  text-decoration: none;
  display: flex;
  position: relative;
}

.btn-bubble-icon {
  background-color: var(--palette--brand);
  width: 3rem;
  height: 3rem;
  color: var(--palette--blacker);
  border-radius: 10em;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.btn-bubble-icon:where(.w-variant-aacf7fb4-fd34-2e4c-fc97-69ca1ee9a2f9) {
  width: 2.5rem;
  height: 2.5rem;
}

.btn-plus-icon {
  width: .875rem;
  color: var(--palette--blacker);
}

.portfolio-hover-text {
  z-index: 1;
  grid-column-gap: var(--_size---radius--small);
  grid-row-gap: var(--_size---radius--small);
  border-radius: .2em;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  min-height: 1.5em;
  padding-right: .5em;
  display: flex;
  position: absolute;
  inset: auto .5em .5em auto;
}

.portfolio-hover-text.is-bg-blur {
  opacity: 0;
}

.portfolio-hover-icon {
  width: .6rem;
  color: var(--palette--white);
}

.is-bg-blur {
  -webkit-backdrop-filter: saturate(160%) blur(10px);
  backdrop-filter: saturate(160%) blur(10px);
  background-color: #0000000d;
}

.is-brand-stroke {
  color: var(--palette--brand);
}

.btn-animate-chars {
  width: auto;
  color: var(--palette--blacker);
  cursor: pointer;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  font-size: 1em;
  line-height: 1;
  text-decoration: none;
  display: flex;
  position: relative;
}

.btn-animate-chars__bg {
  background-color: var(--palette--brand);
  border-radius: 10rem;
  padding-left: 1rem;
  padding-right: 1rem;
  position: absolute;
  inset: 0 0 0 3rem;
}

.btn-animate-chars__text {
  font-family: var(--_text---font--secondary);
  font-size: .875rem;
  font-weight: var(--_text---font--primary-medium);
  letter-spacing: var(--_text---letter-spacing--tight);
  text-transform: uppercase;
  white-space: nowrap;
  padding-top: .2em;
}

.btn-animate-chars__text:where(.w-variant-3746b1bc-f3bb-4d46-7d26-e9d75b226b0e) {
  font-size: 1.125rem;
}

.btn-content-wrapper {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.navbar {
  z-index: 4;
  width: 100%;
  max-width: 100vw;
  position: sticky;
  top: 0;
}

.navbar:where(.w-variant-d5d7d740-6dc7-938c-6174-a2b3ee28634e) {
  position: fixed;
}

.navbar.fixed {
  display: block;
  position: fixed;
}

.navbar-wrapper {
  max-width: var(--_size---max-width--main);
  border-top-left-radius: var(--_size---radius--main);
  border-top-right-radius: var(--_size---radius--main);
  border-bottom-left-radius: var(--_size---radius--main);
  border-bottom-right-radius: var(--_size---radius--main);
  width: calc(100% - var(--_size---site--margin) * 2);
  isolation: isolate;
  background-color: #0000;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  margin: .25rem auto;
  padding-top: .5rem;
  padding-bottom: .5rem;
  display: flex;
  position: relative;
  container-type: inline-size;
}

.navbar-wrapper:where(.w-variant-d5d7d740-6dc7-938c-6174-a2b3ee28634e), .navbar-wrapper.fixed-2 {
  margin-top: .25rem;
  margin-bottom: .25rem;
}

.u-weight-medium {
  font-weight: var(--_text---font--primary-medium);
}

.email {
  opacity: 0;
  height: 100%;
  color: var(--palette--white);
  font-size: var(--_text---font-size--text-fixed-s\<deleted\|variable-adc541ed-1672-36e6-b15d-98f7dc94d013\>);
  line-height: var(--_text---line-height--none);
  white-space: nowrap;
  flex: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  position: absolute;
  top: 2px;
  left: 16px;
}

.portfolio-card-image {
  aspect-ratio: 5 / 4;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.portfolio-list {
  position: relative;
}

.service-label {
  z-index: 1;
  filter: brightness();
  outline-offset: 0px;
  height: 100%;
  font-family: var(--_text---font--secondary);
  color: var(--palette--blacker);
  text-align: center;
  letter-spacing: var(--_text---letter-spacing--tightest);
  text-transform: uppercase;
  vertical-align: middle;
  border-style: none;
  outline: 0 #0000;
  flex: none;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: .5em;
  padding-right: .5em;
  font-size: .875rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  display: inline-block;
  position: relative;
  transform: translate(0, -.05em);
}

.service-label.is-white {
  color: var(--palette--white);
  font-weight: 400;
}

.portfolio-tag-wrapper {
  grid-column-gap: var(--_gap---size--0-5);
  grid-row-gap: var(--_gap---size--0-5);
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.portfolio-tag-item {
  grid-column-gap: var(--_gap---size--1);
  grid-row-gap: var(--_gap---size--1);
  justify-content: center;
  align-items: center;
  min-height: 1em;
  display: flex;
}

.empty-state {
  display: none;
}

.u-rich-text {
  text-wrap: var(--_text-style---text-wrap);
}

.u-rich-text h3 {
  margin-top: var(--_text-style---margin-top);
  margin-bottom: var(--_text-style---margin-bottom);
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-l);
  --_text-style---line-height: var(--_text---line-height--medium);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: balance;
  --_text-style---margin-top: var(--_size---space--7);
  --_text-style---margin-bottom: var(--_size---space--5);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-transform: var(--_text-style---text-transform, none);
  text-wrap: pretty;
  display: flow-root;
}

.u-rich-text h6 {
  letter-spacing: 0;
  ---mode--collection-b7222b48-79c4-934f-5073-fc41f016b656: mode-c9345ae7-c304-bdf4-0e41-d2ecd312c02f;
  text-wrap: pretty;
  text-transform: var(--_text-style---text-transform, none);
  margin-top: clamp(1.25rem, 1.17857rem + .357143vw, 1.5rem);
  margin-bottom: clamp(1.25rem, 1.17857rem + .357143vw, 1.5rem);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: clamp(1rem, .964286rem + .178571vw, 1.125rem);
  font-weight: 400;
  line-height: 1.5;
}

.u-rich-text h1 {
  margin-top: var(--_text-style---margin-top);
  margin-bottom: var(--_text-style---margin-bottom);
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-2xl);
  --_text-style---line-height: var(--_text---line-height--small);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: balance;
  --_text-style---margin-top: var(--_size---space--7);
  --_text-style---margin-bottom: var(--_size---space--6);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-wrap: pretty;
  text-transform: var(--_text-style---text-transform, none);
}

.u-rich-text ul {
  margin-top: var(--_text-style---margin-top);
  margin-bottom: var(--_text-style---margin-bottom);
  grid-column-gap: .9em;
  grid-row-gap: .9em;
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  align-items: var(--_alignment---direction, start);
  text-transform: var(--_text-style---text-transform, none);
  flex-flow: column;
  padding-left: 1.2em;
  list-style-type: disc;
  display: flex;
  overflow: visible;
}

.u-rich-text figure {
  margin-top: var(--_size---space--7);
  margin-bottom: var(--_size---space--7);
}

.u-rich-text p {
  margin-top: var(--_text-style---margin-top);
  margin-bottom: var(--_text-style---margin-bottom);
}

.u-rich-text blockquote {
  margin-top: var(--_size---space--6);
  margin-bottom: var(--_size---space--6);
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-l);
  --_text-style---line-height: var(--_text---line-height--medium);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: pretty;
  --_text-style---margin-top: var(--_size---space--4);
  --_text-style---margin-bottom: var(--_size---space--4);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-transform: var(--_text-style---text-transform, none);
  border-left-style: solid;
  border-left-width: .2rem;
  padding: .5rem 1rem;
}

.u-rich-text ol {
  margin-top: var(--_text-style---margin-top);
  margin-bottom: var(--_text-style---margin-bottom);
  grid-column-gap: .9em;
  grid-row-gap: .9em;
  align-items: var(--_alignment---direction, start);
  flex-flow: column;
  padding-left: 1.2em;
  list-style-type: decimal;
  display: flex;
  overflow: visible;
}

.u-rich-text li {
  margin-top: -.33em;
  margin-bottom: -.38em;
  display: list-item;
}

.u-rich-text h4 {
  margin-top: var(--_text-style---margin-top);
  margin-bottom: var(--_text-style---margin-bottom);
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-m);
  --_text-style---line-height: var(--_text---line-height--large);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: balance;
  --_text-style---margin-top: var(--_size---space--7);
  --_text-style---margin-bottom: var(--_size---space--4);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-transform: var(--_text-style---text-transform, none);
  text-wrap: pretty;
  display: flow-root;
}

.u-rich-text h2 {
  margin-top: var(--_text-style---margin-top);
  margin-bottom: var(--_text-style---margin-bottom);
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-xl);
  --_text-style---line-height: var(--_text---line-height--medium);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: balance;
  --_text-style---margin-top: var(--_size---space--7);
  --_text-style---margin-bottom: var(--_size---space--5);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-transform: var(--_text-style---text-transform, none);
  text-wrap: pretty;
}

.u-rich-text h5 {
  margin-top: var(--_text-style---margin-top);
  margin-bottom: var(--_text-style---margin-bottom);
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-main);
  --_text-style---line-height: var(--_text---line-height--main);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: balance;
  --_text-style---margin-top: var(--_size---space--7);
  --_text-style---margin-bottom: var(--_size---space--4);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-wrap: pretty;
  text-transform: var(--_text-style---text-transform, none);
}

.u-rich-text.u-text-style-m {
  column-count: auto;
}

.portfolio-grid-recent {
  margin-top: var(--_size---site--margin);
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_gap---size--6);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.portfolio-link {
  position: absolute;
  inset: 0%;
}

.bunny-bg__placeholder {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
}

.bunny-bg-section {
  color: #efeeec;
  background-color: #000;
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  min-height: 100svh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.bunny-bg-section.is-hero {
  aspect-ratio: 16 / 9;
  min-height: auto;
}

.bunny-bg-section.is-project {
  min-height: 95dvh;
}

.cms-project {
  width: 100%;
  padding-top: var(--_size---section-space--main);
  padding-bottom: var(--_size---section-space--main);
  aspect-ratio: auto;
  background-color: var(--palette--blackest);
  text-align: center;
  min-height: calc(100dvh - (var(--_size---site--margin) * 2));
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: visible;
}

.section_hero-text {
  width: 100%;
  padding-top: var(--_size---section-space--xlarge);
  padding-bottom: var(--_size---section-space--small);
  flex-flow: column;
  justify-content: center;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  position: relative;
}

.section_hero-text.u-hide {
  display: block;
}

.loader {
  z-index: 1000;
  color: #fff;
  width: 100%;
  height: 100dvh;
  position: fixed;
  inset: 0% 0% auto;
}

.loader__bg {
  background-color: #0a0a0a;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.loader__bg-bar {
  z-index: 1;
  transform-origin: 0%;
  width: 100%;
  height: .5em;
  transform-style: preserve-3d;
  background-color: #fff;
  position: absolute;
  inset: auto 0% 0%;
  transform: scale3d(0, 1, 1);
}

.loader__container {
  z-index: 2;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.loader__logo-wrap {
  justify-content: center;
  align-items: center;
  width: 12em;
  height: 3em;
  display: flex;
  position: relative;
}

.loader__logo-item {
  width: 100%;
  position: absolute;
}

.loader__logo-item.is--base {
  opacity: .2;
}

.loader__logo-item.is--top {
  clip-path: inset(0 100% 0 0);
}

.loader__logo-img {
  width: 100%;
  display: block;
}

.project__text-wrapper {
  grid-column-gap: var(--_size---space--4);
  grid-row-gap: var(--_size---space--4);
  flex-flow: column;
  display: flex;
}

.project__collection-list {
  grid-column-gap: var(--_gap---size--2);
  grid-row-gap: var(--_gap---size--2);
  flex-flow: column;
  display: flex;
}

.project__services-list {
  margin-bottom: var(--_gap---size--0);
  flex-flow: column;
  display: flex;
}

.bunny-player__before {
  padding-top: 62.5%;
}

.bunny-player__placeholder {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
}

.bunny-player__video {
  width: 100%;
  height: 100%;
  padding-bottom: 0;
  padding-right: 0;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.bunny-bg__video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  padding-bottom: 0;
  padding-right: 0;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.bunny-bg {
  pointer-events: none;
  color: #fff;
  isolation: isolate;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  transform: translateX(0);
}

.bunny-player {
  pointer-events: none;
  color: #fff;
  isolation: isolate;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
  transform: translateX(0);
}

.cms-project__player {
  width: min(80em, 100vw - 8rem);
  min-height: 25vw;
}

.cms-project__image {
  width: min(80em, 100vw - 8rem);
  height: auto;
  min-height: 25vw;
  overflow: hidden;
}

.cms-project__image-media {
  width: 100%;
  height: auto;
}

.cms-project__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.cms-project__inner {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .cms-project__player,
  .cms-project__image {
    width: min(80em, 100vw - 3rem);
  }
}

.project-tag-list {
  z-index: 1;
  grid-column-gap: var(--_size---space--1);
  grid-row-gap: var(--_size---space--1);
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
}

.project__text-main {
  grid-column-gap: var(--_gap---size--6);
  grid-row-gap: var(--_gap---size--6);
  flex-flow: column;
  display: flex;
}

.nav-links {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.our-clients_wrapper {
  grid-column-gap: var(--_size---space--6);
  grid-row-gap: var(--_size---space--6);
  flex-flow: column;
  flex: 1;
  width: 100%;
  display: flex;
}

.services_text {
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_size---site--margin);
  flex-flow: column;
}

.image-3 {
  object-fit: contain;
}

.service__chip-wrapper {
  font-family: var(--_text---font--secondary);
  font-size: var(--_text---font-size--text-xs);
  text-transform: uppercase;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  place-items: stretch stretch;
  display: flex;
}

.hero_title-wrapper {
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_size---site--margin);
  flex-flow: column;
  display: flex;
}

.service-tag {
  z-index: 1;
  filter: brightness();
  outline-offset: 0px;
  font-family: var(--_text---font--secondary);
  color: var(--palette--white);
  font-size: var(--_text---font-size--text-xs);
  text-align: center;
  letter-spacing: var(--_text---letter-spacing--tightest);
  text-transform: uppercase;
  vertical-align: middle;
  border-style: none;
  outline: 0 #0000;
  flex: none;
  margin-top: 0;
  margin-bottom: 0;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  display: inline-block;
  position: relative;
  transform: translate(0, -.05em);
}

.service-tag.is-white {
  color: var(--palette--white);
  font-weight: 400;
}

.section_selected-works {
  width: 100%;
  padding-top: var(--_size---section-space--large);
  padding-bottom: var(--_size---section-space--small);
  flex-flow: column;
  justify-content: center;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  position: relative;
}

.section_selected-works.is-lg {
  padding-top: var(--_size---section-space--large);
  padding-bottom: var(--_size---section-space--large);
}

.section_selected-works.is-sm {
  padding-top: var(--_size---section-space--small);
  padding-bottom: var(--_size---section-space--small);
}

.section_selected-works.is-none {
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section_selected-works.is-xs {
  padding-top: var(--_size---section-space--xsmall);
  padding-bottom: var(--_size---section-space--xsmall);
}

.section_selected-works.is-bottom-lg {
  padding-bottom: var(--_size---section-space--large);
}

.section_selected-works.is-project-text-top {
  min-height: 5dvh;
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section_selected-works.is-project {
  padding-top: var(--_gap---size--0);
  padding-bottom: var(--_gap---size--0);
}

.section_selected-works.is-50vh {
  justify-content: flex-start;
  align-items: stretch;
  min-height: 50svh;
}

.u-margin-bottom-2 {
  margin-bottom: var(--_size---space--2);
}

.u-margin-bottom-6 {
  margin-bottom: var(--_size---space--6);
}

.u-margin-bottom-4 {
  margin-bottom: var(--_size---space--4);
}

.about_portrait-wrapper {
  width: 8rem;
}

.logo-wall {
  justify-content: center;
  width: 100%;
  display: flex;
}

.logo-wall__collection {
  width: 100%;
}

.logo-wall__list {
  flex-flow: wrap;
  display: flex;
}

.logo-wall__item {
  width: 12.5%;
  position: relative;
}

.logo-wall__logo {
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.logo-wall__logo-before {
  padding-top: 66.66%;
}

.logo-wall__logo-target {
  justify-content: center;
  align-items: center;
  width: 55%;
  height: 4.5rem;
  display: flex;
  position: absolute;
}

.logo-wall__logo-target.is-logo-l {
  height: 3.5rem;
}

.logo-wall__logo-target.is-logo-xl {
  height: 3rem;
}

.logo-wall__logo-target.is-logo-tall {
  height: 4.5rem;
}

.logo-wall__logo-target.is-logo-s {
  width: 75%;
}

.logo-wall__logo-img {
  opacity: .4;
  object-fit: contain;
  width: 100%;
  height: 100%;
  max-height: 100%;
}

.section_about {
  width: 100%;
  padding-top: var(--_size---section-space--large);
  padding-bottom: var(--_size---section-space--none);
  flex-flow: column;
  justify-content: center;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  position: relative;
}

.section_about.is-lg {
  padding-top: var(--_size---section-space--large);
  padding-bottom: var(--_size---section-space--large);
}

.section_about.is-sm {
  padding-top: var(--_size---section-space--small);
  padding-bottom: var(--_size---section-space--small);
}

.section_about.is-none {
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section_about.is-xs {
  padding-top: var(--_size---section-space--xsmall);
  padding-bottom: var(--_size---section-space--xsmall);
}

.section_about.is-bottom-lg {
  padding-bottom: var(--_size---section-space--large);
}

.section_about.is-project-text-top {
  min-height: 5dvh;
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section_about.is-project {
  padding-top: var(--_gap---size--0);
  padding-bottom: var(--_gap---size--0);
}

.section_about.is-50vh {
  justify-content: flex-start;
  align-items: stretch;
  min-height: 50svh;
}

.services_column-wrapper {
  grid-area: span 2 / span 1 / span 2 / span 1;
  align-self: stretch;
  grid-column-gap: var(--_size---space--4);
  grid-row-gap: var(--_size---space--4);
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.services_text-wrapper {
  font-size: var(--_text---font-size--text-s);
  cursor: pointer;
  overflow: clip;
}

.services_collection-item {
  padding-bottom: var(--_size---space--2);
}

.services_collection-item:last-child {
  padding-bottom: 0;
}


.services_summary-text {
  max-width: var(--_size---columns--3);
  opacity: 0;
  transition: opacity .2s;
}

.section_services {
  width: 100%;
  padding-top: var(--_size---section-space--large);
  padding-bottom: var(--_size---section-space--large);
  flex-flow: column;
  justify-content: center;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  position: relative;
}

.section_services.is-lg {
  padding-top: var(--_size---section-space--large);
  padding-bottom: var(--_size---section-space--large);
}

.section_services.is-sm {
  padding-top: var(--_size---section-space--small);
  padding-bottom: var(--_size---section-space--small);
}

.section_services.is-none {
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section_services.is-xs {
  padding-top: var(--_size---section-space--xsmall);
  padding-bottom: var(--_size---section-space--xsmall);
}

.section_services.is-bottom-lg {
  padding-bottom: var(--_size---section-space--large);
}

.section_services.is-project-text-top {
  min-height: 5dvh;
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section_services.is-project {
  padding-top: var(--_gap---size--0);
  padding-bottom: var(--_gap---size--0);
}

.section_services.is-50vh {
  justify-content: flex-start;
  align-items: stretch;
  min-height: 50svh;
}

.services_title-top {
  flex-flow: column;
  display: flex;
}

.section_logo-wall {
  margin-left: -1rem;
  margin-right: -1rem;
}

.nav-logo-wrap {
  align-items: center;
  min-width: 11.2rem;
  min-height: 2rem;
  display: flex;
}

.logo-scroll-down {
  display: block;
}

.text-span {
  color: var(--site--text);
}

.marquee-css {
  color: #efeeec;
  width: auto;
  max-width: 48em;
  align-self: end;
  margin-bottom: -0.5rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.marquee-css__list {
  flex: none;
  align-self: flex-end;
  align-items: center;
  height: 2.5rem;
  display: flex;
  position: relative;
}

.marquee-css__item {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex: 0;
  align-items: center;
  padding-right: 2em;
  display: flex;
}

.marquee-logo {
  opacity: .4;
  width: 6rem;
  max-width: none;
  height: 1.7rem;
}

.services_title-top {
  max-width: var(--_size---columns--6);
  flex-flow: column;
  align-items: flex-start;
  display: flex;
  overflow: clip;
}

.u-text-style-fixed-s {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text---font-size--text-fixed-s);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-s);
  --_text-style---line-height: var(--_text---line-height--main);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: pretty;
  --_text-style---margin-top: var(--_size---space--4);
  --_text-style---margin-bottom: var(--_size---space--4);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-transform: var(--_text-style---text-transform, none);
  text-wrap: var(--_text-style---text-wrap);
  display: flow-root;
}

.u-text-style-fixed-s.u-text-wrap-balance {
  text-wrap: balance;
}

.services_collection-item .u-text-style-fixed-s {
  display: block;
}

.services_component {
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_size---site--margin);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: stretch stretch;
  display: grid;
}

.u-text-style-fixed-xs {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text---font-size--text-fixed-xs);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_text---font--primary);
  --_text-style---font-size: var(--_text---font-size--text-s);
  --_text-style---line-height: var(--_text---line-height--main);
  --_text-style---font-weight: var(--_text---font--primary-regular);
  --_text-style---letter-spacing: var(--_text---letter-spacing--normal);
  --_text-style---text-wrap: pretty;
  --_text-style---margin-top: var(--_size---space--4);
  --_text-style---margin-bottom: var(--_size---space--4);
  --_text-style---text-transform: var(--_text---text-transform--none);
  --_text-style---trim-top: var(--_text---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_text---font--primary-trim-bottom);
  text-transform: var(--_text-style---text-transform, none);
  text-wrap: var(--_text-style---text-wrap);
  display: flow-root;
}

.u-text-style-fixed-xs.is-contact-title {
  color: var(--palette--grey-30);
}

.section_recent {
  width: 100%;
  padding-top: var(--_size---section-space--large);
  padding-bottom: var(--_size---section-space--small);
  flex-flow: column;
  justify-content: center;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  position: relative;
}

.section_recent.is-lg {
  padding-top: var(--_size---section-space--large);
  padding-bottom: var(--_size---section-space--large);
}

.section_recent.is-sm {
  padding-top: var(--_size---section-space--small);
  padding-bottom: var(--_size---section-space--small);
}

.section_recent.is-none {
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section_recent.is-xs {
  padding-top: var(--_size---section-space--xsmall);
  padding-bottom: var(--_size---section-space--xsmall);
}

.section_recent.is-bottom-lg {
  padding-bottom: var(--_size---section-space--large);
}

.section_recent.is-project-text-top {
  min-height: 5dvh;
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section_recent.is-project {
  padding-top: var(--_gap---size--0);
  padding-bottom: var(--_gap---size--0);
}

.section_recent.is-50vh {
  justify-content: flex-start;
  align-items: stretch;
  min-height: 50svh;
}

.is-max-width-50ch {
  max-width: 50ch;
}

.contact_component {
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_size---space--8);
  border-radius: var(--_size---radius--main);
  -webkit-backdrop-filter: saturate(150%) blur(40px);
  backdrop-filter: saturate(150%) blur(40px);
  background-color: #0006;
  border: 1px solid #ffffff1a;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-end;
  padding: 1.5rem;
  display: flex;
  position: relative;
}

.contact_component.is-button {
  padding: .75rem 1rem;
}

.contact_cta {
  flex-flow: column;
  max-width: 16rem;
  display: flex;
}

.contact_cta.is-20rem {
  max-width: 20rem;
}

.contact_links-wrapper {
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_size---space--5);
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: flex;
}

.contact_links {
  grid-column-gap: var(--_size---space--2);
  grid-row-gap: var(--_size---space--2);
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.contact_a {
  font-size: var(--_text---font-size--text-fixed-s);
  line-height: 1;
  text-decoration: none;
}

.contact_logo {
  width: 3rem;
}

.contact_top {
  grid-column-gap: var(--_gap---size--6);
  grid-row-gap: var(--_gap---size--6);
  flex-flow: column;
  display: flex;
}

.contact_modal {
  top: auto;
  left: auto;
  right: var(--_size---space--1);
  bottom: var(--_size---space--1);
  z-index: 999;
  display: block;
  position: fixed;
}

.contact_modal-visible {
  display: flex;
  flex-direction: row;
  grid-column-gap: var(--_size---site--margin);
  grid-row-gap: var(--_size---site--margin);
  justify-content: flex-start;
  align-items: center;
}

.contact_logo-wrapper {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  flex-flow: column;
  align-self: flex-start;
  align-items: flex-start;
  width: auto;
  height: auto;
  position: relative;
  overflow: clip;
}

.contact_logo-wrapper.is-list {
  display: none;
}

.contact_modal-button {
  top: auto;
  left: auto;
  right: var(--_gap---size--1);
  bottom: var(--_size---space--1);
  z-index: 999;
  cursor: pointer;
  display: block;
  position: fixed;
}

.contact_modal-icon {
  z-index: 999;
  width: 3rem;
  padding: .75rem;
  position: absolute;
  inset: .5rem .5rem auto auto;
}

.contact_modal-icon.contact_modal-close {
  cursor: pointer;
}

.contact_modal-overlay {
  z-index: 999;
  pointer-events: none;
  position: fixed;
  inset: 0%;
}

.contact_text-wrapper {
  grid-column-gap: var(--_size---space--7);
  grid-row-gap: var(--_size---space--7);
  flex-flow: column;
  justify-content: flex-end;
  height: 100%;
  display: flex;
}

.section_work {
  width: 100%;
  padding-top: var(--_size---section-space--xlarge);
  padding-bottom: var(--_size---section-space--main);
  flex-flow: column;
  justify-content: center;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  position: relative;
}

.section_work.is-lg {
  padding-top: var(--_size---section-space--large);
  padding-bottom: var(--_size---section-space--large);
}

.section_work.is-sm {
  padding-top: var(--_size---section-space--small);
  padding-bottom: var(--_size---section-space--small);
}

.section_work.is-none {
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section_work.is-xs {
  padding-top: var(--_size---section-space--xsmall);
  padding-bottom: var(--_size---section-space--xsmall);
}

.section_work.is-bottom-lg {
  padding-bottom: var(--_size---section-space--large);
}

.section_work.is-project-text-top {
  min-height: 5dvh;
  padding-top: var(--_size---section-space--none);
  padding-bottom: var(--_size---section-space--none);
}

.section_work.is-project {
  padding-top: var(--_gap---size--0);
  padding-bottom: var(--_gap---size--0);
}

.section_work.is-50vh {
  justify-content: flex-start;
  align-items: stretch;
  min-height: 50svh;
}

@media screen and (max-width: 991px) {
  body {
    --_size---section-space--main: clamp(3 * 1rem, ((3 - ((5 - 3) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((5 - 3) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 5 * 1rem);
    --_size---section-space--large: clamp(4.5 * 1rem, ((4.5 - ((8 - 4.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((8 - 4.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 8 * 1rem);
    --_size---section-space--small: clamp(2.25 * 1rem, ((2.25 - ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 3 * 1rem);
    --_size---section-space--none: 0px;
    --_size---section-space--xsmall: clamp(1.25 * 1rem, ((1.25 - ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 1.5 * 1rem);
    --_size---max-width--main: calc(var(--_size---site--viewport-max) * 1rem);
    --_size---site--margin: 1rem;
    --_size---max-width--full: 100%;
    --_size---space--1: clamp(.375 * 1rem, ((.375 - ((.5 - .375) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.5 - .375) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .5 * 1rem);
    --_size---space--2: clamp(.625 * 1rem, ((.625 - ((.75 - .625) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.75 - .625) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .75 * 1rem);
    --_size---space--3: clamp(.875 * 1rem, ((.875 - ((1 - .875) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((1 - .875) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 1 * 1rem);
    --_size---space--4: clamp(1.25 * 1rem, ((1.25 - ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 1.5 * 1rem);
    --_size---columns--4: calc(4 * ((100cqw - 7 * var(--_size---site--gutter)) / 8)  + 3 * var(--_size---site--gutter));
    --_size---columns--6: calc(6 * ((100cqw - 7 * var(--_size---site--gutter)) / 8)  + 5 * var(--_size---site--gutter));
    --_size---site--gutter: 1rem;
    --_size---columns--1: calc(1 * ((100cqw - 7 * var(--_size---site--gutter)) / 8));
    --_size---columns--11: 100cqw;
    --_size---columns--9: 100cqw;
    --_size---columns--5: calc(5 * ((100cqw - 7 * var(--_size---site--gutter)) / 8)  + 4 * var(--_size---site--gutter));
    --_size---columns--7: calc(7 * ((100cqw - 7 * var(--_size---site--gutter)) / 8)  + 6 * var(--_size---site--gutter));
    --_size---columns--3: calc(3 * ((100cqw - 7 * var(--_size---site--gutter)) / 8)  + 2 * var(--_size---site--gutter));
    --_size---columns--2: calc(2 * ((100cqw - 7 * var(--_size---site--gutter)) / 8)  + var(--_size---site--gutter));
    --_size---columns--8: 100cqw;
    --_size---columns--10: 100cqw;
    --_size---columns--12: 100cqw;
    --_size---site--margin-small\<deleted\|variable-13614c44-5197-acaa-8b92-679796ad38c0\>: 1rem;
    --_size---radius--tiny: .075rem;
    --_size---space--5: clamp(1.75 * 1rem, ((1.75 - ((2 - 1.75) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((2 - 1.75) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 2 * 1rem);
    --_size---space--7: clamp(2.25 * 1rem, ((2.25 - ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 3 * 1rem);
    --_size---section-space--page-top: clamp(8 * 1rem, ((8 - ((12 - 8) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((12 - 8) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 12 * 1rem);
    --_size---space--8: clamp(2.5 * 1rem, ((2.5 - ((4 - 2.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((4 - 2.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 4 * 1rem);
    --_size---radius--small: .2rem;
    --_size---border-width--main: .075rem;
    --_size---radius--main: .4rem;
    --_size---space--6: clamp(2 * 1rem, ((2 - ((2.5 - 2) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((2.5 - 2) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 2.5 * 1rem);
    --_size---section-space--xlarge: clamp(12 * 1rem, ((12 - ((8 - 12) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((8 - 12) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 8 * 1rem);
    --_size---site--viewport-max: 160;
    --_size---site--viewport-min: 25;
    --_size---site--column-count: 12;
    --_size---site--column-width: calc((min(var(--_size---max-width--main), 100% - var(--_size---site--margin) * 2)  - (var(--_size---site--gutter) * (var(--_size---site--column-count)  - 1))) / var(--_size---site--column-count));
    --_size---max-width--small: 50rem;
    --_size---radius--large: .8rem;
    --_size---radius--round: 100vw;
    --_size---space--0-25: clamp(.125rem, ((.125 - ((.15625 - .125) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.15625 - .125) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .15625rem);
    --_size---space--0-5: clamp(.25rem, ((.25 - ((.3125 - .25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.3125 - .25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .3125rem);
    --_text---font-size--text-2xl: 1.75rem;
    --_text---line-height--small: 1.2;
    --_text---font--primary-regular: 500;
    --_text---font-size--text-xl: 1.75rem;
    --_text---line-height--medium: 1.3;
    --_text---font-size--text-l: 2rem;
    --_text---line-height--large: 1.4;
    --_text---font-size--text-main: 1.5rem;
    --_text---font--secondary: "IBM Plex Mono", Arial, sans-serif;
    --_text---font-size--text-xs: 1rem;
    --_text---letter-spacing--normal: 0rem;
    --_text---font-size--text-s: 1.25rem;
    --_text---letter-spacing--tight: -.02rem;
    --_text---font-size--text-fixed-s: 1.25rem;
    --_text---line-height--main: 1.3;
    --_text---font--primary: "BDO Grotesk", Arial, sans-serif;
    --_text---font--primary-medium: 600;
    --_text---font-size--text-fixed-xs: 1rem;
    --_text---font-size--text-fixed-s\<deleted\|variable-adc541ed-1672-36e6-b15d-98f7dc94d013\>: 13px;
    --_text---line-height--none: 1;
    --_text---letter-spacing--tightest: -.04rem;
    --_text---font--primary-bold: 700;
    --_text---font--primary-trim-top: .5em;
    --_text---font--primary-trim-bottom: .31em;
    --_text---text-transform--none: var(--text-transform, none);
    --_text---text-transform--uppercase: uppercase;
    --_text---text-transform--capitalize: capitalize;
    --_text---text-transform--lowercase: lowercase;
    --_text---line-height--xsmall: 1.1;
    --_text---font-size--text-m: 1.75rem;
    --_text---font-size--text-3xl: 3rem;
    --_text---font-size--text-fixed-main: 1.5rem;
    --_text---letter-spacing--loose: .02rem;
  }

  .container {
    max-width: var(--_size---max-width--main);
    width: calc(100% - var(--_size---site--margin) * 2);
  }

  .footer-inner {
    grid-row-gap: var(--_size---section-space--large);
  }

  .navbar-link.is-contact {
    display: flex;
  }

  .col.is-span-4, .col.is-span-6, .col.is-span-5 {
    width: calc(4 * ((100cqw - 7 * var(--_sizes---grid--gutter)) / 8)  + 3 * var(--_sizes---grid--gutter));
  }

  .col.is-span-1-md {
    width: var(--_size---columns--1);
  }

  .col.is-span-4 {
    width: var(--_size---columns--4);
  }

  .col.is-span-5 {
    width: var(--_size---columns--5);
  }

  .col.is-span-1 {
    width: var(--_size---columns--1);
  }

  .col.is-span-3-md {
    width: var(--_size---columns--3);
  }

  .col.is-span-8-md {
    width: var(--_size---columns--8);
  }

  .col.is-span-4-md {
    width: var(--_size---columns--4);
  }

  .col.is-span-2-md {
    width: var(--_size---columns--2);
    text-align: center;
  }

  .col.is-span-6, .col.is-span-6-md {
    width: var(--_size---columns--6);
  }

  .col.is-span-7-md {
    width: var(--_size---columns--7);
  }

  .col.is-span-5-md {
    width: var(--_size---columns--5);
  }

  .block {
    width: 100%;
  }

  .text-wrapper.is-3-col {
    max-width: var(--_size---columns--6);
  }

  .portfolio-grid {
    grid-template-columns: 1fr;
  }

  .portfolio-tag-list {
    opacity: 1;
  }

  .footer__cta {
    width: 100%;
  }

  .footer__links-row {
    grid-row-gap: var(--_size---space--7);
    flex-flow: column;
    display: flex;
  }

  .footer__links-col {
    grid-row-gap: var(--_size---space--5);
    grid-template-columns: 1fr;
  }

  .footer__logo-row {
    grid-column-gap: 1.5em;
    grid-row-gap: 1.5em;
  }

  .button-wrapper {
    margin-top: 1.25rem;
  }

  .about_component {
    grid-column-gap: var(--_size---section-space--main);
    grid-row-gap: var(--_size---section-space--main);
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  .about_title-wrapper {
    flex-flow: column;
  }

  .project__text-grid {
    grid-column-gap: var(--_size---space--8);
    grid-row-gap: var(--_size---space--8);
    grid-template-columns: 1fr;
  }

  .project__text-grid.top {
    grid-column-gap: var(--_gap---size--base);
    grid-row-gap: var(--_gap---size--base);
    grid-template-columns: 1fr 1fr;
  }

  .our-work-page_header {
    justify-content: space-between;
    align-items: center;
  }

  .portfolio-hover-text.is-bg-blur {
    opacity: 1;
  }

  .navbar-wrapper {
    max-width: var(--_size---max-width--main);
    width: calc(100% - var(--_size---site--margin) * 2);
  }

  .portfolio-grid-recent {
    grid-template-columns: 1fr;
  }

  .project-tag-list {
    opacity: 1;
  }

  .our-clients_wrapper {
    width: 100%;
  }

  .services_component {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  .section_selected-works.is-project-text-top {
    min-height: auto;
    padding-top: var(--_text-style---margin-top);
  }

  .logo-wall__item {
    width: 25%;
  }

  .logo-wall__logo-target {
    width: 61%;
  }

  .logo-wall__logo-target.is-logo-l {
    height: 4rem;
  }

  .logo-wall__logo-target.is-logo-s {
    width: 70%;
  }

  .section_about.is-project-text-top {
    min-height: auto;
    padding-top: var(--_text-style---margin-top);
  }

  .services_summary-text.u-text-style-s {
    display: none;
  }

  .section_services.is-project-text-top {
    min-height: auto;
    padding-top: var(--_text-style---margin-top);
  }

  .section_recent.is-project-text-top {
    min-height: auto;
    padding-top: var(--_text-style---margin-top);
  }

  .contact_component {
    grid-row-gap: var(--_size---space--7);
    flex-flow: column;
    display: flex;
  }

  .contact_cta {
    width: 100%;
  }

  .contact_links-wrapper {
    flex-flow: column;
    flex: 1;
    display: flex;
  }

  .section_work.is-project-text-top {
    min-height: auto;
    padding-top: var(--_text-style---margin-top);
  }
}

@media screen and (max-width: 767px) {
  body {
    --_size---section-space--main: clamp(3 * 1rem, ((3 - ((5 - 3) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((5 - 3) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 5 * 1rem);
    --_size---section-space--large: clamp(4.5 * 1rem, ((4.5 - ((8 - 4.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((8 - 4.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 8 * 1rem);
    --_size---section-space--small: clamp(2.25 * 1rem, ((2.25 - ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 3 * 1rem);
    --_size---section-space--none: 0px;
    --_size---section-space--xsmall: clamp(1.25 * 1rem, ((1.25 - ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 1.5 * 1rem);
    --_size---max-width--main: calc(var(--_size---site--viewport-max) * 1rem);
    --_size---site--margin: 1rem;
    --_size---max-width--full: 100%;
    --_size---space--1: clamp(.375 * 1rem, ((.375 - ((.5 - .375) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.5 - .375) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .5 * 1rem);
    --_size---space--2: clamp(.625 * 1rem, ((.625 - ((.75 - .625) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.75 - .625) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .75 * 1rem);
    --_size---space--3: clamp(.875 * 1rem, ((.875 - ((1 - .875) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((1 - .875) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 1 * 1rem);
    --_size---space--4: clamp(1.25 * 1rem, ((1.25 - ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((1.5 - 1.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 1.5 * 1rem);
    --_size---columns--4: 100cqw;
    --_size---columns--6: 100cqw;
    --_size---site--gutter: 1rem;
    --_size---columns--1: calc(1 * ((100cqw - 3 * var(--_size---site--gutter)) / 4));
    --_size---columns--11: 100cqw;
    --_size---columns--9: 100cqw;
    --_size---columns--5: 100cqw;
    --_size---columns--7: 100cqw;
    --_size---columns--3: calc(3 * ((100cqw - 3 * var(--_size---site--gutter)) / 4)  + 2 * var(--_size---site--gutter));
    --_size---columns--2: calc(2 * ((100cqw - 3 * var(--_size---site--gutter)) / 4)  + var(--_size---site--gutter));
    --_size---columns--8: 100cqw;
    --_size---columns--10: 100cqw;
    --_size---columns--12: 100cqw;
    --_size---site--margin-small\<deleted\|variable-13614c44-5197-acaa-8b92-679796ad38c0\>: 1rem;
    --_size---radius--tiny: .075rem;
    --_size---space--5: clamp(1.75 * 1rem, ((1.75 - ((2 - 1.75) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((2 - 1.75) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 2 * 1rem);
    --_size---space--7: clamp(2.25 * 1rem, ((2.25 - ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((3 - 2.25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 3 * 1rem);
    --_size---section-space--page-top: clamp(8 * 1rem, ((8 - ((12 - 8) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((12 - 8) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 12 * 1rem);
    --_size---space--8: clamp(2.5 * 1rem, ((2.5 - ((4 - 2.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((4 - 2.5) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 4 * 1rem);
    --_size---radius--small: .2rem;
    --_size---border-width--main: .075rem;
    --_size---radius--main: .4rem;
    --_size---space--6: clamp(2 * 1rem, ((2 - ((2.5 - 2) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((2.5 - 2) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 2.5 * 1rem);
    --_size---section-space--xlarge: clamp(12 * 1rem, ((12 - ((8 - 12) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((8 - 12) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), 8 * 1rem);
    --_size---site--viewport-max: 160;
    --_size---site--viewport-min: 25;
    --_size---site--column-count: 12;
    --_size---site--column-width: calc((min(var(--_size---max-width--main), 100% - var(--_size---site--margin) * 2)  - (var(--_size---site--gutter) * (var(--_size---site--column-count)  - 1))) / var(--_size---site--column-count));
    --_size---max-width--small: 50rem;
    --_size---radius--large: .8rem;
    --_size---radius--round: 100vw;
    --_size---space--0-25: clamp(.125rem, ((.125 - ((.15625 - .125) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.15625 - .125) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .15625rem);
    --_size---space--0-5: clamp(.25rem, ((.25 - ((.3125 - .25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min)) * var(--_size---site--viewport-min))) * 1rem + ((.3125 - .25) / (var(--_size---site--viewport-max)  - var(--_size---site--viewport-min))) * 100vw), .3125rem);
    --_text---font-size--text-2xl: 2rem;
    --_text---line-height--small: 1.2;
    --_text---font--primary-regular: 500;
    --_text---font-size--text-xl: 2rem;
    --_text---line-height--medium: 1.3;
    --_text---font-size--text-l: 1.75rem;
    --_text---line-height--large: 1.4;
    --_text---font-size--text-main: 1.25rem;
    --_text---font--secondary: "IBM Plex Mono", Arial, sans-serif;
    --_text---font-size--text-xs: .875rem;
    --_text---letter-spacing--normal: 0rem;
    --_text---font-size--text-s: 1rem;
    --_text---letter-spacing--tight: -.02rem;
    --_text---font-size--text-fixed-s: 1.25rem;
    --_text---line-height--main: 1.3;
    --_text---font--primary: "BDO Grotesk", Arial, sans-serif;
    --_text---font--primary-medium: 600;
    --_text---font-size--text-fixed-xs: 1rem;
    --_text---font-size--text-fixed-s\<deleted\|variable-adc541ed-1672-36e6-b15d-98f7dc94d013\>: 13px;
    --_text---line-height--none: 1;
    --_text---letter-spacing--tightest: -.04rem;
    --_text---font--primary-bold: 700;
    --_text---font--primary-trim-top: .5em;
    --_text---font--primary-trim-bottom: .31em;
    --_text---text-transform--none: var(--text-transform, none);
    --_text---text-transform--uppercase: uppercase;
    --_text---text-transform--capitalize: capitalize;
    --_text---text-transform--lowercase: lowercase;
    --_text---line-height--xsmall: 1.1;
    --_text---font-size--text-m: 1.5rem;
    --_text---font-size--text-3xl: 2rem;
    --_text---font-size--text-fixed-main: 1.5rem;
    --_text---letter-spacing--loose: .02rem;
  }

  .section.is-project-text-top {
    min-height: 6rem;
  }

  .container {
    max-width: var(--_size---max-width--main);
  }

  .navbar-link {
    padding-left: 0;
  }

  .col.is-span-4, .col.is-span-6, .col.is-span-5 {
    width: calc(4 * ((100cqw - 5 * var(--_sizes---grid--gutter)) / 6)  + 3 * var(--_sizes---grid--gutter));
  }

  .col.is-span-4, .col.is-span-4-sm {
    width: var(--_size---columns--4);
  }

  .col.is-span-5 {
    width: var(--_size---columns--5);
  }

  .col.is-span-3-sm {
    width: var(--_size---columns--3);
  }

  .col.is-span-6 {
    width: var(--_size---columns--6);
  }

  .col.is-span-1-sm {
    width: var(--_size---columns--1);
  }

  .col.is-span-2-sm {
    width: var(--_size---columns--2);
  }

  .block {
    width: 100%;
  }

  .portfolio-grid {
    grid-row-gap: var(--_gap---size--5);
    grid-template-columns: 1fr;
  }

  .footer__links-row {
    flex-flow: column;
    grid-template-columns: 1fr;
    display: flex;
  }

  .about_component {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
  }

  .project__text-grid.top {
    flex-flow: column;
    display: flex;
  }

  .project__text-grid.bottom {
    grid-column-gap: var(--_size---space--8);
    grid-row-gap: var(--_size---space--8);
  }

  .project__info-wrapper {
    grid-column-gap: var(--_gap---size--2);
    grid-row-gap: var(--_gap---size--2);
    flex-flow: column;
  }

  .project__info-wrapper.is-date-industry {
    flex-flow: row;
  }

  .recent-work-grid {
    grid-row-gap: var(--_gap---size--5);
    grid-template-columns: 1fr;
  }

  .navbar-wrapper {
    max-width: var(--_size---max-width--main);
  }

  .portfolio-grid-recent {
    grid-row-gap: var(--_gap---size--5);
    grid-template-columns: 1fr;
  }

  .nav-links {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .our-clients_wrapper {
    width: 100%;
  }

  .contact_component {
    flex-flow: column;
    grid-template-columns: 1fr;
    display: flex;
  }

}

@media screen and (max-width: 479px) {
  .col.is-span-4, .col.is-span-6, .col.is-span-5 {
    width: 100cqw;
  }

  .col.is-span-4-xs {
    width: var(--_size---columns--4);
  }

  .col.is-span-1-xs {
    width: var(--_size---columns--1);
  }

  .col.is-span-4 {
    width: var(--_size---columns--4);
  }

  .col.is-span-5 {
    width: var(--_size---columns--5);
  }

  .col.is-span-3-xs {
    width: var(--_size---columns--3);
  }

  .col.is-span-2-xs {
    width: var(--_size---columns--2);
  }

  .col.is-span-6 {
    width: var(--_size---columns--6);
  }

  .block {
    width: 100%;
  }

  .button-wrapper {
    margin-top: 1.125rem;
  }

  .portfolio-hover-text.is-bg-blur {
    display: none;
  }

  .cms-project {
    min-height: calc(50dvh - (var(--_size---site--margin) * 2));
  }

  .our-clients_wrapper {
    width: 100%;
  }

  .services_column-wrapper {
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr;
  }

  .contact_component {
    padding-bottom: 7rem;
  }

  .contact_links-wrapper {
    flex: 0 auto;
  }

  .contact_modal {
    inset: auto 0% 0%;
  }
}

#w-node-_5a194c05-4364-a357-3918-4bf4550c98f1-b6ce1cc5, #w-node-_7aa9c1fb-33bb-00fc-b9cd-cbfcc94674c9-b6ce1cc5 {
  align-self: stretch;
}

#w-node-ad3f257b-3ffd-bf5c-4b00-7652961915bf-b6ce1cc5 {
  grid-area: span 2 / span 1 / span 2 / span 1;
  align-self: stretch;
}


@font-face {
  font-family: 'BDO Grotesk';
  src: url('../fonts/BDOGrotesk-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'BDO Grotesk';
  src: url('../fonts/BDOGrotesk-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'BDO Grotesk';
  src: url('../fonts/BDOGrotesk-DemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../fonts/IBMPlexMono-Text.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../fonts/IBMPlexMono-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../fonts/IBMPlexMono-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'BDO Grotesk';
  src: url('../fonts/BDOGrotesk-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}