@font-face {
  font-family: Satoshi;
  src: url('../fonts/Satoshi-LightItalic.woff2') format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Satoshi;
  src: url('../fonts/Satoshi-BoldItalic.woff2') format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

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

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

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

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

@font-face {
  font-family: Satoshi;
  src: url('../fonts/Satoshi-VariableItalic.woff2') format("woff2"), url('../fonts/Satoshi-Italic.woff2') format("woff2");
  font-weight: 300 900;
  font-style: italic;
  font-display: swap;
}

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

@font-face {
  font-family: Satoshi;
  src: url('../fonts/Satoshi-BlackItalic.woff2') format("woff2");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Satoshi;
  src: url('../fonts/Satoshi-MediumItalic.woff2') format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

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

:root {
  --_color-palette---background-color--primary: #d3d8da;
  --_fonts---satoshi: Satoshi, Arial, sans-serif;
  --_color-palette---font-color--primary: #161616;
  --_text-weights---regular: 400;
  --_headings---h3: 3.875em;
  --_text-weights---thin: 100;
  --_text-classes---regular: .875em;
  --_color-palette---main-color: #ff7e5d;
  --_text-classes---medium: 1em;
  --_text-classes---large: 1.5em;
  --_color-palette---white: #fbfbfb;
  --_color-palette---black-tertiary: #121212;
  --_headings---h1: 5em;
  --_text-weights---medium: 500;
  --_color-palette---black-secondary: #161616;
  --_text-weights---extra-bold: 800;
  --_color-palette---font-color--secondary: #d3d8da;
  --_color-palette---black-primary: black;
  --_text-classes---small: .75em;
  --_headings---h5: 2.5em;
  --_color-palette---button-color: #171920;
  --_headings---h6: 2em;
  --_headings---h2: 4em;
  --_text-weights---light: 300;
  --_text-weights---semibold: 600;
  --_text-weights---bold: 700;
  --_text-weights---extra-light: 0;
  --_text-classes---huge: 1.8em;
  --_headings---h4: 3em;
  --_text-weights---black: 900;
  --_fonts---host-grotesk: "Host Grotesk", sans-serif;
  --_color-palette---background-color--secondary: #161616;
  --_text-classes---tiny: .75em;
  --_fonts---satoshi-variable: "Satoshi Variable", Arial, sans-serif;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-checkbox {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w-checkbox:before {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox:after {
  content: " ";
  clear: both;
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox-input {
  float: left;
  margin: 4px 0 0 -20px;
  line-height: normal;
}

.w-checkbox-input--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 2px;
  width: 12px;
  height: 12px;
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: #3898ec;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/static/custom-checkbox-checkmark.589d534424.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-color: #3898ec;
}

.w-checkbox-input--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

.w-form-formradioinput--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 50%;
  width: 12px;
  height: 12px;
}

.w-form-formradioinput--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

.w-form-formradioinput--inputType-custom.w--redirected-checked {
  border-width: 4px;
  border-color: #3898ec;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

body {
  background-color: var(--_color-palette---background-color--primary);
  font-family: var(--_fonts---satoshi);
  color: var(--_color-palette---font-color--primary);
  font-size: .9vw;
  line-height: 1.5;
  font-weight: var(--_text-weights---regular);
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 38px;
  font-weight: 700;
  line-height: 44px;
}

h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 32px;
  font-weight: 700;
  line-height: 36px;
}

h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 30px;
}

h4 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
  line-height: 24px;
}

h5 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: bold;
  line-height: 20px;
}

h6 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: bold;
  line-height: 18px;
}

p {
  margin-bottom: 0;
  font-size: max(14px, .875em);
}

a {
  color: var(--_color-palette---font-color--primary);
  font-size: max(14px, .875em);
  text-decoration: none;
}

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

ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
  font-size: max(14px, .875em);
}

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

blockquote {
  border-left: 5px solid #e2e2e2;
  margin-bottom: 10px;
  padding: 10px 20px;
  font-size: max(14px, .875em);
  line-height: 22px;
}

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

.heading-style-h3 {
  font-size: var(--_headings---h3);
  line-height: 1;
  font-weight: var(--_text-weights---regular);
}

.text-weight-thin {
  font-weight: var(--_text-weights---thin);
}

.text-rich-text h1 {
  margin-top: 0;
  margin-bottom: 1em;
  font-size: 2.375em;
  font-weight: 400;
  line-height: 1.3;
}

.text-rich-text p, .text-rich-text ul, .text-rich-text ol {
  font-size: var(--_text-classes---regular);
  margin-bottom: 1em;
}

.text-rich-text blockquote {
  border-left-width: 2px;
  border-left-color: var(--_color-palette---main-color);
  font-size: var(--_text-classes---medium);
  margin-bottom: 1em;
  padding: .625em 1.25em;
}

.text-rich-text h2 {
  margin-top: 0;
  margin-bottom: 1em;
  font-size: 2em;
  font-weight: 400;
  line-height: 1.3;
}

.text-rich-text h3 {
  margin-top: 0;
  margin-bottom: 1em;
  font-size: 1.5em;
  font-weight: 400;
  line-height: 1.3;
}

.text-rich-text h4 {
  margin-top: 0;
  margin-bottom: 1em;
  font-size: 1.125em;
  font-weight: 400;
  line-height: 1.3;
}

.text-rich-text h5 {
  margin-top: 0;
  margin-bottom: 1em;
  font-size: .875em;
  font-weight: 400;
  line-height: 1.5;
}

.text-rich-text h6 {
  font-size: .75em;
  font-weight: 400;
  line-height: 1.5;
}

.text-rich-text img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  margin-bottom: 1em;
}

.fs-styleguide_label {
  color: #fff;
  background-color: #2d62ff;
  border-radius: .25rem;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: .25rem .75rem .3rem;
  font-weight: 600;
  display: flex;
}

.fs-styleguide_label.is-tag {
  background-color: #dd23bb;
}

.text-size-large {
  font-size: var(--_text-classes---large);
}

.white {
  background-color: var(--_color-palette---white);
}

.fs-styleguide_section-header {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border-bottom: 1px solid #eee;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  padding-bottom: 3rem;
  line-height: 1.4;
  display: grid;
}

.padding-section-large {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.black-tertiary {
  background-color: var(--_color-palette---black-tertiary);
}

.heading-style-h1 {
  font-size: var(--_headings---h1);
  line-height: 1;
  font-weight: var(--_text-weights---medium);
}

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

.text-size-tiny {
  font-size: max(14px, .875em);
}

.fs-styleguide_hero-label {
  color: #000;
  text-transform: uppercase;
  background-color: #eee;
  border-radius: .25rem;
  padding: .25rem .375rem;
  font-size: .75rem;
  font-weight: 500;
  text-decoration: none;
}

.padding-custom3 {
  padding: 3.5rem;
}

.fs-styleguide_background {
  border: 1px solid #0000001a;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  display: flex;
}

.black-secondary {
  background-color: var(--_color-palette---black-secondary);
}

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

.container {
  width: 100%;
  max-width: 85em;
  margin-left: auto;
  margin-right: auto;
}

.overflow-visible {
  overflow: visible;
}

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

.overflow-hidden {
  overflow: hidden;
}

.pointer-events-none {
  pointer-events: none;
}

.margin-xsmall {
  margin: .5rem;
}

.icon-1x1-large {
  width: 2.5rem;
  height: 2.5rem;
}

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

.fs-styleguide_item-header {
  border-bottom: 1px solid #0000001a;
  width: 100%;
  padding-bottom: 2rem;
}

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

.fs-styleguide_heading-header {
  font-size: 6rem;
}

.fs-styleguide_item-wrapper {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.text-weight-xbold {
  font-weight: var(--_text-weights---extra-bold);
}

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

.fs-styleguide_section.is-vertical {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-columns: 1fr;
}

.text-color-primary {
  color: var(--_color-palette---font-color--primary);
}

.text-color-primary:where(.w-variant-8569cd55-88ef-f312-f34a-9cf482dd20a6) {
  color: var(--_color-palette---font-color--secondary);
}

.text-color-primary.padding-top_1em {
  padding-top: 1em;
}

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

.form_checkbox {
  flex-direction: row;
  align-items: center;
  margin-bottom: .5rem;
  padding-left: 0;
  display: flex;
}

.padding-small {
  padding: 1rem;
}

.black-primary {
  background-color: var(--_color-palette---black-primary);
  color: #fff;
}

.fs-styleguide_header {
  color: #fff;
  background-color: #000;
  background-image: radial-gradient(circle at 100% 100%, #dd23bb40, #0000 40%), radial-gradient(circle at 0 100%, #2d62ff4d, #0000 60%);
}

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

.form_input {
  background-color: #0000;
  border: 1px solid #eee;
  min-height: 3rem;
  margin-bottom: .75rem;
  padding: .5rem 1rem;
}

.form_input::placeholder, .form_input.is-select-input {
  color: #222;
}

.form_input.is-text-area {
  min-height: 8rem;
  padding-top: .75rem;
}

.pointer-events-auto {
  pointer-events: auto;
}

.brand {
  color: var(--_color-palette---font-color--primary);
  font-size: var(--_text-classes---small);
  font-weight: var(--_text-weights---medium);
  text-transform: uppercase;
  text-decoration: none;
  transition: all .25s;
}

.brand:where(.w-variant-69b9e812-1b8d-d9ee-a45d-178626f2025e) {
  color: var(--_color-palette---font-color--secondary);
}

.brand:hover {
  opacity: .8;
  transform: translate(0, 1px);
}

.max-width-medium {
  width: 100%;
  max-width: 32rem;
}

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

.text-weight-medium {
  font-weight: var(--_text-weights---medium);
}

.text-style-muted {
  opacity: .6;
}

.margin-custom1 {
  margin: 1.5rem;
}

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

.fs-styleguide_spacing-all {
  display: none;
}

.form_component {
  margin-bottom: 0;
}

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

.text-style-strikethrough {
  text-decoration: line-through;
}

.margin-xxlarge {
  margin: 5rem;
}

.margin-small {
  margin: 1rem;
}

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

.text-size-medium {
  font-size: var(--_text-classes---medium);
  line-height: 1.4;
}

.hide {
  display: none;
}

.overflow-scroll {
  overflow: scroll;
}

.black-button {
  background-color: var(--_color-palette---button-color);
}

.margin-tiny {
  margin: .125rem;
}

.padding-xhuge {
  padding: 8rem;
}

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

.button {
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: .25rem;
  padding: .75rem 1.5rem;
  font-weight: 600;
}

.button.is-text {
  color: #000;
  background-color: #0000;
  border: 2px solid #0000;
}

.button.is-secondary {
  color: #000;
  background-color: #0000;
  border: 1px solid #222;
}

.button.is-large {
  padding: 1rem 2rem;
}

.button.is-icon {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.button.is-small {
  padding: .5rem 1.25rem;
}

.padding-xxhuge {
  padding: 12rem;
}

.padding-large {
  padding: 3rem;
}

.aspect-ratio-portrait {
  aspect-ratio: 2 / 3;
  object-fit: cover;
}

.navbar-component {
  justify-content: space-between;
  width: 100%;
  display: flex;
}

.button-group {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

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

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

.heading-style-h6 {
  font-size: var(--_headings---h6);
  line-height: 1;
  font-weight: var(--_text-weights---regular);
}

.padding-section-small {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.aspect-ratio-landscape {
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.text-weight-normal {
  font-weight: var(--_text-weights---regular);
}

.heading-style-h2 {
  font-size: var(--_headings---h2);
  line-height: 1;
  font-weight: var(--_text-weights---medium);
  text-transform: uppercase;
}

.heading-style-h2.text-weight-normal {
  font-weight: var(--_text-weights---regular);
}

.heading-style-h2.no-caps {
  text-transform: none;
}

.padding-custom1 {
  padding: 1.5rem;
}

.form_radio {
  flex-direction: row;
  align-items: center;
  margin-bottom: .5rem;
  padding-left: 0;
  display: flex;
}

.text-weight-light {
  font-weight: var(--_text-weights---light);
}

.fs-styleguide_classes {
  grid-column-gap: 1px;
  grid-row-gap: 1px;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.text-color-secondary {
  color: var(--_color-palette---font-color--secondary);
}

.padding-0 {
  padding: 0;
}

.overflow-auto {
  overflow: auto;
}

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

.margin-xxhuge {
  margin: 12rem;
}

.text-weight-semibold {
  font-weight: var(--_text-weights---semibold);
}

.fs-styleguide_2-col {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.padding-custom2 {
  padding: 2.5rem;
}

.fs-styleguide_empty-box {
  z-index: -1;
  background-color: #2d40ea0d;
  border: 1px dashed #2d40ea;
  min-width: 3rem;
  height: 3rem;
  position: relative;
}

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

.heading-style-h5 {
  font-size: var(--_headings---h5);
  line-height: 1;
  font-weight: var(--_text-weights---regular);
}

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

.aspect-ratio-widescreen {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.main-color {
  background-color: var(--_color-palette---main-color);
}

.padding-global {
  padding-left: 4em;
  padding-right: 4em;
}

.margin-large {
  margin: 3rem;
}

.margin-0 {
  margin: 0;
}

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

.margin-xxsmall {
  margin: .25rem;
}

.form_message-success {
  color: #114e0b;
  background-color: #cef5ca;
  padding: 1.25rem;
}

.aspect-ratio-square {
  aspect-ratio: 1;
  object-fit: cover;
}

.navbar {
  z-index: 9999;
  background-color: #0000;
  padding-top: 2.38em;
  padding-left: 4em;
  padding-right: 4em;
  position: absolute;
  inset: 0% 0% auto;
}

.navbar:where(.w-variant-69b9e812-1b8d-d9ee-a45d-178626f2025e) {
  color: var(--_color-palette---font-color--secondary);
}

.text-size-regular {
  font-size: max(14px, .875em);
}

.text-size-regular.text-weight-light.line-height_150 {
  line-height: 1.5;
}

.fs-styleguide_heading-medium {
  font-size: 4rem;
}

.margin-xlarge {
  margin: 4rem;
}

.margin-medium {
  margin: 2rem;
}

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

.align-center {
  margin-left: auto;
  margin-right: auto;
}

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

.fs-styleguide_spacing {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  background-image: linear-gradient(to top, #2d40ea1a, #fff0);
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-content: start;
  place-items: start stretch;
  display: grid;
  position: relative;
}

.margin-custom2 {
  margin: 2.5rem;
}

.text-weight-bold {
  font-weight: var(--_text-weights---bold);
}

.padding-medium {
  padding: 2rem;
}

.form_radio-icon {
  width: .875rem;
  height: .875rem;
  margin-top: 0;
  margin-left: 0;
  margin-right: .5rem;
}

.form_radio-icon.w--redirected-checked {
  border-width: .25rem;
  width: .875rem;
  height: .875rem;
}

.form_radio-icon.w--redirected-focus {
  width: .875rem;
  height: .875rem;
  box-shadow: 0 0 .25rem 0 #3898ec;
}

.fs-styleguide_background-space {
  width: 1px;
  height: 1px;
  margin: 5rem;
}

.padding-xxlarge {
  padding: 5rem;
}

.form_message-error {
  color: #3b0b0b;
  background-color: #f8e4e4;
  margin-top: .75rem;
  padding: .75rem;
}

.padding-xsmall {
  padding: .5rem;
}

.spacing-clean {
  margin: 0;
  padding: 0;
}

.fs-styleguide_4-col {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.text-weight-xlight {
  font-weight: var(--_text-weights---extra-light);
}

.fs-styleguide_3-col {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: stretch;
  width: 100%;
  display: grid;
}

.fs-styleguide_3-col.is-align-start {
  align-items: start;
}

.fs-styleguide_item {
  grid-column-gap: 1.125rem;
  grid-row-gap: 1.125rem;
  border-bottom: 1px solid #0000001a;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-content: start;
  place-items: start;
  padding-bottom: 3rem;
  display: grid;
  position: relative;
}

.fs-styleguide_item.is-stretch {
  justify-items: stretch;
}

.text-style-nowrap {
  white-space: nowrap;
}

.margin-huge {
  margin: 6rem;
}

.page-wrapper {
  overflow: clip;
}

.padding-xxsmall {
  padding: .25rem;
}

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

.margin-xhuge {
  margin: 8rem;
}

.padding-huge {
  padding: 6rem;
}

.text-size-huge {
  font-size: var(--_text-classes---huge);
}

.text-style-link {
  color: #2d62ff;
  text-decoration: underline;
}

.padding-tiny {
  padding: .125rem;
}

.padding-section-medium {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

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

.text-size-small {
  font-size: max(14px, .875em);
}

.padding-xlarge {
  padding: 4rem;
}

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

.margin-left.margin-small {
  margin-left: 1em;
}

.fs-styleguide_row {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: row;
  grid-template-rows: auto;
  grid-template-columns: auto;
  grid-auto-columns: auto;
  grid-auto-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.container-medium {
  width: 100%;
  max-width: 85em;
  margin-left: auto;
  margin-right: auto;
}

.container-medium.is-small {
  max-width: 80em;
}

.text-style-quote {
  border-left: .25rem solid #e2e2e2;
  margin-bottom: 0;
  padding: 0 1.25rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

.fs-styleguide_1-col {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.fs-styleguide_message {
  color: #5e5515;
  background-color: #fcf8d8;
  border-radius: .25rem;
  padding: .25rem .5rem;
  font-size: .875rem;
}

.margin-custom3 {
  margin: 3.5rem;
}

.layer {
  justify-content: center;
  align-items: center;
  position: absolute;
  inset: 0%;
}

.form_checkbox-icon {
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
}

.form_checkbox-icon.w--redirected-checked {
  background-size: 90%;
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
}

.form_checkbox-icon.w--redirected-focus {
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
  box-shadow: 0 0 .25rem 0 #3898ec;
}

.heading-style-h4 {
  font-size: var(--_headings---h4);
  line-height: 1;
  font-weight: var(--_text-weights---regular);
}

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

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

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

.margin-bottom.margin-medium {
  margin-bottom: 2em;
}

.text-weight-black {
  font-weight: var(--_text-weights---black);
}

.primary-button {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  border: .025em solid var(--_color-palette---button-color);
  background-color: var(--_color-palette---button-color);
  color: var(--_color-palette---font-color--secondary);
  cursor: pointer;
  border-radius: .25em;
  justify-content: space-between;
  align-items: center;
  padding: .2em;
  line-height: 1;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
}

.primary-button:where(.w-variant-8569cd55-88ef-f312-f34a-9cf482dd20a6) {
  border-color: var(--_color-palette---background-color--primary);
  background-color: var(--_color-palette---background-color--primary);
  color: var(--_color-palette---font-color--primary);
}

.section-style-guide {
  margin-top: 5.75rem;
}

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

.style-guide-header {
  grid-row-gap: 2.5rem;
  flex-direction: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  margin-bottom: 4.5rem;
  display: flex;
}

.divider {
  z-index: 2;
  background-color: var(--_color-palette---black-primary);
  opacity: .2;
  width: 100%;
  height: 1px;
  position: relative;
}

.divider.is-light {
  background-color: var(--_color-palette---font-color--secondary);
}

.text-box {
  max-width: 24em;
}

.hero-template {
  padding-left: 1.5em;
  padding-right: 1.5em;
}

.hero-style-guide {
  background-color: #121212;
  border-radius: 1rem;
  width: 100%;
  margin-top: 1rem;
  padding: 13rem 2rem 2rem;
  overflow: hidden;
}

.hero-style-guide-content {
  grid-row-gap: 1.5rem;
  color: #f3f3f3;
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.typography-wrapper {
  grid-row-gap: 1.5rem;
  flex-direction: column;
  align-items: flex-start;
  max-width: 30rem;
  display: flex;
}

.style-guide-button {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  color: var(--_color-palette---font-color--primary);
  flex-direction: column;
  align-items: flex-start;
  margin-top: 1rem;
  text-decoration: none;
  transition: opacity .2s;
  display: flex;
  overflow: hidden;
}

.style-guide-button:hover {
  opacity: .5;
}

.button-line {
  background-color: #3f3f3f;
  width: 100%;
  height: 1px;
}

.style-guide-content {
  margin-bottom: 8rem;
}

.license-content {
  grid-column-gap: 5rem;
  grid-row-gap: 2rem;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

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

.opacity_85 {
  opacity: .8;
}

.utility-page-wrap {
  z-index: 50;
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
  position: relative;
}

.utility-page-content {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  text-align: center;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: auto;
  display: flex;
}

.utility-page-form {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.submit-button {
  z-index: 10;
  color: #0000;
  background-color: #0000;
  position: absolute;
  inset: 0%;
}

.credits-wrapper {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  opacity: .5;
  justify-content: center;
  align-items: center;
  margin-top: 3.25em;
  display: flex;
}

.crediits {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  color: var(--_color-palette---font-color--secondary);
  font-size: var(--_text-classes---medium);
  white-space: nowrap;
  text-decoration: none;
  transition: opacity .2s;
  display: flex;
}

.crediits:hover {
  opacity: .8;
}

.credits_text {
  font-size: var(--_text-classes---small);
  margin-bottom: 0;
}

.credits_text.is-light {
  color: #efeeec80;
}

.text-color-white {
  color: #efeeec;
}

.footer-component {
  flex-flow: column;
  align-items: flex-start;
  padding-top: 3.2em;
  padding-bottom: 2em;
  display: flex;
}

.footer-heading {
  font-family: var(--_fonts---host-grotesk);
  text-transform: uppercase;
  font-size: 11.51em;
  font-weight: 300;
  line-height: 1;
}

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

.bg-grid {
  z-index: -1;
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  flex-flow: wrap;
  grid-template-rows: auto auto auto auto auto auto auto auto auto auto auto auto auto;
  grid-template-columns: auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto;
  grid-auto-columns: auto;
  width: 100%;
  height: 100%;
  padding: .5em;
  display: grid;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.works-wrapper {
  grid-column-gap: 5.5em;
  grid-row-gap: 5.5em;
  flex-flow: column;
  display: flex;
  position: relative;
}

.works-wrapper.is-works_page {
  grid-column-gap: 0em;
  grid-row-gap: 0em;
  padding-top: 12em;
  padding-bottom: 7em;
}

.works-wrapper.is-home {
  padding-top: 4em;
  padding-bottom: 4em;
}

.works-header {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  align-items: flex-start;
  max-width: 85em;
  margin-left: auto;
  margin-right: auto;
  padding-left: 6.25em;
  padding-right: 6.25em;
  display: flex;
}

.work-marquee {
  justify-content: flex-start;
  align-items: center;
  max-width: 12em;
  display: flex;
  overflow: hidden;
}

.work-marquee_component {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  white-space: nowrap;
  justify-content: flex-start;
  align-items: center;
  padding-right: 1em;
  display: flex;
}

.small-elipse {
  background-color: var(--_color-palette---main-color);
  border-radius: 50%;
  width: .25em;
  height: .25em;
}

.collection-list {
  grid-column-gap: 1em;
  grid-row-gap: 5.5em;
  grid-template-rows: auto;
  grid-template-columns: auto auto;
  grid-auto-columns: auto;
  display: grid;
}

.works-cards {
  width: 100%;
}

.works-cards_image {
  border-radius: 1em;
  justify-content: center;
  align-items: center;
  max-height: 41em;
  display: flex;
  overflow: hidden;
}

.works-card_content {
  grid-column-gap: 1.5em;
  grid-row-gap: 1.5em;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 1.5em;
  padding-left: 1em;
  display: flex;
}

.max-width_24em {
  max-width: 24em;
}

.opacity_60 {
  opacity: .6;
}

.image-works {
  transform: scale(1.05);
}

.works-card_logo {
  position: absolute;
}

.cta-wrapper {
  height: 350svh;
  position: relative;
  overflow: clip;
}

.cta-sticky {
  grid-column-gap: 2.5em;
  grid-row-gap: 2.5em;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100svh;
  display: flex;
  position: sticky;
  top: 0;
}

.cta-heading {
  pointer-events: none;
  font-size: 17em;
  line-height: 1;
  font-weight: var(--_text-weights---medium);
  text-transform: uppercase;
  white-space: nowrap;
}

.button-square {
  background-color: var(--_color-palette---background-color--primary);
  border-radius: .25em;
  width: 2.2em;
  height: 2.2em;
}

.button-square:where(.w-variant-8569cd55-88ef-f312-f34a-9cf482dd20a6) {
  background-color: var(--_color-palette---background-color--secondary);
}

.button-text {
  z-index: 2;
  flex-flow: column;
  height: .875em;
  margin-left: 1.05em;
  display: flex;
  position: relative;
  overflow: hidden;
}

.button-square_absolute {
  z-index: 2;
  background-color: var(--_color-palette---background-color--primary);
  border-radius: .25em;
  width: 2.2em;
  height: 2.2em;
  position: absolute;
  right: .2em;
  overflow: hidden;
}

.button-square_absolute:where(.w-variant-8569cd55-88ef-f312-f34a-9cf482dd20a6) {
  background-color: var(--_color-palette---background-color--secondary);
}

.arrow-wrapper {
  width: 100%;
  height: 100%;
  color: var(--_color-palette---font-color--primary);
  justify-content: center;
  align-items: center;
  padding: .625em;
  display: flex;
}

.arrow-wrapper.is-secondary {
  transform: translate(-100%);
}

.arrow-wrapper.is-secondary:where(.w-variant-8569cd55-88ef-f312-f34a-9cf482dd20a6) {
  color: var(--_color-palette---font-color--secondary);
}

.arrow-wrapper.is-secondary.is-small {
  padding: 0;
}

.arrow-wrapper.is-primary:where(.w-variant-8569cd55-88ef-f312-f34a-9cf482dd20a6) {
  color: var(--_color-palette---font-color--secondary);
}

.arrow-wrapper.is-primary.is-small {
  opacity: 0;
  padding: 0;
}

.blog-wrapper {
  grid-column-gap: 2.5em;
  grid-row-gap: 2.5em;
  flex-flow: column;
  padding-top: 14em;
  padding-bottom: 10em;
  display: flex;
}

.blog-wrapper.is-blog_page {
  padding-top: 14em;
  padding-bottom: 9.5em;
}

.blog-wrapper.margin-top-small {
  padding-top: 4em;
}

.news-tag {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  font-family: var(--_fonts---host-grotesk);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.secondary-button {
  text-transform: uppercase;
  cursor: pointer;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  height: 1.3em;
  padding-left: .25em;
  padding-right: .25em;
  display: flex;
  overflow: hidden;
}

.secondary-button.is-navbar {
  font-weight: var(--_text-weights---medium);
}

.blog-cards_list {
  grid-column-gap: 1em;
  grid-row-gap: 3.625em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

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

.blog-card_image {
  border-radius: .125em;
  justify-content: center;
  align-items: center;
  max-height: 18em;
  display: flex;
  overflow: hidden;
}

.blog-card_image.full-height {
  max-height: none;
}

.blog-card_content {
  grid-column-gap: .75em;
  grid-row-gap: .75em;
  flex-flow: column;
  align-items: flex-start;
  padding-left: .25em;
  display: flex;
}

.opacity_80 {
  opacity: .8;
}

.max-width_23em {
  max-width: 23em;
}

.blog-card_title {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-right: 1.5em;
  display: flex;
}

.arrow-component {
  width: .8em;
  height: .8em;
  overflow: hidden;
}

.section-white {
  z-index: 2;
  background-color: var(--_color-palette---background-color--primary);
  position: relative;
}

.footer {
  background-color: var(--_color-palette---background-color--secondary);
  color: var(--_color-palette---font-color--secondary);
  position: sticky;
  bottom: 0;
}

.footer-content {
  justify-content: space-between;
  width: 100%;
  margin-top: 4em;
  margin-bottom: 16em;
  display: flex;
}

.footer-left_content {
  grid-column-gap: 1.625em;
  grid-row-gap: 1.625em;
  flex-flow: column;
  align-items: flex-start;
  max-width: 24em;
  display: flex;
}

.footer-links_component {
  grid-column-gap: 7.25em;
  grid-row-gap: 7.25em;
  grid-template-rows: auto;
  grid-template-columns: auto auto auto auto;
  grid-auto-columns: auto;
  display: grid;
}

.footer-links_content {
  grid-column-gap: 1.25em;
  grid-row-gap: 1.25em;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.footer-links {
  color: var(--_color-palette---font-color--secondary);
  text-transform: capitalize;
  padding-top: .5em;
  padding-bottom: .5em;
  transition: all .25s cubic-bezier(.77, 0, .175, 1);
}

.footer-links:hover {
  opacity: .8;
  transform: translate(0, 2px);
}

.footer-links_flex {
  flex-flow: column;
  display: flex;
}

.section-wrapper {
  position: relative;
}

.arrow-embed:where(.w-variant-8569cd55-88ef-f312-f34a-9cf482dd20a6) {
  justify-content: center;
  align-items: center;
  display: flex;
}

.cms-image {
  z-index: 2;
  background-color: var(--_color-palette---background-color--primary);
  position: relative;
}

.works-cms-image {
  border-radius: 1em;
  margin-top: 2em;
  margin-bottom: 2em;
  overflow: clip;
}

.works-cms-image.no-margin {
  margin-top: 0;
}

.works-cms-image.no-margin.is-grid {
  grid-column-gap: 2em;
  grid-row-gap: 2.75em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-top: 2em;
  margin-bottom: 2em;
  display: grid;
}

.parallax-photo {
  object-fit: cover;
  width: 100%;
  height: 105%;
}

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

.works-content {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  flex-flow: column;
  max-width: 48em;
  margin: 6em auto;
  display: flex;
}

.works-top-content {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  justify-content: space-between;
  display: flex;
}

.works-filters {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  text-align: left;
  flex-flow: column;
  display: flex;
}

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

.gallery-item {
  aspect-ratio: 1;
  border-radius: 1em;
  width: 100%;
  height: 100%;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
}

.empty-state {
  font-size: var(--_text-classes---regular);
  text-align: center;
  background-color: #0000;
}

.cms_header_image {
  height: 45svh;
  position: relative;
}

.cms_header {
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 2.5em;
  padding-bottom: 6em;
  display: flex;
}

.cms_title {
  grid-column-gap: 1.625em;
  grid-row-gap: 1.625em;
  flex-flow: column;
  align-items: flex-start;
  max-width: 43em;
  display: flex;
}

.cms_info {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  display: flex;
}

.cms_writter {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.writter_image {
  background-color: var(--_color-palette---background-color--secondary);
  border-radius: 1em;
  width: 4em;
  height: 4em;
  overflow: hidden;
}

.writter-info {
  grid-column-gap: .25em;
  grid-row-gap: .25em;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.reading-time {
  grid-column-gap: .625em;
  grid-row-gap: .625em;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.medium-elipse {
  background-color: var(--_color-palette---background-color--secondary);
  opacity: .2;
  border-radius: 50rem;
  width: .375em;
  height: .375em;
}

.read-time_content {
  grid-column-gap: .3em;
  grid-row-gap: .3em;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.blog-page_header {
  max-width: 43.0625em;
}

.blog-bottom-component {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-flow: column;
  display: flex;
}

.blog-bottom-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.share {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.share-icons {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  display: flex;
}

.share-link {
  color: var(--_color-palette---font-color--primary);
  transition: color .25s;
}

.share-link:hover {
  color: #d71c21;
}

.share-icons-embed {
  justify-content: center;
  align-items: center;
  display: flex;
}

.team-content {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 100svh;
  padding-top: 15svh;
  padding-bottom: 15svh;
  display: flex;
  position: relative;
}

.team-member_content {
  z-index: 2;
  grid-column-gap: 5em;
  grid-row-gap: 5em;
  background-color: #fbfbfb;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  margin-top: 3.25em;
  margin-bottom: 3.25em;
  padding: 2.5em;
  display: flex;
  position: relative;
}

.team-member_image {
  width: 27em;
  height: 28em;
  position: relative;
}

.team-member {
  grid-column-gap: 2.5em;
  grid-row-gap: 2.5em;
  flex-flow: column;
  width: 32.25em;
  display: flex;
}

.team-name {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.member-info {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  opacity: .5;
  color: var(--_color-palette---black-tertiary);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.vertical-line {
  background-color: #121212;
  width: .025em;
  height: .4375em;
}

.team-social {
  grid-column-gap: 1.5em;
  grid-row-gap: 1.5em;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.social-links {
  color: #ffffff80;
  transition: color .25s cubic-bezier(.77, 0, .175, 1);
}

.social-links:hover {
  color: #fc5b30;
}

.social-links.is-team {
  color: #121212;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  display: flex;
}

.social-links.is-team:hover {
  color: #d71c21;
}

.embed {
  justify-content: center;
  align-items: center;
  display: flex;
}

.team-button {
  grid-column-gap: .25em;
  grid-row-gap: .25em;
  color: #121212;
  flex-flow: column;
  display: flex;
  overflow: hidden;
}

.tertiary-button {
  grid-column-gap: .25em;
  grid-row-gap: .25em;
  text-transform: uppercase;
  cursor: pointer;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-left: .3em;
  padding-right: .3em;
  display: flex;
}

.button-underline {
  background-color: #0000001a;
  width: 100%;
  height: 1px;
  overflow: hidden;
}

.text-wrapper {
  height: 1.2em;
  overflow: clip;
}

.button-underline_fill {
  background-color: var(--_color-palette---black-primary);
  width: 100%;
  height: 1px;
}

.about-header {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  align-items: flex-start;
  max-width: 43.0625em;
  display: flex;
}

.about-wrapper {
  grid-column-gap: 5.5em;
  grid-row-gap: 5.5em;
  flex-flow: column;
  display: flex;
  position: relative;
}

.about-hero {
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 14.3125em;
  display: flex;
}

.about-parallax {
  height: 100svh;
  margin-top: 4em;
  overflow: hidden;
}

.team-component {
  grid-column-gap: 4.375em;
  grid-row-gap: 4.375em;
  flex-flow: column;
  display: flex;
}

.team-tag {
  grid-column-gap: 1.125em;
  grid-row-gap: 1.125em;
  flex-flow: column;
  display: flex;
}

.team-paragraphs {
  grid-column-gap: 8.2em;
  grid-row-gap: 8.2em;
  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: flex-end;
  margin-bottom: .2em;
  display: flex;
}

.max-width_27em {
  max-width: 27em;
}

.team-cards {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.team-link {
  grid-column-gap: 1.125em;
  grid-row-gap: 1.125em;
  flex-flow: column;
  display: flex;
}

.team-card_image {
  background-color: var(--_color-palette---main-color);
  border-radius: .4em;
  min-height: 29em;
  max-height: 29em;
  overflow: hidden;
}

.team-card_info {
  grid-column-gap: .75em;
  grid-row-gap: .75em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding-left: .25em;
  display: flex;
}

.double-images_wrapper {
  grid-column-gap: 0em;
  grid-row-gap: 0em;
  justify-content: flex-end;
  align-items: center;
  margin-top: 2em;
  margin-bottom: 10em;
  display: flex;
  overflow: clip;
}

.section-image {
  border-radius: 1em;
  width: 31em;
  height: 40em;
  overflow: hidden;
}

.section-image.is-first {
  z-index: 2;
  position: relative;
}

.section-image.is-second {
  margin-left: 2em;
}

.highlight_wrapper {
  flex-flow: wrap;
  display: block;
}

.highlight_component {
  z-index: -1;
  height: var(--_headings---h3);
  margin-left: .4em;
  margin-right: .4em;
  padding-left: .4em;
  padding-right: .4em;
  display: inline-flex;
  position: relative;
}

.text-highlight {
  background-color: var(--_color-palette---main-color);
  width: 100%;
  position: absolute;
  inset: 0% auto 0% 0%;
}

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

.display-inline {
  display: inline;
}

.image.is-parallax {
  height: 105%;
}

.square {
  aspect-ratio: 1;
}

.grid-gradient {
  z-index: 0;
  background-image: linear-gradient(180deg, #d3d8da00, var(--_color-palette---background-color--primary));
  pointer-events: none;
  height: 10em;
  position: absolute;
  inset: auto 0% 0%;
}

.grid-gradient.is-top {
  background-image: linear-gradient(0deg, #d3d8da00, var(--_color-palette---background-color--primary));
  top: 0%;
  bottom: auto;
}

.about-us-component {
  grid-column-gap: 4.375em;
  grid-row-gap: 4.375em;
  flex-flow: column;
  padding-top: 4.75em;
  padding-bottom: 2em;
  display: flex;
}

.about-us-tag {
  grid-column-gap: 1.125em;
  grid-row-gap: 1.125em;
  font-family: var(--_fonts---host-grotesk);
  flex-flow: column;
  display: flex;
}

.space-between {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  justify-content: space-between;
  display: flex;
}

.line-height_120 {
  line-height: 1.2;
}

.about-us_content {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  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;
  margin-bottom: 8em;
  display: flex;
}

.about-us_paragraph {
  max-width: 52em;
}

.max-width_18em {
  grid-column-gap: .375em;
  grid-row-gap: .375em;
  flex-flow: column;
  align-items: flex-start;
  max-width: 18em;
  display: flex;
}

.services-component {
  grid-column-gap: 1.125em;
  grid-row-gap: 1.125em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

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

.services-image {
  border-radius: .5em;
  justify-content: center;
  align-items: center;
  max-height: 24em;
  display: flex;
  overflow: hidden;
}

.services-card_info {
  grid-column-gap: .4em;
  grid-row-gap: .4em;
  flex-flow: column;
  max-width: 18em;
  margin-left: .25em;
  display: flex;
}

.awards-wrapper {
  margin-top: 2em;
  margin-bottom: 2em;
}

.awards-item {
  position: relative;
}

.awards-content {
  z-index: 2;
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  padding: 1.5em 1em;
  display: grid;
  position: relative;
}

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

.awards {
  text-align: right;
}

.awards-hover_bg {
  background-color: #e0e4e5;
  width: 100%;
  height: 0;
  position: absolute;
  inset: auto 0% 0%;
}

.hero-wrapper {
  height: 350svh;
  position: relative;
}

.hero {
  justify-content: center;
  align-items: center;
  height: 100svh;
  display: flex;
  position: sticky;
  top: 0;
}

.hero-heading_component {
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  height: 100svh;
  padding-top: 12em;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.hero-heading {
  font-family: var(--_fonts---host-grotesk);
  text-transform: uppercase;
  font-size: 14.1875em;
  font-weight: 700;
  line-height: .9;
  overflow: hidden;
}

.overflow-heading {
  justify-content: center;
  align-items: flex-start;
  display: flex;
  overflow: hidden;
}

.hero-cards_component {
  justify-content: center;
  align-items: flex-end;
  display: flex;
  position: absolute;
  inset: 0%;
}

.hero-card {
  position: absolute;
  overflow: hidden;
}

.hero-card.is-middle {
  z-index: 3;
  transform: translate(0, 14em);
}

.hero-card.is-left {
  z-index: 2;
  transform: rotate(-5deg)translate(-16em, 18em);
}

.hero-card.is-right {
  z-index: 1;
  transform: rotate(5deg)translate(16em, 18em);
}

.hero-card_image {
  z-index: 2;
  border-radius: .5em;
  width: 33em;
  height: 32em;
  position: relative;
  overflow: hidden;
}

.hero-card_content {
  z-index: 1;
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  flex-flow: column;
  padding-top: 1em;
  padding-left: .25em;
  display: flex;
  position: relative;
  top: 0;
}

.contact {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  height: 100svh;
  display: grid;
}

.contact-left {
  grid-column-gap: 4em;
  grid-row-gap: 4em;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.contact-info {
  grid-column-gap: 3.125em;
  grid-row-gap: 3.125em;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.contact-data {
  grid-column-gap: 1.3125em;
  grid-row-gap: 1.3125em;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.contact-link {
  font-size: var(--_text-classes---large);
  text-decoration: none;
}

.max-width_14 {
  max-width: 14.625em;
}

.form-field_wrapper {
  width: 100%;
}

.form-field {
  background-color: #0000;
  border: 1px solid #0000;
  border-bottom-color: #16161633;
}

.form-field.is-message {
  height: 90px;
  overflow: clip;
}

.form-fields_component {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  width: 100%;
  display: flex;
}

.form-fields_component.is-checkbox {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
}

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

.checkbox {
  background-color: #0000;
  border-radius: 50em;
  width: 100%;
  height: 100%;
  margin: 0;
  position: absolute;
  inset: 0%;
}

.checkbox.w--redirected-checked {
  border: 1px solid var(--_color-palette---white);
  color: var(--_color-palette---font-color--primary);
  background-color: #fff;
  margin: 0;
}

.checkbox-field {
  font-size: var(--_text-classes---regular);
  font-weight: var(--_text-weights---regular);
  border-radius: 50em;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: .75em 2.375em;
  display: flex;
  position: relative;
  overflow: hidden;
}

.checkbox-wrapper {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  display: flex;
}

.checkbox-label {
  z-index: 2;
  position: relative;
}

.font-grotesk {
  font-family: var(--_fonts---host-grotesk);
}

.navbar-left_content {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  display: flex;
}

.nav-menu, .nav-menu:where(.w-variant-69b9e812-1b8d-d9ee-a45d-178626f2025e) {
  display: none;
}

.div-block-9 {
  z-index: 1;
  background-image: linear-gradient(180deg, var(--_color-palette---background-color--primary), #16161600 20%);
  position: absolute;
  inset: 0%;
}

.team-heading {
  grid-column-gap: 1.125em;
  grid-row-gap: 1.125em;
  flex-flow: column;
  display: flex;
}

.mobile-content {
  display: none;
}

.button-home {
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: absolute;
  bottom: 4em;
  left: 0;
  right: 0;
}

.animation {
  z-index: 9999999;
  background-color: #161616;
  justify-content: center;
  align-items: center;
  height: 100svh;
  display: none;
  position: fixed;
  inset: 0% 0% auto;
  overflow: hidden;
}

.animation-heading {
  color: var(--_color-palette---font-color--secondary);
  display: flex;
  overflow: hidden;
}

@media screen and (max-width: 991px) {
  body {
    --_headings---h3: 3.875em;
    --_headings---h1: 5em;
    --_headings---h5: 2.5em;
    --_headings---h6: 2em;
    --_headings---h2: 4em;
    --_headings---h4: 3em;
    --_text-classes---regular: .875rem;
    --_text-classes---medium: 1rem;
    --_text-classes---large: 1.5em;
    --_text-classes---small: .75rem;
    --_text-classes---huge: 1.8em;
    --_text-classes---tiny: .75rem;
    font-size: 1.8svw;
  }

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

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

  .padding-section-large {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .container-large {
    max-width: none;
  }

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

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

  .fs-styleguide_heading-header {
    font-size: 4rem;
  }

  .fs-styleguide_section {
    grid-column-gap: 2.5rem;
    grid-template-columns: 1fr;
  }

  .text-color-primary.padding-top_1em {
    padding-top: 1rem;
  }

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

  .brand {
    color: var(--_color-palette---font-color--primary);
    font-size: var(--_headings---h5);
    justify-content: center;
    align-items: flex-start;
    text-decoration: none;
    display: flex;
  }

  .brand:lang(en) {
    color: var(--_color-palette---font-color--primary);
  }

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

  .margin-xxlarge {
    margin: 4rem;
  }

  .padding-xhuge {
    padding: 6rem;
  }

  .padding-xxhuge {
    padding: 8rem;
  }

  .padding-large {
    padding: 2.5rem;
  }

  .navbar-component {
    z-index: 2;
    width: auto;
    display: flex;
    position: absolute;
  }

  .margin-xxhuge {
    margin: 8rem;
  }

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

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

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

  .padding-global {
    padding-left: 2em;
    padding-right: 2em;
  }

  .margin-large {
    margin: 2.5rem;
  }

  .navbar {
    width: 100%;
    padding-left: 1.5em;
    padding-right: 1.5em;
  }

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

  .fs-styleguide_heading-medium {
    font-size: 3rem;
  }

  .margin-xlarge {
    margin: 3rem;
  }

  .margin-medium {
    margin: 1.5rem;
  }

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

  .padding-medium {
    padding: 1.5rem;
  }

  .padding-xxlarge {
    padding: 4rem;
  }

  .fs-styleguide_4-col, .fs-styleguide_3-col {
    grid-template-columns: 1fr;
  }

  .margin-huge {
    margin: 5rem;
  }

  .page-wrapper {
    overflow: clip;
  }

  .margin-xhuge {
    margin: 6rem;
  }

  .padding-huge {
    padding: 5rem;
  }

  .padding-section-medium {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

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

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

  .hide-tablet {
    display: none;
  }

  .padding-xlarge {
    padding: 3rem;
  }

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

  .fs-styleguide_1-col {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

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

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

  .primary-button {
    padding: .2rem;
    font-size: 1rem;
  }

  .section-style-guide {
    margin-top: 4rem;
  }

  .license-component {
    grid-column-gap: 2rem;
    grid-row-gap: 1rem;
    grid-template-columns: 1fr;
    margin-top: 5.3rem;
    margin-bottom: 6rem;
  }

  .style-guide-header {
    grid-row-gap: 2rem;
  }

  .text-box {
    max-width: none;
  }

  .submit-button {
    font-size: 1rem;
  }

  .footer-heading {
    font-size: 6.59em;
  }

  .bg-grid {
    display: none;
  }

  .works-wrapper.is-home {
    margin-top: 8em;
  }

  .works-header {
    padding-left: 0;
    padding-right: 0;
  }

  .works-card_content {
    flex-flow: column;
  }

  .button-text {
    height: .875rem;
    margin-left: 1.05rem;
  }

  .arrow-wrapper.is-secondary, .arrow-wrapper.is-primary {
    padding: .625rem;
  }

  .secondary-button {
    height: 1.5rem;
    padding-left: .25rem;
    padding-right: .25rem;
    font-size: 1rem;
  }

  .blog-card_image {
    height: 18em;
  }

  .blog-card_image.full-height {
    height: 100%;
  }

  .footer-content {
    flex-flow: column;
    margin-bottom: 8em;
  }

  .footer-left_content {
    max-width: none;
  }

  .footer-links_component {
    margin-top: 2em;
  }

  .works-cms-image {
    aspect-ratio: 16 / 9;
    border-radius: .5em;
    height: auto;
  }

  .works-cms-image.no-margin.is-grid {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
  }

  .works-content {
    max-width: none;
  }

  .works-top-content {
    width: 100%;
  }

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

  .role {
    max-width: none;
  }

  .gallery-item {
    border-radius: .5em;
  }

  .cms_header {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 4em;
  }

  .cms_title {
    max-width: none;
  }

  .cms_info {
    justify-content: space-between;
    width: 100%;
  }

  .cms_writter {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .writter_image {
    border-radius: .5em;
    min-width: 4em;
    min-height: 4em;
  }

  .blog-bottom-component {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .team-content {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    height: auto;
  }

  .team-member_content {
    flex-flow: column;
    width: 100%;
    margin-top: 0;
    margin-bottom: 4em;
  }

  .team-member_image {
    width: 100%;
    height: 40em;
  }

  .team-member {
    width: 100%;
  }

  .team-social {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
  }

  .team-social.is-menu {
    justify-content: center;
    align-items: center;
    margin-top: 3.3125em;
  }

  .tertiary-button {
    padding-left: .25rem;
    padding-right: .25rem;
    font-size: 1rem;
  }

  .text-wrapper {
    height: 1.5rem;
  }

  .about-header {
    padding-left: 0;
    padding-right: 0;
  }

  .about-hero {
    margin-top: 8em;
  }

  .about-parallax {
    height: 60svh;
    margin-top: 0;
  }

  .team-paragraphs {
    grid-column-gap: 4em;
    grid-row-gap: 4em;
  }

  .team-card_image {
    height: 30em;
    min-height: 30em;
    max-height: 30em;
  }

  .double-images_wrapper {
    margin-bottom: 8em;
  }

  .section-image {
    border-radius: .5em;
    width: 20em;
    height: 30em;
  }

  .about-us_content {
    grid-column-gap: 4em;
    grid-row-gap: 4em;
    flex-flow: column;
  }

  .about-us_paragraph, .max-width_18em {
    max-width: none;
  }

  .max-width_18em.is-mobile {
    max-width: 20em;
  }

  .hero-wrapper {
    width: 100%;
    overflow: clip;
  }

  .hero-heading_component {
    justify-content: center;
    align-items: center;
    padding-top: 0;
    padding-bottom: 4em;
  }

  .hero-heading {
    font-size: 10em;
  }

  .hero-cards_component {
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    left: auto;
    right: auto;
  }

  .hero-card {
    max-width: 25em;
  }

  .hero-card.is-left {
    position: relative;
  }

  .hero-card_image {
    width: 22em;
    height: 22em;
  }

  .contact {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    padding-top: 15svh;
    display: flex;
  }

  .contact-left, .form, .form-block {
    width: 100%;
  }

  .navbar-left_content {
    display: none;
  }

  .nav-menu {
    text-align: center;
    background-color: #ebeeef;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding-top: 15svh;
    padding-bottom: 15svh;
    display: flex;
    position: fixed;
    inset: 0%;
  }

  .menu-button {
    z-index: 2;
    color: var(--_color-palette---font-color--primary);
    padding: 0;
  }

  .menu-button.w--open {
    color: var(--_color-palette---font-color--primary);
    background-color: #0000;
  }

  .mobile-content {
    display: flex;
  }

  .email-link {
    margin-top: 6em;
  }

  .button-home {
    justify-content: flex-end;
    align-items: center;
    width: auto;
    margin-right: 6em;
    display: flex;
    bottom: 4em;
  }

  .about-hero_wrapper {
    flex-flow: column;
    display: flex;
  }

  .section {
    order: -1;
  }
}

@media screen and (max-width: 767px) {
  body {
    --_headings---h3: 3.875em;
    --_headings---h1: 5em;
    --_headings---h5: 2.5em;
    --_headings---h6: 2em;
    --_headings---h2: 4em;
    --_headings---h4: 3em;
    font-size: 2svw;
  }

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

  .heading-style-h3 {
    font-size: 3.5em;
  }

  .text-size-large {
    font-size: 1.25rem;
  }

  .fs-styleguide_section-header {
    font-size: .875rem;
  }

  .padding-section-large {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

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

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

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

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

  .margin-xxlarge {
    margin: 3rem;
  }

  .padding-xhuge {
    padding: 4rem;
  }

  .padding-xxhuge {
    padding: 4.5rem;
  }

  .padding-large {
    padding: 1.5rem;
  }

  .padding-section-small {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .hide-mobile-landscape {
    display: none;
  }

  .heading-style-h2 {
    font-size: 2rem;
  }

  .margin-xxhuge {
    margin: 4.5rem;
  }

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

  .heading-style-h5 {
    font-size: .875rem;
  }

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

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

  .margin-large {
    margin: 1.5rem;
  }

  .fs-styleguide_heading-medium {
    font-size: 2rem;
  }

  .margin-xlarge {
    margin: 2rem;
  }

  .margin-medium {
    margin: 1.25rem;
  }

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

  .padding-medium {
    padding: 1.25rem;
  }

  .padding-xxlarge {
    padding: 3rem;
  }

  .text-style-nowrap {
    white-space: normal;
  }

  .margin-huge {
    margin: 3.5rem;
  }

  .margin-xhuge {
    margin: 4rem;
  }

  .padding-huge {
    padding: 3.5rem;
  }

  .text-size-huge {
    font-size: 1.25rem;
  }

  .padding-section-medium {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

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

  .padding-xlarge {
    padding: 2rem;
  }

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

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

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

  .license-component {
    grid-row-gap: 4rem;
    grid-template-columns: 1fr;
    margin-top: 0;
    margin-bottom: 5.7rem;
  }

  .style-guide-header {
    font-size: .875rem;
  }

  .hero-style-guide {
    padding-top: 8rem;
  }

  .license-content {
    grid-row-gap: 4rem;
    flex-direction: column;
  }

  .footer-component {
    justify-content: space-between;
    padding-bottom: 3.2em;
  }

  .footer-heading {
    font-size: 5.94em;
    display: none;
  }

  .work-marquee {
    max-width: 20em;
  }

  .collection-list {
    grid-template-columns: auto;
  }

  .works-card_content {
    flex-flow: column;
    justify-content: flex-start;
  }

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

  .blog-cards_list {
    grid-template-columns: 1fr 1fr;
  }

  .footer-content {
    height: 100%;
    margin-bottom: 0;
  }

  .footer-left_content {
    order: 1;
    max-width: none;
    margin-top: 4em;
  }

  .footer-links_component {
    grid-row-gap: 4em;
    grid-template-columns: auto auto;
    align-items: start;
    margin-top: 0;
  }

  .div-block-8 {
    margin-top: 2em;
  }

  .works-cms-image.no-margin.is-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .works-top-content {
    flex-flow: wrap;
  }

  .role {
    max-width: none;
  }

  .cms_writter {
    flex-flow: row;
  }

  .team-member_content {
    margin-bottom: 4em;
  }

  .about-hero {
    grid-column-gap: 4em;
    grid-row-gap: 4em;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  .team-paragraphs {
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: flex-start;
  }

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

  .team-cards {
    grid-column-gap: 1em;
    grid-row-gap: 4em;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .double-images_wrapper {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    flex-flow: column;
  }

  .section-image {
    width: 100%;
    height: 25em;
  }

  .section-image.is-second {
    order: -1;
    margin-left: 0;
  }

  .about-us_content {
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 0;
  }

  .services-component {
    grid-column-gap: 4em;
    grid-row-gap: 4em;
    grid-template-columns: 1fr;
  }

  .services-image {
    aspect-ratio: 1;
    max-height: none;
  }

  .services-card_info {
    max-width: none;
  }

  .awards-content {
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    grid-template-columns: 1fr 1fr;
    padding-top: 2em;
    padding-bottom: 2em;
  }

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

  .contact {
    grid-column-gap: 4em;
    grid-row-gap: 4em;
    height: auto;
    min-height: 100svh;
    padding-top: 15svh;
    padding-bottom: 15svh;
  }

  .form {
    grid-column-gap: 4em;
    grid-row-gap: 4em;
  }

  .checkbox-wrapper {
    grid-column-gap: .5em;
  }

  .font-size_hero {
    font-size: var(--_text-classes---small);
  }

  .button-home {
    margin-right: 4em;
  }
}

@media screen and (max-width: 479px) {
  body {
    --_headings---h3: 3.875em;
    --_headings---h1: 5em;
    --_headings---h5: 2.5em;
    --_headings---h6: 2em;
    --_headings---h2: 4em;
    --_headings---h4: 3em;
  }

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

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

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

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

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

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

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

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

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

  .hide-mobile-portrait {
    display: none;
  }

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

  .fs-styleguide_row {
    flex-wrap: wrap;
  }

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

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

  .license-component {
    grid-row-gap: 1.75rem;
    width: 100%;
    margin-bottom: 2.5rem;
  }

  .hero-style-guide {
    border-radius: 0;
    margin-top: 0;
    padding-top: 7rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .style-guide-content {
    margin-bottom: 6rem;
  }

  .credits-wrapper {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    order: 1;
    justify-content: center;
    align-items: center;
  }

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

  .footer-heading {
    font-size: 5.59em;
  }

  .work-marquee {
    max-width: 25em;
  }

  .small-elipse {
    width: .3em;
    height: .3em;
  }

  .works-card_content {
    flex-flow: column;
  }

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

  .button-text_content {
    white-space: nowrap;
  }

  .blog-cards_list {
    grid-row-gap: 4em;
    grid-template-columns: 1fr;
  }

  .blog-card_image {
    height: 25em;
    max-height: none;
  }

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

  .footer-left_content {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
  }

  .footer-links_component {
    margin-top: 4em;
  }

  .div-block-8 {
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
  }

  .works-top-content {
    flex-flow: wrap;
  }

  .writter_image {
    width: 8em;
    height: 8em;
  }

  .team-member_content {
    grid-column-gap: 16em;
    grid-row-gap: 16em;
    height: 100%;
    margin-bottom: 4em;
    padding-bottom: 4em;
  }

  .team-member {
    grid-column-gap: 4em;
    grid-row-gap: 4em;
  }

  .member-info {
    grid-column-gap: 1.5em;
    grid-row-gap: 1.5em;
    flex-flow: wrap;
  }

  .team-social {
    grid-column-gap: 4em;
    grid-row-gap: 4em;
    flex: none;
    height: 9.59375px;
  }

  .awards-content {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    grid-template-columns: 1fr;
  }

  .awards {
    text-align: left;
  }

  .hero-heading_component {
    padding-bottom: 8em;
  }

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

  .form-fields_component {
    flex-flow: column;
  }

  .checkbox-wrapper {
    flex-flow: wrap;
  }

  .button-home {
    margin-right: 4em;
  }
}

#w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a35d9-4490fbe1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a35f8-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a35fd-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3602-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3607-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a360d-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3613-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3619-4490fbe1 {
  justify-self: start;
}

#w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3701-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3709-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3725-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3748-4490fbe1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a374b-4490fbe1 {
  justify-self: start;
}

#w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a374d-4490fbe1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3750-4490fbe1 {
  justify-self: start;
}

#w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a37a0-4490fbe1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a37e0-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a37e5-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a37ea-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a37ef-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a37f4-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a37f9-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a380d-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3812-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3817-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a381c-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3821-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a3826-4490fbe1 {
  justify-self: start;
}

#w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a38aa-4490fbe1, #w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a38d7-4490fbe1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_520fc0e6-55ed-0bfe-ca50-c37f078a391a-4490fbe1 {
  justify-self: start;
}

#w-node-_11c8bcde-56d6-2b8e-0642-02ab17ef6dbb-4490fbe2, #w-node-_6784d5d8-e47d-0d16-5703-e8f57f4b3d6c-4490fbe3, #w-node-_6784d5d8-e47d-0d16-5703-e8f57f4b3d8b-4490fbe3, #w-node-_6784d5d8-e47d-0d16-5703-e8f57f4b3db8-4490fbe3 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-af0a93d0-0c1e-7d35-86b7-1ec7b75a144c-4490fbec {
  grid-area: 1 / 4 / 2 / 8;
}

#w-node-af0a93d0-0c1e-7d35-86b7-1ec7b75a144f-4490fbec {
  grid-area: 1 / 8 / 2 / 13;
}

#w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae81-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae84-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae87-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae8e-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae91-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae94-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae9b-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae9e-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aea1-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aea8-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aeab-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aeae-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aeb5-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aeb8-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aebb-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aec2-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aec5-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aec8-3273ae7a {
  align-self: center;
}

@media screen and (max-width: 767px) {
  #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae81-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae8e-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae9b-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aea8-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aeb5-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aec2-3273ae7a {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_93dda1e4-68a4-14c8-ad70-0635e5b0b8fb-4490fbe7 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae81-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae8e-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273ae9b-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aea8-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aeb5-3273ae7a, #w-node-c1e28f70-73c4-02a2-9ebc-b1813273aec2-3273ae7a {
    grid-column: span 1 / span 1;
  }
}

@font-face {
  font-family: 'Satoshi';
  src: url('../fonts/Satoshi-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('../fonts/Satoshi-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('../fonts/Satoshi-Black.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('../fonts/Satoshi-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi Variable';
  src: url('../fonts/Satoshi-Variable.woff2') format('woff2');
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('../fonts/Satoshi-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('../fonts/Satoshi-VariableItalic.woff2') format('woff2'), url('../fonts/Satoshi-Italic.woff2') format('woff2');
  font-weight: 300 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('../fonts/Satoshi-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('../fonts/Satoshi-BlackItalic.woff2') format('woff2');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('../fonts/Satoshi-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('../fonts/Satoshi-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
/* ===== Allow Agency override: square team photos, no orange band ===== */
.team-card_image {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  background-color: transparent !important;
}
.team-card_image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* ===== Allow Agency override: mobile logo image in navbar ===== */
.mobile-content .secondary-button.is-navbar {
  height: auto;
  overflow: visible;
  padding: 0;
}
.mobile-logo {
  height: 2.1rem;
  width: auto;
  display: block;
}

/* ===== Allow Agency: footer Dublin tagline ===== */
.footer-tagline {
  margin: 0 0 1.25em;
  opacity: .7;
}

/* ===== Allow Agency: black page-load loader slide-up on mobile ===== */
@media screen and (max-width: 991px) {
  .animation {
    display: flex !important;
    transform: translateY(0);
    animation: aaLoaderUp 1.5s cubic-bezier(.76,0,.24,1) forwards;
    will-change: transform;
  }
  @keyframes aaLoaderUp {
    0%, 38% { transform: translateY(0); }
    100%    { transform: translateY(-100%); }
  }
}

/* ===== Allow Agency: keep corner logo visible above the open mobile menu ===== */
@media screen and (max-width: 991px) {
  .nav-menu { z-index: 1; }
  .navbar-component { z-index: 10; }
  .mobile-content { position: relative; z-index: 11; }
}

/* ===== Allow Agency: centered clickable logo in the desktop top bar ===== */
.desktop-logo-center { display: none; }
@media screen and (min-width: 992px) {
  .navbar-component { position: relative; }
  .desktop-logo-center {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
  }
  .desktop-center-logo-img { height: 1.6em; width: auto; display: block; }
}

/* ===== Allow Agency: pinned logo that auto-inverts over the page as you scroll ===== */
@media screen and (max-width: 991px) {
  .mobile-content { position: fixed; top: 2em; left: 1.5em; z-index: 10000; }
}
@media screen and (min-width: 992px) {
  .desktop-logo-center { position: fixed; top: 2.2em; left: 50%; transform: translateX(-50%); z-index: 10000; }
}
.mobile-logo, .desktop-center-logo-img { mix-blend-mode: difference; }

/* =================================================================
   Allow Agency — pinned one-line wordmark with working layering effect
   The old navbar-bound logos are retired; this logo lives at page (body)
   level so mix-blend-mode can blend it against the page as you scroll.
   ================================================================= */
.mobile-content, .desktop-logo-center { display: none !important; }

.aa-pinned-logo {
  position: fixed;
  z-index: 10000;
  font-family: 'Brockmann', 'Host Grotesk', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1;
  color: #ffffff;                     /* white + difference = auto-inverts over the page */
  mix-blend-mode: difference;
  letter-spacing: .02em;
}
@media screen and (max-width: 991px) {
  .aa-pinned-logo { top: 1.7em; left: 1.5em; font-size: 1.15rem; }
}
@media screen and (min-width: 992px) {
  .aa-pinned-logo { top: 2.35em; left: 50%; transform: translateX(-50%); font-size: 1.05rem; }
}

/* ===== Allow Agency: animated "Book a discovery call" button (rebuilds the site button motion in CSS) ===== */
.aa-book-call { display:inline-flex; align-items:center; gap:1em; border:1px solid #161616; border-radius:.4rem; padding:.5rem .5rem .5rem 1.3rem; background:transparent; color:#161616; text-decoration:none; text-transform:uppercase; font-size:.9rem; letter-spacing:.04em; font-weight:500; line-height:1; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.aa-book-text { display:block; height:1.1em; overflow:hidden; }
.aa-book-roll { display:flex; flex-direction:column; transition:transform .5s cubic-bezier(.62,.05,.16,1); }
.aa-book-roll > span { display:flex; align-items:center; height:1.1em; white-space:nowrap; }
.aa-book-call:hover .aa-book-roll { transform:translateY(-1.1em); }
.aa-book-arrow { position:relative; flex:none; width:2.4em; height:2.4em; border-radius:.3rem; background:#161616; overflow:hidden; }
.aa-arrow { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#ffffff; transition:transform .5s cubic-bezier(.62,.05,.16,1); }
.aa-arrow svg { width:.85em; height:.85em; }
.aa-arrow-2 { transform:translate(-130%,130%); }
.aa-book-call:hover .aa-arrow-1 { transform:translate(130%,-130%); }
.aa-book-call:hover .aa-arrow-2 { transform:translate(0,0); }

/* ===== Contact page — Option C v3: unified centred single-column toggle (desktop + mobile) ===== */
.aa-contact-grid {
  display:grid;
  grid-template-columns:1fr;
  grid-template-areas:"head" "intro" "tabs" "form" "book" "details";
  row-gap:2.2em;
  width:100%;
  max-width:760px;
  margin:0 auto;
  padding-top:12em;
  padding-bottom:8em;
}
.aa-area-head{grid-area:head;} .aa-area-intro{grid-area:intro;} .aa-area-tabs{grid-area:tabs;}
.aa-area-book{grid-area:book;} .aa-area-form{grid-area:form;} .aa-area-details{grid-area:details;}
.aa-c-left { display:contents; }
.aa-c-right { width:100%; }
.aa-c-heading { text-transform:uppercase; margin:0; }
.aa-c-intro { max-width:none; }
.aa-c-intro .text-size-large { opacity:.7; }
.aa-c-details { width:100%; max-width:none; margin-top:1em; }
.aa-c-details.contact-info { gap:1.6em 2.5em; }
.aa-c-details .contact-data { gap:.45em; }
.aa-panel-book .aa-book-call { margin:0; }
.aa-formhead { display:none; }

/* sliding pill toggle */
.aa-toggle { position:relative; display:flex; width:100%; background:#161616; border-radius:999px; padding:.3em; }
.aa-toggle-thumb { position:absolute; top:.3em; bottom:.3em; left:.3em; width:calc(50% - .3em); background:#fff; border-radius:999px; transition:transform .38s cubic-bezier(.6,.05,.2,1); }
.js-tabs[data-active="msg"] .aa-toggle-thumb { transform:translateX(100%); }
.aa-tab { position:relative; z-index:1; flex:1; padding:.95em .5em; border:0; background:transparent; color:rgba(255,255,255,.6); font-family:inherit; font-size:.8em; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:color .3s; }
.aa-tab sup { font-size:.62em; vertical-align:super; opacity:.6; margin-left:.25em; }
.js-tabs[data-active="msg"] .aa-tab[data-panel="msg"],
.js-tabs[data-active="book"] .aa-tab[data-panel="book"] { color:#161616; }
.js-tabs[data-active="book"] .aa-panel-msg { display:none; }
.js-tabs[data-active="msg"] .aa-panel-book { display:none; }

@media screen and (max-width:991px) {
  .aa-contact-grid { max-width:none; row-gap:2.2em; padding-top:11em; padding-bottom:5.5em; }
  .aa-c-heading { font-size:2.6em; line-height:1.05; }
  .aa-c-intro .text-size-large { font-size:1.15em; line-height:1.5; }
  .aa-c-details.contact-info { gap:1.9em 2.5em; }
  .aa-c-details .contact-link, .aa-c-details .text-size-large { font-size:1.15em; }
}
@media screen and (max-width:479px) {
  .aa-contact-grid { padding-top:10em; row-gap:2em; }
  .aa-c-heading { font-size:2.2em; }
}

/* ===== Contact form — refined chips + fields (desktop + mobile) ===== */
.aa-contact-page .checkbox-field { padding:.7em 1.85em; font-size:var(--_text-classes---regular); transition:color .25s ease; }
.aa-contact-page .checkbox { border:1px solid rgba(22,22,22,.22); background-color:transparent; transition:background-color .25s ease, border-color .25s ease; }
.aa-contact-page .checkbox-field:hover .checkbox:not(.w--redirected-checked) { border-color:rgba(22,22,22,.55); }
.aa-contact-page .checkbox-field:focus-within .checkbox { border-color:#161616; }
.aa-contact-page .checkbox.w--redirected-checked { background-color:#161616; border-color:#161616; background-image:none; }
.aa-contact-page .checkbox.w--redirected-focus { box-shadow:none; }
.aa-contact-page .checkbox.w--redirected-checked ~ .checkbox-label { color:#fff; }
.aa-contact-page .checkbox-wrapper { flex-wrap:wrap; gap:.75em; }

.aa-contact-page .form-field { transition:border-color .25s ease; }
.aa-contact-page .form-field::placeholder { color:rgba(22,22,22,.38); }
.aa-contact-page .form-field:focus { outline:none; box-shadow:none; border-color:transparent; border-bottom-color:#161616; }
.aa-contact-page .form-field.is-message { height:128px; }

@media screen and (max-width:479px) {
  .aa-contact-page .checkbox-field { padding:.7em 1.4em; }
}

/* ===== Custom trailing cursor (mouse only, JKR-style) ===== */
@media (pointer:fine) {
  html.aa-cursor-on, html.aa-cursor-on * { cursor:none !important; }
  html.aa-cursor-on input, html.aa-cursor-on textarea { cursor:text !important; }
  html.aa-cursor-on iframe { cursor:auto !important; }
  .aa-cursor-ring {
    position:fixed; top:0; left:0; width:16px; height:16px;
    border:1px solid rgba(255,255,255,.30); border-radius:50%;
    background:rgba(244,245,245,.50);
    /* backdrop-filter removed: per-frame blur on a moving element caused severe lag */
    display:flex; align-items:center; justify-content:center;
    pointer-events:none; z-index:100000;
    opacity:0; will-change:transform;
    transition:width .3s ease, height .3s ease, opacity .25s ease;
  }
  .aa-cursor-ring.is-hover { width:24px; height:24px; }
}

/* ===== Standalone "Scroll" badge (homepage landing cue) =====
   A real page element, independent of the cursor, so it appears
   immediately on load and stays steady until the user scrolls. */
.aa-scroll-badge {
  position:fixed; left:50%; top:38%;
  transform:translate(-50%,-50%);
  width:88px; height:88px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.30);
  background:rgba(244,245,245,.50);
  pointer-events:none; z-index:90000;
  opacity:1; transition:opacity .4s ease;
}
.aa-scroll-badge_label {
  color:#161616; font-size:9px; letter-spacing:.12em;
  text-transform:uppercase; pointer-events:none;
}
.aa-scroll-badge.is-hidden { opacity:0; }
/* Hide the badge while the mobile menu is open so it doesn't sit over the links. */
.aa-scroll-badge.aa-menu-open { opacity:0; }
@media (prefers-reduced-motion: reduce) {
  .aa-scroll-badge { transition:none; }
}
/* Mobile: smaller disk, sitting below the ALLOW AGENCY wordmark and above the cards. */
@media screen and (max-width:767px) {
  .aa-scroll-badge {
    width:52px; height:52px;
    top:auto; bottom:23%;
  }
  .aa-scroll-badge_label { font-size:7px; letter-spacing:.06em; }
}

/* ===== Tagline marquee — custom seamless loop (replaces Webflow IX) ===== */
.work-marquee { position: relative; }
.work-marquee .aa-marquee-track {
  display: flex; align-items: center; flex: none; width: max-content;
  animation: aaMarquee 20s linear infinite;
  will-change: transform;
}
.work-marquee:hover .aa-marquee-track { animation-play-state: paused; }
@keyframes aaMarquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .work-marquee .aa-marquee-track { animation: none; transform: none; }
}

/* ===== Hero cards: equalize text-block height so the three card images
   sit level. Cards are bottom-anchored, so a shorter description used to
   push its whole card down by one line. 4lh = four line-boxes. ===== */
@media (min-width: 992px) {
  .hero-card_content .max-width_18em p { min-height: 4lh; }
}

/* ===== Works cards: uniform image frame on desktop. The template capped
   card images at max-height:41em, so tall originals all cropped to 41em
   while square replacements rendered slightly shorter, breaking row
   alignment. Fix the frame at 41em and cover-crop every image. ===== */
@media (min-width: 992px) {
  .works-list-wrapper .collection-list { grid-template-columns: 1fr 1fr; }
  .works-cards_image { height: 41em; }
  .works-cards_image img { width: 100%; height: 100%; object-fit: cover; }
  /* video cards: fill the same fixed frame; !important beats the inline
     aspect-ratio sizing that setVideo applies for fluid (mobile) layouts */
  .works-cards_image video { width: 100% !important; height: 100% !important; aspect-ratio: auto !important; }
}

/* ===== Homepage contact module: the Book-a-call / Send-a-message toggle
   duplicated from the contact page, placed between the CTA and News. ===== */
.section_home-contact { padding-bottom: 6em; }
.home-contact { display: flex; flex-direction: column; gap: 2.2em; max-width: 46em; margin: 0 auto; }

/* ============================================================
   OUR SERVICES  (homepage — added v76)
   Arrow-led ledger rows. Coral accent = --_color-palette---main-color.
   Sits inside .works-wrapper.is-home, aligned to .works-header box.
   ============================================================ */
.aa-services {
  margin-top: 4em;
  width: 100%;
  max-width: 85em;
  margin-left: auto;
  margin-right: auto;
  padding-left: 6.25em;
  padding-right: 6.25em;
}

.aa-services.is-works {
  margin-top: 9.5em;
  margin-bottom: 5.5em;
}

.aa-services_eyebrow {
  font-family: var(--_fonts---host-grotesk);
  font-size: .8em;
  font-weight: 500;
  letter-spacing: .22em;
  color: var(--_color-palette---font-color--primary);
  margin-bottom: 2em;
}

.aa-services_rows {
  display: flex;
  flex-flow: column;
  border-top: .04em solid rgba(22, 22, 22, .3);
}
.aa-service {
  position: relative;
  display: grid;
  grid-template-columns: 3.2em minmax(0, 7fr) minmax(0, 9fr);
  align-items: center;
  gap: 2.4em;
  padding: 1.5em .2em;
  border-bottom: .04em solid rgba(22, 22, 22, .16);
  text-decoration: none;
  color: inherit;
  transition: padding-left .45s cubic-bezier(.2, .7, .2, 1);
}
.aa-service::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -.04em;
  height: .12em;
  width: 100%;
  background: var(--_color-palette---font-color--primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}
.aa-service:hover,
.aa-service:focus-visible {
  padding-left: .8em;
  outline: none;
}
.aa-service:hover::after,
.aa-service:focus-visible::after { transform: scaleX(1); }

.aa-service_sq {
  position: relative;
  width: 2.6em;
  height: 2.6em;
  border-radius: .25em;
  border: .025em solid var(--_color-palette---button-color);
  background: var(--_color-palette---button-color);
  overflow: hidden;
  flex: none;
  transition: background .35s ease, border-color .35s ease;
}
.aa-service:hover .aa-service_sq,
.aa-service:focus-visible .aa-service_sq {
  background: var(--_color-palette---background-color--primary);
  border-color: rgba(22, 22, 22, .32);
}
.aa-arrow {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--_color-palette---font-color--secondary);
  transition: transform .42s cubic-bezier(.62, .05, .16, 1), color .35s ease;
}
.aa-arrow svg { width: .85em; height: .85em; }
.aa-arrow.is-primary { transform: translateX(0); }
.aa-arrow.is-secondary { transform: translateX(-100%); }
.aa-service:hover .aa-arrow.is-primary,
.aa-service:focus-visible .aa-arrow.is-primary { transform: translateX(100%); }
.aa-service:hover .aa-arrow.is-secondary,
.aa-service:focus-visible .aa-arrow.is-secondary { transform: translateX(0); }
.aa-service:hover .aa-arrow,
.aa-service:focus-visible .aa-arrow { color: var(--_color-palette---font-color--primary); }

.aa-service_name {
  font-family: 'Brockmann', var(--_fonts---host-grotesk), sans-serif;
  font-weight: 600;
  font-size: 1.9em;
  line-height: 1.04;
  letter-spacing: -.005em;
  text-transform: uppercase;
  color: var(--_color-palette---font-color--primary);
}
.aa-service_tag {
  display: inline-block;
  font-family: var(--_fonts---host-grotesk);
  font-size: .72em;
  font-weight: 500;
  letter-spacing: .18em;
  color: #161616;
  background: var(--_color-palette---main-color);
  border-radius: .2em;
  padding: .25em .6em;
  margin-bottom: .7em;
}
.aa-service_desc {
  display: block;
  font-family: var(--_fonts---satoshi);
  font-weight: 400;
  font-size: max(15px, 1.02em); /* v168: 15px accessibility floor */
  line-height: 1.55;
  color: rgba(22, 22, 22, .66);
  max-width: 42em;
}

@media screen and (max-width: 991px) {
  .aa-services { padding-left: 0; padding-right: 0; }
  .aa-service {
    grid-template-columns: 2.6em 1fr;
    row-gap: .8em;
    column-gap: 1.4em;
  }
  .aa-service_name { grid-column: 2; }
  .aa-service_body { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .aa-service, .aa-service::after, .aa-arrow, .aa-service_sq { transition: none; }
}

/* v91 (restores v86): mobile gallery grids revert to square items.
   The template's mobile rule gives the grid wrapper aspect-ratio 16/9,
   which squashes the square .gallery-item cells; single feature images
   (works-cms-image without .is-grid) keep their intended mobile 16:9. */
@media screen and (max-width: 991px) {
  .works-cms-image.no-margin.is-grid {
    aspect-ratio: auto;
  }
}

/* v94: gallery items flagged #wide span both columns at 16:9
   (used for the Pulse hero-wide occupying the old logo-tile slot) */
.works-cms-image.is-grid .gallery-item.is-wide {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 9;
}

/* v103: hero cards link to their case studies (hero-card is already
   position:absolute in the template, so it's a containing block as-is) */
.hero-card_link { position: absolute; inset: 0; z-index: 6; }

/* v103: About page feature images render square on mobile */
@media screen and (max-width: 767px) {
  .section-image { width: 100%; height: auto; aspect-ratio: 1 / 1; overflow: hidden; }
  .section-image .image.is-parallax { width: 100%; height: 100%; object-fit: cover; }
}

/* v103: touch tap-reveal on works cards (non-aaran cards; aaran handled in injected style) */
@media (hover: none) {
  .works-item.is-tapped .works-card_logo {
    opacity: 1 !important;
    transform: none !important;
    -webkit-transform: none !important;
    transition: opacity .35s ease, transform .35s ease;
  }
}

/* v105: Call Us button in the contact details */
.aa-call-button { margin-top: .5em; display: inline-flex; }

/* v106: footer Call Us button spacing */
.aa-call-button.is-footer { margin-top: 1em; margin-bottom: .5em; }

/* v109: footer wordmark spans and centers */
.footer-heading {
  font-size: 12.2vw;
  text-align: center;
  white-space: nowrap;
  width: 100%;
}

/* v110: WhatsApp under the footer Call Us button — square flood + slide swap */
.aa-whatsapp {
  position: relative;
  display: inline-flex;
  width: 3.2em;
  height: 3.2em;
  margin-top: 1em;
  border: .06em solid rgba(251, 251, 251, .35);
  border-radius: .5em;
  overflow: hidden;
  color: #fbfbfb;
  transition: background .35s ease, border-color .35s ease;
}
.aa-whatsapp_icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .42s cubic-bezier(.62, .05, .16, 1), color .35s ease;
}
.aa-whatsapp_icon svg { width: 1.6em; height: 1.6em; fill: currentColor; display: block; }
.aa-whatsapp_icon.is-b { transform: translateX(-110%); }
.aa-whatsapp:hover { background: #fbfbfb; border-color: #fbfbfb; }
.aa-whatsapp:hover .aa-whatsapp_icon.is-a { transform: translateX(110%); }
.aa-whatsapp:hover .aa-whatsapp_icon.is-b { transform: translateX(0); color: #161616; }
@media (prefers-reduced-motion: reduce) { .aa-whatsapp_icon { transition: none; } }

/* v112: WhatsApp icon light-background variant (contact page) */
.aa-whatsapp.is-light { display: flex; border-color: rgba(22, 22, 22, .35); color: #161616; margin: .9em 0 0 0; }
.aa-whatsapp.is-light:hover { background: #171920; border-color: #171920; }
.aa-whatsapp.is-light:hover .aa-whatsapp_icon.is-b { color: #fbfbfb; }

/* v118: "We specialise in" social marquee — homepage + works, under the
   services ledger. Full-bleed via 50vw margins (page-wrapper clips the
   scrollbar overshoot). Speed is locked to ~20px/s by an inline script
   on the page; the 60s value here is only a no-JS fallback. */
.aa-social-marquee {
  margin: 8em calc(50% - 50vw);
  border-top: .04em solid rgba(22, 22, 22, .22);
  border-bottom: .04em solid rgba(22, 22, 22, .22);
  padding: .8em 0;
}
.aa-smq_window { overflow: hidden; position: relative; }
.aa-smq_track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: aaSocialMarquee 60s linear infinite;
  will-change: transform;
}
.aa-social-marquee:hover .aa-smq_track { animation-play-state: paused; }
@keyframes aaSocialMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.aa-smq_group { display: flex; align-items: center; flex: none; }
.aa-smq_dot {
  width: .32em; height: .32em; border-radius: 50%;
  background: var(--_color-palette---colors--corail, #ff7e5d);
  flex: none; margin: 0 1.35em;
}
.aa-smq_word { font-size: .78em; font-weight: 500; letter-spacing: .18em; white-space: nowrap; }
.aa-smq_pill {
  font-size: .78em; font-weight: 500; letter-spacing: .18em; white-space: nowrap; flex: none;
  border: .06em solid rgba(22, 22, 22, .35); border-radius: 2em; padding: .62em 1.15em;
}
.aa-smq_tile {
  position: relative; width: 2.05em; height: 2.05em; border-radius: .6em; flex: none;
  overflow: hidden; background: #171920; color: #fbfbfb;
}
/* v124: restored to the original treatment — ink at rest, brand colour
   cross-fades in on hover (v123's flip reverted at Laura's request). */
.aa-smq_tbg { position: absolute; inset: 0; opacity: 0; transition: opacity .35s ease; }
.aa-smq_ic {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  transition: transform .42s cubic-bezier(.62, .05, .16, 1);
}
.aa-smq_ic svg { width: .95em; height: .95em; fill: currentColor; display: block; }
.aa-smq_ic.is-b { transform: translateX(-110%); }
.aa-smq_tile:hover .aa-smq_tbg { opacity: 1; }
.aa-smq_tile:hover .aa-smq_ic.is-a { transform: translateX(110%); }
.aa-smq_tile:hover .aa-smq_ic.is-b { transform: translateX(0); }
@media (prefers-reduced-motion: reduce) {
  .aa-smq_track { animation: none; }
  .aa-smq_ic, .aa-smq_tbg { transition: none; }
}

/* v123: About feature slots go square on desktop (square source videos);
   the <=479px rule already makes them square on phones. */
@media (min-width: 480px) {
  .section-image { height: 31em; }
}

/* v125: lets a feature slot show its image's natural (portrait) aspect on
   mobile instead of the 16:9 letterbox — used by the Bathroom Outlet
   summer-sale phone via cms.js. */
@media screen and (max-width: 991px) {
  .works-cms-image.is-natural-mobile { aspect-ratio: auto; }
  .works-cms-image.is-natural-mobile img,
  .works-cms-image.is-natural-mobile video { width: 100%; height: auto; display: block; }
}

/* v132: About feature row holds three squares — size to fit on desktop
   (the <=479px stack already handles mobile). */
@media (min-width: 480px) {
  .double-images_wrapper { justify-content: center; }
  .double-images_wrapper .section-image {
    width: calc((100% - 4em) / 3);
    height: auto;
    aspect-ratio: 1 / 1;
  }
}

/* v137: gallery videos always fill their square cells. Absolutely
   positioned so the cell's height comes purely from its own aspect-ratio —
   Safari otherwise lets the video's intrinsic shape shrink the cell, which
   knocked video tiles out of line with their image neighbours. */
/* v141: one sizing formula for EVERY gallery cell. The template's
   aspect-ratio + height:100% inside an auto-row grid resolves differently
   per engine (Safari sized video cells shorter than image cells). The
   padding-ratio box has identical behaviour in all engines, and because
   images and videos now share the exact same formula they cannot fall out
   of line with each other. Media is absolutely positioned with 6% bleed
   (parallax headroom on images, licensed slight zoom on videos). */
.works-cms-image.is-grid .gallery-item {
  position: relative;
  height: auto;
  aspect-ratio: auto;
  padding-bottom: 100%;
  overflow: hidden;
}
.works-cms-image.is-grid .gallery-item.is-wide {
  padding-bottom: 56.25%;
}
.works-cms-image.is-grid .gallery-item img,
.works-cms-image.is-grid .gallery-item video {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  transform: none !important; /* v145: ix2 photo-parallax translates .parallax-photo; in square grid cells that exposed the cell background (the tile gap bug). Feature photos outside .is-grid keep their parallax. */
  object-fit: cover;
  display: block;
}


/* ===== v145: About section — Editorial Split (approved preview about-v145-preview).
   Sits between the runner image and the services ledger. Coral highlights keep the
   v144 sweep (.a3a-hl.is-in, script inline in about.html); reduced motion = static. ===== */
.allow-3a{max-width:1440px;margin:0 auto;font-family:'Brockmann','Host Grotesk',sans-serif;color:#161616;}
.a3a-hl{background-color:transparent;background-image:linear-gradient(#ff7e5d,#ff7e5d);
 background-repeat:no-repeat;background-size:0% 100%;background-position:0 0;
 transition:background-size .65s cubic-bezier(.2,.7,.2,1);color:#161616;
 padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.a3a-hl.is-in{background-size:100% 100%;}
@media (prefers-reduced-motion: reduce){.a3a-hl{background-color:#ff7e5d;background-image:none;transition:none;}}
.a5-hookblock{padding:104px 64px 96px;}
.a5-hook{margin:0;font-size:46px;line-height:1.18;font-weight:600;letter-spacing:-.015em;max-width:920px;}
.a5-intro{margin:32px 0 0;font-size:18px;line-height:1.65;color:#3c4144;max-width:680px;font-weight:400;}
.a5-row{border-top:1px solid rgba(20,21,22,.18);padding:64px;display:grid;grid-template-columns:160px 460px 1fr;gap:56px;}
.a5-num{font-family:ui-monospace,Menlo,monospace;font-size:13px;color:#565b5e;}
.a5-lbl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#565b5e;margin-bottom:18px;}
.a5-sub{margin:0;font-size:28px;line-height:1.3;font-weight:700;text-transform:uppercase;letter-spacing:.01em;}
.a5-copy{display:flex;flex-direction:column;gap:20px;}
.a5-copy p{margin:0;font-size:16.5px;line-height:1.65;color:#3c4144;font-weight:400;}
@media (max-width:820px){
 .a5-hookblock{padding:48px 24px 40px;}
 .a5-hook{font-size:28px;line-height:1.22;}
 .a5-intro{margin-top:20px;font-size:15px;line-height:1.6;}
 .a5-row{padding:36px 24px;display:block;}
 .a5-num{float:left;font-size:12px;}
 .a5-lbl{text-align:right;margin-bottom:14px;}
 .a5-sub{clear:both;font-size:28px;line-height:1.22;}
 .a5-copy{margin-top:16px;gap:12px;}
 .a5-copy p{font-size:15px;line-height:1.6;}
    }


/* ===== v146: About — "Allow" brand platform (approved preview about-v146-preview).
   Adds (003) Why Allow Agency + closing tagline; slanted brand A (.brand-slant, defined
   in local-fonts.css) on Allow headings; bold body punches; sweep reserved for payoffs. ===== */
.a5-copy strong{font-weight:600;color:#161616;}
.a5-closing{border-top:1px solid rgba(20,21,22,.18);padding:120px 64px 128px;text-align:center;}
.a5-closing h2{margin:0;font-size:64px;line-height:1.12;font-weight:600;letter-spacing:0;text-transform:uppercase;}
.a5-closing p{margin:36px auto 0;font-size:18px;line-height:1.65;color:#3c4144;max-width:580px;}
@media (max-width:820px){
  .a5-closing{padding:56px 24px 64px;}
 .a5-closing h2{font-size:34px;}
 .a5-closing p{margin-top:20px;font-size:15px;}
}


/* ===== v150: About hero tagline in ITC Avant Garde Gothic (Adobe Fonts project yzz1dbl,
   loaded in about.html head). Weight 100 per brand spec; Satoshi fallback while loading.
   The slanted A stays Brockmann ss01 to match the wordmark. Mobile subs 28px (option 1). ===== */
/* v160: hero tagline back to Brockmann (site display face), caps, slanted brand A. */
.aa-avantgarde{font-family:'Brockmann','Host Grotesk',sans-serif;font-weight:400;font-style:normal;text-transform:uppercase;}
.aa-avantgarde .brand-slant{font-family:'Brockmann','Host Grotesk',sans-serif;font-weight:400;font-feature-settings:"ss01";transform:none;display:inline;}


/* ===== v167: body copy +1, scoped to true paragraphs only (labels, tags, nav and
   buttons untouched). Rich-text articles and case studies get an explicit reading
   size — nested em scaling had them rendering at ~11px. Headings unchanged. ===== */
.text-rich-text p, .text-rich-text li {
  font-size: 15px;
  line-height: 1.65;
}
.works-rich-text p, .works-rich-text li {
  font-size: 15px;
  line-height: 1.65;
}
.team-paragraphs p {
  font-size: 15px; /* v168: 15px accessibility floor */
}


/* ===== v169: last two body-copy items under the 15px floor.
   Works-card descriptions and contact-form option labels. Labels, eyebrows,
   marquee and nav remain deliberately small UI (unchanged). ===== */
.works-card_content p {
  font-size: 15px;
}
.checkbox-label {
  font-size: 14px;
}
