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

@font-face {
  font-family: Roboto mono;
  src: url('../fonts/RobotoMono-Medium.ttf') format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Roboto mono;
  src: url('../fonts/RobotoMono-Regular.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Spacegrotesk Variablefont Wght;
  src: url('../fonts/SpaceGrotesk-VariableFont_wght.ttf') format("truetype");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --_colors---primary--beige: #f8f7f3;
  --_typography---font-family--secondary: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  --_colors---primary--black: #000;
  --fixed--1rem: 1rem;
  --_typography---font-weight--regular: 400;
  --fixed--0rem: 0rem;
  --_typography---h1--font-family: var(--_typography---font-family--primary);
  --_typography---h1--font-size: var(--fixed--6rem);
  --_typography---h1--line-height: 100%;
  --_typography---h1--font-weight: var(--_typography---font-weight--medium);
  --_typography---h1--letter-spacing: -.02em;
  --_typography---h2--font-family: var(--_typography---font-family--primary);
  --_typography---h2--font-size: var(--fixed--5rem);
  --_typography---h2--font-weight: var(--_typography---font-weight--medium);
  --_typography---h2--letter-spacing: -.02em;
  --_typography---h3--font-family: var(--_typography---font-family--primary);
  --_typography---h3--font-size: var(--fixed--3-5rem);
  --_typography---h3--line-height: 105%;
  --_typography---h3--font-weight: var(--_typography---font-weight--medium);
  --_typography---h3--letter-spacing: -.02em;
  --_typography---h4--font-family: var(--_typography---font-family--primary);
  --_typography---h4--font-size: var(--fixed--2-75rem);
  --_typography---h4--line-height: 110%;
  --_typography---h4--font-weight: var(--_typography---font-weight--medium);
  --_typography---h4--letter-spacing: -.02em;
  --_typography---h5--font-family: var(--_typography---font-family--primary);
  --_typography---h5--font-size: var(--fixed--2rem);
  --_typography---h5--line-height: 110%;
  --_typography---h5--font-weight: var(--_typography---font-weight--medium);
  --_typography---h5--letter-spacing: -.02em;
  --_typography---h6--font-family: var(--_typography---font-family--primary);
  --_typography---h6--font-size: var(--fixed--1-25rem);
  --_typography---h6--line-height: 120%;
  --_typography---h6--font-weight: var(--_typography---font-weight--medium);
  --_typography---h6--letter-spacing: -.02em;
  --fixed--2-5rem: 2.5rem;
  --fixed--1-5rem: 1.5rem;
  --fixed--1-125rem: 1.125rem;
  --border-radius--xxsmall: var(--fixed--0-25rem);
  --_colors---primary--white: white;
  --fixed--1-25rem: 1.25rem;
  --_typography---font-weight--medium: 500;
  --fixed--0-875rem: .875rem;
  --_typography---font-weight--thin: 100;
  --spacer--xxhuge: var(--fixed--12rem);
  --fixed--2rem: 2rem;
  --spacer--custom-1: var(--fixed--1-25rem);
  --fixed--0-75rem: .75rem;
  --fixed--4rem: 4rem;
  --fixed--3rem: 3rem;
  --fixed--1-75rem: 1.75rem;
  --spacer--custom-3: var(--fixed--2-5rem);
  --section--small: var(--fixed--6rem);
  --fixed--6rem: 6rem;
  --spacer--tiny: var(--fixed--0-125rem);
  --_typography---font-weight--extra-bold: 800;
  --spacer--medium: var(--fixed--2rem);
  --spacer--custom-2: var(--fixed--1-5rem);
  --_typography---font-weight--light: 300;
  --fixed--2-75rem: 2.75rem;
  --fixed--2-25rem: 2.25rem;
  --fixed--0-5rem: .5rem;
  --spacer--xhuge: var(--fixed--8rem);
  --section--large: var(--fixed--10rem);
  --fixed--6-5rem: 6.5rem;
  --_typography---font-weight--bold: 700;
  --spacer--small: var(--fixed--1rem);
  --section--xxlarge: var(--fixed--13rem);
  --_typography---font-family--detail: "Roboto mono", Arial, sans-serif;
  --spacer--xxlarge: var(--fixed--5rem);
  --section--xsmall: var(--fixed--4rem);
  --spacer--xlarge: var(--fixed--4rem);
  --_typography---font-weight--black: 900;
  --section--xlarge: var(--fixed--12rem);
  --spacer--xsmall: var(--fixed--0-5rem);
  --_typography---font-weight--extra-light: 200;
  --_typography---font-weight--semibold: 600;
  --spacer--xxsmall: var(--fixed--0-25rem);
  --spacer--huge: var(--fixed--6rem);
  --_typography---h2--line-height: 100%;
  --spacer--large: var(--fixed--3rem);
  --_typography---font-family--primary: "Spacegrotesk Variablefont Wght", Arial, sans-serif;
  --fixed--5rem: 5rem;
  --border-radius--xsmall: var(--fixed--0-5rem);
  --fixed--4-5rem: 4.5rem;
  --fixed--3-5rem: 3.5rem;
  --_colors---white--transparent: transparent;
  --base--beige\<deleted\|variable-18c14968-cf92-b56f-6465-88a57344cb44\>: #f8f7f3;
  --fixed--12rem: 12rem;
  --fixed--8rem: 8rem;
  --_colors---grey--400: #474747;
  --_colors---grey--300: #6b6b6b;
  --_colors---grey--900: #0a0a0a;
  --fixed--7rem: 7rem;
  --border-radius--huge: var(--fixed--1-75rem);
  --border-radius--small: var(--fixed--0-75rem);
  --border-radius--medium: var(--fixed--1rem);
  --fixed--0-25rem: .25rem;
  --border-radius--ultra: var(--fixed--3rem);
  --fixed--15rem: 15rem;
  --border-radius--xxlarge: var(--fixed--1-5rem);
  --_colors---grey--200: #b6b6b6;
  --border-radius--large: var(--fixed--1-125rem);
  --fixed--0-125rem: .125rem;
  --_colors---grey--100: #ddd;
  --_colors---grey--500: #333;
  --_colors---grey--600: #292929;
  --_colors---grey--700: #171717;
  --_colors---grey--800: #0f0f0f;
  --_colors---white--10: #ffffff1a;
  --_colors---white--15: #ffffff26;
  --_colors---white--20: #fff3;
  --_colors---white--30: #ffffff4d;
  --_colors---white--40: #fff6;
  --_colors---white--50: #ffffff80;
  --_colors---white--70: #ffffffb3;
  --_colors---white--80: #fffc;
  --_colors---white--60: #fffc;
  --_colors---white--90: #fffc;
  --fixed--5-5rem: 5.5rem;
  --fixed--9rem: 12rem;
  --fixed--10rem: 10rem;
  --fixed--11rem: 11rem;
  --fixed--13rem: 13rem;
  --fixed--14rem: 14rem;
  --fixed--16rem: 16rem;
  --section--medium: var(--fixed--8rem);
  --border-radius--tiny: var(--fixed--0-125rem);
  --border-radius--xlarge: var(--fixed--1-25rem);
  --border-radius--xhuge: var(--fixed--2rem);
  --border-radius--xxhuge: var(--fixed--2-5rem);
}

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

@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(--_colors---primary--beige);
  font-family: var(--_typography---font-family--secondary);
  color: var(--_colors---primary--black);
  font-size: var(--fixed--1rem);
  line-height: 1.4;
  font-weight: var(--_typography---font-weight--regular);
}

h1 {
  margin-top: var(--fixed--0rem);
  margin-bottom: var(--fixed--0rem);
  font-family: var(--_typography---h1--font-family);
  font-size: var(--_typography---h1--font-size);
  line-height: var(--_typography---h1--line-height);
  font-weight: var(--_typography---h1--font-weight);
  letter-spacing: var(--_typography---h1--letter-spacing);
}

h2 {
  margin-top: var(--fixed--0rem);
  margin-bottom: var(--fixed--0rem);
  font-family: var(--_typography---h2--font-family);
  font-size: var(--_typography---h2--font-size);
  line-height: var(--_typography---h1--line-height);
  font-weight: var(--_typography---h2--font-weight);
  letter-spacing: var(--_typography---h2--letter-spacing);
}

h3 {
  margin-top: var(--fixed--0rem);
  margin-bottom: var(--fixed--0rem);
  font-family: var(--_typography---h3--font-family);
  font-size: var(--_typography---h3--font-size);
  line-height: var(--_typography---h3--line-height);
  font-weight: var(--_typography---h3--font-weight);
  letter-spacing: var(--_typography---h3--letter-spacing);
}

h4 {
  margin-top: var(--fixed--0rem);
  margin-bottom: var(--fixed--0rem);
  font-family: var(--_typography---h4--font-family);
  font-size: var(--_typography---h4--font-size);
  line-height: var(--_typography---h4--line-height);
  font-weight: var(--_typography---h4--font-weight);
  letter-spacing: var(--_typography---h4--letter-spacing);
}

h5 {
  margin-top: var(--fixed--0rem);
  margin-bottom: var(--fixed--0rem);
  font-family: var(--_typography---h5--font-family);
  font-size: var(--_typography---h5--font-size);
  line-height: var(--_typography---h5--line-height);
  font-weight: var(--_typography---h5--font-weight);
  letter-spacing: var(--_typography---h5--letter-spacing);
}

h6 {
  margin-top: var(--fixed--0rem);
  margin-bottom: var(--fixed--0rem);
  font-family: var(--_typography---h6--font-family);
  font-size: var(--_typography---h6--font-size);
  line-height: var(--_typography---h6--line-height);
  font-weight: var(--_typography---h6--font-weight);
  letter-spacing: var(--_typography---h6--letter-spacing);
}

p {
  margin-bottom: var(--fixed--0rem);
}

a {
  color: #000;
  text-decoration: none;
}

ul, ol {
  margin-top: var(--fixed--0rem);
  margin-bottom: var(--fixed--0rem);
  padding-left: var(--fixed--2-5rem);
}

blockquote {
  margin-bottom: var(--fixed--0rem);
  padding: var(--fixed--0rem);
  font-size: var(--fixed--1-5rem);
  border-left: 5px #e2e2e2;
  line-height: 120%;
}

figcaption {
  text-align: center;
  margin-top: 5px;
}

.utility-page-wrap {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 80vh;
  max-height: 100%;
  display: flex;
}

.utility-page-wrap.min-heigh {
  height: 100vh;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 260px;
  display: flex;
}

.utility-page-form {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.resources_item {
  border-radius: var(--border-radius--xxsmall);
  background-color: var(--_colors---primary--white);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
  position: relative;
}

.resources_heading {
  padding-bottom: var(--fixed--1-25rem);
  font-size: var(--fixed--1-5rem);
  line-height: 1.4;
  font-weight: var(--_typography---font-weight--medium);
  border-bottom: 1px dotted #474747;
}

.display-flex {
  display: flex;
}

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

.heading-style-h5 {
  font-family: var(--_typography---h5--font-family);
  color: var(--_colors---primary--black);
  font-size: var(--_typography---h5--font-size);
  line-height: var(--_typography---h5--line-height);
  font-weight: var(--_typography---h5--font-weight);
  letter-spacing: var(--_typography---h5--letter-spacing);
}

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

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

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

.main-wrapper {
  position: relative;
  overflow: clip;
}

@media screen and (max-width: 991px) {
  /* .navbar.is-light is always position:fixed (see its base rule), which is
     fine on pages whose first section has enough of its own natural top
     spacing to clear it (index.html's tall hero). On about.html and this new
     work.html, the first heading sits close enough to the top that the fixed
     navbar overlapped it at narrower widths, this pushes the whole page's
     main content down by roughly the navbar's own height so nothing starts
     underneath it, regardless of how much spacing a given page's first
     section happens to have on its own. */
  .main-wrapper {
    padding-top: 4.5rem;
  }

  /* work.html's header is a full-bleed scene, not text sitting close to the
     top, the nav is meant to overlay it directly (standard hero pattern), so
     skip the generic clearance above and let the section run edge to edge
     instead of leaving a gap of bare page background above it. */
  .main-wrapper:has(.work-hero_scene) {
    padding-top: 0;
  }
}

.spacer-xxhuge {
  width: 100%;
  padding-top: var(--spacer--xxhuge);
}

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

.hide {
  display: none;
}

.icon-height-small {
  height: var(--fixed--1-5rem);
}

.resources_group {
  grid-row-gap: var(--fixed--2rem);
  flex-direction: column;
  grid-template-rows: auto;
  grid-template-columns: .75fr 1fr;
  grid-auto-columns: 1fr;
  display: flex;
}

.spacer-custom-1 {
  width: 100%;
  padding-top: var(--spacer--custom-1);
}

.icon-height-xlarge {
  height: var(--fixed--4rem);
}

.overflow-scroll {
  overflow: scroll;
}

.resources_items {
  grid-column-gap: var(--fixed--1-5rem);
  grid-row-gap: var(--fixed--1-5rem);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.resources_items.single {
  flex-flow: column;
  display: flex;
}

.resources_items.more-columns {
  grid-template-columns: 1fr 1fr 1fr;
}

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

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

.text-rich-text {
  line-height: 1.5;
}

.text-rich-text figure {
  margin-bottom: 3rem;
}

.text-rich-text h2 {
  margin-bottom: var(--fixed--1-5rem);
  font-size: var(--fixed--2-5rem);
}

.text-rich-text p {
  margin-bottom: var(--fixed--2-5rem);
  line-height: 1.5;
}

.text-rich-text h4 {
  margin-bottom: var(--fixed--1-5rem);
  font-size: var(--fixed--1-75rem);
}

.text-rich-text h3 {
  margin-bottom: var(--fixed--1-5rem);
  font-size: var(--fixed--2rem);
}

.text-rich-text h6 {
  margin-bottom: var(--fixed--1rem);
  font-size: var(--fixed--1-25rem);
}

.text-rich-text blockquote {
  margin-top: 3rem;
  margin-bottom: 3rem;
  padding-left: 4rem;
  font-weight: 500;
}

.text-rich-text h1 {
  font-size: var(--fixed--4rem);
  margin-bottom: 1.5rem;
}

.text-rich-text h5 {
  margin-bottom: var(--fixed--1rem);
  font-size: var(--fixed--1-5rem);
}

.text-rich-text ul, .text-rich-text ol {
  margin-bottom: var(--fixed--1-5rem);
}

.spacer-custom-3 {
  width: 100%;
  padding-top: var(--spacer--custom-3);
}

.padding-section-medium {
  padding-top: var(--section--small);
  text-align: center;
}

.spacer-tiny {
  width: 100%;
  padding-top: var(--spacer--tiny);
}

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

.text-size-medium {
  font-size: var(--fixed--1-125rem);
}

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

.spacer-medium {
  width: 100%;
  padding-top: var(--spacer--medium);
}

.resources_section {
  grid-row-gap: var(--fixed--1-5rem);
  flex-direction: column;
  display: flex;
}

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

.template-style-heading-split {
  background-color: #d2d6d9;
  width: 1px;
  height: 100%;
  margin-left: 1.25rem;
  margin-right: 1.25rem;
  transform: rotate(7deg);
}

.template-style-heading-split.margin-small {
  margin-left: 1rem;
  margin-right: 1rem;
}

.template-style-heading-split.margin-large {
  margin-left: 2rem;
  margin-right: 2rem;
}

.template-style-heading-split.margin-smaller {
  margin-left: .5rem;
  margin-right: .5rem;
}

.spacer-custom-2 {
  width: 100%;
  padding-top: var(--spacer--custom-2);
}

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

.overflow-visible {
  overflow: visible;
}

.resources_component {
  grid-column-gap: var(--fixed--2rem);
  grid-row-gap: var(--fixed--2rem);
  flex-direction: column;
  display: flex;
}

.resources_item-content {
  width: 100%;
  padding: var(--fixed--2-25rem) var(--fixed--2-5rem) var(--fixed--4rem);
  flex-direction: column;
  flex: 1;
  display: flex;
}

.resources_item-content.center-horizontal {
  flex-flow: row;
  justify-content: center;
  align-items: center;
}

.spacer-xhuge {
  width: 100%;
  padding-top: var(--spacer--xhuge);
}

.padding-global {
  height: auto;
  padding-right: var(--fixed--3rem);
  padding-left: var(--fixed--3rem);
  overflow: visible;
}

.padding-global.z-index-2 {
  align-self: center;
  position: relative;
}

.padding-global.is-tiny {
  padding-right: var(--fixed--1-5rem);
  padding-left: var(--fixed--1-5rem);
}

.padding-section-large {
  padding-top: var(--section--large);
}

.text-size-large {
  font-size: var(--fixed--1-25rem);
}

.icon-height-medium {
  height: var(--fixed--2rem);
  max-width: none;
  display: inline;
}

.heading-style-h1 {
  font-family: var(--_typography---h1--font-family);
  font-size: var(--_typography---h1--font-size);
  line-height: var(--_typography---h1--line-height);
  font-weight: var(--_typography---h1--font-weight);
  letter-spacing: var(--_typography---h1--letter-spacing);
}

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

.spacer-small {
  width: 100%;
  padding-top: var(--spacer--small);
}

.aspect-ratio-square {
  aspect-ratio: 1;
}

.padding-section-xxlarge {
  padding-top: var(--section--xxlarge);
}

.overflow-auto {
  overflow: auto;
}

.heading-style-h4 {
  font-family: var(--_typography---h4--font-family);
  font-size: var(--_typography---h4--font-size);
  line-height: var(--_typography---h4--line-height);
  font-weight: var(--_typography---h4--font-weight);
  letter-spacing: var(--_typography---h4--letter-spacing);
}

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

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

.resources_structure-out {
  border: 1px solid #1e7bfa;
  width: 100%;
  position: relative;
}

.heading-style-h6 {
  font-family: var(--_typography---h6--font-family);
  font-size: var(--_typography---h6--font-size);
  line-height: var(--_typography---h6--line-height);
  font-weight: var(--_typography---h6--font-weight);
  letter-spacing: var(--_typography---h6--letter-spacing);
}

.text-style-all-caps {
  text-transform: uppercase;
}

.resources_groups {
  grid-row-gap: var(--fixed--4rem);
  flex-direction: column;
  display: flex;
}

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

.max-width-xlarge {
  width: 100%;
  max-width: 64rem;
}

.ss_structure-box {
  pointer-events: none;
  background-color: #fff;
  height: 3rem;
  position: relative;
}

.text-style-label {
  font-family: var(--_typography---font-family--detail);
  font-size: var(--fixed--0-875rem);
  font-weight: var(--_typography---font-weight--medium);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.display-inline-block {
  display: inline-block;
}

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

.icon-height-large {
  height: var(--fixed--2-5rem);
  aspect-ratio: 1;
  position: relative;
}

.max-width-large {
  width: 100%;
  max-width: 48rem;
}

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

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

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

.spacer-xxlarge {
  width: 100%;
  padding-top: var(--spacer--xxlarge);
}

.max-width-full {
  width: 100%;
  max-width: none;
}

.display-block {
  display: block;
}

.padding-section-xsmall {
  padding-top: var(--section--xsmall);
}

.padding-section-small {
  padding-top: var(--section--small);
}

.resources_item-label {
  grid-column-gap: .5rem;
  color: #8c9399;
  border-bottom: 1px solid #ebebec;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  min-height: 3rem;
  margin-right: 0;
  padding: .75rem .75rem .75rem 1rem;
  display: flex;
  position: relative;
}

.text-size-regular {
  font-size: var(--fixed--1rem);
}

.resources_structure-in {
  pointer-events: none;
  background-color: #fff;
  width: 100%;
  height: 3rem;
  position: relative;
}

.resources_structure-in.utility {
  background-color: #2d40ea1a;
}

.resources_structure-in.utility.full-height {
  height: 100%;
}

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

.spacer-xlarge {
  width: 100%;
  padding-top: var(--spacer--xlarge);
}

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

.section_resources.min-height {
  min-height: 80vh;
}

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

.padding-section-xlarge {
  padding-top: var(--section--xlarge);
}

.max-width-xsmall {
  width: 100%;
  max-width: 16rem;
}

.heading-style-h3 {
  font-family: var(--_typography---h3--font-family);
  font-size: var(--_typography---h3--font-size);
  line-height: var(--_typography---h3--line-height);
  font-weight: var(--_typography---h3--font-weight);
  letter-spacing: var(--_typography---h3--letter-spacing);
}

.heading-style-h3.text-weight-normal {
  font-weight: var(--_typography---font-weight--regular);
}

.display-inline {
  display: inline;
}

.text-size-tiny {
  font-size: var(--fixed--0-75rem);
}

.spacer-xsmall {
  width: 100%;
  padding-top: var(--spacer--xsmall);
}

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

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

.max-width-xxlarge {
  width: 100%;
  max-width: 80rem;
}

.text-size-small {
  font-size: var(--fixed--0-875rem);
}

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

.max-width-small {
  width: 100%;
  max-width: 20rem;
}

.resources_class {
  padding: var(--fixed--0-5rem) .625rem;
  color: #fff;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: var(--fixed--0-75rem);
  line-height: 1.3;
  font-weight: var(--_typography---font-weight--medium);
  background-color: #1e7bfa;
  border-radius: 4px;
}

.resources_class.custom-border {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.resources_class.html-tag {
  color: #f6f6f3;
  background-color: #cf4bb3;
  border-style: none;
}

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

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

.container-full {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.page-wrapper {
  z-index: 1;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  aspect-ratio: auto;
  object-fit: fill;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-self: auto;
  align-items: stretch;
  width: 100%;
  height: auto;
  max-height: none;
  padding-top: 0;
  display: flex;
  position: static;
  overflow: visible;
}

.page-wrapper.full-height {
  flex-flow: column;
  min-height: 100vh;
  display: flex;
}

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

.spacer-xxsmall {
  width: 100%;
  padding-top: var(--spacer--xxsmall);
}

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

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

.resources_subheading {
  font-size: var(--fixed--1rem);
  font-weight: var(--_typography---font-weight--medium);
}

.spacer-huge {
  width: 100%;
  padding-top: var(--spacer--huge);
}

.resources_class-wrap {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.heading-style-h2 {
  font-family: var(--_typography---h2--font-family);
  font-size: var(--_typography---h2--font-size);
  line-height: var(--_typography---h2--line-height);
  font-weight: var(--_typography---h2--font-weight);
  letter-spacing: var(--_typography---h2--letter-spacing);
}

.heading-style-h2.is-mobile-h3 {
  display: block;
}

.container-large {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}

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

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

.overflow-hidden {
  overflow: hidden;
}

.max-width-xxsmall {
  width: 100%;
  max-width: 12rem;
}

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

.spacer-large {
  width: 100%;
  padding-top: var(--spacer--large);
}

.resources_fonts {
  grid-column-gap: 5.5rem;
  grid-row-gap: 16px;
  flex-flow: wrap;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  width: 100%;
  display: flex;
}

.resources_license-image {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
}

.resources_font-1 {
  font-family: var(--_typography---font-family--primary);
  font-size: var(--fixed--5rem);
  line-height: 1;
  font-weight: var(--_typography---font-weight--regular);
}

.resources_license-wrap {
  grid-column-gap: var(--fixed--1rem);
  grid-row-gap: var(--fixed--1rem);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  place-items: center;
  width: 100%;
  display: grid;
  position: relative;
  overflow: hidden;
}

.resources_licenses-links {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.resources_font-block {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-direction: column;
  align-items: flex-start;
  transition: opacity .2s;
  display: flex;
}

.resources_font-block:hover {
  opacity: .7;
}

.resources_licenses-group {
  grid-row-gap: 1.25rem;
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.resources_license-image-link {
  aspect-ratio: 1;
  border-radius: var(--border-radius--xsmall);
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
  overflow: clip;
}

.resources_grid {
  grid-column-gap: 1.5rem;
  grid-row-gap: 3rem;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: flex;
}

.resources_font-2 {
  font-family: var(--_typography---font-family--detail);
  font-size: var(--fixed--5rem);
  line-height: 1;
  font-weight: var(--_typography---font-weight--regular);
}

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

.resources_changelog-item {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: .5fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.home-header_img-wrap {
  object-fit: cover;
  justify-content: center;
  align-items: center;
  max-width: none;
  display: flex;
  position: absolute;
}

.home-header_img-wrap._1 {
  top: 0;
}

.home-header_img-wrap._2 {
  top: 15%;
  right: 15%;
}

.home-header_img-wrap._3 {
  right: 0;
}

.home-header_img-wrap._4 {
  bottom: 15%;
  right: 15%;
}

.home-header_img-wrap._5 {
  bottom: 0%;
}

.home-header_img-wrap._6 {
  bottom: 15%;
  left: 15%;
}

.home-header_img-wrap._7 {
  left: 0%;
}

.home-header_img-wrap._8 {
  top: 15%;
  left: 15%;
}

.section_home-header {
  flex-flow: column;
  justify-content: center;
  align-items: stretch;
  height: 100vh;
  display: flex;
  position: relative;
}

.home-header_component {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.home-header_headings {
  justify-content: center;
  align-items: center;
  max-width: 32rem;
  display: flex;
  position: relative;
}

.home-header_heading {
  font-family: var(--_typography---h1--font-family);
  font-size: var(--fixed--4-5rem);
  line-height: 100%;
  font-weight: var(--_typography---h1--font-weight);
  text-align: center;
}

.home-header_heading._2 {
  box-sizing: content-box;
  font-family: var(--_typography---h3--font-family);
  font-size: var(--fixed--2rem);
  object-fit: fill;
  display: none;
  position: absolute;
}

.home-header_heading._1 {
  font-family: var(--_typography---h3--font-family);
  font-size: var(--fixed--2rem);
  flex-flow: wrap;
  flex: 0 auto;
  align-self: auto;
  font-style: normal;
  position: relative;
}

.home-header_heading._3 {
  font-family: var(--_typography---h3--font-family);
  font-size: var(--fixed--2rem);
  display: none;
  position: absolute;
}

.home-header_imgs-wrapper {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  inset: 0%;
}

.home-header_imgs-wrap {
  aspect-ratio: 1;
  justify-content: center;
  align-items: center;
  height: 80%;
  min-height: 50rem;
  display: flex;
  position: absolute;
  transform: rotate(0);
}

.button {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  aspect-ratio: auto;
  border-radius: var(--fixed--1-5rem);
  background-color: var(--_colors---primary--black);
  color: #fff;
  width: auto;
  height: auto;
  max-height: 60%;
  font-size: var(--fixed--1rem);
  font-weight: var(--_typography---font-weight--medium);
  text-align: center;
  overflow-wrap: normal;
  -webkit-text-fill-color: inherit;
  object-fit: fill;
  background-clip: border-box;
  flex: 0 auto;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-self: center;
  align-items: center;
  padding-left: 0;
  display: inline-flex;
  position: relative;
  overflow: clip;
}

.button:where(.w-variant-b8634f3d-4f7e-297a-e558-b94b09f0008b) {
  color: var(--_colors---primary--black);
  background-color: #0000;
  background-image: linear-gradient(#f2f1ed, #dddbd1);
}

.button:where(.w-variant-994e88c4-baec-2bbf-d0b3-8a2991a92ab2) {
  border-radius: var(--fixed--1rem);
  color: var(--_colors---primary--black);
  font-size: var(--fixed--0-875rem);
  background-color: #fffc34;
}

.button:active {
  transform: translate(0, 2px);
  box-shadow: 0 4px 4px #0000004d;
}

.button_inner {
  padding: var(--fixed--1-5rem) var(--fixed--2rem);
  transition: box-shadow .2s;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 7px #ffffff47;
}

.button_inner:where(.w-variant-994e88c4-baec-2bbf-d0b3-8a2991a92ab2) {
  padding: var(--fixed--1rem) var(--fixed--1-5rem);
}

.button_inner:hover {
  box-shadow: inset 0 0 7px #fff9;
}

.button_gradient {
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  border-radius: 12px;
  position: absolute;
  inset: 0%;
}

.button_gradient-ball {
  filter: blur(20px);
  mix-blend-mode: overlay;
  border-radius: 50%;
  width: 50%;
  height: 50%;
}

.button_gradient-ball.ball-1 {
  background-color: #fd3846;
  background-image: linear-gradient(to right, #fd3846, #ffd000);
  position: absolute;
  bottom: 0;
}

.button_gradient-ball.ball-1:where(.w-variant-994e88c4-baec-2bbf-d0b3-8a2991a92ab2) {
  filter: blur(13px);
}

.button_gradient-ball.ball-2 {
  background-image: linear-gradient(78deg, #a600ff, #2bff00);
  position: absolute;
  bottom: 0;
  left: 50%;
}

.button_gradient-ball.ball-2:where(.w-variant-994e88c4-baec-2bbf-d0b3-8a2991a92ab2) {
  filter: blur(13px);
}

.button_text {
  z-index: 5;
  position: relative;
}

.button_gradient-glow {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: 0%;
}

.navbar {
  z-index: 99;
  width: 100%;
  padding-top: var(--fixed--1rem);
  position: sticky;
  inset: 0% 0% auto;
}

.navbar.is-light {
  z-index: 999;
  height: 5%;
  padding-top: var(--fixed--1-5rem);
  position: fixed;
  inset: 0% 0% auto;
}

.navbar.is-light:where(.w-variant-1f88e9d2-2126-c26f-cddb-9e4109331a60) {
  padding-top: var(--fixed--1-5rem);
}

.navbar_logo_white {
  width: var(--fixed--12rem);
  color: var(--_colors---primary--white);
  padding-top: 10px;
  display: inline-block;
}

.navbar_logo_white:where(.w-variant-1f88e9d2-2126-c26f-cddb-9e4109331a60) {
  display: none;
}

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

.navbar_link-text._2 {
  pointer-events: none;
  position: absolute;
  top: 100%;
}

.navbar_link-text._1 {
  pointer-events: none;
}

.navbar_links-wrap {
  padding: var(--fixed--0-5rem) var(--fixed--1-75rem);
  grid-column-gap: var(--fixed--1-75rem);
  grid-row-gap: var(--fixed--1-75rem);
  border-radius: var(--fixed--1-5rem);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
}

.navbar_links {
  grid-column-gap: var(--fixed--1-5rem);
  grid-row-gap: var(--fixed--1-5rem);
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  display: flex;
}

.navbar_link {
  color: #fff;
  font-size: var(--fixed--0-875rem);
  line-height: 1.2;
  font-weight: var(--_typography---font-weight--medium);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  position: relative;
  overflow: clip;
}

.navbar_link.w--current {
  color: #fffc34;
}

.home-header_location {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.home-header_location-globe {
  width: 1.5rem;
  height: 1.5rem;
}

.home-header_label {
  font-family: var(--_typography---font-family--primary);
  font-size: var(--fixed--1rem);
  font-weight: var(--_typography---font-weight--medium);
}

.home-header_labels-wrap {
  z-index: 3;
  width: 100%;
  position: absolute;
  inset: auto 0% 2rem;
}

.home-header_labels {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.home-header_text {
  max-width: 35rem;
  color: var(--_colors---grey--400);
  font-size: var(--fixed--1-125rem);
  font-weight: var(--_typography---font-weight--medium);
  text-align: center;
}

.navbar_logo-wrap {
  position: relative;
  top: -.5rem;
}

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

.brands_list-wrapper {
  justify-content: flex-start;
  align-items: center;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
  -webkit-mask: linear-gradient(270deg, #0000, #000 15% 85%, #0000);
  mask: linear-gradient(270deg, #0000, #000 15% 85%, #0000);
}

.brands_item-texts {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 70%;
  display: flex;
}

.brands_item-block {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  object-fit: contain;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-right: 1.125rem;
  display: flex;
}

.brands_heading {
  max-width: 56rem;
}

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

.brands_item-name {
  text-align: center;
  font-size: 1rem;
}

.brands_item-logo-wrap {
  aspect-ratio: 1;
  background-color: #fff;
  border-radius: 1.125rem;
  justify-content: center;
  align-items: center;
  width: 16rem;
  display: flex;
}

.label_line {
  width: var(--fixed--3-5rem);
  background-color: #fffc34;
  height: 2px;
}

.brands_item-desc {
  color: var(--_colors---grey--300);
  font-size: .75rem;
  font-weight: var(--_typography---font-weight--medium);
  text-align: center;
}

.brands_head {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: .4fr 1fr;
  grid-auto-columns: 1fr;
  place-items: start;
  width: 100%;
  display: grid;
}

.brands_list {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex: 0 auto;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  justify-content: start;
  place-items: center stretch;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
}

.line {
  border-top: 1px dotted var(--_colors---grey--300);
  width: 100%;
  height: 1px;
}

.home-about_wrapper {
  aspect-ratio: auto;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  height: 200rem;
  display: flex;
  position: relative;
  overflow: clip;
}

.home-about_sticky {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  margin-top: 10px;
  display: flex;
  position: sticky;
  top: 0;
}

.home-about_component {
  width: 100vw;
  height: 100vh;
  padding: var(--fixed--1rem);
  justify-content: center;
  align-items: center;
  transition: padding .6s;
  display: flex;
  position: relative;
  overflow: visible;
}

.home-about_img-wrap {
  border-radius: 1rem;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: none;
  height: 100%;
  transition: border-radius .6s;
  display: flex;
  position: relative;
  overflow: clip;
}

.home-about_heading {
  font-family: var(--_typography---h3--font-family);
  font-size: var(--_typography---h3--font-size);
  line-height: var(--_typography---h3--line-height);
  font-weight: var(--_typography---h3--font-weight);
  letter-spacing: var(--_typography---h3--letter-spacing);
  white-space: nowrap;
  position: absolute;
}

.home-about_heading._2 {
  left: calc(100% + .25rem);
}

.home-about_heading._1 {
  right: calc(100% + .25rem);
}

.home-about_img {
  opacity: 1;
  vertical-align: middle;
  mix-blend-mode: multiply;
  object-fit: cover;
  align-self: center;
  width: 100vw;
  min-width: 100vw;
  max-width: none;
  height: 100vh;
  min-height: 100vh;
  margin-top: 0;
  display: inline-flex;
}

.home-about_img-text {
  font-family: var(--_typography---font-family--primary);
  color: var(--_colors---grey--900);
  font-size: var(--_typography---h5--font-size);
  line-height: var(--_typography---h3--line-height);
  font-weight: var(--_typography---h3--font-weight);
  text-align: center;
  letter-spacing: var(--_typography---h3--letter-spacing);
  white-space: nowrap;
  padding-top: 7px;
  position: absolute;
}

.work-list_wrapper {
  width: 60%;
  max-width: 50rem;
}

.work-list_list {
  grid-column-gap: var(--fixed--7rem);
  grid-row-gap: var(--fixed--7rem);
  flex-flow: column;
  width: 100%;
  display: flex;
}

.work-list_item {
  width: 100%;
}

.work-list_component {
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.work-list_block {
  grid-column-gap: 2.25rem;
  grid-row-gap: 2.25rem;
  perspective: 1200px;
  flex-flow: column;
  width: 100%;
  display: flex;
  position: relative;
}

.work-list_infos {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.work-list_images-wrap {
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
}

.work-list_image-main {
  z-index: 2;
  aspect-ratio: 16 / 9;
  border-radius: var(--border-radius--huge);
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.work-list_img-main {
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
  position: absolute;
}

.work-list_img-second {
  object-fit: cover;
  width: 130%;
  max-width: none;
  height: 130%;
  position: absolute;
}

.work-list_image-second {
  z-index: 4;
  aspect-ratio: 3 / 2;
  border-radius: var(--fixed--1rem);
  width: 24%;
  transform-style: preserve-3d;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 20%;
  right: -8%;
  overflow: hidden;
  transform: translate3d(0, 0, 100px);
}

.work-list_head {
  position: relative;
}

.hover_pill {
  padding: var(--fixed--0-5rem) var(--fixed--0-875rem);
  border-radius: var(--border-radius--small);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #fff;
  background-color: #0a0a0a4d;
  font-size: .75rem;
  font-weight: 500;
  display: none;
  position: absolute;
  top: 1.5rem;
  bottom: auto;
  left: 1.5rem;
}

.work-list_number-wrap {
  background-color: var(--_colors---primary--black);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  height: 1.25rem;
  display: flex;
  position: absolute;
  top: 0;
  right: -1.5rem;
}

.work-list_number {
  color: var(--_colors---primary--white);
  font-size: var(--fixed--0-875rem);
  font-weight: var(--_typography---font-weight--medium);
}

.services_component {
  grid-column-gap: var(--fixed--4rem);
  grid-row-gap: var(--fixed--4rem);
  grid-template-rows: auto;
  grid-template-columns: 1fr .6fr;
  grid-auto-columns: 1fr;
  place-items: start;
  display: grid;
}

.services_items {
  grid-column-gap: var(--fixed--3rem);
  grid-row-gap: var(--fixed--3rem);
  flex-flow: column;
  width: 100%;
  display: flex;
}

.services_item {
  grid-column-gap: var(--fixed--0-75rem);
  grid-row-gap: var(--fixed--0-75rem);
  flex-flow: column;
  width: 100%;
  display: flex;
}

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

.services_img-wrap {
  aspect-ratio: 3 / 2;
  border-radius: var(--border-radius--medium);
  width: 100%;
  position: relative;
  overflow: clip;
}

.services_item-infos {
  grid-column-gap: var(--fixed--0-25rem);
  grid-row-gap: var(--fixed--0-25rem);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.services_desc {
  color: var(--_colors---grey--300);
  font-size: var(--fixed--0-875rem);
  font-weight: var(--_typography---font-weight--medium);
}

.services_content {
  top: var(--fixed--3rem);
  position: sticky;
}

.cta_component {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  height: 50%;
  display: grid;
}

.cta_graphic-wrap {
  aspect-ratio: 1;
  /* Rounded on the left only so this and .cta_content read as one seamless card
     with a straight seam down the middle, rather than two separate rounded
     panels sitting next to each other. Restored to fully rounded corners once
     the layout stacks (see the max-width: 991px override below). */
  border-radius: var(--border-radius--ultra) 0 0 var(--border-radius--ultra);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
  overflow: clip;
  /* Without this, CSS grid's default min-width:auto lets this column's
     intrinsic content size (driven by the background video's native
     dimensions) win over the 1fr track share, so it grabs more than half
     the row and pushes .cta_content past the right edge of the container,
     the card would look off-center with the form partially cut off with
     no horizontal scroll, since the overflow is clipped by an ancestor. */
  min-width: 0;
}

.cta_graphic {
  filter: blur(20px);
  object-fit: cover;
  width: 120%;
  height: 120%;
  position: absolute;
}

.cta_content {
  width: 100%;
  height: 100%;
  /* Same fix as .cta_graphic-wrap above: let this grid column shrink to its
     1fr share instead of hugging the min-content width of the form fields
     inside it. */
  min-width: 0;
  padding: var(--fixed--4rem);
  grid-column-gap: var(--fixed--3rem);
  grid-row-gap: var(--fixed--3rem);
  /* Rounded on the right only, pairs with .cta_graphic-wrap above to form one
     seamless card. */
  border-radius: 0 var(--border-radius--ultra) var(--border-radius--ultra) 0;
  background-color: var(--_colors---primary--white);
  flex-flow: column;
  /* Centered rather than space-between: the video side is a fixed square
     aspect ratio and is usually taller than the form content, so
     space-between left a large empty gap under the submit button instead of
     balancing the extra height evenly. */
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.cta_button-wrap {
  grid-column-gap: var(--fixed--1-75rem);
  grid-row-gap: var(--fixed--1-75rem);
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.cta_text {
  max-width: 350px;
  color: var(--_colors---grey--300);
  font-size: var(--fixed--0-875rem);
  font-weight: var(--_typography---font-weight--medium);
}

.cta_head {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 31.875rem;
  display: flex;
}

.pill_wrap {
  z-index: 5;
  padding: .35rem var(--fixed--1-125rem);
  grid-column-gap: var(--fixed--0-875rem);
  grid-row-gap: var(--fixed--0-875rem);
  border-radius: var(--fixed--15rem);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background-color: #e7e6e0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.cta_pill {
  color: var(--_colors---grey--300);
  font-size: var(--fixed--0-875rem);
  font-weight: var(--_typography---font-weight--medium);
}

.scroll-note_text {
  z-index: 2;
  font-family: var(--_typography---font-family--detail);
  color: #727067;
  font-size: var(--fixed--0-875rem);
  font-weight: var(--_typography---font-weight--medium);
  letter-spacing: .1em;
  text-transform: uppercase;
  position: absolute;
  top: 2rem;
}

.footer_link-label {
  color: var(--_colors---primary--black);
  font-weight: 400;
}

.footer_legal-links {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: center;
  display: flex;
}

.footer_component {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-flow: column;
  width: 100%;
  display: flex;
}

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

.footer_social-media {
  width: var(--fixed--1-5rem);
  /* Icons are baked as solid black SVGs; invert to white for the footer's
     dark background instead of shipping separate light-mode assets. */
  filter: invert(1);
}

.footer_template-link {
  color: var(--_colors---grey--300);
  font-size: .75rem;
  font-weight: 500;
  transition: background-color .2s;
}

.footer_template-link:hover {
  color: var(--_colors---primary--black);
}

.footer_wrap {
  z-index: 0;
  padding-top: var(--fixed--4rem);
  padding-right: 0;
  padding-left: 0;
  grid-column-gap: var(--fixed--6rem);
  grid-row-gap: var(--fixed--6rem);
  border-radius: var(--border-radius--xxlarge);
  background-color: var(--_colors---primary--white);
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  overflow: clip;
}

.footer_template-links {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: wrap;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.footer_copyright {
  color: var(--_colors---grey--200);
  font-size: .75rem;
  font-weight: 400;
}

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

.footer_links-groups {
  grid-column-gap: 5.5rem;
  grid-row-gap: 5.5rem;
  flex-flow: wrap;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: flex-start;
  width: 80%;
  display: flex;
}

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

.footer_social-media-wrap {
  justify-content: center;
  align-items: center;
  transition: opacity .2s;
  display: flex;
}

.footer_social-media-wrap:hover {
  opacity: .6;
}

.footer_legal-divider {
  background-color: var(--_colors---grey--200);
  width: 1px;
  height: 1.25rem;
}

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

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

.footer_social {
  grid-column-gap: var(--fixed--1rem);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.footer_link {
  color: var(--_colors---primary--white);
  font-size: .875rem;
  font-weight: var(--_typography---font-weight--medium);
  transition: color .15s;
}

.footer_link:hover {
  color: #fffc34;
}

.footer {
  /* No padding/margin/border on any side, footer runs fully edge to edge and
     flush with the bottom of the page, seamless with no dead space. The
     floating WhatsApp button (see .whatsapp-float) is fixed and simply
     floats over the last row when the page is scrolled all the way down,
     the same pattern most floating chat/contact buttons use. */
  padding: 0;
  margin: 0;
  border: none;
}

.footer_brand {
  font-size: 20vw;
  line-height: 1;
  font-weight: var(--_typography---font-weight--medium);
  letter-spacing: -.05em;
  margin-right: auto;
}

/* Redesigned footer, replaces the old .footer_main/.footer_links-groups
   template layout (kept above, unused, in case any of it is needed again).
   Seamless dark treatment: no card, no border, sits directly on the page's
   own dark textured background so it reads as part of the page rather than
   a separate block, with a yellow glow rising from the bottom edge (same
   idea as xAI's site footer, swapping their orange for our yellow). Single
   row of columns, no separate divider/bottom bar, so it doesn't read as two
   stacked footers. */
.footer {
  background-color: transparent;
}

.footer_wrap {
  /* Explicit dark background (matching the page's own body texture) instead
     of relying on the page background showing through. index.html is dark
     everywhere so this looks identical either way, but about.html's body is
     the light beige theme, without this the footer would inherit that light
     background and the white text/yellow glow above would be unreadable. */
  background-color: #000;
  background-image: url('../images/seamless_texture-bg.jpg');
  background-repeat: repeat;
  border-radius: 0;
  position: relative;
  overflow: hidden;
}

.footer_wrap::before {
  content: "";
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #fffc34cc 0%, #fffc3480 30%, #fffc3426 60%, #fffc3400 90%);
  width: 100%;
  height: 34rem;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20rem;
  z-index: 0;
  pointer-events: none;
}

/* Light variant of the footer, used on about.html (Despre Noi). That page's
   body stays the site's beige background rather than the dark textured one,
   so the footer here matches it instead of forcing its own dark band: same
   beige background, no texture image. The yellow glow stays, boosted to a
   fuller opacity/saturation so it still reads as a warm yellow accent against
   the lighter backdrop instead of washing out into the beige. Text, links
   and social icons switch to dark gray/black so they stay readable on the
   light background. */
.footer.footer-light .footer_wrap {
  background-color: var(--_colors---primary--beige);
  background-image: none;
}

.footer.footer-light .footer_wrap::before {
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #ffec00 0%, #ffec00e0 25%, #ffec0099 50%, #ffec0000 85%);
}

.footer-light .footer_link {
  color: var(--_colors---grey--400);
}

.footer-light .footer_link:hover {
  color: var(--_colors---primary--black);
}

.footer-light .footer-new_col-title,
.footer-light .footer-new_tagline {
  color: var(--_colors---grey--400);
}

.footer-light .footer_copyright {
  color: var(--_colors---grey--400);
}

.footer-light .footer_social-media {
  /* Icons are baked as solid black SVGs; the dark footer inverts them to
     white, but on this light background they should stay black, so undo
     that inversion here. */
  filter: none;
}

.footer-new_top {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3rem;
  margin-bottom: 64px;
  position: relative;
  z-index: 1;
}

.footer-new_brand {
  max-width: 22rem;
  display: flex;
  flex-flow: column;
  /* Without this, the flex default (stretch) forces the logo <img> to the
     full column width, distorting its aspect ratio instead of sizing it
     naturally, which also threw off its left edge relative to the text
     below it. */
  align-items: flex-start;
  gap: .875rem;
  /* Matches the Social column's margin-right below, so the brand block sits
     the same distance from the left edge as the social icons do from the
     right, even though the footer itself has no padding. */
  margin-left: var(--fixed--3rem);
}

.footer-new_logo {
  height: 1.375rem;
  width: auto;
}

.footer-new_tagline {
  color: var(--_colors---grey--200);
  font-size: .875rem;
  line-height: 1.5;
  margin: 0;
}

.footer-new_col {
  min-width: 9rem;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  gap: 1.1rem;
}

/* Matches .footer-new_brand's margin-left, same distance from the right edge
   as the brand column has from the left. The floating WhatsApp button no
   longer needs to be dodged here, it docks above the footer entirely before
   it would ever reach these icons (see the docking script). */
.footer-new_top > .footer-new_col:last-child {
  margin-right: var(--fixed--3rem);
}

@media screen and (max-width: 767px) {
  /* Once stacked into a single column, .footer-new_brand's margin-left and
     the Social column's margin-right (the only two columns that had side
     margins, meant to balance the row layout above) are no longer enough:
     the Navigare/Contact columns in between never had a margin at all, so
     they sat flush against the edge while brand/social did not, and zeroing
     the other two here (as this rule used to do) just made everything flush.
     Giving the whole stack one shared side padding keeps every column's text
     the same, readable distance from the edge instead. */
  .footer-new_brand {
    margin-left: 0;
  }

  .footer-new_top > .footer-new_col:last-child {
    margin-right: 0;
  }

  .footer-new_top {
    padding-left: var(--fixed--1-5rem);
    padding-right: var(--fixed--1-5rem);
  }
}

.footer-new_col-title {
  color: var(--_colors---grey--300);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 400;
  margin-bottom: .25rem;
}

.footer-new_book-link {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .footer-new_top {
    flex-flow: column;
    gap: 2rem;
  }
}

.about-header_content {
  flex-flow: column;
  justify-content: center;
  align-items: stretch;
  display: flex;
  position: sticky;
  top: 0;
}

.about-header_asset-text {
  color: #fff;
  font-size: var(--fixed--0-75rem);
  font-weight: var(--_typography---font-weight--medium);
}

.about-header_asset-info {
  z-index: 3;
  grid-column-gap: var(--fixed--0-75rem);
  grid-row-gap: var(--fixed--0-75rem);
  background-image: linear-gradient(#00000078, #0000);
  flex-flow: column;
  width: 100%;
  padding: 1.25rem;
  display: flex;
  position: absolute;
  inset: 0% 0% auto;
}

.about-header_asset-line {
  opacity: .38;
  background-color: #fff;
  width: 100%;
  height: 1px;
}

.about-header_cube-side {
  background-color: var(--_colors---primary--black);
  backface-visibility: hidden;
  border-radius: 3vh;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: clip;
}

.about-header_cube-side._4 {
  z-index: 1;
  transform-origin: 0%;
  transform-style: preserve-3d;
  position: absolute;
  inset: 0% 0% auto auto;
  transform: translate3d(0%, 0, -16vh)rotateX(0)rotateY(-90deg)rotateZ(0);
}

.about-header_cube-side._2 {
  z-index: 3;
  transform-origin: 0%;
  transform-style: preserve-3d;
  position: absolute;
  inset: 0% 0% auto auto;
  transform: translate3d(100%, 0, 16vh)rotateX(0)rotateY(90deg)rotateZ(0);
}

.about-header_cube-side._3 {
  z-index: 2;
  transform-style: preserve-3d;
  position: absolute;
  inset: 0% auto auto 0%;
  transform: rotateX(0)rotateY(180deg)rotateZ(0)translate3d(0%, 0%, 16vh);
}

.about-header_cube-side._1 {
  z-index: 4;
  transform-style: preserve-3d;
  position: absolute;
  transform: translate3d(0, 0, 16vh);
}

.about-header_asset {
  z-index: 1;
  backface-visibility: hidden;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
}

.about-header_cube {
  aspect-ratio: 1 / 1.85;
  width: 32vh;
  transform-style: preserve-3d;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  transform: rotateX(0)rotateY(1deg)rotateZ(0);
}

.about-header_cube-wrap {
  z-index: 3;
  perspective: 1500px;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.about-header_gradient {
  z-index: 2;
  background-image: linear-gradient(#00000063, #0000000d 54%, #0000 78%);
  width: 100%;
  height: 20%;
  position: absolute;
  inset: 0% 0% auto;
}

.about-header_spacing {
  padding-top: 3vh;
}

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

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

.approach_img-wrap {
  aspect-ratio: 3 / 2;
  border-radius: var(--border-radius--large);
  object-fit: cover;
  width: 100%;
  position: relative;
  overflow: clip;
}

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

.approach_item-content {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  display: flex;
}

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

.about-values_imgs-wrap {
  border-radius: var(--border-radius--huge);
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  display: flex;
  position: relative;
  overflow: clip;
}

.about-values_block-content {
  grid-column-gap: var(--fixed--1-75rem);
  grid-row-gap: var(--fixed--1-75rem);
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 21rem;
  display: flex;
}

.about-values_wrapper {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: flex;
}

.about-values_head-wrap {
  max-width: 21rem;
}

.about-values_imgs-wrapper {
  width: 50%;
  height: 100vh;
  padding-top: var(--fixed--3rem);
  padding-bottom: var(--fixed--3rem);
  display: flex;
  position: sticky;
  top: 0;
}

.section_values {
  position: relative;
}

.about-values_img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .7s cubic-bezier(.215, .61, .355, 1);
}

.about-values_head {
  grid-column-gap: var(--fixed--1-25rem);
  grid-row-gap: var(--fixed--1-25rem);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.about-values_img-tablet {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .7s cubic-bezier(.215, .61, .355, 1);
  display: none;
}

.about-values_content {
  width: 50%;
  padding-top: 10vh;
  padding-bottom: 10vh;
}

.about-values_img-wrap {
  width: 100%;
  height: 100%;
  transition: transform .5s cubic-bezier(.215, .61, .355, 1), opacity .5s cubic-bezier(.215, .61, .355, 1);
  overflow: clip;
}

.about-values_img-wrap._1 {
  z-index: 1;
  position: relative;
}

.about-values_img-wrap._3 {
  z-index: 3;
  opacity: 0;
  position: absolute;
}

.about-values_img-wrap._2 {
  z-index: 2;
  opacity: 0;
  position: absolute;
}

.about-values_block {
  flex-direction: column;
  justify-content: center;
  padding: 20vh 15% 20vh 20%;
  display: flex;
}

.about-team_grid {
  grid-column-gap: var(--fixed--4rem);
  grid-row-gap: var(--fixed--5rem);
  object-fit: cover;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  height: 100%;
  display: grid;
}

.about-team_item {
  grid-column-gap: var(--fixed--1-125rem);
  grid-row-gap: var(--fixed--1-125rem);
  flex-flow: column;
  width: 100%;
  display: flex;
}

.about-team_img-wrap {
  aspect-ratio: 2 / 2.4;
  border-radius: var(--border-radius--small);
  width: 100%;
  position: relative;
  overflow: clip;
}

.about-team_img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
}

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

.about-team_text {
  font-family: BDO Grotesk, Arial, sans-serif;
  font-size: var(--fixed--1rem);
  line-height: 120%;
  font-weight: var(--_typography---font-weight--medium);
}

.text-color-grey-350 {
  color: #707070;
}

.about-team_text-2 {
  font-family: BDO Grotesk, Arial, sans-serif;
  font-size: .875rem;
  line-height: 120%;
}

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

.section_cta {
  display: block;
}

.blog-list_head {
  grid-column-gap: var(--fixed--0-75rem);
  grid-row-gap: var(--fixed--0-75rem);
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.blog-list_subheading {
  margin-bottom: var(--fixed--0-5rem);
  color: var(--_colors---grey--300);
  font-size: var(--fixed--1rem);
  font-weight: var(--_typography---font-weight--medium);
}

.blog-list_list {
  grid-column-gap: var(--fixed--1-5rem);
  grid-row-gap: var(--fixed--1-5rem);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.blog-list_block {
  grid-column-gap: var(--fixed--1-5rem);
  grid-row-gap: var(--fixed--1-5rem);
  flex-flow: column;
  width: 100%;
  display: flex;
}

.blog-list_img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
}

.blog-list_img-wrap {
  border-radius: var(--border-radius--medium);
  overflow: clip;
}

.blog-list_content {
  grid-column-gap: var(--fixed--0-75rem);
  grid-row-gap: var(--fixed--0-75rem);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 95%;
  display: flex;
}

.blog-list_desc {
  color: var(--_colors---grey--400);
}

.newsletter_component {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.input-wrapper {
  position: relative;
}

.newsletter_arrow {
  width: var(--fixed--2rem);
  color: #fff;
}

.newsletter_button {
  aspect-ratio: 1;
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
  position: absolute;
  inset: 0% 0% auto auto;
}

.newsletter_form {
  position: relative;
}

.newsletter_submit-btn {
  z-index: 5;
  background-color: #0000;
  width: 100%;
  height: 100%;
  position: relative;
}

.newsletter_btn-wrap {
  border-radius: var(--fixed--3rem);
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.text-field {
  border-radius: var(--fixed--3-5rem);
  background-color: var(--_colors---primary--white);
  height: 13rem;
  font-family: var(--_typography---font-family--primary);
  color: #000;
  font-size: var(--fixed--3-5rem);
  border: 1px #000;
  margin-bottom: 0;
  padding-left: 5rem;
  padding-right: 13rem;
}

.text-field::placeholder {
  color: #000;
}

.newsletter_btn-wrapper {
  width: 100%;
  height: 100%;
  padding: var(--fixed--1rem);
  position: absolute;
  inset: 0%;
}

.newsletter_form-block {
  width: 100%;
  margin-bottom: 0;
}

.newsletter_label-wrap {
  padding-left: var(--fixed--5rem);
}

.success-message {
  border-radius: var(--border-radius--small);
  background-color: #dad8d2;
  padding: 0;
}

.newsletter_success-in {
  padding: var(--fixed--2-75rem);
  grid-column-gap: var(--fixed--0-5rem);
  grid-row-gap: var(--fixed--0-5rem);
  flex-flow: column;
  display: flex;
}

.error-message {
  border-radius: var(--fixed--0-5rem);
  position: relative;
}

.button-solid {
  z-index: 2;
  padding: var(--fixed--1-5rem) 1.75rem;
  font-family: var(--_typography---font-family--secondary);
  color: #fff;
  font-size: var(--fixed--0-875rem);
  line-height: 1.5;
  font-weight: var(--_typography---font-weight--medium);
  text-align: center;
  background-color: #242424;
  background-image: linear-gradient(#242424, #131313);
  border: 1px solid #0000;
  border-bottom-style: none;
  border-radius: 1rem;
  justify-content: center;
  align-items: center;
  transition: border .2s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 #0000, -1.1px 1.2px .1px #00000006, -2.2px 2.4px .3px #00000008, -3.3px 3.7px .5px #00000009, -4.6px 5.1px .7px #00000009, -6px 6.6px .9px #0000000a, -7.6px 8.4px 1.3px #0000000a, -9.5px 10.5px 1.8px #0000000b, -11.8px 13px 2.4px #0000000b, -14.7px 16.2px 3.2px #0000000b, -18.3px 20.2px 4.4px #0000000b, -23px 25.4px 6px #0000000b, -29.3px 32.3px 8.2px #0000000c, -37.8px 41.8px 11.3px #0000000c, -49.9px 55.1px 15.9px #0000000c, -67.7px 74.8px 22.7px #0000000d, -96.7px 106.8px 34px #0000000e, -152.5px 168.5px 56.1px #0000000e;
}

.button-solid:hover {
  background-image: linear-gradient(#585858, #141414);
}

.contact_form {
  display: block;
}

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

.form_field {
  border-style: none none solid;
  border-width: 1px;
  border-color: black black var(--_colors---primary--black);
  color: #000;
  background-color: #0000;
  border-radius: 0;
  height: 3.5rem;
  margin-bottom: 0;
  padding: 1rem 0;
  font-size: 1rem;
}

.form_field:focus {
  border-bottom-color: var(--_colors---primary--black);
}

.form_field::placeholder {
  color: #000;
}

.form_field.message {
  height: 8rem;
}

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

.contact_form-block {
  margin-bottom: 0;
  display: block;
}

.contact_field-wrap-2 {
  display: block;
}

.contact_form-wrap, .faq_component {
  flex-flow: column;
  display: flex;
}

.faq_answer-spacing {
  width: 100%;
  height: 1.25rem;
  min-height: 1.25rem;
}

.faq_answer-wrap {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 7.9922% 1fr;
  grid-auto-columns: 1fr;
  padding-left: 4rem;
  display: flex;
  overflow: hidden;
}

.faq_question {
  font-size: var(--fixed--1-125rem);
  line-height: 1.3;
  font-weight: var(--_typography---font-weight--medium);
  letter-spacing: -.01em;
}

.faq_question-wrap {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  cursor: pointer;
  grid-template-rows: auto;
  grid-template-columns: 5.65302% 1fr 5.89864%;
  grid-auto-columns: 1fr;
  align-items: center;
  padding-top: 1.125rem;
  display: grid;
}

.faq_accordion {
  padding-bottom: var(--fixed--1-25rem);
  border-bottom: 1px dotted #b6b6b6;
}

.faq_button {
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
}

.div-block-34-copy {
  background-color: var(--_colors---primary--black);
  color: #fff;
  text-align: center;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  font-size: .75rem;
  display: flex;
}

.faq_button-line {
  width: var(--fixed--1-25rem);
  background-color: #011d3f;
  flex: none;
  height: 2px;
}

.faq_button-line.is-second {
  position: absolute;
  transform: rotate(90deg);
}

.home-header_img {
  aspect-ratio: 1 / 1.3;
  border-radius: var(--fixed--1-25rem);
  object-fit: cover;
  max-width: none;
  height: 9rem;
  position: absolute;
}

.section_home-about {
  margin-top: -26px;
}

.navbar_hamburger-wrap {
  display: none;
}

.navbar_hamburger {
  z-index: 101;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 1.75rem;
  height: 1.75rem;
  display: none;
  position: relative;
}

.navbar_hamburger-line {
  background-color: #000;
  width: 100%;
  height: 2px;
}

.work-list_desc {
  color: var(--_colors---grey--300);
  font-size: var(--fixed--0-875rem);
  font-weight: var(--_typography---font-weight--medium);
  text-align: center;
}

.post-header_image {
  aspect-ratio: 2;
  object-fit: cover;
  width: 100%;
  position: static;
}

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

.post-header_image-wrap {
  border-radius: var(--border-radius--large);
  width: 100%;
  overflow: clip;
}

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

.post-header_component {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.padding-global-5 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.work-header_head {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 50rem;
  display: flex;
}

.work-header_component {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

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

.work-content_head {
  grid-column-gap: var(--fixed--1-25rem);
  grid-row-gap: var(--fixed--1-25rem);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.case-content_image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
}

.work-content_grid {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  grid-template-rows: auto;
  grid-template-columns: .45fr 1fr;
  grid-auto-columns: 1fr;
  place-items: start stretch;
  display: grid;
}

.case-content_component {
  flex-flow: column;
  display: flex;
}

.work-content_content {
  grid-column-gap: 2.75rem;
  grid-row-gap: 2.75rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 21.875rem;
  display: flex;
  position: sticky;
  top: 4rem;
}

.case-content_head {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.work-header_infos {
  grid-column-gap: var(--fixed--2-75rem);
  grid-row-gap: var(--fixed--2-75rem);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.work-header_brand {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.case-content_imgs-list {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  width: 100%;
  display: flex;
}

.case-content_image-wrap {
  aspect-ratio: 3 / 2;
  border-radius: var(--border-radius--xxlarge);
  width: 100%;
  position: relative;
  overflow: clip;
}

.case-content_imgs-wrap {
  width: 100%;
}

.case-content_final-head {
  grid-column-gap: 2.75rem;
  grid-row-gap: 2.75rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 26rem;
  display: flex;
}

.empty-state {
  text-align: left;
  background-color: #f5f7fa;
  border-radius: .5rem;
  padding: 1.5rem;
  font-size: .875rem;
  font-weight: 600;
}

.work-final_img-wrap {
  aspect-ratio: 2;
  border-radius: var(--border-radius--xxlarge);
  width: 100%;
  position: relative;
  overflow: clip;
}

.work-header_info-text {
  color: var(--_colors---grey--300);
  font-size: .875rem;
  font-weight: var(--_typography---font-weight--medium);
}

.case-content_final {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  grid-template-rows: auto;
  grid-template-columns: 1.5fr 1fr;
  grid-auto-columns: 1fr;
  place-items: end stretch;
  display: grid;
}

.work-header_img-wrap {
  aspect-ratio: 2;
  border-radius: var(--border-radius--xxlarge);
  width: 100%;
  position: relative;
  overflow: clip;
}

.work-header_img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
}

.case-content_imgs-item {
  width: 100%;
}

.work-content_heading {
  font-family: var(--_typography---h4--font-family);
  font-size: var(--fixed--2-5rem);
  line-height: var(--_typography---h4--line-height);
  font-weight: var(--_typography---h4--font-weight);
  letter-spacing: var(--_typography---h4--letter-spacing);
}

.collection-list-wrapper {
  width: 100%;
}

.work-related_img {
  aspect-ratio: 2;
  border-radius: var(--border-radius--small);
  object-fit: cover;
}

.work-related_infos {
  grid-column-gap: var(--fixed--0-75rem);
  grid-row-gap: var(--fixed--0-75rem);
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
}

.text-block {
  color: var(--_colors---grey--400);
  font-size: var(--fixed--0-875rem);
  font-weight: var(--_typography---font-weight--medium);
}

.home-header_button {
  background-color: #fffc34;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 20px;
  padding-bottom: 24px;
  display: block;
}

.animation-scroll-border {
  border-radius: var(--fixed--2rem);
}

.class-for-animation {
  display: none;
}

.animation-scroll-padding {
  padding: var(--fixed--1-5rem);
}

.blog-list_title {
  font-family: var(--_typography---h5--font-family);
  font-size: var(--fixed--1-5rem);
  line-height: 115%;
  font-weight: var(--_typography---h5--font-weight);
  letter-spacing: var(--_typography---h5--letter-spacing);
}

.instructions_rich-text {
  line-height: 1.5;
}

.instructions_rich-text figure {
  margin-bottom: 3rem;
}

.instructions_rich-text h2 {
  margin-top: var(--fixed--3rem);
  margin-bottom: var(--fixed--2-25rem);
  padding-top: var(--fixed--1-5rem);
  padding-bottom: var(--fixed--1-5rem);
  padding-left: var(--fixed--1-5rem);
  font-size: var(--fixed--1-75rem);
  border-left: 3px solid #b6b4ad;
}

.instructions_rich-text p {
  margin-bottom: var(--fixed--2rem);
  line-height: 1.5;
}

.instructions_rich-text img {
  border-radius: var(--border-radius--medium);
}

.instructions_rich-text h4 {
  margin-bottom: var(--fixed--1-5rem);
  font-size: var(--fixed--1-75rem);
}

.instructions_rich-text h3 {
  margin-top: var(--fixed--2-5rem);
  margin-bottom: var(--fixed--1-5rem);
  padding-bottom: var(--fixed--1rem);
  border-bottom: 1px dotted var(--_colors---grey--300);
  font-size: var(--fixed--1-5rem);
}

.instructions_rich-text h6 {
  margin-bottom: var(--fixed--1rem);
  font-size: var(--fixed--1-25rem);
}

.instructions_rich-text blockquote {
  margin-top: var(--fixed--2rem);
  margin-bottom: var(--fixed--2-5rem);
  padding: var(--fixed--1-5rem);
  border-radius: var(--border-radius--xsmall);
  outline-offset: 4px;
  font-size: var(--fixed--1rem);
  background-color: #a3c9e542;
  outline: 1px dashed #0073ff;
}

.instructions_rich-text h1 {
  font-size: var(--fixed--4rem);
  margin-bottom: 1.5rem;
}

.instructions_rich-text h5 {
  margin-bottom: var(--fixed--1rem);
  font-size: var(--fixed--1-5rem);
}

.instructions_rich-text ul {
  margin-top: -.5rem;
  margin-bottom: var(--fixed--2rem);
}

.instructions_rich-text ol {
  margin-bottom: var(--fixed--2-5rem);
}

.instructions_rich-text a {
  padding: var(--fixed--0-125rem) var(--fixed--0-5rem) var(--fixed--0-125rem) 1.65rem;
  border-radius: var(--border-radius--xsmall);
  color: #2d62ff;
  font-weight: var(--_typography---font-weight--medium);
  background-color: #dfeaff;
  background-image: url('../images/link.svg');
  background-position: 8px;
  background-repeat: no-repeat;
  background-size: .75rem;
  display: inline-block;
}

.instructions_rich-text figcaption {
  margin-top: var(--fixed--0-75rem);
  color: var(--_colors---grey--300);
  font-size: var(--fixed--0-875rem);
  font-weight: var(--_typography---font-weight--regular);
}

.instructions_rich-text code {
  display: inline-block;
}

.docs_component {
  padding: var(--fixed--0-125rem) var(--fixed--0-5rem) var(--fixed--0-125rem) var(--fixed--1-75rem);
  border-radius: var(--spacer--xsmall);
  color: var(--_colors---primary--white);
  background-color: #289e50;
  background-image: url('../images/component.svg');
  background-position: 8px;
  background-repeat: no-repeat;
  background-size: .85rem;
  margin-top: 2px;
  margin-bottom: 2px;
  font-style: normal;
  display: inline-block;
}

.body {
  background-color: var(--_colors---primary--black);
  color: var(--_colors---primary--white);
  background-image: url('../images/seamless_texture-bg.jpg');
  background-position: 0%;
  background-repeat: repeat;
}

.image {
  text-align: center;
  max-width: 35%;
  transition: opacity .2s;
  position: absolute;
  inset: -85% -80% 0% 30%;
}

.lottie-animation {
  flex-flow: column;
  height: 1.5%;
  margin-top: 100px;
  display: flex;
}

.gallery-slider {
  opacity: 1;
  text-align: left;
  mix-blend-mode: normal;
  background-color: #fffc34;
  border-bottom: 1px #000;
  padding: 40px 30px 20px;
  position: relative;
}

.container {
  width: 100%;
  max-width: 1420px;
  margin-left: auto;
  margin-right: auto;
}

.gallery-wrapper {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: center stretch;
  max-width: 1400px;
  display: grid;
}

.gallery-block {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.gallery-slide {
  background-color: #0000;
  height: auto;
}

.gallery-slide-wrapper {
  max-width: 47%;
  margin-right: 6%;
}

.gallery-slide-image {
  position: relative;
}

.gallery-image {
  width: 100%;
}

.gallery-slide-text {
  color: #f5f7fa;
  margin-bottom: 0;
  line-height: 32px;
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
}

.gallery-slider-left {
  justify-content: center;
  align-items: center;
  width: 40px;
  display: flex;
  left: -50px;
}

.gallery-slider-left:focus-visible, .gallery-slider-left[data-wf-focus-visible] {
  outline-offset: 0px;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.slider-arrow-embed {
  color: #1a1b1f;
}

.gallery-slider-right {
  justify-content: center;
  align-items: center;
  width: 40px;
  display: flex;
  right: -50px;
}

.gallery-slider-right:focus-visible, .gallery-slider-right[data-wf-focus-visible] {
  outline-offset: 0px;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.gallery-slide-nav {
  display: none;
}

.heading {
  color: var(--_colors---primary--black);
}

.navbar_logo_dark {
  display: inline-block;
}

.navbar_logo_white-copy {
  width: var(--fixed--12rem);
  color: var(--_colors---primary--white);
  width: var(--fixed--12rem);
  display: inline-block;
}

.navbar_logo_black {
  width: var(--fixed--12rem);
  color: var(--_colors---primary--white);
  display: none;
}

.navbar_logo_black:where(.w-variant-1f88e9d2-2126-c26f-cddb-9e4109331a60) {
  display: inline-block;
}

.video {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 800px;
  max-width: 100%;
  height: 400px;
  padding-bottom: 0;
  display: block;
}

.div-block {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: row;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  max-width: none;
  margin: 75px auto 60px;
  display: inline-flex;
  position: static;
}

.video-2 {
  width: 100%;
  height: auto;
}

.div-block-2 {
  justify-content: flex-start;
  align-items: stretch;
  width: 43%;
  display: flex;
}

.image-2 {
  display: none;
}

.field-label, .field-label-2 {
  color: var(--_colors---primary--black);
}

.form {
  width: 100%;
  max-width: 40em;
}

.submit-button {
  color: var(--_colors---primary--black);
  background-color: #fffc34;
  border-radius: 20px;
  box-shadow: 0 2px 5px #0003;
}

.select-field {
  margin-right: 0;
  padding-right: 0;
}

@media screen and (max-width: 991px) {
  body {
    --fixed--1rem: 1rem;
    --fixed--0rem: 0rem;
    --fixed--2-5rem: 2.5rem;
    --fixed--1-5rem: 1.5rem;
    --fixed--1-125rem: 1.125rem;
    --border-radius--xxsmall: var(--fixed--0-25rem);
    --fixed--1-25rem: 1.25rem;
    --fixed--0-875rem: .875rem;
    --spacer--xxhuge: var(--fixed--12rem);
    --fixed--2rem: 2rem;
    --spacer--custom-1: var(--fixed--1-25rem);
    --fixed--0-75rem: .75rem;
    --fixed--4rem: 4rem;
    --fixed--3rem: 3rem;
    --fixed--1-75rem: 1.75rem;
    --spacer--custom-3: var(--fixed--2-5rem);
    --section--small: var(--fixed--5rem);
    --fixed--6rem: 6rem;
    --spacer--tiny: var(--fixed--0-125rem);
    --spacer--medium: var(--fixed--2rem);
    --spacer--custom-2: var(--fixed--1-5rem);
    --fixed--2-75rem: 2.75rem;
    --fixed--2-25rem: 2.25rem;
    --fixed--0-5rem: .5rem;
    --spacer--xhuge: var(--fixed--8rem);
    --section--large: var(--fixed--8rem);
    --fixed--6-5rem: 6.5rem;
    --spacer--small: var(--fixed--1rem);
    --section--xxlarge: var(--fixed--10rem);
    --spacer--xxlarge: var(--fixed--4rem);
    --section--xsmall: var(--fixed--2-75rem);
    --spacer--xlarge: var(--fixed--4rem);
    --section--xlarge: var(--fixed--9rem);
    --spacer--xsmall: var(--fixed--0-5rem);
    --spacer--xxsmall: var(--fixed--0-25rem);
    --spacer--huge: var(--fixed--6rem);
    --spacer--large: var(--fixed--3rem);
    --fixed--5rem: 5rem;
    --border-radius--xsmall: var(--fixed--0-25rem);
    --fixed--4-5rem: 4.5rem;
    --fixed--3-5rem: 3.5rem;
    --fixed--12rem: 12rem;
    --fixed--8rem: 8rem;
    --fixed--7rem: 7rem;
    --border-radius--huge: var(--fixed--0-875rem);
    --border-radius--small: var(--fixed--0-5rem);
    --border-radius--medium: var(--fixed--0-5rem);
    --fixed--0-25rem: .25rem;
    --border-radius--ultra: var(--fixed--1-5rem);
    --fixed--15rem: 15rem;
    --border-radius--xxlarge: var(--fixed--0-875rem);
    --border-radius--large: var(--fixed--0-75rem);
    --fixed--0-125rem: .125rem;
    --fixed--5-5rem: 5.5rem;
    --fixed--9rem: 12rem;
    --fixed--10rem: 10rem;
    --fixed--11rem: 11rem;
    --fixed--13rem: 13rem;
    --fixed--14rem: 14rem;
    --fixed--16rem: 16rem;
    --section--medium: var(--fixed--7rem);
    --border-radius--tiny: var(--fixed--0-125rem);
    --border-radius--xlarge: var(--fixed--0-75rem);
    --border-radius--xhuge: var(--fixed--0-875rem);
    --border-radius--xxhuge: var(--fixed--1-25rem);
    --_typography---font-family--secondary: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    --_typography---font-weight--regular: 400;
    --_typography---h1--font-family: var(--_typography---font-family--primary);
    --_typography---h1--font-size: var(--fixed--5rem);
    --_typography---h1--line-height: 100%;
    --_typography---h1--font-weight: var(--_typography---font-weight--medium);
    --_typography---h1--letter-spacing: -.02em;
    --_typography---h2--font-family: var(--_typography---font-family--primary);
    --_typography---h2--font-size: var(--fixed--4rem);
    --_typography---h2--font-weight: var(--_typography---font-weight--medium);
    --_typography---h2--letter-spacing: -.02em;
    --_typography---h3--font-family: var(--_typography---font-family--primary);
    --_typography---h3--font-size: var(--fixed--3rem);
    --_typography---h3--line-height: 105%;
    --_typography---h3--font-weight: var(--_typography---font-weight--medium);
    --_typography---h3--letter-spacing: -.02em;
    --_typography---h4--font-family: var(--_typography---font-family--primary);
    --_typography---h4--font-size: var(--fixed--2-25rem);
    --_typography---h4--line-height: 110%;
    --_typography---h4--font-weight: var(--_typography---font-weight--medium);
    --_typography---h4--letter-spacing: -.02em;
    --_typography---h5--font-family: var(--_typography---font-family--primary);
    --_typography---h5--font-size: var(--fixed--1-5rem);
    --_typography---h5--line-height: 110%;
    --_typography---h5--font-weight: var(--_typography---font-weight--medium);
    --_typography---h5--letter-spacing: -.02em;
    --_typography---h6--font-family: var(--_typography---font-family--primary);
    --_typography---h6--font-size: var(--fixed--1-125rem);
    --_typography---h6--line-height: 120%;
    --_typography---h6--font-weight: var(--_typography---font-weight--medium);
    --_typography---h6--letter-spacing: -.02em;
    --_typography---font-weight--medium: 500;
    --_typography---font-weight--thin: 100;
    --_typography---font-weight--extra-bold: 800;
    --_typography---font-weight--light: 300;
    --_typography---font-weight--bold: 700;
    --_typography---font-family--detail: "Roboto mono", Arial, sans-serif;
    --_typography---font-weight--black: 900;
    --_typography---font-weight--extra-light: 200;
    --_typography---font-weight--semibold: 600;
    --_typography---h2--line-height: 100%;
    --_typography---font-family--primary: "Spacegrotesk Variablefont Wght", Arial, sans-serif;
  }

  .resources_heading {
    font-size: 1.25rem;
  }

  .icon-height-xlarge {
    height: var(--fixed--3rem);
  }

  .text-rich-text h2 {
    font-size: var(--fixed--2-5rem);
  }

  .text-rich-text h4 {
    font-size: var(--fixed--1-75rem);
  }

  .text-rich-text h3 {
    font-size: var(--fixed--2rem);
  }

  .text-rich-text h6 {
    font-size: var(--fixed--1-25rem);
  }

  .text-rich-text h1 {
    font-size: var(--fixed--3rem);
  }

  .text-rich-text h5 {
    font-size: var(--fixed--1-5rem);
  }

  .padding-section-medium.is-tablet-smaller {
    padding-top: var(--fixed--3rem);
  }

  .text-size-medium {
    font-size: var(--fixed--1rem);
  }

  .resources_component {
    grid-column-gap: var(--fixed--4rem);
    grid-row-gap: var(--fixed--4rem);
  }

  .resources_item-content {
    grid-row-gap: var(--fixed--0-5rem);
  }

  .spacer-xhuge {
    padding-top: 6rem;
  }

  .padding-global {
    padding-right: var(--fixed--2-25rem);
    padding-left: var(--fixed--2-25rem);
  }

  .padding-section-large.is-tablet-smaller {
    padding-top: var(--fixed--3rem);
  }

  .text-size-large {
    font-size: var(--fixed--1-125rem);
  }

  .max-width-full-tablet {
    width: 100%;
    max-width: none;
  }

  .heading-style-h3 {
    -webkit-text-stroke-width: 0px;
  }

  .page-wrapper {
    width: 100%;
  }

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

  .hide-tablet {
    display: none;
  }

  .spacer-huge {
    padding-top: 5rem;
  }

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

  .resources_font-block:hover {
    opacity: 1;
  }

  .home-header_heading {
    font-size: var(--fixed--3-5rem);
  }

  .home-header_imgs-wrap {
    width: 100vw;
    height: auto;
    min-height: auto;
  }

  .navbar {
    background-color: var(--_colors---white--transparent);
  }

  .navbar.is-light {
    /* Was a solid opaque white here, which reads as a harsh disconnected
       white bar against this site's dark (index.html) or beige (about.html)
       themes once the navbar goes fixed/sticky at this width. Translucent +
       blurred instead, so the page's own background still shows through,
       staying legible over whatever scrolls underneath without looking like
       a separate white panel bolted on top. */
    background-color: rgba(10, 10, 10, .7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .navbar.is-light:where(.w-variant-1f88e9d2-2126-c26f-cddb-9e4109331a60) {
    /* about.html is the light/beige themed page, same idea but a translucent
       version of its own beige instead of dark. */
    background-color: rgba(248, 247, 243, .85);
  }

  .navbar_logo_white {
    width: var(--fixed--8rem);
  }

  /* index.html (no variant) has no reason to switch to the black logo here,
     that swap only made sense against the solid white bar removed above.
     Keeping the white logo visible keeps it readable against index.html's
     dark theme now that the backdrop is translucent dark instead of opaque
     white. about.html's variant is untouched, its logo is black at every
     width already (see the unconditional :where(variant) rules above). */
  .navbar:not(.w-variant-1f88e9d2-2126-c26f-cddb-9e4109331a60) .navbar_logo_white {
    display: inline-block;
  }

  .navbar:not(.w-variant-1f88e9d2-2126-c26f-cddb-9e4109331a60) .navbar_logo_black {
    display: none;
  }

  .navbar_component {
    justify-content: center;
    align-items: center;
  }

  .navbar_links-wrap {
    padding-top: var(--fixed--2rem);
    padding-right: var(--fixed--2rem);
    padding-bottom: var(--fixed--2rem);
    padding-left: var(--fixed--2rem);
    opacity: 0;
    background-color: #0009;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 5rem);
    display: none;
    position: absolute;
    top: calc(100% + 1rem);
  }

  .navbar_links {
    z-index: 101;
    flex-flow: column;
  }

  .navbar_logo-wrap {
    top: auto;
  }

  .brands_item-block {
    height: 100%;
  }

  .brands_item-logo {
    object-fit: cover;
    height: 100%;
  }

  .brands_item-logo-wrap {
    width: var(--fixed--12rem);
  }

  .brands_head {
    grid-column-gap: var(--fixed--2rem);
    grid-row-gap: var(--fixed--2rem);
    flex-flow: column;
    display: flex;
  }

  .brands_list {
    flex: 0 auto;
    order: 1;
    align-self: auto;
    align-items: stretch;
  }

  .home-about_component {
    padding-right: var(--fixed--0rem);
    padding-left: var(--fixed--0rem);
  }

  .home-about_heading {
    font-size: var(--_typography---h4--font-size);
    -webkit-text-stroke-width: 0px;
  }

  .home-about_img {
    display: none;
  }

  .home-about_img-text {
    font-size: var(--_typography---h4--font-size);
    -webkit-text-stroke-width: 0px;
  }

  .work-list_wrapper {
    width: 80%;
  }

  .work-list_list {
    grid-column-gap: var(--fixed--4-5rem);
    grid-row-gap: var(--fixed--4-5rem);
  }

  .work-list_image-main {
    border-radius: 1.25rem;
  }

  .work-list_image-second {
    border-radius: 1rem;
  }

  .services_component {
    grid-column-gap: var(--fixed--2-5rem);
    grid-row-gap: var(--fixed--2-5rem);
    flex-flow: column;
    display: flex;
  }

  .services_items {
    grid-column-gap: var(--fixed--1-5rem);
    grid-row-gap: var(--fixed--1-5rem);
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .services_content {
    position: relative;
    top: auto;
  }

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

  .cta_graphic-wrap {
    aspect-ratio: 2.39;
    /* Stacked layout now: round only the top corners so this sits on top of
       .cta_content with a flat seam between them, reading as one connected
       card (matching the side-by-side seam above) instead of two separate
       floating rounded panels. */
    border-radius: var(--border-radius--ultra) var(--border-radius--ultra) 0 0;
  }

  .cta_content {
    padding: var(--fixed--3rem);
    /* Round only the bottom corners, pairs with .cta_graphic-wrap above. */
    border-radius: 0 0 var(--border-radius--ultra) var(--border-radius--ultra);
  }

  .cta_head {
    max-width: none;
  }

  .footer_legal-links {
    place-items: end center;
  }

  .footer_lists {
    grid-column-gap: var(--fixed--0-875rem);
    grid-row-gap: var(--fixed--0-875rem);
  }

  .footer_wrap {
    padding-top: var(--fixed--2-25rem);
    padding-bottom: 0;
  }

  .footer_copyright {
    font-weight: 500;
  }

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

  .footer_links-groups {
    grid-column-gap: 4.5rem;
    grid-row-gap: 4.5rem;
    width: 100%;
  }

  .footer_legal-divider {
    width: 100%;
    height: 1px;
    display: none;
  }

  .footer_legal-wrap {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .about-header_asset-text {
    font-size: .75rem;
  }

  .about-header_asset-info {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
  }

  .about-header_cube-side {
    border-radius: 4vw;
  }

  .about-header_cube-side._4 {
    transform: translate3d(0%, 0, -20vw)rotateX(0)rotateY(-90deg)rotateZ(0);
  }

  .about-header_cube-side._2 {
    transform: translate3d(100%, 0, 20vw)rotateX(0)rotateY(90deg)rotateZ(0);
  }

  .about-header_cube-side._3 {
    transform: rotateX(0)rotateY(180deg)rotateZ(0)translate3d(0%, 0%, 20vw);
  }

  .about-header_cube-side._1 {
    transform: translate3d(0, 0, 20vw);
  }

  .about-header_cube {
    width: 40vw;
  }

  .about-header_cube-wrap {
    height: auto;
  }

  .about-header_spacing {
    padding-top: 10vw;
  }

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

  .about-values_imgs-wrap {
    aspect-ratio: 16 / 9;
  }

  .about-values_block-content {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .about-values_wrapper {
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
    flex-flow: column;
  }

  .about-values_imgs-wrapper {
    width: 100%;
    height: auto;
    padding: 0 2.25rem;
    display: none;
    position: relative;
    top: auto;
  }

  .about-values_head {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
  }

  .about-values_img-tablet {
    aspect-ratio: 1;
    border-radius: var(--border-radius--large);
    display: block;
  }

  .about-values_content {
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
    flex-flow: column;
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
  }

  .about-values_block {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    place-items: center end;
    padding: 0;
    display: grid;
  }

  .about-team_grid {
    grid-column-gap: var(--fixed--1-125rem);
    grid-row-gap: var(--fixed--3rem);
    grid-template-columns: 1fr 1fr;
  }

  .blog-list_list {
    grid-row-gap: var(--fixed--3rem);
    grid-template-columns: 1fr 1fr;
  }

  .newsletter_arrow {
    width: 2.5rem;
  }

  .text-field {
    height: 10rem;
    font-size: var(--fixed--2-25rem);
    padding-left: 3rem;
    padding-right: 11rem;
  }

  .newsletter_btn-wrapper {
    padding: .75rem;
  }

  .newsletter_label-wrap {
    padding-left: var(--fixed--3rem);
  }

  .faq_answer-spacing {
    height: 1.25rem;
    min-height: 1.25rem;
  }

  .faq_question {
    font-size: var(--fixed--1rem);
  }

  .faq_question-wrap {
    grid-template-columns: 5.65302% 1fr 5%;
  }

  .faq_button-line {
    width: var(--fixed--1-125rem);
  }

  .navbar_hamburger-wrap {
    z-index: 101;
    justify-content: center;
    align-items: center;
    width: 2.5rem;
    height: 2.5rem;
    margin-left: auto;
    margin-right: -.3rem;
    display: flex;
    position: relative;
  }

  .navbar_hamburger {
    grid-column-gap: 6px;
    grid-row-gap: 6px;
    --_typography---font-family--secondary: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    --_typography---font-weight--regular: 400;
    --_typography---h1--font-family: var(--_typography---font-family--primary);
    --_typography---h1--font-size: var(--fixed--5rem);
    --_typography---h1--line-height: 100%;
    --_typography---h1--font-weight: var(--_typography---font-weight--medium);
    --_typography---h1--letter-spacing: -.02em;
    --_typography---h2--font-family: var(--_typography---font-family--primary);
    --_typography---h2--font-size: var(--fixed--4rem);
    --_typography---h2--font-weight: var(--_typography---font-weight--medium);
    --_typography---h2--letter-spacing: -.02em;
    --_typography---h3--font-family: var(--_typography---font-family--primary);
    --_typography---h3--font-size: var(--fixed--3rem);
    --_typography---h3--line-height: 105%;
    --_typography---h3--font-weight: var(--_typography---font-weight--medium);
    --_typography---h3--letter-spacing: -.02em;
    --_typography---h4--font-family: var(--_typography---font-family--primary);
    --_typography---h4--font-size: var(--fixed--2-25rem);
    --_typography---h4--line-height: 110%;
    --_typography---h4--font-weight: var(--_typography---font-weight--medium);
    --_typography---h4--letter-spacing: -.02em;
    --_typography---h5--font-family: var(--_typography---font-family--primary);
    --_typography---h5--font-size: var(--fixed--1-5rem);
    --_typography---h5--line-height: 110%;
    --_typography---h5--font-weight: var(--_typography---font-weight--medium);
    --_typography---h5--letter-spacing: -.02em;
    --_typography---h6--font-family: var(--_typography---font-family--primary);
    --_typography---h6--font-size: var(--fixed--1-125rem);
    --_typography---h6--line-height: 120%;
    --_typography---h6--font-weight: var(--_typography---font-weight--medium);
    --_typography---h6--letter-spacing: -.02em;
    --_typography---font-weight--medium: 500;
    --_typography---font-weight--thin: 100;
    --_typography---font-weight--extra-bold: 800;
    --_typography---font-weight--light: 300;
    --_typography---font-weight--bold: 700;
    --_typography---font-family--detail: "Roboto mono", Arial, sans-serif;
    --_typography---font-weight--black: 900;
    --_typography---font-weight--extra-light: 200;
    --_typography---font-weight--semibold: 600;
    --_typography---h2--line-height: 100%;
    --_typography---font-family--primary: "Spacegrotesk Variablefont Wght", Arial, sans-serif;
    display: flex;
  }

  .padding-global-5 {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  .work-final_img {
    position: relative;
  }

  .work-content_head {
    grid-column-gap: var(--fixed--0-875rem);
    grid-row-gap: var(--fixed--0-875rem);
  }

  .work-content_grid {
    flex-flow: column;
    display: flex;
  }

  .work-content_content {
    grid-column-gap: var(--fixed--1-5rem);
    grid-row-gap: var(--fixed--1-5rem);
    max-width: 100%;
    position: relative;
    top: auto;
  }

  .work-header_infos {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
  }

  .case-content_imgs-list {
    grid-column-gap: var(--fixed--3rem);
    grid-row-gap: var(--fixed--3rem);
  }

  .work-final_img-wrap {
    aspect-ratio: auto;
  }

  .case-content_final {
    grid-column-gap: var(--fixed--1-5rem);
    grid-row-gap: var(--fixed--1-5rem);
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
  }

  .work-header_img-wrap {
    aspect-ratio: auto;
  }

  .work-header_img {
    position: relative;
  }

  .work-content_heading, .instructions_rich-text h4 {
    font-size: var(--fixed--1-75rem);
  }

  .instructions_rich-text h6 {
    font-size: var(--fixed--1-25rem);
  }

  .instructions_rich-text h1 {
    font-size: var(--fixed--3rem);
  }

  .instructions_rich-text h5 {
    font-size: var(--fixed--1-5rem);
  }

  .container {
    max-width: 728px;
  }

  .gallery-wrapper {
    grid-template-columns: 1fr 1fr;
  }

  .gallery-slider-left {
    left: -20px;
  }

  .gallery-slider-right {
    right: -20px;
  }

  .navbar_logo_white-copy {
    width: var(--fixed--8rem);
    width: var(--fixed--8rem);
  }

  .navbar_logo_black {
    width: var(--fixed--8rem);
    display: inline-block;
  }

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

  .div-block-2 {
    width: 100%;
  }

  .image-2 {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  body {
    --fixed--1rem: 1rem;
    --fixed--0rem: 0rem;
    --fixed--2-5rem: 2.5rem;
    --fixed--1-5rem: 1.5rem;
    --fixed--1-125rem: 1.125rem;
    --border-radius--xxsmall: var(--fixed--0-25rem);
    --fixed--1-25rem: 1.25rem;
    --fixed--0-875rem: .875rem;
    --spacer--xxhuge: var(--fixed--6rem);
    --fixed--2rem: 2rem;
    --spacer--custom-1: var(--fixed--1-125rem);
    --fixed--0-75rem: .75rem;
    --fixed--4rem: 4rem;
    --fixed--3rem: 3rem;
    --fixed--1-75rem: 1.75rem;
    --spacer--custom-3: var(--fixed--2rem);
    --section--small: var(--fixed--3rem);
    --fixed--6rem: 6rem;
    --spacer--tiny: var(--fixed--0-125rem);
    --spacer--medium: var(--fixed--1-5rem);
    --spacer--custom-2: var(--fixed--1-125rem);
    --fixed--2-75rem: 2.75rem;
    --fixed--2-25rem: 2.25rem;
    --fixed--0-5rem: .5rem;
    --spacer--xhuge: var(--fixed--6rem);
    --section--large: var(--fixed--5rem);
    --fixed--6-5rem: 6.5rem;
    --spacer--small: var(--fixed--1rem);
    --section--xxlarge: var(--fixed--5rem);
    --spacer--xxlarge: var(--fixed--3rem);
    --section--xsmall: var(--fixed--2-25rem);
    --spacer--xlarge: var(--fixed--3rem);
    --section--xlarge: var(--fixed--5rem);
    --spacer--xsmall: var(--fixed--0-5rem);
    --spacer--xxsmall: var(--fixed--0-25rem);
    --spacer--huge: var(--fixed--5rem);
    --spacer--large: var(--fixed--2rem);
    --fixed--5rem: 5rem;
    --border-radius--xsmall: var(--fixed--0-25rem);
    --fixed--4-5rem: 4.5rem;
    --fixed--3-5rem: 3.5rem;
    --fixed--12rem: 12rem;
    --fixed--8rem: 8rem;
    --fixed--7rem: 7rem;
    --border-radius--huge: var(--fixed--0-875rem);
    --border-radius--small: var(--fixed--0-5rem);
    --border-radius--medium: var(--fixed--0-5rem);
    --fixed--0-25rem: .25rem;
    --border-radius--ultra: var(--fixed--1-25rem);
    --fixed--15rem: 15rem;
    --border-radius--xxlarge: var(--fixed--0-875rem);
    --border-radius--large: var(--fixed--0-75rem);
    --fixed--0-125rem: .125rem;
    --fixed--5-5rem: 5.5rem;
    --fixed--9rem: 12rem;
    --fixed--10rem: 10rem;
    --fixed--11rem: 11rem;
    --fixed--13rem: 13rem;
    --fixed--14rem: 14rem;
    --fixed--16rem: 16rem;
    --section--medium: var(--fixed--5rem);
    --border-radius--tiny: var(--fixed--0-125rem);
    --border-radius--xlarge: var(--fixed--0-75rem);
    --border-radius--xhuge: var(--fixed--0-875rem);
    --border-radius--xxhuge: var(--fixed--1rem);
    --_typography---font-family--secondary: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    --_typography---font-weight--regular: 400;
    --_typography---h1--font-family: var(--_typography---font-family--primary);
    --_typography---h1--font-size: var(--fixed--3rem);
    --_typography---h1--line-height: 100%;
    --_typography---h1--font-weight: var(--_typography---font-weight--medium);
    --_typography---h1--letter-spacing: -.02em;
    --_typography---h2--font-family: var(--_typography---font-family--primary);
    --_typography---h2--font-size: var(--fixed--2-5rem);
    --_typography---h2--font-weight: var(--_typography---font-weight--medium);
    --_typography---h2--letter-spacing: -.02em;
    --_typography---h3--font-family: var(--_typography---font-family--primary);
    --_typography---h3--font-size: var(--fixed--2rem);
    --_typography---h3--line-height: 105%;
    --_typography---h3--font-weight: var(--_typography---font-weight--medium);
    --_typography---h3--letter-spacing: -.02em;
    --_typography---h4--font-family: var(--_typography---font-family--primary);
    --_typography---h4--font-size: var(--fixed--1-75rem);
    --_typography---h4--line-height: 110%;
    --_typography---h4--font-weight: var(--_typography---font-weight--medium);
    --_typography---h4--letter-spacing: -.02em;
    --_typography---h5--font-family: var(--_typography---font-family--primary);
    --_typography---h5--font-size: var(--fixed--1-5rem);
    --_typography---h5--line-height: 110%;
    --_typography---h5--font-weight: var(--_typography---font-weight--medium);
    --_typography---h5--letter-spacing: -.02em;
    --_typography---h6--font-family: var(--_typography---font-family--primary);
    --_typography---h6--font-size: var(--fixed--1rem);
    --_typography---h6--line-height: 120%;
    --_typography---h6--font-weight: var(--_typography---font-weight--medium);
    --_typography---h6--letter-spacing: -.02em;
    --_typography---font-weight--medium: 500;
    --_typography---font-weight--thin: 100;
    --_typography---font-weight--extra-bold: 800;
    --_typography---font-weight--light: 300;
    --_typography---font-weight--bold: 700;
    --_typography---font-family--detail: "Roboto mono", Arial, sans-serif;
    --_typography---font-weight--black: 900;
    --_typography---font-weight--extra-light: 200;
    --_typography---font-weight--semibold: 600;
    --_typography---h2--line-height: 100%;
    --_typography---font-family--primary: "Spacegrotesk Variablefont Wght", Arial, sans-serif;
  }

  blockquote {
    font-size: var(--fixed--1-125rem);
  }

  .resources_heading {
    padding-bottom: var(--fixed--0-875rem);
    font-size: 1.125rem;
  }

  .spacer-custom-1.is-mobile-small {
    padding-top: var(--fixed--0-75rem);
  }

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

  .resources_items.more-columns {
    grid-template-columns: 1fr 1fr;
  }

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

  .text-rich-text h2 {
    margin-bottom: var(--fixed--1-25rem);
    font-size: var(--fixed--1-75rem);
  }

  .text-rich-text p {
    margin-bottom: var(--fixed--1-75rem);
  }

  .text-rich-text h4 {
    margin-bottom: var(--fixed--1-125rem);
    font-size: var(--fixed--1-25rem);
  }

  .text-rich-text h3 {
    margin-bottom: var(--fixed--1-25rem);
    font-size: var(--fixed--1-5rem);
  }

  .text-rich-text h6 {
    font-size: var(--fixed--1-125rem);
  }

  .text-rich-text h1 {
    margin-bottom: var(--fixed--1-25rem);
    font-size: var(--fixed--2-5rem);
  }

  .text-rich-text h5 {
    font-size: var(--fixed--1-25rem);
  }

  .max-width-full-mobile {
    width: 100%;
    max-width: none;
  }

  .padding-section-medium.is-mobile-small {
    padding-top: var(--fixed--2-5rem);
  }

  .padding-section-medium.is-mobile-big {
    padding-top: var(--fixed--6rem);
  }

  .padding-section-medium.is-tablet-smaller {
    padding-top: var(--fixed--1-5rem);
  }

  .text-size-medium {
    font-size: var(--fixed--1rem);
  }

  .resources_section {
    grid-row-gap: var(--fixed--1-125rem);
  }

  .template-style-heading-split, .template-style-heading-split.margin-small {
    margin-left: .75rem;
    margin-right: .75rem;
  }

  .template-style-heading-split.margin-large {
    margin-left: 1rem;
    margin-right: 1rem;
  }

  .resources_component {
    grid-column-gap: var(--fixed--2-75rem);
    grid-row-gap: var(--fixed--2-75rem);
  }

  .resources_item-content {
    padding: var(--fixed--1-5rem);
  }

  .padding-global {
    padding-right: var(--fixed--1-5rem);
    padding-left: var(--fixed--1-5rem);
  }

  .padding-section-large.is-mobile-big {
    padding-top: var(--fixed--6-5rem);
  }

  .text-size-large {
    font-size: var(--fixed--1rem);
  }

  .heading-style-h4 {
    -webkit-text-stroke-width: 0px;
  }

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

  .text-style-label {
    letter-spacing: .05em;
  }

  .spacer-xlarge.is-mobile-small {
    padding-top: var(--fixed--2rem);
  }

  .heading-style-h3 {
    -webkit-text-stroke-width: 0px;
  }

  .heading-style-h3.is-mobile-h4 {
    font-size: var(--_typography---h4--font-size);
    line-height: var(--_typography---h4--line-height);
    font-weight: var(--_typography---h4--font-weight);
    letter-spacing: var(--_typography---h4--letter-spacing);
  }

  .spacer-huge {
    padding-top: 3rem;
  }

  .heading-style-h2.is-mobile-h3 {
    font-size: var(--_typography---h3--font-size);
    line-height: var(--_typography---h3--line-height);
    font-weight: var(--_typography---h3--font-weight);
    letter-spacing: var(--_typography---h3--letter-spacing);
  }

  .resources_license-wrap {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .section_home-header {
    height: auto;
    min-height: auto;
  }

  .home-header_heading {
    font-size: var(--fixed--2rem);
  }

  .home-header_imgs-wrapper {
    display: none;
  }

  .button {
    border-radius: var(--fixed--1-25rem);
  }

  .button_inner {
    padding: var(--fixed--1-25rem) var(--fixed--1-75rem);
  }

  .navbar {
    padding-top: var(--fixed--0-5rem);
    padding-bottom: var(--fixed--0-5rem);
    background-color: var(--base--beige\<deleted\|variable-18c14968-cf92-b56f-6465-88a57344cb44\>);
  }

  .navbar_links-wrap {
    width: calc(100% - 3rem);
    display: none;
    top: calc(100% + .5rem);
  }

  .home-header_location-globe {
    width: 1.25rem;
    height: 1.25rem;
  }

  .home-header_label {
    font-size: var(--fixed--0-75rem);
  }

  .home-header_text {
    font-size: var(--fixed--1rem);
  }

  .brands_item-logo-wrap {
    width: 12rem;
  }

  .label_line {
    width: var(--fixed--1-75rem);
  }

  .home-about_heading, .home-about_img-text {
    -webkit-text-stroke-width: 0px;
  }

  .work-list_list {
    grid-column-gap: var(--fixed--3rem);
    grid-row-gap: var(--fixed--3rem);
  }

  .work-list_block {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
  }

  .work-list_image-main {
    border-radius: .875rem;
  }

  .work-list_image-second {
    border-radius: .5rem;
  }

  .services_component {
    grid-column-gap: var(--fixed--1-75rem);
    grid-row-gap: var(--fixed--1-75rem);
  }

  .services_items {
    grid-column-gap: var(--fixed--1-125rem);
    grid-row-gap: var(--fixed--1-125rem);
  }

  .footer_link-label {
    font-size: .875rem;
  }

  .footer_legal-links {
    grid-template-columns: 1fr .5fr;
    grid-auto-columns: 1fr;
    justify-items: center;
  }

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

  .footer_social-media {
    width: var(--fixed--1-25rem);
  }

  .footer_wrap {
    grid-column-gap: var(--fixed--3-5rem);
    grid-row-gap: var(--fixed--3-5rem);
  }

  .footer_template-links {
    grid-column-gap: var(--fixed--0-25rem);
    grid-row-gap: var(--fixed--0-25rem);
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-end;
  }

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

  .footer_links-groups {
    grid-column-gap: 2.25rem;
    grid-row-gap: 1.75rem;
    flex-flow: wrap;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    justify-content: space-between;
    align-items: stretch;
    width: auto;
    display: flex;
  }

  .footer_legal-divider {
    width: 1px;
    height: 1.5rem;
    display: none;
  }

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

  .footer_social {
    grid-column-gap: 1rem;
    justify-content: center;
    align-items: flex-start;
  }

  .footer_link {
    font-size: .75rem;
  }

  .about-header_content {
    position: relative;
  }

  .about-header_asset-info {
    padding: 1rem;
  }

  .about-values_block-content {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .about-values_wrapper {
    flex-direction: column;
  }

  .about-values_imgs-wrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    position: relative;
    top: auto;
  }

  .about-values_block, .about-team_grid {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .about-team_text, .about-team_text-2 {
    font-size: .75rem;
  }

  .blog-list_subheading, .blog-list_desc {
    font-size: var(--fixed--0-875rem);
  }

  .newsletter_arrow {
    justify-content: center;
    align-items: center;
    width: 1.5rem;
    display: flex;
  }

  .newsletter_btn-wrap {
    border-radius: var(--fixed--0-875rem);
  }

  .text-field {
    border-radius: var(--fixed--1rem);
    height: 6rem;
    font-size: var(--fixed--1-75rem);
    padding-left: 2rem;
    padding-right: 6rem;
  }

  .newsletter_btn-wrapper {
    padding: var(--fixed--0-5rem);
  }

  .newsletter_label-wrap {
    padding-left: var(--fixed--2rem);
  }

  .button-solid {
    padding-top: var(--fixed--1rem);
    padding-bottom: var(--fixed--1rem);
    border-radius: .75rem;
    font-size: .875rem;
  }

  .faq_content {
    width: 98%;
    margin-left: 0;
  }

  .faq_question-wrap {
    grid-template-columns: 5.65302% 1fr 6%;
  }

  .faq_button-line {
    width: var(--fixed--0-875rem);
    height: 1px;
  }

  .post-header_infos {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

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

  .work-header_component {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .work-header_infos {
    grid-column-gap: 2.5rem;
    grid-row-gap: 2.5rem;
  }

  .case-content_imgs-list {
    grid-column-gap: var(--fixed--1-5rem);
    grid-row-gap: var(--fixed--1-5rem);
  }

  .work-header_info-text {
    display: none;
  }

  .work-content_heading {
    font-size: var(--fixed--1-5rem);
    -webkit-text-stroke-width: 0px;
  }

  .blog-list_title {
    font-size: var(--fixed--1-25rem);
  }

  .instructions_rich-text figure {
    margin-bottom: var(--fixed--2rem);
  }

  .instructions_rich-text h2 {
    margin-top: var(--fixed--1-25rem);
    margin-bottom: var(--fixed--1-25rem);
    padding-top: var(--fixed--1-125rem);
    padding-bottom: var(--fixed--1-125rem);
    padding-left: var(--fixed--1rem);
    border-left-width: 2px;
    font-size: 1.35rem;
  }

  .instructions_rich-text p {
    margin-bottom: var(--fixed--1-75rem);
  }

  .instructions_rich-text h4 {
    margin-bottom: var(--fixed--1-125rem);
    font-size: var(--fixed--1-25rem);
  }

  .instructions_rich-text h3 {
    margin-top: var(--fixed--1-5rem);
    margin-bottom: var(--fixed--1-25rem);
    font-size: var(--fixed--1-125rem);
  }

  .instructions_rich-text h6 {
    font-size: var(--fixed--1-125rem);
  }

  .instructions_rich-text h1 {
    margin-bottom: var(--fixed--1-25rem);
    font-size: var(--fixed--2-5rem);
  }

  .instructions_rich-text h5 {
    font-size: var(--fixed--1-25rem);
  }

  .gallery-slider {
    padding: 60px 15px;
  }

  .gallery-slide {
    margin-left: 10px;
    margin-right: 10px;
  }

  .gallery-slide-text {
    line-height: 30px;
  }

  .gallery-slider-left {
    left: -20px;
  }

  .gallery-slider-right {
    right: -20px;
  }
}

@media screen and (max-width: 479px) {
  .resources_items, .resources_items.more-columns {
    grid-template-columns: 1fr;
  }

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

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

  .resources_font-1 {
    font-size: 5rem;
  }

  .resources_license-wrap {
    grid-template-columns: 1fr 1fr;
  }

  .resources_licenses-links {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

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

  .resources_font-2 {
    font-size: 5rem;
  }

  .section_home-header {
    min-height: 100vh;
  }

  .home-header_component {
    max-width: 80vw;
    margin-left: auto;
    margin-right: auto;
  }

  .home-header_headings {
    max-width: 15rem;
  }

  .home-header_imgs-wrapper {
    display: flex;
  }

  .home-header_imgs-wrap {
    justify-content: center;
    align-items: center;
    width: auto;
    height: 60vh;
  }

  .home-header_labels-wrap {
    bottom: 1.25rem;
  }

  .home-about_img-wrap {
    height: 100vh;
    overflow: hidden;
  }

  .home-about_img {
    display: none;
  }

  .home-about_img-text {
    white-space: normal;
    align-self: auto;
    width: 100vw;
    max-width: 30rem;
    position: absolute;
    top: auto;
  }

  .work-list_wrapper {
    width: 100%;
  }

  .work-list_image-second {
    right: -5%;
  }

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

  .cta_content {
    padding: var(--fixed--2rem);
  }

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

  .footer_lists {
    grid-column-gap: var(--fixed--1rem);
    grid-row-gap: var(--fixed--1rem);
  }

  .footer_wrap {
    padding-bottom: 0;
  }

  .footer_template-links {
    justify-content: flex-start;
    align-items: flex-start;
    margin-right: auto;
  }

  .footer_main {
    grid-column-gap: var(--fixed--2-75rem);
    grid-row-gap: var(--fixed--2-75rem);
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer_links-groups {
    padding-right: 1.75rem;
  }

  .footer_legal-divider {
    display: none;
  }

  .footer_legal-wrap {
    margin-right: auto;
  }

  .about-header_cube-side._4 {
    transform: translate3d(0%, 0, -25vw)rotateX(0)rotateY(-90deg)rotateZ(0);
  }

  .about-header_cube-side._2 {
    transform: translate3d(100%, 0, 25vw)rotateX(0)rotateY(90deg)rotateZ(0);
  }

  .about-header_cube-side._3 {
    transform: rotateX(0)rotateY(180deg)rotateZ(0)translate3d(0%, 0%, 25vw);
  }

  .about-header_cube-side._1 {
    transform: translate3d(0, 0, 25vw);
  }

  .about-header_cube {
    width: 50vw;
  }

  .about-header_cube-wrap {
    perspective: 1000px;
  }

  .about-header_spacing {
    padding-top: var(--fixed--2-75rem);
  }

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

  .about-values_imgs-wrapper {
    position: relative;
  }

  .about-values_head {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .about-values_content {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
  }

  .about-values_block {
    grid-column-gap: 1.125rem;
    grid-row-gap: 1.125rem;
    flex-flow: column;
    display: flex;
  }

  .about-team_grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    display: flex;
  }

  .blog-list_list {
    flex-flow: column;
    display: flex;
  }

  .text-field {
    height: 5rem;
    font-size: var(--fixed--1-125rem);
  }

  .newsletter_label-wrap {
    padding-left: var(--fixed--0rem);
  }

  .faq_answer-wrap {
    padding-left: 0;
  }

  .faq_question-wrap {
    grid-template-columns: 5.65302% 1fr 10%;
  }

  .faq_button {
    width: 2rem;
    height: 2rem;
  }

  .home-header_img {
    border-radius: 1.75vh;
    width: 10vh;
    height: auto;
  }

  .work-content_content {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
  }

  .work-header_infos {
    grid-column-gap: var(--fixed--0-75rem);
    grid-row-gap: var(--fixed--0-75rem);
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .case-content_final {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
  }

  .work-related_img {
    aspect-ratio: 3 / 2;
  }

  .container {
    max-width: none;
  }

  .gallery-wrapper {
    grid-template-columns: 1fr;
  }

  .gallery-slide-wrapper {
    max-width: 100%;
    margin-right: 0%;
  }

  .gallery-slider-left {
    left: -20px;
  }

  .gallery-slider-right {
    right: -20px;
  }

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

#w-node-_665ba120-e722-fbfb-d7e6-027eb71d060d-3a338b52 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_665ba120-e722-fbfb-d7e6-027eb71d0612-3a338b52 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_665ba120-e722-fbfb-d7e6-027eb71d0616-3a338b52, #w-node-_665ba120-e722-fbfb-d7e6-027eb71d0620-3a338b52, #w-node-_665ba120-e722-fbfb-d7e6-027eb71d0625-3a338b52 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_0632acfa-8aaa-b158-7b6a-58a2921af54f-921af54a {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_0632acfa-8aaa-b158-7b6a-58a2921af569-921af54a {
  order: 0;
  place-self: end start;
}

#w-node-_0632acfa-8aaa-b158-7b6a-58a2921af576-921af54a {
  place-self: end;
}

#w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04cce-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04cd6-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04cea-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04dd8-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04ddf-3a338ba7 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-d350e3ee-5b0c-0d6b-de28-200e71443040-3a338bfd, #w-node-_3e2f36c7-a93b-26f9-3eb0-428f49cd1206-3a338c73, #w-node-_1b750c74-4f7e-11ec-716b-fa77005ba8d5-005ba8d0 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_1b750c74-4f7e-11ec-716b-fa77005ba8dc-005ba8d0 {
  grid-area: 2 / 2 / 3 / 3;
}

#w-node-_1b750c74-4f7e-11ec-716b-fa77005ba8db-005ba8d0 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

@media screen and (max-width: 991px) {
  #w-node-_484cd889-9c9b-9c07-ce5b-d03b07feac89-3a338b52, #w-node-_665ba120-e722-fbfb-d7e6-027eb71d060d-3a338b52 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-_3e2f36c7-a93b-26f9-3eb0-428f49cd1226-3a338c73 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}

@media screen and (max-width: 767px) {
  #w-node-_0632acfa-8aaa-b158-7b6a-58a2921af576-921af54a {
    justify-self: start;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_665ba120-e722-fbfb-d7e6-027eb71d060d-3a338b52, #w-node-_665ba120-e722-fbfb-d7e6-027eb71d0612-3a338b52, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04cce-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04cd6-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04cea-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04d8c-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04dd8-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04ddf-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04f12-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04f19-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04f20-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04f40-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04f47-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04faa-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04fb2-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04fee-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d04ff6-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d05012-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d0501a-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d05036-3a338ba7, #w-node-_77cecff6-6d66-65fb-08bb-6d63b7d0503e-3a338ba7 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}


@font-face {
  font-family: 'BDO Grotesk';
  src: url('../fonts/BDOGrotesk-VF.ttf') format('truetype');
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Roboto mono';
  src: url('../fonts/RobotoMono-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Roboto mono';
  src: url('../fonts/RobotoMono-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Spacegrotesk Variablefont Wght';
  src: url('../fonts/SpaceGrotesk-VariableFont_wght.ttf') format('truetype');
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}

/* Booking form: custom rules added when replacing Webflow's form JS with our own
   WhatsApp-based submit handler (see the inline <script> at the end of index.html). */
.submit-button[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}
#event-date {
  cursor: pointer;
}

/* Field layout: a labeled field per row, with Data + Orasul sharing a row on
   wider screens (see the max-width: 767px override below for the stacked
   version). Labels use the same small-caps mono style as the site's other
   eyebrow/label text (see .scroll-note_text) for visual consistency. */
.form-field {
  width: 100%;
  flex-direction: column;
  gap: .4rem;
  margin-bottom: 1rem;
  display: flex;
}
.form-row {
  gap: 1rem;
  width: 100%;
  display: flex;
}
.form-row .form-field {
  min-width: 0;
  flex: 1;
}
.form-label {
  color: var(--_colors---grey--300);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-family: var(--_typography---font-family--detail);
  font-size: .75rem;
  font-weight: var(--_typography---font-weight--medium);
}
.form-input {
  color: var(--_colors---primary--black);
  background-color: #f5f7fa;
  border: 1px solid transparent;
  border-radius: var(--border-radius--small);
  width: 100%;
  padding: .85rem 1rem;
  font-family: inherit;
  font-size: .95rem;
  line-height: 1.3;
  transition: border-color .15s, background-color .15s;
}
.form-input::placeholder {
  color: var(--_colors---grey--200);
}
.form-input:focus {
  background-color: #fff;
  border-color: var(--_colors---primary--black);
  outline: none;
}

/* Event type: rendered as a single-select pill button group backed by real radio
   inputs (label-for pattern) so it stays keyboard/screen-reader accessible without
   needing extra JS to track selection state. */
.event-type-group {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}
.event-type-input {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}
.event-type-btn {
  color: var(--_colors---primary--black);
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #cccccc;
  border-radius: var(--fixed--15rem, 999px);
  padding: 10px 20px;
  font-size: .9rem;
  font-weight: 500;
  transition: background-color .15s, color .15s, border-color .15s;
  display: inline-block;
}
.event-type-input:checked + .event-type-btn {
  color: #fff;
  background-color: var(--_colors---primary--black);
  border-color: var(--_colors---primary--black);
}
.event-type-input:focus-visible + .event-type-btn {
  outline: 2px solid var(--_colors---primary--black);
  outline-offset: 2px;
}
.event-type-btn:hover {
  border-color: var(--_colors---primary--black);
}

/* Submit button: rebuilt as a <button> (was a plain <input type="submit">) so it
   can hold an icon next to the label. */
.form-submit {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  gap: .6rem;
  width: 100%;
  padding: 1rem 1.5rem;
  border: none;
  font-family: inherit;
  font-size: 1rem;
  font-weight: var(--_typography---font-weight--medium);
  display: flex;
}
.form-submit:hover {
  filter: brightness(0.94);
}
.form-submit-icon {
  width: 1.25rem;
  height: 1.25rem;
}

@media screen and (max-width: 767px) {
  .form-row {
    flex-direction: column;
  }
  /* Avoid double spacing when stacked: .form-row's own gap already separates
     Data from Orasul vertically, so the field's normal margin-bottom would
     otherwise add on top of it. */
  .form-row .form-field {
    margin-bottom: 0;
  }
}

/* Floating WhatsApp button, fixed to the bottom right corner on both pages. */
.whatsapp-float {
  z-index: 999;
  width: 3.5rem;
  height: 3.5rem;
  background-color: #fffc34;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  box-shadow: 0 4px 14px #00000040;
  transition: transform .15s;
  cursor: pointer;
  display: flex;
  position: fixed;
  bottom: 2.5rem;
  right: 1.5rem;
}
.whatsapp-float:hover {
  transform: scale(1.06);
}
.whatsapp-float-icon {
  width: 1.75rem;
  height: 1.75rem;
  position: relative;
  z-index: 2;
}
.whatsapp-float-ripple {
  z-index: 1;
  background-color: #fffc34;
  border-radius: 50%;
  animation: whatsapp-ripple 2.2s ease-out infinite;
  position: absolute;
  inset: 0;
}
@keyframes whatsapp-ripple {
  0% {
    opacity: .55;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.9);
  }
}
@media (prefers-reduced-motion: reduce) {
  .whatsapp-float-ripple {
    animation: none;
    display: none;
  }
}
@media screen and (max-width: 479px) {
  .whatsapp-float {
    width: 3rem;
    height: 3rem;
    bottom: 2rem;
    right: 1rem;
  }
  .whatsapp-float-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}

/* Booking popup, opened from the floating WhatsApp button (and the footer's
   "Rezervă un eveniment" link). Calendar on the right, form fields on the
   left, per the layout the client asked for. */
.booking-modal {
  z-index: 1000;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  position: fixed;
  inset: 0;
}
.booking-modal.is-open {
  display: flex;
}
.booking-modal_overlay {
  background-color: #0009;
  backdrop-filter: blur(3px);
  position: absolute;
  inset: 0;
}
.booking-modal_dialog {
  color: var(--_colors---primary--black);
  background-color: var(--_colors---primary--white);
  border-radius: var(--border-radius--xxlarge);
  width: 100%;
  max-width: 54rem;
  max-height: 90vh;
  padding: 2.5rem;
  position: relative;
  overflow: auto;
  box-shadow: 0 30px 60px #00000040;
}
.booking-modal_close {
  color: var(--_colors---primary--black);
  cursor: pointer;
  background-color: #f5f7fa;
  border: none;
  border-radius: 50%;
  width: 2.25rem;
  height: 2.25rem;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  transition: background-color .15s;
}
.booking-modal_close:hover {
  background-color: var(--_colors---grey--100);
}
.booking-modal_grid {
  align-items: flex-start;
  gap: 3rem;
  display: flex;
}
.booking-modal_form-col {
  min-width: 0;
  flex: 1.1;
}
.booking-modal_calendar-col {
  flex-direction: column;
  gap: .4rem;
  width: 19rem;
  display: flex;
}
.booking-modal_title {
  font-size: 1.5rem;
  font-weight: var(--_typography---font-weight--medium);
  margin: 0 0 .5rem;
  padding-right: 2rem;
}
.booking-modal_subtitle {
  color: var(--_colors---grey--300);
  font-size: .9rem;
  line-height: 1.5;
  margin: 0 0 1.5rem;
}

.booking-calendar {
  background-color: #f5f7fa;
  border-radius: var(--border-radius--small);
  padding: 1.1rem;
}
.booking-calendar_header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75rem;
  display: flex;
}
.booking-calendar_month {
  text-transform: capitalize;
  font-size: .9rem;
  font-weight: var(--_typography---font-weight--medium);
}
.booking-calendar_nav {
  color: var(--_colors---primary--black);
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  width: 1.75rem;
  height: 1.75rem;
  font-size: 1rem;
  line-height: 1;
  justify-content: center;
  align-items: center;
  display: flex;
  transition: background-color .15s, opacity .15s;
}
.booking-calendar_nav:hover {
  background-color: var(--_colors---grey--100);
}
.booking-calendar_nav[disabled] {
  opacity: .35;
  cursor: not-allowed;
}
.booking-calendar_weekdays {
  grid-template-columns: repeat(7, 1fr);
  justify-items: center;
  color: var(--_colors---grey--300);
  font-size: .7rem;
  font-weight: var(--_typography---font-weight--medium);
  text-transform: uppercase;
  display: grid;
  margin-bottom: .25rem;
}
.booking-calendar_days {
  grid-template-columns: repeat(7, 1fr);
  gap: .2rem;
  display: grid;
}
.booking-calendar_day {
  color: var(--_colors---primary--black);
  cursor: pointer;
  aspect-ratio: 1;
  background: none;
  border: none;
  border-radius: 50%;
  width: 100%;
  font-size: .85rem;
  font-family: inherit;
  justify-content: center;
  align-items: center;
  display: flex;
  transition: background-color .15s, color .15s;
}
.booking-calendar_day:hover {
  background-color: var(--_colors---grey--100);
}
.booking-calendar_day.is-selected {
  color: var(--_colors---primary--black);
  background-color: #fffc34;
}
.booking-calendar_day[disabled] {
  color: var(--_colors---grey--200);
  cursor: not-allowed;
}
.booking-calendar_day[disabled]:hover {
  background-color: transparent;
}
.booking-calendar_day-empty {
  aspect-ratio: 1;
}
.booking-calendar_selected {
  color: var(--_colors---grey--300);
  font-size: .8rem;
  margin-top: .6rem;
}

@media screen and (max-width: 767px) {
  .booking-modal {
    padding: 0;
    align-items: flex-end;
  }
  .booking-modal_dialog {
    max-height: 92vh;
    border-radius: var(--border-radius--xxlarge) var(--border-radius--xxlarge) 0 0;
    padding: 2rem 1.5rem;
  }
  .booking-modal_grid {
    flex-direction: column;
    gap: 2rem;
  }
  .booking-modal_calendar-col {
    width: 100%;
  }
}

/* ==========================================================================
   "Our Work" video showcase page (work.html): Netflix/HBO Max-style grid of
   video tiles (thumbnail, hover play affordance, title/meta) that open a
   lightbox with a playing YouTube embed. Light/beige theme, matching the
   rest of the site's body background (same as about.html), fonts inherited
   from the shared stylesheet like every other page, no overrides here. */

/* Pinned scroll scene, same pin mechanic as the client's original reference
   (https://codepen.io/creativeocean/pen/qBbBLyB), now on a flat brand-yellow
   background carrying Artis Band's own two-part copy instead of the
   reference's mountain photo + placeholder text. Pin/release is still
   handled entirely by GSAP ScrollTrigger (see the script at the bottom of
   work.html), ScrollTrigger's pin: true auto-inserts the spacer and swaps
   position: fixed in/out on its own, so there's no manual clip/seam
   bookkeeping needed here. */
.work-hero_scene {
  position: relative;
  width: 100%;
  height: 100vh;
  background-color: #fffc34;
  overflow: hidden;
}

/* Three soft stage-light glows, replacing the cloud photo layers (client
   asked for something more music/concert-related than clouds). Plain CSS
   radial-gradient blobs with a heavy blur instead of hotlinked images, so
   there's no external asset dependency for this layer anymore, and no hard
   edge to crop through in the first place (the earlier cloud photos'
   "clipped" look was a crop-boundary problem that simply doesn't exist for
   a blurred gradient). Sit behind the text (default DOM stacking order, no
   z-index needed) and drift at their own rate via the GSAP timeline at the
   bottom of work.html, same values that used to drive the cloud layers.
   pointer-events: none so they never intercept the arrow button's hit
   area. */
.work-hero_light {
  width: 34rem;
  height: 34rem;
  border-radius: 50%;
  filter: blur(70px);
  pointer-events: none;
  position: absolute;
}

.work-hero_light.is-1 {
  background-color: rgba(255, 255, 255, .85);
  top: -10rem;
  right: -6rem;
}

.work-hero_light.is-2 {
  width: 26rem;
  height: 26rem;
  background-color: rgba(255, 255, 255, .55);
  bottom: -8rem;
  left: -4rem;
}

.work-hero_light.is-3 {
  width: 20rem;
  height: 20rem;
  background-color: rgba(0, 0, 0, .12);
  top: 38%;
  left: 55%;
}

/* Three more glows, yellow-tinted, sit above the white panel (see
   .work-hero_whiteout below) rather than behind it, so once the scene
   turns white it isn't just plain/sterile, there are a few brand-yellow
   accents glowing on top of it. Scattered around the frame rather than one
   big glow dead center (first attempt was a single centered light, client
   clarified they expected 2-3 lights instead). Hidden by default and faded
   in by the GSAP timeline in a quick stagger right as the white panel
   fades in (client asked for "o lumina galbena atunci cand vine fundalul
   alb" - a yellow light when the white background arrives). */
.work-hero_light.is-4 {
  width: 20rem;
  height: 20rem;
  background-color: rgba(255, 252, 52, .6);
  top: 8%;
  left: 12%;
  opacity: 0;
}

.work-hero_light.is-5 {
  width: 26rem;
  height: 26rem;
  background-color: rgba(255, 252, 52, .5);
  bottom: 5%;
  right: 10%;
  opacity: 0;
}

.work-hero_light.is-6 {
  width: 16rem;
  height: 16rem;
  background-color: rgba(255, 252, 52, .55);
  top: 55%;
  left: 22%;
  opacity: 0;
}

/* Plain white panel, sits above the three background glows and the first
   text block but below the second (and below the yellow accent glow
   above), fades in via the GSAP timeline as the lights drift over the
   first text so the scene reads as "lights sweep through and the scene
   turns white" rather than the clouds just clipping at the section's own
   edge. The second text then appears sitting on this white panel instead
   of straight on yellow. Hidden by default (matches the is-2 text block's
   own default-hidden state below) so there's no flash of a white panel
   before GSAP/ScrollTrigger take over. */
.work-hero_whiteout {
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  inset: 0;
}

/* Both text blocks stack on top of each other (inset: 0 + flex centering)
   so the GSAP timeline can crossfade one into the other over the scrubbed
   scroll range, same spot, same centering, just swapping which one is
   visible. */
.work-hero_content {
  width: 100%;
  height: 100%;
  padding: 2rem;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  display: flex;
  position: absolute;
  inset: 0;
  text-align: center;
}

.work-hero_content.is-2 {
  opacity: 0;
  visibility: hidden;
}

.work-hero_kicker {
  color: var(--_colors---primary--black);
  font-family: var(--_typography---font-family--detail);
  font-size: var(--fixed--0-875rem);
  font-weight: var(--_typography---font-weight--medium);
  letter-spacing: .2em;
  text-transform: uppercase;
}

.work-hero_heading {
  max-width: 60rem;
  color: var(--_colors---primary--black);
  font-family: var(--_typography---h1--font-family);
  font-size: var(--fixed--3-5rem);
  font-weight: var(--_typography---font-weight--bold);
  line-height: 1.1;
}

.work-hero_text {
  max-width: 32rem;
  color: var(--_colors---primary--black);
  opacity: .7;
  font-size: var(--fixed--1-125rem);
  font-weight: var(--_typography---font-weight--medium);
}

.work-hero_arrow-btn {
  color: var(--_colors---primary--black);
  background: none;
  border: 0;
  padding: .5rem;
  display: flex;
  position: absolute;
  bottom: 3rem;
  left: 50%;
  cursor: pointer;
  transform: translateX(-50%);
}

@media (max-width: 767px) {
  .work-hero_heading {
    font-size: var(--fixed--2rem);
  }

  .work-hero_text {
    font-size: var(--fixed--1rem);
  }

  .work-hero_content {
    padding: 1.5rem;
    gap: 1rem;
  }
}

.work_grid-title {
  color: var(--_colors---primary--black);
  font-size: var(--fixed--1-25rem);
  font-weight: var(--_typography---font-weight--medium);
  margin-bottom: 1.5rem;
}

.work_grid {
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  display: grid;
}

.work_card {
  color: inherit;
  text-align: left;
  cursor: pointer;
  background-color: var(--_colors---primary--white);
  border: none;
  border-radius: var(--border-radius--large);
  flex-flow: column;
  width: 100%;
  padding: 0;
  display: flex;
  overflow: hidden;
  box-shadow: 0 1px 2px #0000000d;
  transition: transform .25s ease, box-shadow .25s ease;
}

.work_card:hover, .work_card:focus-visible {
  transform: translateY(-.35rem);
  box-shadow: 0 20px 40px #00000026;
  outline: none;
}

.work_thumb-wrap {
  aspect-ratio: 16 / 9;
  background-color: var(--_colors---grey--700, #171717);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.work_thumb {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .35s ease;
}

.work_card:hover .work_thumb, .work_card:focus-visible .work_thumb {
  transform: scale(1.06);
}

.work_thumb-wrap::after {
  content: "";
  background: linear-gradient(0deg, #000000b3 0%, #0000 45%);
  position: absolute;
  inset: 0;
}

.work_play-badge {
  color: var(--_colors---primary--black);
  background-color: #fffc34;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  opacity: .85;
  transform: translate(-50%, -50%) scale(.85);
  transition: opacity .2s ease, transform .2s ease;
}

.work_card:hover .work_play-badge, .work_card:focus-visible .work_play-badge {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.work_card-info {
  padding: 1.1rem 1.25rem 1.25rem;
}

.work_card-title {
  color: var(--_colors---primary--black);
  font-size: .95rem;
  font-weight: var(--_typography---font-weight--medium);
  line-height: 1.35;
}

.work_card-meta {
  color: var(--_colors---grey--400);
  margin-top: .4rem;
  font-size: .8rem;
}

.work_channel-link {
  color: var(--_colors---primary--black);
  font-size: .9rem;
  font-weight: var(--_typography---font-weight--medium);
  text-underline-offset: .2em;
  text-decoration: underline;
  transition: color .15s;
}

.work_channel-link:hover {
  color: #c9b800;
}

@media screen and (max-width: 991px) {
  .work_grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .work_hero-thumb-wrap {
    aspect-ratio: 16 / 9;
  }

  .work_hero-info {
    padding: 3rem 1.5rem 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .work_grid {
    grid-template-columns: 1fr;
  }

  .work_hero-title {
    font-size: 1.15rem;
  }

  .work_hero-info {
    padding: 2.5rem 1.25rem 1.25rem;
  }
}

/* Video lightbox. */
.video-modal {
  z-index: 1000;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  position: fixed;
  inset: 0;
}

.video-modal.is-open {
  display: flex;
}

.video-modal_overlay {
  background-color: #000c;
  backdrop-filter: blur(3px);
  position: absolute;
  inset: 0;
}

.video-modal_dialog {
  width: 100%;
  max-width: 64rem;
  position: relative;
}

.video-modal_close {
  color: var(--_colors---primary--black);
  cursor: pointer;
  background-color: #fffc34;
  border: none;
  border-radius: 50%;
  width: 2.25rem;
  height: 2.25rem;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: -3rem;
  right: 0;
  transition: transform .15s;
}

.video-modal_close:hover {
  transform: scale(1.08);
}

.video-modal_frame-wrap {
  aspect-ratio: 16 / 9;
  background-color: #000;
  border-radius: var(--border-radius--large);
  width: 100%;
  overflow: hidden;
  box-shadow: 0 30px 60px #00000059;
}

.video-modal_frame-wrap iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

@media screen and (max-width: 767px) {
  .video-modal_close {
    top: -2.75rem;
    right: 0;
  }
}