:root {
  --_fonts---heading-font: "Barlow Condensed", sans-serif;
  --p-default: 1rem;
  --default_line-height: 1.625rem;
  --_colors---color-text-dark: #0e1113;
  --h1_font-size: 5.5rem;
  --h1_line-height: 4.25rem;
  --h1_letter-spacing: -1.76px;
  --h2_font-size: 4.5rem;
  --h2_line-height: 4.25rem;
  --h2_letter-spacing: -1.76px;
  --h3_font-size: 3rem;
  --h3_line-height: 3.125rem;
  --h3_letter-spacing: -1.76px;
  --_fonts---body-font: Manrope, sans-serif;
  --_colors---color-text-muted-dark: #c5c7ca;
  --_colors---color-accent: #009efb;
  --_colors---color-text-light: white;
  --_colors---color-accent-hover: #009cc8;
  --padding-global: 1.875rem;
  --_colors---color-background-deep: #1e1e1e80;
  --_colors---color-background-dark: #0e1113;
  --_colors---color-icon-muted: #1e1e1e40;
  --_colors---color-overlay-dark: #4d413640;
  --_colors---color-surface-light: white;
  --_colors---color-overlay-darker: #4c413680;
}

body {
  font-family: var(--_fonts---heading-font);
  color: #333;
  font-size: var(--p-default);
  line-height: var(--default_line-height);
}

h1 {
  color: var(--_colors---color-text-dark);
  font-size: var(--h1_font-size);
  line-height: var(--h1_line-height);
  letter-spacing: var(--h1_letter-spacing);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
}

h2 {
  color: var(--_colors---color-text-dark);
  font-size: var(--h2_font-size);
  line-height: var(--h2_line-height);
  letter-spacing: var(--h2_letter-spacing);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
}

h3 {
  color: var(--_colors---color-text-dark);
  font-size: var(--h3_font-size);
  line-height: var(--h3_line-height);
  letter-spacing: var(--h3_letter-spacing);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
}

p {
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-muted-dark);
  line-height: var(--default_line-height);
  margin-bottom: 0;
  font-weight: 500;
}

img {
  object-fit: cover;
  width: 100%;
  max-width: 100%;
  height: 100%;
  display: inline-block;
}

.grid-guide_column {
  background-color: #146ef526;
  justify-content: center;
  align-items: flex-end;
  padding-bottom: 3rem;
  display: flex;
}

.grid-guide_wrapper.grid-main {
  height: 100vh;
}

.button {
  background-color: var(--_colors---color-accent);
  transition: background-color .5s cubic-bezier(.22, 1, .36, 1), color undefined undefined;
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-light);
  white-space: nowrap;
  cursor: pointer;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  padding: 1rem 1.125rem;
  display: flex;
  position: relative;
}

.button:hover {
  background-color: var(--_colors---color-accent-hover);
}

.button.is-outlined {
  border: 1px solid var(--_colors---color-text-light);
  background-color: #fff0;
  text-decoration: none;
}

.button.is-outlined:hover {
  background-color: #ffffff1a;
}

.heading-style-h4 {
  letter-spacing: -.02em;
  color: inherit;
  font-size: 2rem;
  font-weight: 500;
  line-height: .92;
}

.styleguide_block_tag {
  color: #fff;
  white-space: nowrap;
  background-color: #146ef5;
  border-radius: .25rem;
  padding: .75rem 1rem;
  grid-column: 1 / 4 !important;
  place-self: center left !important;
}

.styleguide_block_tag.is-tag-selector {
  background-color: #be4aa5;
}

.styleguide_block_tag.is-button {
  grid-column: 1 / 4 !important;
}

.styleguide_block_tag.is-theme {
  align-self: start !important;
}

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

.styleguide_wrapper {
  grid-column-gap: 5rem;
  grid-row-gap: 5rem;
  flex-flow: column;
  padding-top: 6rem;
  padding-bottom: 6rem;
  display: flex;
}

.is-relative {
  position: relative;
}

.styleguide_block_structure_grid-column {
  aspect-ratio: 1 / 2;
  color: #000;
  background-color: #e3e3e3;
  border-radius: .25rem;
  justify-content: center;
  align-items: flex-end;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  display: flex;
}

.button_svg {
  width: 1.25rem;
  height: 1.25rem;
}

.container-tablet {
  container: container-tablet / inline-size;
}

.text-capitalize {
  text-transform: capitalize;
}

.button_inner {
  grid-column-gap: .625rem;
  grid-row-gap: .625rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.button_inner.is-outlined {
  flex-flow: row-reverse;
}

.styleguide_block_style_grid-wrapper {
  justify-content: flex-start;
  align-items: center;
  min-height: 100%;
  display: flex;
  grid-column: 4 / 13 !important;
  align-self: center !important;
}

.styleguide_block_style_grid-wrapper.is-grid {
  grid-column-gap: 1.25rem;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.text-italic {
  font-style: italic;
}

.full-width {
  width: 100%;
}

.container-mobile {
  container: container-mobile / inline-size;
}

.text-style-xsmall {
  letter-spacing: 0;
  font-size: .75rem;
  font-weight: 400;
  line-height: 1.4;
}

.spacer-7 {
  height: 7rem;
}

.styleguide_block_style_tag-wrapper {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.styleguide_block_structure_wrapper {
  flex-flow: column;
  display: flex;
}

.styleguide_block_structure_wrapper.is-border {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  justify-content: flex-start;
  align-items: stretch;
}

.text-style-small {
  letter-spacing: 0;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.2;
}

.section_grid-guide {
  z-index: 99999;
  pointer-events: none;
  position: fixed;
  inset: 0%;
}

.padding-global {
  padding-right: var(--padding-global);
  padding-left: var(--padding-global);
}

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

.styleguide_block_theme_block {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  background-color: #fcfcfc;
  border-radius: 1.25rem;
  flex-flow: column;
  padding: 1.5rem;
  display: flex;
}

.styleguide_block_wrapper {
  grid-column-gap: 5rem;
  grid-row-gap: 5rem;
  flex-flow: column;
  display: flex;
}

.text-style-large {
  letter-spacing: 0;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
}

.styleguide_block_theme_wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  border: 2px solid #146ef5;
  border-radius: 1.25rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  padding: 2rem;
  display: flex;
}

.is-hidden {
  display: none;
}

.theme-secondary {
  ---mode--collection-467b79d5-cfe5-85bc-011a-072b9300ec7a: mode-5eda41c3-ed94-9653-55fa-dcd5b79c17fc;
}

.heading-style-h5 {
  letter-spacing: -.02em;
  color: inherit;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: .92;
}

.g_styles {
  display: none;
}

.main-wrapper {
  flex: 1;
}

.full-height {
  height: 100%;
}

.spacer-6 {
  height: 6rem;
}

.text-uppercase {
  text-transform: uppercase;
}

.styleguide_block_structure_spacer {
  background-color: #e3e3e3;
  border-radius: .25rem;
  padding: 1.5rem;
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.text-style-default {
  letter-spacing: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}

.text-underline {
  text-decoration: underline;
}

.text-style-xlarge {
  letter-spacing: 0;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
}

.theme-base {
  color: #121212;
  ---mode--collection-467b79d5-cfe5-85bc-011a-072b9300ec7a: base;
}

.clickable {
  z-index: 9999;
  border-radius: inherit;
  background-color: #0000;
  width: 100%;
  height: 100%;
  padding: 0;
  display: block;
  position: absolute;
  inset: 0%;
}

.styleguide_block_content {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-flow: column;
  display: flex;
}

.styleguide_block_content.align-left {
  justify-content: flex-start;
  align-items: flex-start;
}

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

.styleguide_block_structure_element {
  background-color: #e3e3e3;
  border-radius: .25rem;
  height: 100%;
}

.spacer-5 {
  height: 5rem;
}

.nav_component {
  z-index: 100;
  background-color: var(--_colors---color-background-deep);
  -webkit-backdrop-filter: blur(1.5625rem);
  backdrop-filter: blur(1.5625rem);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.nav_wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  justify-content: space-between;
  align-items: center;
  min-height: 6rem;
  display: flex;
}

.nav_logo-link {
  width: 5.5rem;
  display: block;
}

.nav_menu {
  grid-column-gap: 1.875rem;
  grid-row-gap: 1.875rem;
  align-items: center;
  display: flex;
}

.nav_link {
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-light);
  padding-top: .25rem;
  padding-bottom: .25rem;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  transition: color .5s cubic-bezier(.22, 1, .36, 1);
}

.nav_link:hover {
  color: var(--_colors---color-accent);
}

.nav_phone-link {
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-accent);
  white-space: nowrap;
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .5s cubic-bezier(.22, 1, .36, 1);
}

.nav_phone-link:hover {
  color: var(--_colors---color-accent-hover);
}

.nav_menu-button {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  display: none;
}

.nav_menu-icon {
  background-color: var(--_colors---color-text-light);
  width: 1.5rem;
  height: 2px;
  position: relative;
  box-shadow: 0 -7px #fff, 0 7px #fff;
}

.section_hero {
  background-color: var(--_colors---color-background-dark);
  height: 100vh;
  padding-top: 13rem;
  padding-bottom: 15rem;
  position: relative;
  overflow: hidden;
}

.hero_background {
  z-index: 0;
  position: absolute;
  inset: 0;
}

.hero_background-overlay {
  background-image: linear-gradient(90deg, #0e1113d9 0%, #0e111366 55%, #0e111300 100%);
  position: absolute;
  inset: 0;
}

.hero_component {
  z-index: 2;
  position: relative;
}

.hero_content {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  display: grid;
}

.hero_label {
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-accent);
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.4;
}

.hero_heading {
  color: var(--_colors---color-text-light);
  text-transform: uppercase;
}

.hero_text {
  font-size: var(--p-default);
}

.hero_button-wrapper {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1rem;
  display: flex;
}

.hero_location-link {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-muted-dark);
  align-items: center;
  text-decoration: none;
  display: flex;
}

.hero_location-link:hover {
  color: var(--_colors---color-text-light);
}

.hero_location-icon {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
}

.hero_location-text {
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.4;
}

.hero_shape-wrapper {
  z-index: 1;
  pointer-events: none;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
}

.hero_shape-embed {
  width: 100%;
  line-height: 0;
}

.hero_shape-svg {
  aspect-ratio: 1440 / 160;
  width: 100%;
  height: auto;
  display: block;
}

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

.section_marquee {
  background-color: #fff;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.marquee_component {
  width: 100%;
  overflow: hidden;
}

.marquee_track {
  flex-direction: row;
  width: max-content;
  display: flex;
}

.marquee_list {
  flex-direction: row;
  flex: none;
  align-items: center;
  column-gap: 2rem;
  padding-right: 2rem;
  display: flex;
}

.marquee_item {
  flex: none;
  justify-content: center;
  align-items: center;
  width: 6rem;
  display: flex;
}

.marquee_logo {
  width: 100%;
  height: 3rem;
  color: var(--_colors---color-icon-muted);
  justify-content: center;
  align-items: center;
  display: flex;
}

.spacer {
  height: 9rem;
}

.services_component {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  padding-top: 3.125rem;
  display: flex;
}

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

.services_heading {
  text-transform: uppercase;
}

.services_background-text {
  color: #fff0;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #1111111a;
  text-transform: uppercase;
  font-size: 13rem;
  font-weight: 700;
  line-height: 80%;
  position: absolute;
  inset: -23% 0% auto auto;
}

.services_button-wrapper {
  text-transform: uppercase;
  font-weight: 400;
}

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

.services_image-wrapper {
  border-radius: .25rem;
  overflow: clip;
}

.services_item {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  border-bottom: 1px solid var(--_colors---color-overlay-dark);
  justify-content: flex-start;
  align-items: center;
  padding: 1.3125rem 1.875rem;
  display: flex;
}

.services_item.is-first {
  border-top: 1px solid var(--_colors---color-overlay-dark);
}

.services_number {
  color: var(--_colors---color-text-dark);
  font-size: var(--h3_font-size);
  line-height: var(--h3_line-height);
  font-weight: 600;
}

.services_item-content {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  flex-flow: column;
  display: flex;
}

.services_item-heading {
  letter-spacing: 0;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}

.services_item-text {
  font-family: var(--_fonts---body-font);
  color: #4b5157;
  font-weight: 400;
}

.section_work {
  background-color: var(--_colors---color-background-dark);
}

.work_component {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}

.work_content {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.work_heading {
  color: var(--_colors---color-text-light);
  text-transform: uppercase;
  font-weight: 600;
}

.work_link {
  grid-column-gap: .625rem;
  grid-row-gap: .625rem;
  border-bottom: 1px solid var(--_colors---color-accent);
  color: var(--_colors---color-text-light);
  justify-content: flex-start;
  align-items: center;
  padding-bottom: .375rem;
  text-decoration: none;
  display: flex;
  position: relative;
}

.work_link-text {
  font-family: var(--_fonts---body-font);
  font-size: var(--p-default);
  line-height: var(--default_line-height);
  text-transform: uppercase;
  font-weight: 400;
}

.work_link-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--_colors---color-accent);
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}

.work_list {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-top: 1.5rem;
  display: grid;
}

.work_image-wrapper {
  border-radius: .25rem;
  width: 100%;
  max-width: 100%;
  height: 100%;
  overflow: clip;
}

.lightbox_component {
  z-index: 1000;
  visibility: hidden;
  opacity: 0;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: var(--_colors---color-text-light);
  background-color: #0e1113f0;
  flex-direction: column;
  display: flex;
  position: fixed;
  inset: 0;
}

.lightbox_viewport {
  flex: auto;
  min-height: 0;
  position: relative;
  overflow: hidden;
}

.lightbox_track {
  height: 100%;
  transition: transform .9s cubic-bezier(.22, 1, .36, 1);
  display: flex;
}

.lightbox_slide {
  flex: 0 0 100%;
  justify-content: center;
  align-items: center;
  padding: 5rem 7rem 2rem;
  display: flex;
}

.lightbox_image {
  object-fit: contain;
  border-radius: .25rem;
  max-width: 100%;
  max-height: 100%;
  transition: opacity .8s cubic-bezier(.22, 1, .36, 1), transform 1.1s cubic-bezier(.22, 1, .36, 1);
}

.lightbox_bar {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 2.5rem 2rem;
  display: flex;
}

.lightbox_counter {
  grid-column-gap: .375rem;
  font-family: var(--_fonts---body-font);
  letter-spacing: .08em;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1;
  display: flex;
}

.lightbox_counter-current {
  color: var(--_colors---color-text-light);
}

.lightbox_counter-total {
  color: #fff6;
}

.lightbox_progress {
  background-color: #fff3;
  flex: auto;
  max-width: 16rem;
  height: 1px;
  position: relative;
  overflow: hidden;
}

.lightbox_progress-bar {
  background-color: var(--_colors---color-accent);
  transform-origin: 0%;
  transition: transform .9s cubic-bezier(.22, 1, .36, 1);
  position: absolute;
  inset: 0;
}

.lightbox_nav {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  display: flex;
}

.lightbox_button {
  width: 3.25rem;
  height: 3.25rem;
  transition: background-color .5s cubic-bezier(.22, 1, .36, 1), color undefined undefined, border-color undefined undefined;
  color: var(--_colors---color-text-light);
  cursor: pointer;
  background-color: #0000;
  border: 1px solid #ffffff40;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: flex;
}

.lightbox_button:hover {
  border-color: var(--_colors---color-text-light);
  background-color: var(--_colors---color-text-light);
  color: var(--_colors---color-background-dark);
}

.lightbox_button.is-close {
  z-index: 2;
  position: absolute;
  top: 1.5rem;
  right: 2.5rem;
}

.lightbox_icon {
  width: 1.125rem;
  height: 1.125rem;
  transition: transform .7s cubic-bezier(.22, 1, .36, 1);
  display: flex;
}

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

.about_heading {
  text-transform: uppercase;
}

.about_row {
  margin-top: 3rem;
  margin-bottom: 2rem;
  display: flex;
}

.about_list {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 0;
  padding-left: 0;
  display: flex;
}

.about_item {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.about_item-icon {
  background-color: var(--_colors---color-accent);
  width: .5rem;
  height: .5rem;
}

.about_item-text {
  font-family: var(--_fonts---body-font);
  font-weight: 700;
}

.about_divider {
  background-color: var(--_colors---color-background-deep);
  width: .0625rem;
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}

.about_text {
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-dark);
  font-size: var(--p-default);
  font-weight: 500;
}

.about_contact-list {
  background-color: var(--_colors---color-background-dark);
  border-radius: .25rem;
  align-items: stretch;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  padding: 1.25rem 1.5rem;
  display: flex;
}

.about_contact-item {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  color: var(--_colors---color-text-light);
  flex: 1;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.about_contact-icon {
  width: 2.5rem;
  height: 2.5rem;
  color: var(--_colors---color-accent);
  background-color: #0000;
  flex-shrink: 0;
}

.about_contact-content {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  flex-direction: column;
  display: flex;
}

.about_contact-heading {
  font-family: var(--_fonts---heading-font);
  color: var(--_colors---color-text-light);
  letter-spacing: 0;
  text-transform: uppercase;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.1;
}

.about_contact-text {
  font-family: var(--_fonts---heading-font);
  color: var(--_colors---color-text-muted-dark);
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.2;
}

.about_contact-divider {
  background-color: var(--_colors---color-text-muted-dark);
  flex-shrink: 0;
  width: 1px;
  min-width: 1px;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.about_button-wrapper {
  text-transform: uppercase;
  display: flex;
}

.about_image-wrapper {
  border-radius: .25rem;
  position: relative;
  overflow: clip;
}

.about_image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.about_stat {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  background-color: var(--_colors---color-surface-light);
  text-align: center;
  border-top-right-radius: 1.25rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 38%;
  padding: 3rem 1.5rem;
  display: flex;
  position: absolute;
  bottom: 0%;
  left: 0%;
}

.about_stat-number {
  font-family: var(--_fonts---heading-font);
  color: var(--_colors---color-accent);
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
}

.about_stat-text {
  font-family: var(--_fonts---heading-font);
  color: var(--_colors---color-text-dark);
  text-transform: uppercase;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.1;
}

.section_google-reviews {
  background-color: var(--_colors---color-background-dark);
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.google-reviews_component {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  flex-direction: column;
  display: flex;
}

.google-reviews_content {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.google-reviews_heading {
  color: var(--_colors---color-text-light);
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
}

.google-reviews_embed {
  width: 100%;
}

.section_cta {
  z-index: 0;
  background-color: var(--_colors---color-background-dark);
  min-height: 30rem;
  padding-top: 4rem;
  padding-bottom: 6rem;
  position: relative;
  overflow: hidden;
}

.cta_background {
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

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

.cta_background-overlay {
  background-image: linear-gradient(90deg, #0e1113eb 0%, #0e111399 40%, #0e111340 100%);
  position: absolute;
  inset: 0;
}

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

.cta_content {
  flex-direction: column;
  grid-column: 1 / 6;
  align-items: flex-start;
  display: flex;
}

.cta_heading {
  color: var(--_colors---color-text-light);
  font-size: var(--h3_font-size);
  line-height: var(--h3_line-height);
  letter-spacing: var(--h3_letter-spacing);
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
}

.cta_phone-link {
  color: var(--_colors---color-accent);
  font-size: var(--h2_font-size);
  line-height: var(--h2_line-height);
  letter-spacing: var(--h3_letter-spacing);
  margin-top: .75rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .5s cubic-bezier(.22, 1, .36, 1);
}

.cta_phone-link:hover {
  color: var(--_colors---color-accent-hover);
}

.cta_button-wrapper {
  margin-top: 2rem;
  margin-bottom: 1.25rem;
}

.footer_component {
  border-top: 2px solid var(--_colors---color-accent);
  background-color: var(--_colors---color-background-dark);
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-muted-dark);
  display: block;
  position: relative;
}

.footer_top-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  justify-content: space-between;
  align-items: center;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  display: flex;
}

.footer_logo-link {
  flex-shrink: 0;
  width: 6.25rem;
  display: block;
}

.footer_logo {
  width: 100%;
  height: auto;
  display: block;
}

.footer_menu {
  grid-column-gap: 1.75rem;
  grid-row-gap: .75rem;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}

.footer_link {
  color: var(--_colors---color-text-muted-dark);
  padding-top: .25rem;
  padding-bottom: .25rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  transition: color .5s cubic-bezier(.22, 1, .36, 1);
}

.footer_link:hover {
  color: var(--_colors---color-text-light);
}

.footer_contact-wrapper {
  grid-column-gap: 1.25rem;
  grid-row-gap: .5rem;
  align-items: center;
  display: flex;
}

.footer_phone-link {
  color: var(--_colors---color-accent);
  white-space: nowrap;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: color .5s cubic-bezier(.22, 1, .36, 1);
}

.footer_phone-link:hover {
  color: var(--_colors---color-accent-hover);
}

.footer_social-link {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  color: var(--_colors---color-text-light);
  align-items: center;
  text-decoration: none;
  transition: color .5s cubic-bezier(.22, 1, .36, 1);
  display: flex;
}

.footer_social-link:hover {
  color: var(--_colors---color-accent);
}

.footer_social-icon {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  display: flex;
}

.footer_social-text {
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.2;
}

.footer_divider {
  background-color: #ffffff1a;
  width: 100%;
  height: .0625rem;
}

.footer_bottom-wrapper {
  grid-column-gap: 1.5rem;
  grid-row-gap: .75rem;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.5rem;
  padding-bottom: 2rem;
  font-size: .8125rem;
  font-weight: 500;
  line-height: 1.4;
  display: flex;
}

.footer_address-link {
  color: var(--_colors---color-text-muted-dark);
  text-decoration: none;
  transition: color .5s cubic-bezier(.22, 1, .36, 1);
}

.footer_address-link:hover {
  color: var(--_colors---color-text-light);
}

.footer_credit {
  grid-column-gap: .3em;
  grid-row-gap: .3em;
  flex-wrap: wrap;
  align-items: baseline;
  display: flex;
}

.footer_credit-link {
  color: var(--_colors---color-text-light);
  letter-spacing: .02em;
  font-weight: 700;
  text-decoration: none;
  transition: color .5s cubic-bezier(.22, 1, .36, 1);
}

.footer_credit-link:hover {
  color: var(--_colors---color-accent);
}

.nav_overlay {
  z-index: 99;
  background-color: var(--_colors---color-background-dark);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  flex-direction: column;
  justify-content: center;
  padding-top: 7rem;
  padding-bottom: 2.5rem;
  display: none;
  position: fixed;
  inset: 0;
  overflow-y: auto;
}

.nav_overlay-content {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-direction: column;
  display: flex;
}

.nav_overlay-menu {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.nav_overlay-link {
  font-family: var(--_fonts---heading-font);
  color: var(--_colors---color-text-light);
  font-size: var(--h3_font-size);
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1.1;
  text-decoration: none;
  transition: color .5s cubic-bezier(.22, 1, .36, 1);
}

.nav_overlay-link:hover {
  color: var(--_colors---color-accent);
}

.nav_overlay-footer {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  border-top: 1px solid #ffffff1a;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 1.5rem;
  display: flex;
}

.nav_overlay-phone {
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-accent);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.nav_overlay-text {
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-muted-dark);
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.4;
}

.section_about-hero {
  background-color: var(--_colors---color-background-dark);
  flex-direction: column;
  justify-content: center;
  height: 100vh;
  padding-top: 13rem;
  padding-bottom: 13rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.about-hero_background {
  z-index: 0;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.about-hero_background-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.about-hero_background-overlay {
  background-image: linear-gradient(90deg, #0e1113e0 0%, #0e11138c 50%, #0e111326 100%);
  position: absolute;
  inset: 0;
}

.about-hero_component {
  z-index: 2;
  position: relative;
}

.about-hero_content {
  z-index: 1;
  grid-row-gap: 1.5rem;
  flex-direction: column;
  align-items: flex-start;
  max-width: 42rem;
  display: flex;
  position: relative;
}

.about-hero_heading {
  color: var(--_colors---color-text-light);
  text-transform: uppercase;
}

.about-hero_text {
  max-width: 32rem;
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-muted-dark);
  font-size: var(--p-default);
  line-height: var(--default_line-height);
  margin-top: 0;
  margin-bottom: 0;
}

.about-hero_button-wrapper {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-wrap: wrap;
  align-items: center;
  margin-top: .5rem;
  display: flex;
}

.about-hero_location-link {
  grid-column-gap: .5rem;
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-muted-dark);
  align-items: center;
  text-decoration: none;
  transition: color .5s cubic-bezier(.22, 1, .36, 1);
  display: flex;
}

.about-hero_location-link:hover {
  color: var(--_colors---color-text-light);
}

.about-hero_location-icon {
  width: 1rem;
  height: 1rem;
  color: var(--_colors---color-text-muted-dark);
  flex-shrink: 0;
}

.about-hero_location-text {
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.4;
}

.about-hero_background-text {
  z-index: 0;
  pointer-events: none;
  font-family: var(--_fonts---heading-font);
  color: #fff0;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: var(--_colors---color-text-muted-dark);
  text-transform: uppercase;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  font-size: 14rem;
  font-weight: 700;
  line-height: .8;
  position: absolute;
  inset: auto auto -8px 0%;
}

.section_story {
  position: relative;
}

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

.story_image-wrapper {
  aspect-ratio: 3 / 4;
  background-color: var(--_colors---color-background-dark);
  border-radius: .25rem;
  grid-area: 1 / 1 / 2 / 7;
  position: relative;
  overflow: clip;
}

.story_image {
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 120%;
  display: block;
  position: absolute;
  top: -10%;
  left: 0%;
}

.story_content {
  grid-row-gap: 2rem;
  flex-direction: column;
  grid-area: 1 / 8 / 2 / 13;
  align-self: start;
  display: flex;
  position: sticky;
  top: 8rem;
}

.story_heading {
  text-transform: uppercase;
}

.story_text-wrapper {
  grid-row-gap: 1.5rem;
  flex-direction: column;
  max-width: 30rem;
  display: flex;
}

.story_text {
  opacity: .65;
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-dark);
  font-size: var(--p-default);
  line-height: var(--default_line-height);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
}

.section_standards {
  background-color: var(--_colors---color-background-dark);
  padding-top: 2rem;
  padding-bottom: 2rem;
  position: relative;
  overflow: clip;
}

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

.standards_heading {
  color: var(--_colors---color-text-light);
  text-transform: uppercase;
}

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

.standards_item {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.standards_number {
  pointer-events: none;
  font-family: var(--_fonts---heading-font);
  color: #fff0;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #ffffff2e;
  text-transform: uppercase;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  margin-bottom: -2.25rem;
  font-size: 9rem;
  font-weight: 700;
  line-height: .8;
}

.standards_item-heading {
  z-index: 1;
  font-family: var(--_fonts---heading-font);
  color: var(--_colors---color-accent);
  letter-spacing: 0;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: .75rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
}

.standards_item-text {
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-muted-dark);
  margin-top: 0;
  margin-bottom: 0;
  padding-right: 2rem;
  font-size: .875rem;
  line-height: 1.5;
}

.section_workshop {
  position: relative;
}

.workshop_component {
  grid-column-gap: 1rem;
  grid-row-gap: 2.5rem;
  flex-direction: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.workshop_heading {
  text-transform: uppercase;
}

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

.workshop_column {
  grid-row-gap: 1rem;
  flex-direction: column;
  display: flex;
}

.workshop_image-wrapper {
  aspect-ratio: 7 / 5;
  background-color: var(--_colors---color-background-dark);
  border-radius: .25rem;
  flex: auto;
  position: relative;
  overflow: clip;
}

.workshop_image {
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
  transition: transform 1.2s cubic-bezier(.22, 1, .36, 1), filter .7s cubic-bezier(.22, 1, .36, 1);
  display: block;
  position: absolute;
  inset: 0;
}

.workshop_image:hover {
  filter: brightness(1.06) saturate(1.05);
  transform: scale(1.04);
}

.section_gallery-hero {
  background-color: var(--_colors---color-background-dark);
  padding-top: 11rem;
  padding-bottom: 4.5rem;
  position: relative;
  overflow: hidden;
}

.gallery-hero_component {
  z-index: 2;
  position: relative;
}

.gallery-hero_content {
  grid-row-gap: 1rem;
  flex-direction: column;
  align-items: flex-start;
  max-width: 36rem;
  display: flex;
}

.gallery-hero_heading {
  color: var(--_colors---color-text-light);
  font-size: var(--h2_font-size);
  text-transform: uppercase;
  line-height: 1;
}

.gallery-hero_text {
  max-width: 26rem;
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-muted-dark);
  font-size: var(--p-default);
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.6;
}

.gallery-hero_image-wrapper {
  z-index: 1;
  background-color: var(--_colors---color-accent);
  clip-path: polygon(22% 0%, 100% 0%, 100% 100%, 0% 100%);
  width: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
}

.gallery-hero_image {
  object-fit: cover;
  clip-path: polygon(22% 0%, 100% 0%, 100% 100%, 0% 100%);
  width: calc(100% - .375rem);
  max-width: none;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
}

.gallery-hero_image-overlay {
  pointer-events: none;
  background-image: linear-gradient(90deg, #0e111373 0%, #0e111300 45%);
  position: absolute;
  inset: 0;
}

.section_gallery {
  padding-top: 4rem;
  padding-bottom: 6rem;
  position: relative;
}

.gallery_component {
  grid-row-gap: 2rem;
  flex-direction: column;
  display: flex;
}

.gallery_form {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-wrap: wrap;
  margin-top: 0;
  margin-bottom: 0;
  display: flex;
}

.gallery_filter {
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: var(--_colors---color-accent);
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: var(--_colors---color-accent);
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: var(--_colors---color-accent);
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: var(--_colors---color-accent);
  background-color: var(--_colors---color-surface-light);
  font-family: var(--_fonts---heading-font);
  color: var(--_colors---color-text-dark);
  letter-spacing: .02em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: .625rem 1.125rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  transition: background-color .5s cubic-bezier(.22, 1, .36, 1), color .5s cubic-bezier(.22, 1, .36, 1), border-color .5s cubic-bezier(.22, 1, .36, 1);
  display: inline-flex;
  position: relative;
}

.gallery_filter:hover {
  color: var(--_colors---color-accent);
}

.gallery_filter.is-active {
  background-color: var(--_colors---color-accent);
  color: var(--_colors---color-text-light);
}

.gallery_filter.is-active:hover {
  border-color: var(--_colors---color-accent-hover);
  background-color: var(--_colors---color-accent-hover);
  color: var(--_colors---color-text-light);
}

.gallery_filter-input {
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
  margin: 0;
  position: absolute;
}

.gallery_filter-text {
  line-height: 1;
}

.gallery_list-wrapper {
  grid-row-gap: 2.5rem;
  flex-direction: column;
  display: flex;
}

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

.gallery_item {
  cursor: zoom-in;
  position: relative;
}

.gallery_image-wrapper {
  aspect-ratio: 1;
  background-color: #0e11130f;
  border-radius: .25rem;
  position: relative;
  overflow: clip;
}

.gallery_image {
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
  transition: transform 1.2s cubic-bezier(.22, 1, .36, 1), opacity .9s cubic-bezier(.22, 1, .36, 1);
  display: block;
  position: absolute;
  inset: 0;
}

.gallery_image:hover {
  transform: scale(1.06);
}

.gallery_brand {
  display: none;
}

.gallery_empty {
  opacity: .6;
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-dark);
  text-align: center;
  padding-top: 3rem;
  padding-bottom: 3rem;
  display: none;
}

.gallery_pagination {
  justify-content: center;
  display: flex;
}

.gallery_button {
  background-color: var(--_colors---color-accent);
  font-family: var(--_fonts---heading-font);
  color: var(--_colors---color-text-light);
  letter-spacing: .02em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  padding: .875rem 2.5rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color .5s cubic-bezier(.22, 1, .36, 1);
  display: inline-flex;
}

.gallery_button:hover {
  background-color: var(--_colors---color-accent-hover);
}

.section_contact-hero {
  background-color: var(--_colors---color-background-dark);
  padding-top: 11rem;
  padding-bottom: 4.5rem;
  position: relative;
  overflow: hidden;
}

.contact-hero_component {
  z-index: 2;
  position: relative;
}

.contact-hero_content {
  grid-row-gap: 1rem;
  flex-direction: column;
  align-items: flex-start;
  max-width: 36rem;
  display: flex;
}

.contact-hero_heading {
  color: var(--_colors---color-text-light);
  font-size: var(--h2_font-size);
  text-transform: uppercase;
  line-height: 1;
}

.contact-hero_text {
  max-width: 26rem;
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-muted-dark);
  font-size: var(--p-default);
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.6;
}

.contact-hero_image-wrapper {
  z-index: 1;
  background-color: var(--_colors---color-accent);
  clip-path: polygon(22% 0%, 100% 0%, 100% 100%, 0% 100%);
  width: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
}

.contact-hero_image {
  object-fit: cover;
  clip-path: polygon(22% 0%, 100% 0%, 100% 100%, 0% 100%);
  width: calc(100% - .375rem);
  max-width: none;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
}

.contact-hero_image-overlay {
  pointer-events: none;
  background-image: linear-gradient(90deg, #0e111373 0%, #0e111300 45%);
  position: absolute;
  inset: 0;
}

.section_contact {
  padding-top: 4rem;
  padding-bottom: 6rem;
  position: relative;
}

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

.contact_map-wrapper {
  background-color: #0e11130f;
  border-radius: .25rem;
  min-height: 32rem;
  position: relative;
  overflow: clip;
}

.contact_map-embed {
  position: absolute;
  inset: 0;
}

.contact_card {
  grid-row-gap: 2.5rem;
  background-color: var(--_colors---color-background-dark);
  border-radius: .25rem;
  flex-direction: column;
  justify-content: space-between;
  padding: 2.5rem;
  display: flex;
}

.contact_item {
  grid-row-gap: .75rem;
  color: var(--_colors---color-text-light);
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
  transition: color .5s cubic-bezier(.22, 1, .36, 1);
  display: flex;
}

.contact_item:hover {
  color: var(--_colors---color-accent);
}

.contact_label {
  font-family: var(--_fonts---heading-font);
  color: var(--_colors---color-accent);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1;
}

.contact_heading {
  font-family: var(--_fonts---heading-font);
  color: inherit;
  letter-spacing: 0;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1;
}

.contact_text {
  font-family: var(--_fonts---body-font);
  color: var(--_colors---color-text-muted-dark);
  margin-top: 0;
  margin-bottom: 0;
  font-size: .875rem;
  line-height: 1.5;
}

.contact_divider {
  background-color: var(--_colors---color-accent);
  width: 100%;
  height: 1px;
}

.nf_section {
  background-color: #0b0b0c;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.nf_bg {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.nf_overlay {
  background-image: linear-gradient(#08080ab8, #08080ae0);
  position: absolute;
  inset: 0;
}

.nf_content {
  z-index: 2;
  grid-row-gap: 1.25rem;
  text-align: center;
  flex-direction: column;
  align-items: center;
  max-width: 36rem;
  padding: 2rem 1.25rem;
  display: flex;
  position: relative;
}

.nf_code {
  color: var(--_colors---color-accent);
  margin: 0;
  font-family: Barlow Condensed, sans-serif;
  font-size: 7rem;
  font-weight: 700;
  line-height: 1;
}

.nf_title {
  color: #fff;
  text-transform: uppercase;
  margin: 0;
  font-family: Barlow Condensed, sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.1;
}

.nf_text {
  color: #fffc;
  margin: 0 0 .75rem;
  font-family: Manrope, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.pp_content {
  grid-row-gap: 1.25rem;
  flex-direction: column;
  max-width: 52rem;
  display: flex;
}

.pp_h2 {
  color: #fff;
  text-transform: uppercase;
  margin: 1.5rem 0 0;
  font-family: Barlow Condensed, sans-serif;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.15;
}

.pp_text {
  color: #ffffffc7;
  margin: 0;
  font-family: Manrope, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.7;
}

.pp_meta {
  color: #ffffff8c;
  margin: 1.5rem 0 0;
  font-family: Manrope, sans-serif;
  font-size: .9375rem;
}

.contact_social {
  grid-column-gap: 1.5rem;
  grid-template-columns: 1fr 1fr;
  display: flex;
}

.contact_social-heading {
  font-family: var(--_fonts---heading-font);
  letter-spacing: 0;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  color: inherit;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}

.footer_social-list {
  grid-column-gap: 1.25rem;
  grid-row-gap: .5rem;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}

@media screen and (max-width: 991px) {
  body {
    --p-default: 1rem;
    --default_line-height: 1.625rem;
    --h1_font-size: 4.5rem;
    --h1_line-height: 3.5rem;
    --h1_letter-spacing: -1.44px;
    --h2_font-size: 3.75rem;
    --h2_line-height: 3.5rem;
    --h2_letter-spacing: -1.44px;
    --h3_font-size: 2.5rem;
    --h3_line-height: 2.625rem;
    --h3_letter-spacing: -1.2px;
    --padding-global: 1.5rem;
  }

  .button {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .nav_wrapper {
    min-height: 5rem;
  }

  .nav_menu, .nav_phone-link {
    display: none;
  }

  .nav_menu-button {
    display: flex;
  }

  .section_hero {
    height: 90vh;
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

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

  .hero_button-wrapper {
    flex-flow: column;
    justify-content: space-between;
    align-items: stretch;
  }

  .section_marquee {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .marquee_logo {
    height: 2.5rem;
  }

  .spacer {
    height: 4.5rem;
  }

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

  .services_background-text {
    display: none;
  }

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

  .services_image-wrapper {
    width: 100%;
    height: 100%;
    min-height: 25rem;
  }

  .services_item, .services_item.is-first {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .work_component {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .work_content {
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

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

  .about_component {
    flex-flow: column;
    display: flex;
  }

  .about_button-wrapper {
    flex-flow: column;
    justify-content: space-between;
    align-items: stretch;
  }

  .section_google-reviews {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }

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

  .cta_content {
    grid-column-end: 10;
  }

  .footer_top-wrapper {
    grid-row-gap: 1.75rem;
    flex-wrap: wrap;
  }

  .footer_menu {
    order: 1;
    width: 100%;
  }

  .nav_overlay {
    display: flex;
  }

  .section_about-hero {
    min-height: 75vh;
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  .about-hero_background-text {
    font-size: 9rem;
    bottom: -1rem;
  }

  .story_component {
    grid-row-gap: 3rem;
    flex-direction: column;
    display: flex;
  }

  .story_image-wrapper {
    aspect-ratio: 4 / 3;
    width: 100%;
  }

  .story_content {
    grid-row-gap: 1.5rem;
    position: static;
  }

  .story_heading {
    font-size: 3.5rem;
    line-height: 1;
  }

  .story_text-wrapper {
    grid-row-gap: 1rem;
    max-width: 40rem;
  }

  .section_standards {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .standards_heading {
    font-size: 3.5rem;
    line-height: 1;
  }

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

  .standards_number {
    margin-bottom: -1.5rem;
    font-size: 6.5rem;
  }

  .standards_item-heading {
    font-size: 1.5rem;
  }

  .standards_item-text {
    padding-right: 0;
  }

  .workshop_component {
    flex-flow: column;
    display: flex;
  }

  .workshop_heading {
    font-size: 3.5rem;
    line-height: 1;
  }

  .section_gallery-hero {
    padding-top: 9rem;
    padding-bottom: 4rem;
  }

  .gallery-hero_heading {
    font-size: 3.5rem;
  }

  .gallery-hero_image-wrapper {
    width: 45%;
  }

  .section_gallery {
    padding-top: 3.5rem;
    padding-bottom: 5rem;
  }

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

  .section_contact-hero {
    padding-top: 9rem;
    padding-bottom: 4rem;
  }

  .contact-hero_heading {
    font-size: 3.5rem;
  }

  .contact-hero_image-wrapper {
    width: 45%;
  }

  .section_contact {
    padding-top: 3.5rem;
    padding-bottom: 5rem;
  }

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

  .contact_map-wrapper {
    min-height: 24rem;
  }

  .contact_card {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .contact_heading {
    font-size: 2.5rem;
  }

  .contact_social {
    grid-column-gap: 1.5rem;
    grid-row-gap: 16px;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .contact_social-heading {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  body {
    --p-default: 1rem;
    --default_line-height: 1.5rem;
    --h1_font-size: 3.75rem;
    --h1_line-height: 2.875rem;
    --h1_letter-spacing: -1.2px;
    --h2_font-size: 3rem;
    --h2_line-height: 2.875rem;
    --h2_letter-spacing: -1px;
    --h3_font-size: 2.125rem;
    --h3_line-height: 2.25rem;
    --h3_letter-spacing: -.8px;
    --padding-global: 1.25rem;
  }

  .nav_phone-link {
    display: none;
  }

  .section_hero {
    padding-top: 8rem;
    padding-bottom: 7rem;
  }

  .hero_heading {
    font-size: var(--h1_font-size);
    line-height: 1;
  }

  .lightbox_slide {
    padding: 4.5rem 1rem 1rem;
  }

  .lightbox_bar {
    padding: 1rem 1rem 1.5rem;
  }

  .lightbox_progress {
    display: none;
  }

  .lightbox_button.is-close {
    top: 1rem;
    right: 1rem;
  }

  .about_contact-list {
    flex-direction: column;
  }

  .about_contact-divider {
    width: auto;
    height: 1px;
    margin: 1rem 0;
  }

  .about_stat {
    width: 55%;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .section_google-reviews {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .google-reviews_component {
    grid-column-gap: 1.75rem;
    grid-row-gap: 1.75rem;
  }

  .section_cta {
    min-height: auto;
    padding-top: 3.5rem;
    padding-bottom: 4rem;
  }

  .cta_content {
    grid-column-end: 13;
  }

  .footer_top-wrapper {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .footer_logo-link {
    width: 5.5rem;
  }

  .footer_menu {
    grid-column-gap: 1.25rem;
    order: 0;
  }

  .footer_contact-wrapper, .footer_bottom-wrapper {
    flex-direction: column;
    align-items: flex-start;
  }

  .nav_overlay-link {
    font-size: 2.5rem;
  }

  .section_about-hero {
    min-height: auto;
    padding-top: 8rem;
    padding-bottom: 7rem;
  }

  .about-hero_background-overlay {
    background-image: linear-gradient(#0e111399 0%, #0e1113d9 100%);
  }

  .about-hero_heading {
    font-size: 3.5rem;
    line-height: 1;
  }

  .about-hero_text {
    font-size: var(--p-default);
  }

  .about-hero_button-wrapper {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .about-hero_background-text {
    display: none;
  }

  .story_image-wrapper {
    aspect-ratio: 4 / 5;
  }

  .story_heading {
    font-size: 2.75rem;
  }

  .section_standards {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .standards_component {
    grid-row-gap: 2.5rem;
  }

  .standards_heading {
    font-size: 2.75rem;
  }

  .standards_list {
    grid-row-gap: 3rem;
    grid-template-columns: 1fr;
  }

  .standards_number {
    margin-bottom: -1.75rem;
    font-size: 7rem;
  }

  .standards_item-heading {
    font-size: 1.75rem;
  }

  .standards_item-text {
    max-width: 22rem;
  }

  .workshop_component {
    grid-row-gap: 1.5rem;
  }

  .workshop_heading {
    font-size: 2.75rem;
  }

  .workshop_row {
    grid-row-gap: .75rem;
    grid-template-columns: 1fr;
  }

  .workshop_column {
    grid-row-gap: .75rem;
  }

  .workshop_image-wrapper {
    aspect-ratio: 4 / 3;
    flex-grow: 0;
  }

  .section_gallery-hero {
    padding-top: 8rem;
    padding-bottom: 3rem;
  }

  .gallery-hero_heading {
    font-size: 3rem;
  }

  .gallery-hero_image-wrapper, .gallery-hero_image {
    clip-path: none;
    width: 100%;
  }

  .gallery-hero_image-overlay {
    background-image: linear-gradient(#0e1113b3 0%, #0e1113e0 100%);
  }

  .section_gallery {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
  }

  .gallery_filter {
    padding: .5rem .875rem;
    font-size: .875rem;
  }

  .gallery_list {
    grid-column-gap: .625rem;
    grid-row-gap: .625rem;
  }

  .section_contact-hero {
    padding-top: 8rem;
    padding-bottom: 3rem;
  }

  .contact-hero_heading {
    font-size: 3rem;
  }

  .contact-hero_image-wrapper, .contact-hero_image {
    clip-path: none;
    width: 100%;
  }

  .contact-hero_image-overlay {
    background-image: linear-gradient(#0e1113b3 0%, #0e1113e0 100%);
  }

  .section_contact {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
  }

  .contact_map-wrapper {
    min-height: 20rem;
  }

  .contact_card {
    grid-row-gap: 1.75rem;
    padding: 1.75rem 1.5rem;
  }

  .contact_heading {
    font-size: 2rem;
  }

  .contact_social-heading {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 479px) {
  body {
    --p-default: .75rem;
    --default_line-height: 1.5rem;
    --h1_font-size: 3rem;
    --h1_line-height: 2.375rem;
    --h1_letter-spacing: -.96px;
    --h2_font-size: 2.5rem;
    --h2_line-height: 2.375rem;
    --h2_letter-spacing: -.8px;
    --h3_font-size: 1.75rem;
    --h3_line-height: 1.875rem;
    --h3_letter-spacing: -.56px;
    --padding-global: 1rem;
  }

  .button {
    width: 100%;
  }

  .hero_heading {
    font-size: var(--h1_font-size);
    text-transform: uppercase;
  }

  .services_item.is-first {
    padding-right: 0;
  }

  .services_item-heading {
    font-size: 1.25rem;
  }

  .about-hero_heading {
    font-size: 2.75rem;
  }

  .story_heading, .workshop_heading {
    font-size: 2.25rem;
  }

  .gallery-hero_heading {
    font-size: 2.5rem;
  }

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

  .gallery_pagination {
    align-items: stretch;
  }

  .gallery_button {
    width: 100%;
  }

  .contact-hero_heading {
    font-size: 2.5rem;
  }

  .contact_card {
    padding: 1.5rem 1rem;
  }

  .contact_heading {
    font-size: 1.75rem;
  }
}

#w-node-_6a1ac7d1-045b-3216-0562-8b07874d71ad-6a1da013 {
  grid-area: 1 / 1 / 2 / 3;
}

#w-node-_6a1ac7d1-045b-3216-0562-8b07874d71af-6a1da013 {
  grid-area: 2 / 1 / 3 / 7;
}

#w-node-_6a1ac7d1-045b-3216-0562-8b07874d71b1-6a1da013 {
  grid-area: 3 / 1 / 4 / 6;
}

#w-node-_6a1ac7d1-045b-3216-0562-8b07874d71ba-6a1da013 {
  grid-area: 4 / 1 / 5 / 5;
}

#w-node-_6a1ac7d1-045b-3216-0562-8b07874d71c1-6a1da013 {
  grid-area: 5 / 1 / 6 / 3;
}

#w-node-_09840db4-6c78-fab6-7c22-267f67388380-6a1da013 {
  grid-area: 1 / 1 / 2 / 7;
}

#w-node-_32f682c8-a51c-a454-4da1-29d6cc1dd868-6a1da013 {
  grid-area: 1 / 11 / 2 / 13;
  align-self: end;
}

#w-node-_68027828-b6a8-d918-0d2e-feafb3ca1450-6a1da013 {
  grid-area: 1 / 7 / 2 / 13;
}

#w-node-_0a8ac048-2b23-e56d-2f27-7592fc1ef723-6a1da013, #w-node-_6a3d4cb0-1a67-dfe7-d88f-15983facf5dd-6a1da013 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_53e09c26-c867-1a4f-2c05-cb7bf258beb8-6a1da013 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_5805f414-391b-7001-b521-38212017337b-6a1da013 {
  grid-area: 1 / 1 / 3 / 6;
}

#w-node-_3afbba67-fa1e-51a4-932a-9bee03d01548-6a1da013 {
  grid-area: 1 / 6 / 3 / 10;
}

#w-node-_3b563752-ee3e-a2ef-41ce-c70a386fa3e8-6a1da013 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-dd4ac44d-f30e-50de-4949-1e02485e3eda-6a1da013 {
  grid-area: 2 / 10 / 3 / 13;
}

#w-node-_24c73ca7-5952-3484-5310-84fcaa184b5f-6a1da013 {
  grid-area: 1 / 1 / 2 / 7;
}

#w-node-_4e855017-1b62-9775-56cd-5d9c40998c7c-6a1da013 {
  grid-area: 1 / 8 / 2 / 13;
}

#w-node-f4e67b47-4548-a975-b77f-c771b739b250-b739b248 {
  grid-area: 1 / 1 / 2 / 5;
}

#w-node-_2cdd3174-724b-2f40-abe3-61da0b0880d2-58868cd2, #w-node-_2cdd3174-724b-2f40-abe3-61da0b0880d8-58868cd2, #w-node-_2cdd3174-724b-2f40-abe3-61da0b0880de-58868cd2, #w-node-_2cdd3174-724b-2f40-abe3-61da0b0880e4-58868cd2, #w-node-_2cdd3174-724b-2f40-abe3-61da0b088102-58868cd2, #w-node-_2cdd3174-724b-2f40-abe3-61da0b088115-58868cd2 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_2cdd3174-724b-2f40-abe3-61da0b0881c6-58868cd2, #w-node-_008324e2-d8eb-12b7-41af-3f5ce0b14f7e-58868cd2 {
  grid-column: span 3 / span 3;
}

#w-node-_1126fde4-a493-4613-17b2-f02e64fa11ce-f57959a3 {
  grid-area: span 1 / span 8 / span 1 / span 8;
}

#w-node-_256ceddc-ec32-251c-751b-50890b60b4cc-f57959a3 {
  grid-area: 2 / 1 / 3 / 13;
}

@media screen and (max-width: 991px) {
  #w-node-_6a1ac7d1-045b-3216-0562-8b07874d71af-6a1da013, #w-node-_6a1ac7d1-045b-3216-0562-8b07874d71b1-6a1da013 {
    grid-column-end: 5;
  }

  #w-node-_09840db4-6c78-fab6-7c22-267f67388380-6a1da013 {
    grid-area: 1 / 1 / 2 / 5;
  }

  #w-node-_32f682c8-a51c-a454-4da1-29d6cc1dd868-6a1da013 {
    grid-area: 2 / 1 / 3 / 5;
  }

  #w-node-_0a8ac048-2b23-e56d-2f27-7592fc1ef723-6a1da013 {
    grid-area: 1 / 1 / 2 / 5;
  }

  #w-node-_6a3d4cb0-1a67-dfe7-d88f-15983facf5dd-6a1da013 {
    grid-area: 2 / 1 / 3 / 5;
  }

  #w-node-_5805f414-391b-7001-b521-38212017337b-6a1da013 {
    grid-column: 1 / 3;
    grid-row-end: 2;
  }

  #w-node-_3afbba67-fa1e-51a4-932a-9bee03d01548-6a1da013 {
    grid-area: 1 / 3 / 2 / 5;
  }

  #w-node-_3b563752-ee3e-a2ef-41ce-c70a386fa3e8-6a1da013 {
    grid-area: 2 / 1 / 3 / 3;
  }

  #w-node-dd4ac44d-f30e-50de-4949-1e02485e3eda-6a1da013 {
    grid-area: 2 / 3 / 3 / 5;
  }

  #w-node-f4e67b47-4548-a975-b77f-c771b739b250-b739b248 {
    grid-column-end: 5;
  }

  #w-node-_82018f49-ec35-be83-455c-0d68d0d7db60-1782b32a {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}


