@font-face {
  font-family: Inter Variable;
  src: url('../fonts/Inter-VariableFont_opszwght.ttf') format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Inter Variable Italic;
  src: url('../fonts/Inter-Italic-VariableFont_opszwght.ttf') format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Satoshi Variable;
  src: url('../fonts/Satoshi-Variable.ttf') format("truetype");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --neutral-color-1a: whitesmoke;
  --neutral-color-2b: #1f2020;
  --accent-color-2d: #319e65;
  --accent-color-2c: #24563c;
  --border-radius-standard: .5rem;
  --accent-color-1d: #c8ab84;
  --border-radius-small: .25rem;
  --accent-color-2b: #858c79;
  --white: white;
  --opacity-white-25: #ffffff40;
  --opacity-white-15: #ffffff26;
  --neutral-color-2a: #141414;
  --accent-color-1b: #f4f1e8;
  --neutral-color-1c: #dcd1d1;
  --neutral-color-1b: #eee9e9;
  --black: #000;
  --accent-color-1a: #cc6c3b;
  --accent-color-1c: #d7c4aa;
  --accent-color-2a: #35362f;
  --neutral-color-2c: #3d403f;
  --opacity-black-15: #00000026;
  --transparent: #419d7800;
  --background-color-3: #eee9e9;
  --opacity-black-50: #00000080;
  --opacity-black-25: #00000040;
  --border-radius-tiny: .15rem;
  --opacity-white-5: #ffffff0d;
  --opacity-white-75: #ffffffbf;
  --border-radius-large: 2rem;
  --opacity-white-50: #ffffff80;
  --opacity-white-10: #ffffff1a;
  --border-radius-0: 0rem;
  --opacity-black-10: #0000001a;
  --opacity-black-5: #0000000d;
  --opacity-black-75: #000000bf;
}

body {
  background-color: var(--neutral-color-1a);
  color: var(--neutral-color-2b);
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1rem;
}

h1 {
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 7rem;
  font-weight: 400;
  line-height: 1;
}

h2 {
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 4.5rem;
  font-weight: 400;
  line-height: 1;
}

h3 {
  letter-spacing: -.01em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

h4 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}

h5 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
}

h6 {
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
}

p {
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
}

a {
  color: var(--accent-color-2d);
  align-self: flex-start;
  font-weight: 500;
  text-decoration: none;
  transition: color .2s;
}

a:hover {
  color: var(--accent-color-2c);
}

ul, ol {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 1.5rem;
  display: flex;
}

img {
  border-radius: var(--border-radius-standard);
  object-fit: cover;
}

form {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

label {
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: 0;
  font-size: .75rem;
  font-weight: 500;
  display: block;
}

blockquote {
  border: 1px solid var(--accent-color-1d);
  margin-bottom: 0;
  padding: 2rem;
  font-size: 2.5rem;
  line-height: 1.15;
}

figure {
  margin-bottom: 0;
}

figcaption {
  text-align: left;
  margin-top: 1rem;
}

.header-style-h1 {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  letter-spacing: -.02em;
  flex-flow: wrap;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 6.5rem;
  font-weight: 400;
  line-height: 1;
}

.header-style-h2 {
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 4.5rem;
  font-weight: 400;
  line-height: 1;
}

.header-style-h3 {
  letter-spacing: -.01em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.2;
}

.header-style-h4 {
  letter-spacing: -.01em;
  align-self: flex-start;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}

.header-style-h5 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
}

.header-style-h6 {
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
}

.text-size-medium {
  font-size: 1.25rem;
  line-height: 1.5;
}

.text-size-medium.align-text-right {
  text-align: right;
}

.text-size-medium.text-margin-top {
  margin-top: 2rem;
}

.text-size-large {
  font-size: 1.75rem;
  line-height: 1.3;
}

.text-label-solid {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  border-radius: var(--border-radius-small);
  background-color: var(--accent-color-2b);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  color: var(--white);
  text-transform: uppercase;
  justify-content: flex-start;
  align-self: flex-start;
  align-items: center;
  padding: .5rem .75rem;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: .75rem;
  font-weight: 500;
  display: flex;
}

.text-label-solid.opacity-white-15 {
  border: 1px solid var(--opacity-white-25);
  background-color: var(--opacity-white-15);
  color: var(--neutral-color-2a);
}

.text-label {
  text-transform: uppercase;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: .75rem;
  font-weight: 500;
}

.style-guide-item {
  grid-row-gap: 2rem;
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
}

.image-wrapper {
  border-radius: var(--border-radius-standard);
  object-fit: fill;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.image-wrapper.aspect-ratio-square {
  aspect-ratio: 1;
  border-radius: var(--border-radius-standard);
  height: auto;
}

.image-wrapper.aspect-ratio-landscape {
  aspect-ratio: 3 / 2;
  height: auto;
}

.image-wrapper.case-study {
  aspect-ratio: 1;
  height: auto;
}

.padding-global {
  width: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
  overflow: clip;
}

.container-large {
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}

.container-medium {
  max-width: 70rem;
  margin-left: auto;
  margin-right: auto;
}

.container-small {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}

.grid-1-column {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.grid-2-column {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-self: stretch;
  justify-items: stretch;
  display: grid;
}

.grid-3-column {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.grid-4-column {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.grid-2-1-column {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 2fr 1fr;
  grid-auto-columns: 1fr;
  place-items: start;
  display: grid;
}

.grid-1-2-column {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 2fr;
  grid-auto-columns: 1fr;
  place-items: start;
  display: grid;
}

.padding-0 {
  padding: 0;
}

.padding-xsmall {
  padding: 1rem;
}

.padding-small {
  padding: 2rem;
}

.padding-medium {
  padding: 4rem;
}

.padding-large {
  padding: 6rem;
}

.padding-xlarge {
  padding: 8rem;
}

.padding-huge {
  padding: 10rem;
}

.style-guide-block {
  background-color: var(--accent-color-1b);
  width: 100%;
  height: 5rem;
  padding: .5rem;
}

.style-guide-spacing-item {
  border: 1px solid var(--neutral-color-1c);
  background-color: var(--white);
}

.padding-top {
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}

.padding-bottom {
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}

.padding-left {
  padding-top: 0;
  padding-bottom: 0;
  padding-right: 0;
}

.padding-right {
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.padding-horizontal {
  padding-top: 0;
  padding-bottom: 0;
}

.padding-vertical {
  padding-left: 0;
  padding-right: 0;
}

.card {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  flex-flow: column;
  justify-content: space-between;
  height: 100%;
  padding: 2rem;
  display: flex;
  position: relative;
}

.flex-box-horizontal {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.flex-box-vertical {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.flex-box-vertical.flex-space-between {
  justify-content: space-between;
}

.style-guide-colour-block {
  border-radius: var(--border-radius-small);
  color: #212320;
  height: 5rem;
}

.style-guide-colour-block.neutral-color-1a {
  border: 1px solid var(--neutral-color-1c);
  background-color: var(--neutral-color-1a);
}

.style-guide-colour-block.neutral-color-1b {
  background-color: var(--neutral-color-1b);
}

.style-guide-colour-block.white {
  background-color: var(--white);
}

.style-guide-colour-block.black {
  background-color: var(--black);
}

.style-guide-colour-block.accent-color-1a {
  background-color: var(--accent-color-1a);
}

.style-guide-colour-block.accent-color-1b {
  background-color: var(--accent-color-1b);
}

.style-guide-colour-block.accent-color-1c {
  background-color: var(--accent-color-1c);
}

.style-guide-colour-block.accent-color-2a {
  background-color: var(--accent-color-2a);
}

.style-guide-colour-block.accent-color-2b {
  background-color: var(--accent-color-2b);
}

.style-guide-colour-block.accent-color-2c {
  background-color: var(--accent-color-2c);
}

.style-guide-colour-block.neutral-color-2a {
  background-color: var(--neutral-color-2a);
}

.style-guide-colour-block.neutral-color-2b {
  background-color: var(--neutral-color-2b);
}

.style-guide-colour-block.neutral-color-2c {
  background-color: var(--neutral-color-2c);
}

.style-guide-colour-block.neutral-color-1c {
  background-color: var(--neutral-color-1c);
}

.style-guide-colour-block.accent-color-1d {
  background-color: var(--accent-color-1d);
}

.style-guide-colour-block.accent-color-2d {
  background-color: var(--accent-color-2d);
}

.button {
  white-space: nowrap;
  cursor: pointer;
  flex-flow: row;
  align-self: flex-start;
  transition: border-color .2s, background-color .2s;
  display: flex;
}

.button.w--current {
  border-style: none;
}

.button.tertiary {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  align-self: center;
}

.margin-0 {
  margin: 0;
}

.max-width-medium {
  max-width: 40rem;
}

.text-align-left {
  text-align: left;
}

.text-align-center {
  text-align: center;
}

.text-align-right {
  text-align: right;
}

.hidden {
  display: none;
}

.buttons-wrap {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.page-wrapper {
  color: var(--accent-color-2b);
  flex-flow: column;
  flex: 1;
  justify-content: space-between;
  display: flex;
  position: relative;
}

.main-wrapper {
  height: 120%;
  overflow: visible;
}

.text-size-xlarge {
  font-size: 2.5rem;
  line-height: 1.2;
}

.nav-bar {
  z-index: 999;
  position: fixed;
  inset: 0% 0% auto;
}

.nav-container {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 110rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2rem;
  padding-bottom: 2rem;
  display: flex;
  position: relative;
}

.home-about-section {
  z-index: 1;
  background-color: var(--background-color-3);
  position: relative;
}

.section-title-panel {
  z-index: 0;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 9rem;
  min-width: 9rem;
  padding: 2rem;
  display: flex;
  position: relative;
}

.section-title-panel.case-studies-main {
  padding-top: 4rem;
}

.home-services-section {
  z-index: 1;
  background-color: var(--neutral-color-1b);
  position: relative;
}

.home-benefits-section {
  z-index: 1;
  background-color: var(--neutral-color-1a);
  position: relative;
}

.container-xlarge {
  max-width: 110rem;
  margin-left: auto;
  margin-right: auto;
}

.max-width-large {
  max-width: 50rem;
}

.icon-small {
  width: 1rem;
  height: 1rem;
}

.icon-medium {
  width: 2rem;
  height: 2rem;
}

.icon-large {
  width: 3rem;
  height: 3rem;
}

.max-width-small {
  max-width: 30rem;
}

.tab-link {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border: 0px none var(--transparent);
  background-color: var(--transparent);
  color: var(--opacity-black-50);
  letter-spacing: -.02em;
  border-radius: 0;
  flex-flow: row;
  grid-template-rows: auto;
  grid-template-columns: .5fr 2.25fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-self: stretch;
  align-items: flex-start;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  font-size: 4.5rem;
  font-weight: 400;
  line-height: 1;
  transition: color .2s;
  display: flex;
}

.tab-link:hover {
  color: var(--neutral-color-2b);
}

.tab-link.w--current {
  background-color: var(--transparent);
  color: var(--accent-color-2d);
}

.tab-link.case-studies-tabs {
  display: block;
}

.utility-page-wrap {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: grid;
}

.utility-page-content {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  display: flex;
}

.utility-page-form {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  text-align: left;
  flex-direction: column;
  justify-content: flex-start;
  align-self: flex-start;
  align-items: flex-start;
  width: auto;
  display: flex;
}

.thumbnail-wrapper {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  height: 100%;
  display: block;
  position: relative;
}

.thumbnail-wrapper.case-studies, .thumbnail-wrapper.team-member {
  cursor: none;
}

.margin-huge {
  margin: 10rem;
}

.margin-xlarge {
  margin: 8rem;
}

.margin-large {
  margin: 6rem;
}

.margin-medium {
  margin: 4rem;
}

.margin-small {
  margin: 2rem;
}

.margin-xsmall {
  margin: 1rem;
}

.margin-left {
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0;
}

.margin-right {
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
}

.margin-top {
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
}

.margin-bottom {
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
}

.margin-vertical {
  margin-left: 0;
  margin-right: 0;
}

.margin-horizontal {
  margin-top: 0;
  margin-bottom: 0;
}

.cursor-wrapper {
  z-index: 1000;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: fixed;
  inset: 0%;
}

.cursor {
  border-radius: var(--border-radius-small);
  background-color: var(--neutral-color-1a);
  opacity: 0;
  color: var(--neutral-color-2a);
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
  padding: .5rem .75rem;
  font-size: .75rem;
  position: relative;
}

.brand-link.w--current {
  z-index: 9999;
  cursor: pointer;
  transition: opacity .2s;
  position: relative;
}

.nav-menu-overlay {
  z-index: 999;
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  background-color: var(--accent-color-1b);
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: stretch;
  width: 100vw;
  height: 100vh;
  display: none;
  position: fixed;
  inset: 0% 0% auto;
}

.max-width-xsmall {
  max-width: 24rem;
}

.max-width-xlarge {
  max-width: 70rem;
}

.label-overlay {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 1rem;
  display: flex;
  position: absolute;
  inset: 0% auto auto 0%;
}

.image-scroll {
  width: 100%;
  height: 120%;
}

.section-header {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  display: flex;
}

.text-highlight {
  color: var(--accent-color-2d);
}

.image-section {
  color: var(--white);
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  position: relative;
  overflow: hidden;
}

.nav-footer {
  z-index: 1;
  background-color: var(--accent-color-2a);
  color: var(--white);
  margin-top: -2rem;
  position: relative;
  inset: auto 0% 0%;
}

.nav-menu-list {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  color: var(--white);
  letter-spacing: .05em;
  text-transform: uppercase;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  font-family: Satoshi Variable, Arial, sans-serif;
  font-size: .9rem;
  font-weight: 500;
  display: flex;
}

.form {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.form-block {
  margin-bottom: 0;
}

.form-block.newsletter-signup {
  border: 1px solid var(--accent-color-2c);
  border-radius: var(--border-radius-small);
  background-color: var(--accent-color-2b);
  padding: 2rem;
}

.form-field-wrapper {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  text-align: left;
  flex-flow: column;
  align-self: stretch;
  display: flex;
}

.text-field {
  border: 1px solid var(--opacity-black-25);
  background-color: var(--transparent);
  height: auto;
  color: var(--neutral-color-2c);
  margin-bottom: 0;
  padding: 1rem 0 1rem 1rem;
  font-size: 1.25rem;
  transition: background-color .2s, border-color .5s;
}

.text-field:hover {
  border: 1px solid var(--neutral-color-2a);
  background-color: var(--white);
}

.text-field:active, .text-field:focus {
  border: 1px solid var(--neutral-color-2c);
}

.text-field::placeholder {
  color: var(--neutral-color-2c);
}

.text-field.inverted {
  border-color: var(--white);
  border-radius: var(--border-radius-tiny);
}

.text-field.inverted:hover, .text-field.inverted:focus {
  background-color: var(--opacity-white-5);
}

.text-field.inverted::placeholder {
  color: var(--opacity-white-75);
  font-size: 1.25rem;
}

.text-field.text-area {
  min-height: 20rem;
}

.text-size-small {
  font-size: .87rem;
}

.tabs {
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 2.5fr;
  grid-auto-columns: 1fr;
  display: flex;
}

.tabs-content-wrapper {
  max-width: 60rem;
  padding-left: 6rem;
}

.home-hero-section {
  z-index: 0;
  color: var(--white);
  position: relative;
  overflow: visible;
}

.text-link {
  border-bottom: 2px dashed var(--transparent);
  color: var(--accent-color-2d);
  align-self: flex-start;
  font-weight: 500;
  transition: border-color .2s, color .2s;
}

.text-link:hover {
  border-bottom: 2px dashed var(--accent-color-2c);
  color: var(--accent-color-2c);
  -webkit-text-stroke-color: var(--accent-color-2b);
}

.text-link.nav-footer {
  border-bottom: 1px dotted var(--transparent);
  color: var(--accent-color-1c);
  transition: color .2s, border-color .2s;
}

.text-link.nav-footer:hover {
  border-bottom: 1px dotted var(--accent-color-1d);
  color: var(--accent-color-1d);
}

.hero-text-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  margin-bottom: 1rem;
  display: flex;
}

.tab-label {
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1;
}

.lightbox-image-wrapper {
  aspect-ratio: 3 / 2;
  border-radius: var(--border-radius-standard);
  width: 100%;
  height: auto;
  color: var(--white);
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  overflow: hidden;
}

.label-wrapper {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  flex-flow: column;
  justify-content: flex-start;
  align-self: flex-start;
  align-items: flex-start;
  display: flex;
}

.about-mission-section {
  background-color: var(--accent-color-2c);
  color: var(--white);
}

.tab-menu {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  display: flex;
}

.tab-menu.flex-box-wrap {
  flex-flow: wrap;
  margin-bottom: 4rem;
}

.contact-hero-section {
  background-color: var(--neutral-color-1b);
}

.accordion-answer-wrapper {
  max-width: 55rem;
  overflow: hidden;
}

.accordion-wrapper.max-width-xlarge {
  margin-bottom: -4rem;
}

.accordion-question-wrapper {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  cursor: pointer;
  justify-content: space-between;
  align-items: flex-start;
  transition: color .2s;
  display: flex;
}

.accordion-item {
  flex-flow: column;
  padding: 0 0 4rem;
  display: flex;
}

.accordion-header {
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 4.5rem;
  font-weight: 400;
  line-height: 1;
  transition: color .2s;
}

.icon-xlarge {
  width: 4rem;
  height: 4rem;
}

.address-wrapper {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-flow: column;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5rem;
  display: flex;
}

.hero-section {
  background-color: var(--neutral-color-1b);
}

.main-section {
  z-index: 5;
  border-bottom-left-radius: var(--border-radius-large);
  border-bottom-right-radius: var(--border-radius-large);
  background-color: var(--neutral-color-1a);
  position: relative;
}

.about-awards-section, .about-process-section {
  background-color: var(--neutral-color-1b);
}

.project-summary-section, .project-main-section {
  background-color: var(--neutral-color-1a);
  position: relative;
}

.rich-text {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  margin-top: -2rem;
  margin-bottom: -2rem;
  display: flex;
}

.other-projects-section {
  z-index: 5;
  border-bottom-left-radius: var(--border-radius-large);
  border-bottom-right-radius: var(--border-radius-large);
  background-color: var(--neutral-color-1b);
  position: relative;
}

.thumbnail-lightbox {
  cursor: none;
  width: 100%;
}

.project-gallery-section {
  background-color: var(--neutral-color-1b);
  position: relative;
}

.empty-state {
  border: 1px solid var(--neutral-color-1c);
  background-color: var(--neutral-color-1a);
  padding: 2rem;
  font-size: 2rem;
  line-height: 1;
}

.pagination {
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 2rem;
}

.error-message {
  border-radius: var(--border-radius-small);
  color: var(--neutral-color-2b);
  text-align: left;
  background-color: #ffc7c7;
  border: 1px solid red;
  margin-top: 2rem;
  padding: 1rem;
  line-height: 1.5;
}

.brand-logo {
  transition: opacity .2s;
}

.brand-logo:hover {
  opacity: .5;
}

.why-choose-us-mobile {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: none;
}

.contact-faqs-section {
  z-index: 5;
  border-bottom-left-radius: var(--border-radius-large);
  border-bottom-right-radius: var(--border-radius-large);
  background-color: var(--neutral-color-1b);
  position: relative;
}

.section-panel-border {
  z-index: 1;
  background-color: var(--opacity-black-50);
  width: 1px;
  position: absolute;
  inset: 0% 0% 0% auto;
}

.section-panel-border.opacity-white-50 {
  z-index: 7;
  background-color: var(--opacity-white-50);
}

.nav-menu {
  z-index: 999999;
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  border: 1px solid var(--opacity-black-15);
  border-radius: var(--border-radius-large);
  background-color: var(--opacity-white-50);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  color: var(--neutral-color-2b);
  text-transform: uppercase;
  cursor: pointer;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  padding: .5rem .75rem;
  font-size: .75rem;
  font-weight: 600;
  display: none;
}

.nav-menu-link {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  letter-spacing: -.05em;
  flex-flow: wrap;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 6.5rem;
  font-weight: 400;
  line-height: .8;
}

.nav-menu-link.w--current {
  display: flex;
}

.nav-menu-content {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100vh;
  padding-top: 6rem;
  padding-bottom: 6rem;
  padding-left: 2rem;
  display: flex;
  position: relative;
}

.nav-link-container {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  color: var(--neutral-color-2b);
  flex-flow: row;
  transition-property: none;
  display: flex;
}

.process-content-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-self: stretch;
  justify-items: stretch;
  padding-top: 2rem;
  display: grid;
  position: relative;
}

.process-header {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: row;
  display: flex;
}

.page-item {
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  grid-template-rows: auto;
  grid-template-columns: .25fr 4.5fr;
  grid-auto-columns: 1fr;
  align-self: stretch;
  place-items: start;
  max-width: 60rem;
  margin-bottom: 2rem;
  display: grid;
}

.list-wrapper {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  display: flex;
}

.home-projects-section {
  z-index: 1;
  background-color: var(--neutral-color-1a);
  position: relative;
}

.sg-hero-section {
  background-color: var(--neutral-color-1b);
}

.sg-container-section, .sg-max-widths-section, .sg-typography-section, .sg-tags-section, .sg-buttons-section, .sg-icons-section {
  background-color: var(--white);
}

.text-weight-normal {
  font-weight: 400;
}

.text-weight-medium {
  font-weight: 500;
}

.text-weight-semibold {
  font-weight: 600;
}

.text-weight-bold {
  font-weight: 700;
}

.award-link {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  color: var(--neutral-color-2b);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-self: stretch;
  justify-items: stretch;
  padding-top: 2rem;
  padding-bottom: 2rem;
  display: grid;
  position: relative;
}

.nav-footer-menu {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.services-grid {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-left: -2rem;
  display: grid;
}

.section-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-end;
  place-items: stretch start;
  min-height: 80vh;
  padding-left: 2rem;
  display: flex;
}

.section-content.no-min-height {
  min-height: auto;
}

.section-content.min-height-60vh {
  min-height: 60vh;
}

.cover-image {
  z-index: -1;
  width: 100%;
  height: 120%;
  position: absolute;
  inset: 0%;
}

.cover-image.image-scroll {
  overflow: hidden;
}

.gradient-fade-bottom {
  z-index: 1;
  background-image: linear-gradient(#0000004d, #0000004d);
  height: 110%;
  position: absolute;
  inset: 0%;
}

.section-wrapper {
  z-index: 5;
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  grid-template-rows: auto;
  grid-template-columns: .25fr 3fr;
  grid-auto-columns: 1fr;
  align-self: stretch;
  justify-items: stretch;
  height: auto;
  display: grid;
  position: relative;
}

.grid-line-horizontal {
  background-color: var(--opacity-black-50);
  width: auto;
  height: 1px;
  margin-left: 2rem;
  margin-right: 2rem;
  position: absolute;
  inset: 0% 0% auto;
}

.grid-line-horizontal.position-bottom {
  inset: auto 0% 0%;
}

.grid-line-horizontal.position-top {
  inset: 0% 0% auto;
}

.grid-line-horizontal.margin-0 {
  margin-left: 0;
  margin-right: 0;
}

.grid-line-vertical {
  background-color: var(--opacity-black-50);
  width: 1px;
  margin-top: 2rem;
  margin-bottom: 2rem;
  position: absolute;
  inset: 0% 0% 0% auto;
}

.grid-line-vertical.position-right {
  inset: 0% 0% 0% auto;
}

.image-section-height {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  min-height: 70vh;
  padding-bottom: 2rem;
  padding-left: 2rem;
  display: flex;
}

.button-icon {
  border-radius: var(--border-radius-large);
  flex-flow: column;
  justify-content: center;
  align-self: stretch;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
  padding: 1rem;
  display: flex;
}

.button-icon.primary {
  background-color: var(--accent-color-1c);
  transition: border-radius .2s;
}

.button-icon.secondary {
  border: 1px solid var(--opacity-black-50);
}

.button-icon.dark {
  background-color: var(--accent-color-2c);
}

.button-icon.tertiary {
  border: 1px solid var(--opacity-black-50);
}

.button-icon.tertiary.inverted {
  border-color: var(--opacity-white-25);
  background-color: var(--opacity-white-10);
}

.button-text {
  border-radius: var(--border-radius-small);
  color: var(--neutral-color-2c);
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  flex: 1;
  align-self: flex-start;
  margin-left: 0;
  margin-right: 0;
  padding: 1rem 1.25rem;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.15;
  transition: border-radius .2s;
}

.button-text:hover {
  border-radius: var(--border-radius-large);
}

.button-text.w--current {
  border-style: none;
}

.button-text.primary {
  background-color: var(--accent-color-1c);
  color: var(--neutral-color-2a);
}

.button-text.secondary {
  border: 1px solid var(--opacity-black-50);
  background-color: var(--transparent);
}

.button-text.secondary:hover {
  color: var(--neutral-color-2c);
}

.button-text.tertiary {
  background-color: var(--transparent);
  align-self: center;
  padding: 0;
}

.button-text.tertiary.inverted {
  color: var(--white);
}

.button-text.dark {
  background-color: var(--accent-color-2c);
  color: var(--white);
}

.success-message {
  border: 1px solid var(--accent-color-1c);
  border-radius: var(--border-radius-small);
  background-color: var(--accent-color-1a);
  text-align: left;
  padding: 1rem;
  line-height: 1.5;
}

.button-form {
  border-radius: var(--border-radius-small);
  background-color: var(--accent-color-1c);
  color: var(--neutral-color-2a);
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  align-self: flex-start;
  margin-left: 0;
  margin-right: 0;
  padding: 1rem 1.25rem;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.15;
  transition: border-radius .2s;
}

.button-form:hover {
  border-radius: var(--border-radius-large);
}

.button-form.w--current {
  border-style: none;
}

.button-text-container {
  flex-flow: column;
  height: 1.3rem;
  display: flex;
  overflow: hidden;
}

.button-icon-container {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: flex;
  overflow: clip;
}

.text-block {
  text-transform: uppercase;
  flex-flow: column;
}

.testimonial-grid {
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.section-text-label {
  border: 1px solid var(--neutral-color-1c);
  border-radius: var(--border-radius-small);
  background-color: var(--white);
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  word-break: normal;
  flex-flow: row;
  align-self: center;
  width: auto;
  padding: .5rem 1rem;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: .75rem;
  font-weight: 400;
  transform: rotate(-90deg);
}

.section-text-label.opacity-white-15 {
  border-color: var(--opacity-white-25);
  background-color: var(--opacity-white-15);
}

.section-text-label.accent-color-2b {
  border-color: var(--accent-color-2c);
  background-color: var(--accent-color-2b);
}

.section-text-label.opacity-white-50 {
  background-color: var(--opacity-white-50);
  color: var(--neutral-color-2b);
}

.flex-box-wrap {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: wrap;
  display: flex;
}

.card-header {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
}

.text-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  display: flex;
}

.text-wrapper.margin-top-desktop {
  margin-top: 6rem;
}

.content-main {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: stretch start;
  display: flex;
}

.nav-footer-link {
  color: var(--white);
  transition: color .2s;
}

.nav-footer-link:hover {
  color: var(--accent-color-1c);
}

.project-hero-section {
  z-index: 0;
  color: var(--white);
  position: relative;
  overflow: hidden;
}

.project-summary-item {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  max-width: 24rem;
  display: flex;
}

.testimonial-text {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
}

.hidden-tablet, .hidden-landscape, .hidden-portrait {
  display: block;
}

.text-link-solid {
  border-radius: var(--border-radius-small);
  background-color: var(--accent-color-1c);
  color: var(--neutral-color-2a);
  text-transform: uppercase;
  align-self: flex-start;
  padding: .5rem .75rem;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: .75rem;
  font-weight: 500;
  transition: background-color .2s;
}

.text-link-solid:hover {
  color: var(--neutral-color-2a);
}

.checkbox-field {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0;
  padding-left: 5px;
  display: flex;
}

.checkbox {
  border: 1px solid var(--opacity-black-25);
  width: 2rem;
  height: 2rem;
  margin-top: 0;
}

.radio-button-field {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0;
  padding-left: 5px;
  display: flex;
}

.radio-button {
  border: 1px solid var(--opacity-black-25);
  width: 2rem;
  height: 2rem;
  margin-top: 0;
}

.nav-icon {
  border: 1px solid var(--neutral-color-2b);
  border-radius: var(--border-radius-standard);
  width: 1rem;
  height: 1rem;
}

.text-container {
  flex-flow: column;
  height: .9rem;
  display: flex;
  overflow: hidden;
}

.feedback-section {
  z-index: 5;
  border-bottom-left-radius: var(--border-radius-large);
  border-bottom-right-radius: var(--border-radius-large);
  background-color: var(--neutral-color-1b);
}

.process-content {
  max-width: 40rem;
  padding-top: 6rem;
}

.home-hero-content-main {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: stretch start;
  display: flex;
}

.case-study-hero-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: stretch start;
  min-height: 80vh;
  margin-top: 6rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 2rem;
  display: flex;
}

.home-hero-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: stretch start;
  min-height: 85vh;
  max-height: none;
  margin-top: 4rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 2rem;
  display: flex;
}

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

.award-link-border {
  background-color: var(--white);
  width: 100%;
  height: 1px;
  position: absolute;
  inset: auto 0% 0%;
}

.award-link-border-overlay {
  background-color: var(--opacity-black-50);
  width: 0%;
  height: 1px;
  position: absolute;
  inset: auto 0% 0%;
}

.image-awards {
  border-radius: var(--border-radius-standard);
  max-width: 12rem;
  display: none;
  position: absolute;
  inset: auto 0% 2rem 40%;
}

.circle {
  border-radius: var(--border-radius-standard);
  background-color: var(--opacity-white-50);
  width: .5rem;
  height: .5rem;
  color: var(--accent-color-1c);
}

.about-hero-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-end;
  place-items: stretch start;
  padding-left: 2rem;
  display: flex;
}

.contact-section {
  z-index: 5;
  border-bottom-left-radius: var(--border-radius-large);
  border-bottom-right-radius: var(--border-radius-large);
  color: var(--white);
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  position: relative;
  overflow: hidden;
}

.contact-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  place-items: stretch start;
  min-height: 60vh;
  padding-left: 2rem;
  display: flex;
}

.header-style-huge {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  letter-spacing: -.02em;
  flex-flow: wrap;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: 9rem;
  font-weight: 400;
  line-height: 1;
}

.contact-main {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  border-radius: var(--border-radius-small);
  background-color: var(--accent-color-1c);
  color: var(--neutral-color-2b);
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: stretch start;
  padding: 2rem;
  display: flex;
}

.nav-footer-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-end;
  place-items: stretch start;
  padding-left: 2rem;
  display: flex;
}

.about-header-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  max-width: 50rem;
  margin-top: 6rem;
  margin-bottom: 4rem;
  display: flex;
}

.section-header-grid {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 2fr 1fr;
  grid-auto-columns: 1fr;
  place-items: start;
  display: grid;
}

.tab-content {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
  display: flex;
}

.tab-pane {
  height: 100%;
}

.mission-section-header {
  max-width: 35rem;
}

.project-summary-wrapper {
  max-width: 85rem;
}

.features-grid {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-left: -2rem;
  display: grid;
}

.project-summary {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  flex-flow: column;
  display: flex;
}

.project-summary-content {
  grid-column-gap: 8rem;
  grid-row-gap: 8rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: stretch start;
  display: flex;
}

.image {
  width: 100%;
  height: 100%;
}

.grid-block {
  z-index: 2;
  background-color: var(--neutral-color-1b);
  width: 4rem;
  height: 4rem;
  position: absolute;
  inset: -2rem -2rem auto auto;
}

.grid-block.position-bottom {
  inset: auto -2rem -2rem auto;
}

.grid-block.height-50 {
  height: 2rem;
  top: 0;
}

.grid-block.neautral-color-1a {
  background-color: var(--neutral-color-1a);
}

.grid-block.border-mask {
  z-index: 1;
  background-color: var(--neutral-color-1a);
  width: auto;
  height: 1rem;
  margin-bottom: -16px;
  inset: auto 0% 0%;
}

.contact-wrapper {
  z-index: 5;
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  grid-template-rows: auto;
  grid-template-columns: .25fr 3fr;
  grid-auto-columns: 1fr;
  align-self: stretch;
  justify-items: stretch;
  display: grid;
  position: relative;
}

.pagination-link {
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  border: 0px none var(--transparent);
  background-color: var(--transparent);
  color: var(--opacity-black-10);
  letter-spacing: -.05em;
  border-radius: 0;
  flex-flow: row;
  grid-template-rows: auto;
  grid-template-columns: .25fr 2.25fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: flex-start;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  font-size: 4.5rem;
  line-height: 1;
  transition: color .2s;
  display: block;
}

.pagination-link:hover {
  color: var(--neutral-color-2b);
}

.pagination-link.w--current {
  background-color: var(--transparent);
  color: var(--accent-color-1d);
}

.sticky-wrapper {
  position: sticky;
  inset: 6rem 0 0;
}

.text-tag-link {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  border: 1px solid var(--neutral-color-1c);
  border-radius: var(--border-radius-small);
  background-color: var(--neutral-color-1b);
  color: var(--neutral-color-2a);
  text-transform: uppercase;
  flex-flow: row;
  align-self: flex-start;
  padding: .5rem .75rem;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: .75rem;
  font-weight: 500;
  transition: background-color .2s;
  display: flex;
}

.text-tag-link:hover {
  color: var(--neutral-color-2a);
}

.feature-hero-section {
  background-color: var(--neutral-color-1c);
}

.case-studies-header-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: stretch start;
  max-width: 70rem;
  display: flex;
}

.features-header-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: stretch start;
  max-width: 75rem;
  display: flex;
}

.tag-collection {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: wrap;
  display: flex;
}

.tag-collection-wrapper, .team-member-header-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  display: flex;
}

.contact-link {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  border: 1px solid var(--neutral-color-1c);
  border-radius: var(--border-radius-small);
  background-color: var(--neutral-color-1a);
  color: var(--neutral-color-2a);
  text-transform: uppercase;
  flex-flow: row;
  align-self: flex-start;
  padding: .5rem .75rem;
  font-family: Inter Variable, Arial, sans-serif;
  font-size: .75rem;
  font-weight: 500;
  transition: background-color .2s;
  display: flex;
}

.contact-link:hover {
  color: var(--neutral-color-2a);
}

.team-member-main {
  z-index: 5;
  background-color: var(--neutral-color-1a);
}

.other-team-members {
  z-index: 5;
  border-bottom-left-radius: var(--border-radius-large);
  border-bottom-right-radius: var(--border-radius-large);
  background-color: var(--neutral-color-1b);
  position: relative;
}

.text-block-2 {
  color: var(--accent-color-2a);
}

.text-block-2:hover {
  color: var(--opacity-white-75);
}

.text-block-3, .text-block-4, .text-block-5 {
  color: var(--opacity-white-50);
}

.body {
  background-color: var(--accent-color-2b);
}

.contact-page-wrap {
  display: block;
}

.contact-hero {
  background-color: #35362f;
  padding: 6rem 5% 4rem;
  position: relative;
  overflow: hidden;
}

.contact-hero-inner {
  max-width: 900px;
  margin: 0 auto;
}

.contact-eyebrow {
  color: #cc6c3b;
  letter-spacing: .2em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-size: .75rem;
  font-weight: 600;
}

.contact-title {
  color: #f4f1e8;
  margin-bottom: 1.5rem;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 700;
  line-height: 1.1;
}

.contact-subtitle {
  color: #858c79;
  max-width: 520px;
  font-size: 1.05rem;
  line-height: 1.75;
}

.contact-main-1 {
  background-color: #f4f1e8;
  padding: 6rem 5%;
}

.contact-grid {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  grid-template-columns: 1fr;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
}

.contact-info {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: wrap;
  display: flex;
  position: static;
  top: 6rem;
}

.contact-info-block {
  grid-column-gap: .4rem;
  grid-row-gap: .4rem;
  flex-direction: column;
  display: flex;
}

.contact-info-label {
  color: #858c79;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0;
  font-size: .7rem;
  font-weight: 600;
}

.contact-info-value {
  color: #35362f;
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  display: block;
}

.contact-socials {
  grid-column-gap: .4rem;
  grid-row-gap: .4rem;
  flex-direction: column;
  display: flex;
}

.contact-social-link {
  color: #35362f;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  transition: color .2s;
}

.contact-form-wrap {
  background-color: #fff;
  border-radius: 1rem;
  padding: 2rem 1.25rem;
  box-shadow: 0 4px 40px #35362f14;
}

.contact-form {
  grid-column-gap: 1.75rem;
  grid-row-gap: 1.75rem;
  flex-direction: column;
  display: flex;
}

.form-row-2 {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  grid-template-columns: 1fr;
  display: grid;
}

.form-group {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-direction: column;
  display: flex;
}

.form-label {
  color: #858c79;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 600;
}

.form-input {
  box-sizing: border-box;
  color: #35362f;
  appearance: none;
  background-color: #f4f1e8;
  border: 1.5px solid #dcd1d1;
  border-radius: .5rem;
  outline-style: none;
  width: 100%;
  padding: .875rem 1rem;
  font-family: inherit;
  font-size: 1rem;
  transition: border-color .2s, background .2s;
}

.form-select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23858c79' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-position: right 1rem center;
  background-repeat: no-repeat;
  padding-right: 2.5rem;
}

.form-textarea {
  resize: vertical;
  min-height: 160px;
  line-height: 1.6;
}

.form-submit {
  color: #f4f1e8;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  background-color: #35362f;
  border-style: none;
  border-radius: .5rem;
  align-self: flex-start;
  padding: 1rem 2.5rem;
  font-family: inherit;
  font-size: .8rem;
  font-weight: 700;
  transition: background-color .25s;
}

.form-success {
  color: #35362f;
  background-color: #eaf2e3;
  border-radius: .5rem;
  padding: 1rem 1.5rem;
  font-weight: 500;
  display: none;
}

.form-error {
  color: #9b2626;
  background-color: #fce8e8;
  border-radius: .5rem;
  padding: 1rem 1.5rem;
  display: none;
}

@media screen and (max-width: 991px) {
  h1 {
    font-size: 4rem;
  }

  h2 {
    font-size: 3.5rem;
  }

  h3 {
    font-size: 2rem;
  }

  .header-style-h1 {
    font-size: 6rem;
  }

  .header-style-h2 {
    font-size: 3.5rem;
  }

  .text-size-medium.align-text-right {
    text-align: left;
  }

  .text-label {
    line-height: 1rem;
  }

  .grid-3-column._2-column-tablet, .grid-4-column._2-column-tablet {
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
  }

  .grid-2-1-column._1-column-tablet, .grid-1-2-column._1-column-tablet {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  .padding-xlarge, .padding-huge {
    padding: 6rem;
  }

  .padding-top {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .padding-bottom {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .padding-left {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }

  .padding-right {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
  }

  .padding-horizontal {
    padding-top: 0;
    padding-bottom: 0;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .card {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    border: 1px solid var(--white);
    border-radius: var(--border-radius-small);
  }

  .max-width-medium {
    max-width: none;
  }

  .text-size-xlarge {
    font-size: 2rem;
  }

  .section-title-panel {
    display: none;
  }

  .max-width-large, .max-width-small {
    max-width: none;
  }

  .tab-link {
    font-size: 2rem;
  }

  .thumbnail-wrapper {
    width: 100%;
    height: auto;
  }

  .margin-huge {
    margin: 6rem;
  }

  .margin-xlarge, .margin-large {
    margin: 4rem;
  }

  .margin-top {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-vertical {
    margin-left: 0;
    margin-right: 0;
  }

  .cursor-wrapper {
    display: none;
  }

  .max-width-xsmall, .max-width-xlarge {
    max-width: none;
  }

  .section-header {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    margin-bottom: 2rem;
  }

  .section-header.max-width-small {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    margin-bottom: 0;
  }

  .tabs {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-rows: auto;
    grid-template-columns: .5fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .tabs-content-wrapper {
    max-width: none;
    padding-left: 2rem;
  }

  .home-hero-section {
    height: 100vh;
  }

  .hero-text-content {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    margin-bottom: 0;
  }

  .tab-label {
    font-size: 2.5rem;
  }

  .lightbox-image-wrapper {
    aspect-ratio: 16 / 9;
    flex: 0 auto;
    height: auto;
  }

  .tab-menu.flex-box-wrap {
    margin-bottom: 2rem;
  }

  .accordion-header {
    font-size: 3.5rem;
  }

  .rich-text {
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  .nav-menu-link {
    font-size: 4rem;
  }

  .nav-menu-content {
    padding-left: 0;
  }

  .process-header {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .page-item {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    margin-bottom: 0;
  }

  .nav-footer-menu {
    margin-top: 2rem;
  }

  .services-grid {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: 1fr 1fr;
    margin-left: 0;
  }

  .section-content {
    min-height: auto;
    padding-left: 0;
  }

  .section-content.no-min-height, .section-content.min-height-60vh {
    margin-top: 2rem;
  }

  .grid-line-horizontal, .grid-line-horizontal.position-bottom, .grid-line-horizontal.position-top, .grid-line-vertical.position-right {
    display: none;
  }

  .image-section-height {
    min-height: 50vh;
    padding-bottom: 0;
    padding-left: 0;
  }

  .testimonial-grid {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: 1fr 1fr;
  }

  .section-text-label {
    line-height: 1rem;
  }

  .flex-box-wrap, .text-wrapper {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .text-wrapper.margin-top-desktop {
    margin-top: 0;
  }

  .hidden-tablet {
    display: none;
  }

  .process-content {
    padding-top: 0;
  }

  ._1-column-tablet {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  ._2-column-tablet {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .home-hero-content-main {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .case-study-hero-content {
    min-height: 50vh;
    padding-left: 0;
  }

  .home-hero-content, .about-hero-content, .contact-content {
    min-height: auto;
    padding-left: 0;
  }

  .header-style-huge {
    font-size: 6rem;
  }

  .nav-footer-content {
    min-height: auto;
    padding-left: 0;
  }

  .about-header-content {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .section-header-grid._1-column-tablet {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  .features-grid {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: 1fr 1fr;
    margin-left: 0;
  }

  .project-summary {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .grid-block {
    display: none;
  }

  .pagination-link {
    font-size: 2rem;
  }

  .sticky-wrapper {
    position: relative;
    top: 0;
  }
}

@media screen and (max-width: 767px) {
  h1 {
    font-size: 3rem;
    line-height: 1.25;
  }

  h2 {
    font-size: 2rem;
    line-height: 1.1;
  }

  h3 {
    font-size: 1.75rem;
    line-height: 1.25;
  }

  h4, h5 {
    line-height: 1.25;
  }

  ul {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  img {
    width: 100%;
  }

  blockquote {
    padding: 1.5rem;
    font-size: 1.5rem;
  }

  .header-style-h1 {
    font-size: 2.5rem;
    line-height: 1.1;
  }

  .header-style-h2 {
    font-size: 2rem;
    line-height: 1.25;
  }

  .header-style-h3 {
    font-size: 1.75rem;
    line-height: 1.25;
  }

  .header-style-h4, .header-style-h5 {
    line-height: 1.25;
  }

  .text-size-regular, .text-size-medium {
    font-size: 1.1rem;
  }

  .text-size-medium.text-margin-top {
    margin-top: 1rem;
  }

  .text-size-large {
    font-size: 1.1rem;
    line-height: 1.5;
  }

  .style-guide-item {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    margin-bottom: 0;
  }

  .image-wrapper {
    flex-flow: row;
  }

  .image-wrapper.aspect-ratio-square.landscape-mobile {
    aspect-ratio: 3 / 2;
  }

  .image-wrapper.hidden-landscape {
    display: none;
  }

  .image-wrapper.aspect-ratio-landscape, .image-wrapper.case-study {
    aspect-ratio: 3 / 2;
  }

  .padding-global {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .grid-1-column, .grid-2-column {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .grid-2-column._1-column-landscape {
    grid-template-columns: 1fr;
  }

  .grid-3-column, .grid-4-column, .grid-2-1-column {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .grid-2-1-column._1-column-landscape {
    grid-template-columns: 1fr;
  }

  .grid-1-2-column {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .grid-1-2-column._1-column-landscape {
    grid-template-columns: 1fr;
  }

  .padding-small {
    padding: 1.5rem;
  }

  .padding-medium, .padding-large, .padding-xlarge, .padding-huge {
    padding: 3rem;
  }

  .padding-top {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .padding-bottom {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .padding-left {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }

  .padding-right {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
  }

  .padding-horizontal {
    padding-top: 0;
    padding-bottom: 0;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .card {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    border-style: none;
    padding: 0;
  }

  .flex-box-vertical {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .button {
    font-size: 1rem;
  }

  .buttons-wrap {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    align-self: flex-start;
  }

  .main-wrapper {
    margin-top: 0;
  }

  .text-size-xlarge {
    font-size: 1.1rem;
    line-height: 1.5;
  }

  .nav-bar {
    border-bottom: 1px solid var(--opacity-black-15);
    background-color: var(--transparent);
  }

  .nav-container {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .icon-large {
    width: 2rem;
    height: 2rem;
  }

  .max-width-small {
    max-width: none;
  }

  .utility-page-wrap {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .utility-page-content {
    justify-content: flex-start;
    align-items: center;
  }

  .utility-page-form {
    align-self: stretch;
  }

  .margin-huge, .margin-xlarge, .margin-large, .margin-medium {
    margin: 3rem;
  }

  .margin-small {
    margin: 1.5rem;
  }

  .margin-left {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
  }

  .margin-top {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-vertical {
    margin-left: 0;
    margin-right: 0;
  }

  .max-width-xsmall {
    max-width: none;
  }

  .label-overlay {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    margin: 0;
    position: relative;
  }

  .section-header {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    margin-bottom: 0;
  }

  .nav-footer {
    margin-top: 0;
  }

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

  .text-field {
    font-size: 1rem;
  }

  .text-field.text-area {
    min-height: 14rem;
  }

  .hero-text-content {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .tab-label {
    font-size: 2rem;
  }

  .lightbox-image-wrapper {
    flex-flow: row;
  }

  .tab-menu.flex-box-wrap {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    margin-bottom: 1.5rem;
  }

  .accordion-wrapper.max-width-xlarge {
    margin-top: -2rem;
    margin-bottom: 0;
  }

  .accordion-item {
    margin-top: 2rem;
    padding-bottom: 0;
  }

  .accordion-header {
    font-size: 1.75rem;
    line-height: 1.25;
  }

  .icon-xlarge {
    width: 2rem;
    height: 2rem;
  }

  .empty-state {
    padding: 1.5rem;
    font-size: 1.5rem;
  }

  .brand-logo {
    width: 8rem;
  }

  .why-choose-us-mobile {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .nav-menu-link {
    font-size: 2.5rem;
  }

  .nav-menu-content {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .process-content-wrapper {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-columns: 1fr;
    padding-top: 0;
  }

  .process-header {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    flex-flow: column;
  }

  .page-item {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    margin-bottom: 0;
  }

  .award-link {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    grid-template-columns: 1fr;
    padding-top: 0;
  }

  .nav-footer-menu {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

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

  .section-content.no-min-height {
    margin-top: 0;
  }

  .section-content.min-height-60vh {
    min-height: 45vh;
    margin-top: 0;
  }

  .grid-line-horizontal {
    margin-left: 0;
    margin-right: 0;
    display: none;
  }

  .grid-line-vertical {
    display: none;
  }

  .image-section-height {
    aspect-ratio: 3 / 2;
    min-height: auto;
    padding-left: 0;
  }

  .button-text, .button-form {
    font-size: 1rem;
  }

  .testimonial-grid {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-columns: 1fr;
  }

  .flex-box-wrap {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-start;
  }

  .card-header {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .text-wrapper.margin-top-desktop {
    margin-top: 0;
  }

  .content-main {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .project-summary-item {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .testimonial-text {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .hidden-landscape {
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-start;
    display: block;
  }

  .process-content {
    padding-top: 0;
  }

  ._2-column-landscape {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  ._1-column-landscape {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  ._1-column-portrait {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
  }

  ._1-column-tablet {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-auto-columns: 1fr;
  }

  ._2-column-tablet {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .case-study-hero-content {
    min-height: 30vh;
    margin-top: 0;
  }

  .why-choose-us-desktop {
    display: none;
  }

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

  .contact-section {
    border-bottom-left-radius: var(--border-radius-0);
    border-bottom-right-radius: var(--border-radius-0);
  }

  .header-style-huge {
    font-size: 2.5rem;
    line-height: 1.1;
  }

  .section-header-grid {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-columns: 2fr;
  }

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

  .project-summary-content, .case-studies-header-content {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .features-header-content {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .tag-collection-wrapper {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .team-member-header-content {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }
}

@media screen and (max-width: 479px) {
  h1 {
    font-size: 2.5rem;
  }

  h3 {
    font-size: 1.5rem;
  }

  ul {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .text-label-solid {
    font-size: .7rem;
  }

  .image-wrapper {
    flex: 1;
  }

  .grid-2-column._1-column-portrait {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  .grid-3-column._2-column-tablet._1-column-portrait {
    grid-template-columns: 1fr;
  }

  .grid-4-column._2-column-tablet._1-column-portrait {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  .grid-2-1-column._1-column-portrait {
    grid-template-columns: 1fr;
  }

  .padding-medium, .padding-large, .padding-xlarge, .padding-huge {
    padding: 2rem;
  }

  .padding-top {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .padding-bottom {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .padding-left {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }

  .padding-right {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
  }

  .padding-horizontal {
    padding-top: 0;
    padding-bottom: 0;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .flex-box-horizontal {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .button {
    text-align: center;
    flex: 1;
    align-self: stretch;
  }

  .button.primary {
    flex: 1;
  }

  .button.tertiary {
    flex: 0 auto;
  }

  .text-align-right {
    text-align: left;
    align-self: flex-start;
  }

  .buttons-wrap {
    flex-flow: row;
    align-self: stretch;
    align-items: stretch;
    display: flex;
  }

  .section-title-panel {
    padding-right: 0;
  }

  .icon-large {
    width: 2rem;
    height: 2rem;
  }

  .utility-page-content {
    justify-content: flex-start;
    align-items: center;
    height: 50vh;
  }

  .margin-huge, .margin-xlarge, .margin-large, .margin-medium {
    margin: 2rem;
  }

  .margin-left {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
  }

  .margin-top {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-vertical {
    margin-left: 0;
    margin-right: 0;
  }

  .form-block.newsletter-signup {
    padding: 1.5rem;
  }

  .lightbox-image-wrapper {
    flex: 1;
  }

  .accordion-question-wrapper {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    grid-template-rows: auto;
    grid-template-columns: 3fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .accordion-header {
    font-size: 1.5rem;
  }

  .nav-menu-content {
    justify-content: center;
    align-items: flex-start;
  }

  .nav-link-container {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
  }

  .process-content-wrapper {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-columns: 1fr;
    padding-top: 0;
  }

  .page-item {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    grid-template-rows: auto;
    grid-template-columns: 1fr 10fr;
    grid-auto-columns: 1fr;
    margin-bottom: 0;
    display: flex;
  }

  .nav-footer-menu {
    grid-template-columns: 1fr;
    align-self: stretch;
  }

  .section-content, .image-section-height {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .button-form {
    text-align: center;
    align-self: stretch;
  }

  .flex-box-wrap {
    flex-flow: column;
  }

  .card-header, .testimonial-text {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .hidden-portrait {
    display: none;
  }

  .text-link-solid {
    font-size: .7rem;
  }

  ._1-column-portrait {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .home-hero-content-main {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .case-study-hero-content {
    aspect-ratio: 2 / 3;
  }

  .about-hero-content, .contact-content {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .contact-main {
    padding: 1.5rem;
  }

  .nav-footer-content {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .text-tag-link {
    font-size: .7rem;
  }

  .tag-collection {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
  }

  .contact-link {
    font-size: .7rem;
  }
}

#w-node-_6a1dc94c-603d-0abe-48dd-c56dcd05ba10-0dfd2091 {
  place-self: stretch stretch;
}

#w-node-_6749f788d7ae08d96cf4ff3700000000000b-0dfd20f8 {
  place-self: stretch center;
}

#w-node-_6804e4d4eab9bf4963bb335500000000000b-0dfd213f {
  place-self: stretch stretch;
}

#w-node-cdf875e1-dbb6-ae31-f653-66ab70fecf28-70fecf24 {
  justify-self: stretch;
}

#w-node-cdf875e1-dbb6-ae31-f653-66ab70fecf3f-70fecf24 {
  place-self: stretch start;
}

#w-node-cdf875e1-dbb6-ae31-f653-66ab70fecf40-70fecf24 {
  align-self: start;
}

#w-node-cdf875e1-dbb6-ae31-f653-66ab70fecf4b-70fecf24 {
  place-self: start;
}

#w-node-cdf875e1-dbb6-ae31-f653-66ab70fecf60-70fecf24 {
  align-self: start;
}

#w-node-cdf875e1-dbb6-ae31-f653-66ab70fecf67-70fecf24 {
  justify-self: stretch;
}

@media screen and (max-width: 991px) {
  #w-node-_6a1dc94c-603d-0abe-48dd-c56dcd05ba13-0dfd2091, #w-node-_8572d262-4219-604f-ecba-d4bf5c31cb3a-5c31cb2a, #w-node-cdf875e1-dbb6-ae31-f653-66ab70fecf2c-70fecf24 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-cdf875e1-dbb6-ae31-f653-66ab70fecf67-70fecf24 {
    order: -9999;
  }
}

@media screen and (max-width: 767px) {
  #w-node-_8572d262-4219-604f-ecba-d4bf5c31cb3a-5c31cb2a {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-_6749f788d7ae08d96cf4ff3700000000000b-0dfd20f8 {
    grid-area: span 1 / span 1 / span 1 / span 1;
    place-self: stretch stretch;
  }

  #w-node-cdf875e1-dbb6-ae31-f653-66ab70fecf3f-70fecf24 {
    justify-self: stretch;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_6749f788d7ae08d96cf4ff3700000000000b-0dfd20f8 {
    grid-area: span 1 / span 1 / span 1 / span 1;
    place-self: stretch stretch;
  }

  #w-node-_6804e4d4eab9bf4963bb335500000000000b-0dfd213f {
    grid-area: span 1 / span 1 / span 1 / span 1;
    place-self: start stretch;
  }
}