@font-face {
  font-family: "ALT MariaClara";
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src:
    url("../assets/fonts/ALTMariaClara-Light.woff2") format("woff2"),
    url("../assets/fonts/ALTMariaClara-Light.woff") format("woff"),
    url("../assets/fonts/ALTMariaClara-Light.ttf") format("truetype");
}

@font-face {
  font-family: "ALT MariaClara";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src:
    url("../assets/fonts/ALTMariaClara-Regular.woff2") format("woff2"),
    url("../assets/fonts/ALTMariaClara-Regular.woff") format("woff"),
    url("../assets/fonts/ALTMariaClara-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "ALT MariaClara";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src:
    url("../assets/fonts/ALTMariaClara-Semibold.woff2") format("woff2"),
    url("../assets/fonts/ALTMariaClara-Semibold.woff") format("woff"),
    url("../assets/fonts/ALTMariaClara-Semibold.ttf") format("truetype");
}

@media (min-width: 768px) {
  .container {
    max-width: 1240px !important;
  }
}

.hero-homepage__logo-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 10rem;
  max-height: 5.5rem;
}

.hero-homepage__headline {
  max-width: 44rem;
}

.hero-homepage__content {
  max-width: 18.75rem;
}

.hero-homepage__content p:last-child {
  margin-bottom: 0;
}

.hero-homepage__media {
  position: relative;
  height: 18.0625rem;
  border-radius: 0 0 var(--border-radius--md) var(--border-radius--md);
}

.hero-homepage__image {
  position: absolute;
  inset: 0;
  height: 100%;
}

@media (min-width: 768px) {
  .hero-homepage__copy {
    min-height: 100vh;
  }

  .hero-homepage--has-media .hero-homepage__copy {
    max-width: calc(100vw - max(17rem, 32vw) - (100vw - 100%) / 2);
  }

  .hero-homepage__media {
    position: absolute;
    inset: 0 0 0 auto;
    width: max(17rem, 32%);
    height: auto;
    min-height: 100%;
    border-radius: var(--border-radius--md) 0 0 var(--border-radius--md);
  }
}

.hero-page__logo-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 10rem;
  max-height: 5.5rem;
}

.hero-page__headline {
  max-width: 44rem;
}

.hero-page__content p:last-child {
  margin-bottom: 0;
}

.hero-page__aside {
  width: 80vw;
  margin-left: auto;
  margin-right: calc(50% - 50vw);
}

.hero-page__image {
  display: block;
  width: 100%;
  border-radius: var(--border-radius--md) 0 0 var(--border-radius--md);
}

@media (min-width: 768px) {
  .hero-page__aside {
    width: auto;
    margin-left: 0;
    margin-right: 0;
  }

  .hero-page__image {
    border-radius: 0 0 var(--border-radius--md) var(--border-radius--md);
  }
}

.section-stat_cards .stat_cards__cards {
  margin-top: 0;
}

.section-stat_cards .stat_cards__cards > * {
  display: flex;
}

.card-stat {
  position: relative;
  gap: 0;
  min-height: 15rem;
  padding: var(--spacer--lg);
  border: none;
}

.card-stat__icon {
  position: relative;
  z-index: 1;
  width: 1.625rem;
  height: 1.625rem;
  color: var(--icon);
}

.card-stat__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.card-stat__copy {
  position: relative;
  z-index: 1;
  width: 100%;
  gap: var(--spacer--sm);
}

.card-stat__headline {
  color: var(--icon);
}

.card-stat__content,
.card-stat__content p {
  color: var(--text);
}

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

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

.card-stat--has-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--black);
}

@media (min-width: 768px) {
  .section-stat_cards {
    position: relative;
  }

  .section-stat_cards::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 0;
    height: calc(var(--section--padding) + 14.40625rem);
    background: var(--off-white);
    pointer-events: none;
  }

  .section-stat_cards > .container {
    position: relative;
    z-index: 1;
  }

  .section-stat_cards .stat_cards__cards {
    gap: var(--spacer--md);
  }

  .section-stat_cards .stat_cards__cards > * {
    grid-column: span 4;
  }

  .card-stat {
    min-height: 28.8125rem;
    padding: var(--spacer--xl);
  }

  .card-stat__copy {
    gap: var(--spacer--2xl);
  }

  .card-stat__content,
  .card-stat__content p {
    font-family: var(--h4-font-family);
    font-size: var(--h4-font-size);
    line-height: var(--h4-line-height);
  }
}

.work_highlight__layout {
  gap: var(--spacer--lg);
}

.work_highlight__media {
  position: relative;
  height: 32.0625rem;
  box-shadow: var(--shadow--sm);
}

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

.work_highlight__panel {
  gap: var(--spacer--lg);
}

.work_highlight__label {
  display: inline-flex;
  align-self: flex-start;
  margin: 0;
  padding: var(--button--padding-y--sm) var(--button--padding-x--sm);
  background: var(--button--background);
  color: var(--button--color);
  border-radius: var(--border-radius--lg);
  font-size: 0.8125rem;
  line-height: 1.5;
}

.work_highlight__content,
.work_highlight__content p {
  color: var(--text);
}

.work_highlight__content p:last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .section-work_highlight {
    padding-top: var(--spacer--3xl);
  }

  .work_highlight__layout {
    position: relative;
    gap: 0;
  }

  .work_highlight__media {
    height: auto;
    aspect-ratio: 1240 / 647;
  }

  .work_highlight__panel {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    width: 21.125rem;
    height: 21.125rem;
    padding: var(--card--padding);
    gap: 0;
    justify-content: space-between;
    background: var(--background);
    border-radius: var(--border-radius--md);
    box-shadow: var(--shadow--sm);
    transform: translate(-50%, -50%);
  }

  .work_highlight__label {
    padding: var(--spacer--xs) var(--spacer--sm);
    font-size: 1rem;
  }

  .work_highlight__content,
  .work_highlight__content p {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.testimonial__layout {
  display: flex;
  flex-direction: column;
}

.testimonial__media {
  display: block;
  position: relative;
  width: 6.25rem;
  height: 7.5rem;
  margin-bottom: var(--spacer--xl);
  flex-shrink: 0;
}

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

.testimonial__quote,
.testimonial__name,
.testimonial__position {
  color: var(--text);
}

.testimonial__quote {
  margin: 0;
  padding: 0;
  border: none;
  font-size: 1.5rem;
  line-height: 1.2;
  quotes: none;
}

.testimonial__name {
  margin-top: var(--spacer--xl);
  font-size: 1.5rem;
  line-height: 1.2;
}

.testimonial__position {
  margin-top: var(--spacer--2xs);
  font-family: var(--font-family);
  font-size: var(--body-font-size--mobile);
  font-weight: var(--font-weight--normal);
  line-height: 1.5;
}

@media (min-width: 768px) {
  .testimonial__media {
    display: inline-block;
    vertical-align: baseline;
    width: 15.625rem;
    height: 15.625rem;
    margin: 0 var(--spacer--2xl) 0 0;
  }

  .testimonial__quote {
    font-size: var(--h2-font-size);
  }

  .testimonial__name {
    margin-top: var(--spacer--lg);
    font-size: var(--h2-font-size);
  }

  .testimonial__position {
    margin-top: var(--spacer--lg);
    font-size: var(--h5-font-size);
    line-height: var(--h5-line-height);
  }
}

.get_in_touch__layout {
  flex-direction: column;
}

.get_in_touch__copy {
  gap: var(--spacer--xl);
}

.get_in_touch__copy .button-group {
  margin-top: 0 !important;
}

.get_in_touch__headline {
  font-size: 2rem;
  line-height: 1.2;
}

.get_in_touch__media {
  align-self: flex-end;
  position: relative;
  width: 12.6875rem;
  height: 13rem;
  flex-shrink: 0;
}

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

.logo_marquee__copy {
  max-width: 44.1875rem;
}

.logo_marquee__headline {
  font-size: 1.5rem;
  line-height: 1.2;
}

.logo_marquee__content {
  margin-top: var(--spacer--sm);
}

.logo_marquee__content p:last-child {
  margin-bottom: 0;
}

.logo_marquee__marquee {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: var(--spacer--2xl);
  width: 100%;
  min-width: 0;
  overflow: visible;
}

.section-logo_marquee .logo_marquee__swiper {
  overflow: visible;
  width: 100%;
  min-width: 0;
}

.logo_marquee__swiper .swiper-wrapper {
  align-items: center;
  height: auto;
  padding-block: var(--spacer--sm);
}

.logo_marquee__swiper .swiper-slide {
  width: auto;
  height: auto;
}

.card-client_logo {
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  gap: 0;
  width: 9.375rem;
  height: 4.6875rem;
  padding: var(--spacer--xs);
  background-color: var(--white);
  color: var(--black);
  border: 0;
  border-radius: var(--border-radius--sm);
  box-shadow: var(--shadow--sm);
  overflow: visible;
}

.card-client_logo__image {
  width: auto;
  height: auto;
  max-width: 80%;
  max-height: 70%;
  object-fit: contain;
}

@media (min-width: 768px) {
  .logo_marquee__headline {
    font-size: var(--h2-font-size);
  }

  .logo_marquee__content {
    margin-top: var(--spacer--lg);
  }

  .logo_marquee__marquee {
    margin-top: var(--spacer--4xl);
  }

  .card-client_logo {
    width: 18.75rem;
    height: 8rem;
    border-radius: var(--border-radius--sm);
  }
}

.services__layout {
  row-gap: var(--spacer--2xl);
}

.services__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--spacer--sm);
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--text);
}

.services__item {
  display: inline-flex;
  align-items: center;
  gap: var(--spacer--sm);
}

.services__item:not(:last-child)::after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask: url("../assets/icons/sparkle.svg") center / contain no-repeat;
  mask: url("../assets/icons/sparkle.svg") center / contain no-repeat;
}

.services__content,
.services__content p {
  color: var(--text);
}

.services__content p:last-child {
  margin-bottom: 0;
}

.services__media {
  justify-self: end;
  position: relative;
  width: 11.6875rem;
  height: 11.625rem;
  border-radius: var(--border-radius--sm);
}

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

@media (min-width: 768px) {
  .services__layout {
    align-items: end;
    row-gap: calc(var(--section--padding) + var(--spacer--4xl));
  }

  .services__list {
    flex-direction: row;
    gap: var(--spacer--xl) var(--spacer--lg);
  }

  .services__item {
    gap: var(--spacer--lg);
  }

  .services__item:not(:last-child)::after {
    width: 1rem;
    height: 1rem;
  }

  .grid > .services__content.col-md-3 {
    grid-column: 1 / span 3 !important;
  }

  .grid > .services__media.col-md-2 {
    grid-column: 11 / span 2 !important;
  }

  .services__media {
    justify-self: end;
    width: 12.125rem;
    height: 12.125rem;
  }
}

@media (min-width: 768px) {
  .get_in_touch__layout {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }

  .get_in_touch__copy {
    flex: 1;
    max-width: 44.8125rem;
    gap: var(--spacer--xl);
  }

  .get_in_touch__headline {
    font-size: var(--h2-font-size);
  }

  .get_in_touch__media {
    align-self: auto;
    width: 18.5625rem;
    height: 23.8125rem;
  }
}

.process__copy {
  display: flex;
  flex-direction: column;
  gap: var(--spacer--xl);
  max-width: 42.5625rem;
}

.process__content,
.process__content p {
  color: var(--text);
}

.process__content p:last-child {
  margin-bottom: 0;
}

.process__cards > * {
  display: flex;
  grid-column: span 6;
}

.card.card-process_step {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--spacer--md);
  width: 100%;
  height: 100%;
  padding: var(--card--padding--mobile);
  background: var(--background);
  border: 0;
  border-radius: var(--border-radius--sm);
  box-shadow: var(--shadow--sm);
}

.card-process_step__index {
  display: inline-flex;
  align-self: flex-start;
  margin: 0;
  padding: var(--spacer--xs) var(--spacer--sm);
  background: var(--icon);
  color: var(--text);
  border-radius: var(--border-radius--lg);
  font-size: var(--body-font-size--mobile);
  line-height: 1.5;
}

.card-process_step__copy {
  display: flex;
  flex-direction: column;
  gap: var(--spacer--md);
}

.card-process_step__title {
  color: var(--accent);
}

.card-process_step__content,
.card-process_step__content p {
  color: var(--text);
}

.card-process_step__content p:last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .card.card-process_step {
    padding: var(--card--padding);
  }

  .process__cards > *:nth-child(1) {
    grid-column: 1 / span 3;
  }

  .process__cards > *:nth-child(2) {
    grid-column: 4 / span 3;
  }

  .process__cards > *:nth-child(3) {
    grid-column: 7 / span 3;
  }

  .process__cards > *:nth-child(4) {
    grid-column: 4 / span 3;
  }

  .process__cards > *:nth-child(5) {
    grid-column: 7 / span 3;
  }

  .process__cards > *:nth-child(6) {
    grid-column: 10 / span 3;
  }
}

.values__cards > * {
  display: flex;
  grid-column: span 6;
}

.values__headline-cell {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  padding: var(--card--padding--mobile);
  background: var(--cornflower);
  border-radius: var(--border-radius--sm);
  box-shadow: var(--shadow--sm);
}

.card.card-value {
  justify-content: space-between;
  background: var(--white);
  border: 0;
}

.card-value__index {
  display: inline-flex;
  align-self: flex-start;
  margin: 0;
  padding: var(--spacer--xs) var(--spacer--sm);
  background: var(--off-white);
  color: var(--black);
  border-radius: var(--border-radius--lg);
  font-size: var(--body-font-size--mobile);
  line-height: 1.5;
}

.card-value__title {
  color: var(--accent);
}

@media (min-width: 768px) {
  .values__headline-cell {
    padding: var(--card--padding);
  }

  .values__cards > *:nth-child(1) {
    grid-column: 1 / span 3;
  }

  .values__cards > *:nth-child(2) {
    grid-column: 4 / span 3;
  }

  .values__cards > *:nth-child(3) {
    grid-column: 7 / span 3;
  }

  .values__cards > *:nth-child(4) {
    grid-column: 4 / span 3;
  }

  .values__cards > *:nth-child(5) {
    grid-column: 7 / span 3;
  }

  .values__cards > *:nth-child(6) {
    grid-column: 10 / span 3;
  }
}

.focus_areas__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacer--md);
  max-width: 38rem;
  margin-inline: auto;
  text-align: center;
}

.focus_areas__headline {
  color: var(--accent);
}

.focus_areas__content,
.focus_areas__content p {
  color: var(--text);
}

.focus_areas__content p:last-child {
  margin-bottom: 0;
}

.focus_areas__cards {
  margin-top: var(--spacer--2xl) !important;
  column-gap: 0;
  row-gap: var(--spacer--md);
}

.card.card-focus_area {
  justify-content: space-between;
  gap: var(--spacer--lg);
  padding: var(--card--padding);
  background: var(--background);
  border: 0;
}

.card-focus_area__icon {
  width: 0.8125rem;
  height: 0.8125rem;
  color: var(--icon);
}

.card-focus_area__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.card-focus_area__copy {
  display: flex;
  flex-direction: column;
  gap: var(--spacer--md);
}

.card-focus_area__title {
  color: var(--accent);
  font-size: var(--h4-font-size);
  line-height: var(--h4-line-height);
}

.card-focus_area__content,
.card-focus_area__content p {
  color: var(--text);
  font-size: var(--small-font-size--mobile);
}

.card-focus_area__content p:last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .focus_areas__cards {
    margin-top: var(--spacer--4xl) !important;
    column-gap: var(--spacer--md);
  }

  .focus_areas__cards > * {
    grid-column: span 6;
  }

  .card-focus_area__icon {
    width: 1.625rem;
    height: 1.625rem;
  }

  .card-focus_area__title {
    font-size: var(--h3-font-size);
    line-height: var(--h3-line-height);
  }

  .card-focus_area__content,
  .card-focus_area__content p {
    font-size: var(--body-font-size);
  }
}

body.error404 {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  overflow-x: clip;
}

body.error404 .main {
  display: flex;
  flex-direction: column;
  flex: 1;
  position: relative;
  z-index: 0;
}

body.error404 .site-footer {
  position: relative;
  z-index: 1;
}

.section-404 {
  display: flex;
  flex: 1;
  align-items: stretch;
  justify-content: center;
  min-height: 92.5vh;
}

.section-404__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  width: 100%;
  text-align: center;
}

.section-404__logo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.section-404__logo-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 10rem;
  max-height: 5.5rem;
}

.section-404__graphic {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 41.1875rem;
}

.section-404__image {
  width: 160%;
  max-width: none;
  height: auto;
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .section-404__image:not(.is-falling) {
    visibility: hidden;
  }
}

.section-404__copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.section-404__graphic:has(.section-404__image) .section-404__copy {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.section-404__code {
  margin: 0;
  font-family: var(--h1-font-family);
  font-size: 7.5rem;
  font-weight: 400;
  line-height: 1;
  color: var(--accent);
}

.section-404__message {
  margin: 0;
  color: var(--accent);
}

@media (min-width: 768px) {
  .section-404__graphic {
    max-width: 61rem;
  }

  .section-404__image {
    width: 100%;
  }

  .section-404__code {
    font-size: 12.5rem;
  }

  .section-404__message {
    font-size: 2rem;
  }
}

.site-footer__layout {
  justify-items: center;
}

.site-footer__email {
  color: var(--footer--link);
  text-decoration: none;
}

.site-footer__email:hover,
.site-footer__email:focus {
  color: var(--footer--link-hover);
}

.site-footer__logo {
  min-width: 0;
  max-width: 100%;
}

.site-footer__logo-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 13rem;
}

@media (min-width: 768px) {
  .site-footer__layout {
    justify-items: stretch;
  }

  .site-footer__logo-image {
    margin-inline-start: auto;
    max-width: min(27.5rem, 100%);
  }
}

.team_cards__copy {
  display: flex;
  flex-direction: column;
  gap: var(--spacer--md);
}

.team_cards__instruction {
  color: var(--text);
}

.team_cards__body {
  display: flex;
  align-items: flex-start;
  gap: var(--spacer--md);
  margin-top: var(--spacer--xl);
}

.team_cards__avatars {
  display: flex;
  flex-direction: column;
  gap: var(--spacer--sm);
  flex-shrink: 0;
}

.team_cards__avatar {
  display: block;
  width: 4.75rem;
  height: 4.75rem;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: var(--border-radius--lg);
  background: var(--background);
  box-shadow: var(--shadow--sm);
  cursor: pointer;
}

.team_cards__avatar.is-selected {
  border-color: var(--chartreuse);
}

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

.section-team_cards .team_cards__cards {
  display: none;
}

.team_cards__full-bios {
  flex: 1;
  min-width: 0;
}

.team_cards__bio {
  display: none;
  overflow: hidden;
  background: var(--white);
  border-radius: 0 0 var(--border-radius--sm) var(--border-radius--sm);
  box-shadow: var(--shadow--sm);
  color: var(--black);
}

.team_cards__bio.is-open {
  display: block;
}

.team_cards__bio-inner {
  display: flex;
  flex-direction: column;
  border-top: var(--spacer--xs) solid var(--chartreuse);
}

.team_cards__bio-photo {
  display: none;
}

.team_cards__bio-copy {
  display: flex;
  flex-direction: column;
  gap: var(--spacer--md);
  padding: var(--card--padding--mobile);
}

.team_cards__bio-name {
  color: var(--espresso);
}

.team_cards__bio-content p:last-child {
  margin-bottom: 0;
}

.team_cards__linkedin {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: var(--spacer--xs);
  padding: var(--spacer--xs) var(--spacer--sm);
  background: var(--off-white);
  color: var(--black);
  border-radius: var(--border-radius--lg);
  text-decoration: none;
}

.team_cards__linkedin svg {
  display: block;
  width: 1rem;
  height: 1rem;
}

.card.card-team_member {
  position: relative;
  gap: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
  cursor: pointer;
}

.card-team_member__photo {
  position: relative;
  overflow: hidden;
  aspect-ratio: 403 / 461;
  background: var(--background);
  border-radius: var(--border-radius--sm);
  box-shadow: var(--shadow--sm);
}

.card-team_member__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-team_member__shade {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  height: 45%;
  background: linear-gradient(180deg, transparent 5%, var(--black) 68%);
  opacity: 0.75;
  pointer-events: none;
}

.card-team_member__copy {
  position: absolute;
  right: var(--card--padding--mobile);
  bottom: var(--card--padding--mobile);
  left: var(--card--padding--mobile);
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--spacer--sm);
  color: var(--white);
}

.card-team_member__snippet {
  font-size: var(--small-font-size--mobile);
}

.card-team_member__tick {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  height: 0.625rem;
  background: var(--chartreuse);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.3s ease-in-out;
}

.card-team_member.is-open .card-team_member__tick {
  transform: scaleY(1);
}

.card-team_member__toggle {
  position: absolute;
  top: var(--spacer--sm);
  right: var(--spacer--sm);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: var(--spacer--sm);
  padding: var(--spacer--2xs) var(--spacer--2xs) var(--spacer--2xs) var(--spacer--sm);
  border-width: var(--button--border-width);
  border-style: var(--button--border-style);
  border-color: var(--button--border);
  border-radius: var(--border-radius--lg);
  background: var(--button--background);
  color: var(--button--color);
  font-family: var(--font-family);
  font-size: var(--small-font-size--mobile);
  line-height: 1.5;
  cursor: pointer;
  transition: var(--transition--button);
}

.card-team_member__toggle:hover,
.card-team_member__toggle:focus,
.card-team_member.is-open .card-team_member__toggle {
  background: var(--button--background-hover);
  color: var(--button--color-hover);
  border-color: var(--button--border-hover);
}

.card-team_member__toggle-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.625rem;
  height: 1.625rem;
  border-radius: var(--border-radius--lg);
  background: var(--chartreuse);
  color: var(--black);
}

.card-team_member__toggle-icon svg {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
}

.card-team_member__toggle-icon--close {
  display: none;
}

.card-team_member.is-open .card-team_member__toggle-icon--plus {
  display: none;
}

.card-team_member.is-open .card-team_member__toggle-icon--close {
  display: flex;
}

.card-team_member.is-open .card-team_member__toggle-icon--close svg {
  transform: rotate(-45deg);
}

@media (min-width: 768px) {
  .section-team_cards {
    position: relative;
  }

  .section-team_cards::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 0;
    height: calc(var(--section--padding) + 14.40625rem);
    background: var(--off-white);
    pointer-events: none;
  }

  .section-team_cards > .container {
    position: relative;
    z-index: 1;
  }

  .team_cards__copy {
    gap: var(--spacer--2xl);
  }

  .team_cards__headline {
    color: var(--black);
  }

  .team_cards__body {
    flex-direction: column;
    gap: var(--spacer--2xl);
    margin-top: var(--spacer--2xl);
  }

  .team_cards__avatars {
    display: none;
  }

  .section-team_cards .team_cards__cards {
    display: grid;
    margin-top: 0;
  }

  .team_cards__cards > * {
    grid-column: span 4;
  }

  .team_cards__full-bios {
    width: 100%;
    flex: none;
  }

  .team_cards__bio-inner {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--spacer--3xl);
    padding: var(--spacer--2xl) var(--spacer--4xl) var(--spacer--2xl) var(--spacer--2xl);
  }

  .team_cards__bio-photo {
    display: block;
    flex-shrink: 0;
    overflow: hidden;
    width: 7.4375rem;
    height: 7.4375rem;
    background: var(--lilac);
    border-radius: var(--border-radius--lg);
    box-shadow: var(--shadow--sm);
  }

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

  .team_cards__bio-copy {
    flex: 1;
    min-width: 0;
    gap: var(--spacer--xl);
    padding: 0;
  }

  .card-team_member__copy {
    right: var(--card--padding);
    bottom: var(--card--padding);
    left: var(--card--padding);
  }

  .card-team_member__snippet {
    font-size: var(--small-font-size);
  }

  .card-team_member__toggle {
    font-size: var(--small-font-size);
  }
}

.form__embed {
  width: 100%;
}

.section-form .gform_wrapper.gform-theme {
  --gf-color-primary: var(--lilac) !important;
  --gf-color-primary-contrast: var(--black) !important;
  --gf-color-in-ctrl: var(--white) !important;
  --gf-ctrl-bg-color: var(--white) !important;
  --gf-ctrl-bg-color-hover: var(--white) !important;
  --gf-ctrl-bg-color-focus: var(--white) !important;
  --gf-ctrl-border-width: 0 !important;
  --gf-ctrl-shadow: var(--shadow--sm) !important;
  --gf-ctrl-textarea-radius: var(--border-radius--sm) !important;
  --gf-ctrl-select-icon-position: calc(100% - var(--spacer--xl)) center !important;
  --gf-ctrl-select-padding-x: var(--input--padding-x) calc(var(--spacer--xl) + var(--spacer--sm)) !important;
  --gf-ctrl-btn-bg-color-primary: var(--lilac) !important;
  --gf-ctrl-btn-color-primary: var(--black) !important;
  --gf-ctrl-btn-border-color-primary: var(--lilac) !important;
  --gf-ctrl-btn-bg-color-hover-primary: var(--lilac-hover) !important;
  --gf-ctrl-btn-color-hover-primary: var(--black) !important;
  --gf-ctrl-btn-border-color-hover-primary: var(--lilac-hover) !important;
  --gf-ctrl-btn-bg-color-focus-primary: var(--lilac-hover) !important;
  --gf-ctrl-btn-color-focus-primary: var(--black) !important;
  --gf-ctrl-btn-shadow: none !important;
}

.section-form .gform_wrapper {
  margin: 0;
}

.section-form .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
.section-form .gform_wrapper select,
.section-form .gform_wrapper textarea {
  background-color: var(--white);
  border: 0;
  box-shadow: var(--shadow--sm);
}

.section-form .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
.section-form .gform_wrapper select {
  min-height: var(--input--min-height);
  border-radius: var(--border-radius--lg);
  padding-block: 0;
}

.section-form .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]) {
  padding-inline: var(--input--padding-x);
}

.section-form .gform_wrapper select {
  -webkit-appearance: none;
  appearance: none;
  padding-block: 0 !important;
  padding-inline-start: var(--input--padding-x);
  padding-inline-end: calc(var(--spacer--xl) + var(--spacer--sm));
}

.section-form .gform_wrapper textarea {
  border-radius: var(--border-radius--sm);
  padding: var(--input--padding-y) var(--input--padding-x);
}

.section-form .gform_footer,
.section-form .gform_page_footer {
  margin: 0;
  padding: 0;
}

.section-form .gform_wrapper input[type="submit"],
.section-form .gform_wrapper .gform_button {
  width: auto;
  background-color: var(--lilac);
  color: var(--black);
  border: 0;
  border-radius: var(--border-radius--lg);
  box-shadow: none;
  padding: var(--button--padding-y--lg) var(--button--padding-x--lg);
}

.section-form .gform_wrapper input[type="submit"]:hover,
.section-form .gform_wrapper .gform_button:hover {
  background-color: var(--lilac-hover);
  color: var(--black);
}

@media (min-width: 768px) {
  .form__embed {
    max-width: 38.25rem;
    margin-left: auto;
  }
}

header.site-header {
  position: fixed;
  top: auto;
  bottom: var(--spacer--4xl);
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: transparent;
  color: var(--header--text);
  pointer-events: none;
}

header.site-header > .container {
  pointer-events: none;
}

.site-header__chrome {
  --site-header--bar-size: calc(var(--mobile-menu--toggle-size) + 2 * var(--spacer--xs));
  pointer-events: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}

.site-header__panel {
  grid-area: 1 / 1;
  overflow: hidden;
  pointer-events: none;
  border-radius: 1.625rem;
}

.site-header__bar {
  grid-area: 1 / 1;
  align-self: end;
  z-index: 2;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: var(--spacer--sm);
  padding: var(--spacer--xs) var(--spacer--sm);
  background-color: var(--header--background);
  color: var(--header--text);
  border-radius: var(--border-radius--lg);
  box-shadow: var(--shadow--sm);
}

.site-header__sheet {
  display: none;
  flex-direction: column;
  gap: var(--spacer--md);
  padding: var(--spacer--md) var(--spacer--lg) var(--spacer--xl);
  background-color: var(--mobile-menu--background);
  border-radius: inherit;
  pointer-events: auto;
}

.site-header.is-open .site-header__sheet,
.site-header.is-animating .site-header__sheet {
  display: flex;
  min-height: 100%;
  padding-bottom: calc(var(--spacer--xl) + var(--site-header--bar-size));
}

.site-header__sheet[hidden] {
  display: none !important;
}

.site-header__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--mobile-menu--toggle-size);
  height: var(--mobile-menu--toggle-size);
  padding: 0;
  border: none;
  border-radius: var(--border-radius--circle);
  background-color: var(--button--background);
  color: var(--button--color);
  cursor: pointer;
}

.site-header__close:hover,
.site-header__close:focus {
  background-color: var(--button--background-hover);
  color: var(--button--color-hover);
}

.site-header__close svg {
  display: block;
  width: 100%;
  height: 100%;
}

.site-header__nav--sheet .nav-menu {
  display: flex;
  flex-direction: column;
}

.site-header__nav--sheet .nav-menu > li + li {
  border-top: 1px solid var(--mobile-menu--accent);
}

.site-header__nav--sheet a {
  display: block;
  padding-top: var(--spacer--sm);
  padding-bottom: var(--spacer--sm);
  color: var(--mobile-menu--link);
  font-family: var(--h3-font-family);
  font-size: 1.625rem;
  font-weight: var(--h3-font-weight);
  line-height: 1;
  text-decoration: none;
}

.site-header__nav--sheet a:hover,
.site-header__nav--sheet a:focus {
  color: var(--mobile-menu--link-hover);
}

.site-header__toggle,
.site-header__grid {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--mobile-menu--toggle-size);
  height: var(--mobile-menu--toggle-size);
  padding: var(--spacer--xs);
  border: none;
  border-radius: var(--border-radius--circle);
  background-color: var(--menu-toggle--background);
  color: var(--menu-toggle--icon);
  text-decoration: none;
  cursor: pointer;
}

.site-header__toggle:hover,
.site-header__toggle:focus,
.site-header__grid:hover,
.site-header__grid:focus {
  background-color: var(--menu-toggle--background-hover);
  color: var(--menu-toggle--icon-hover);
}

.site-header__toggle svg,
.site-header__grid svg {
  display: block;
  width: 100%;
  height: 100%;
}

.site-header__logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  min-width: 0;
}

.site-header__logo-image {
  display: block;
  width: auto;
  height: auto;
  max-height: var(--header--logo-max-height--mobile);
}

.site-header__cta {
  flex-shrink: 0;
}

.site-header__nav--desktop .nav-menu {
  display: flex;
  align-items: center;
  gap: var(--spacer--xl);
}

.site-header__nav--desktop a {
  color: var(--header--link);
  font-size: var(--body-font-size);
  white-space: nowrap;
}

.site-header__nav--desktop a:hover,
.site-header__nav--desktop a:focus {
  color: var(--header--link-hover);
}

footer.site-footer {
  padding-bottom: calc(var(--section--padding--mobile) + var(--spacer--4xl) + var(--spacer--3xl));
}

@media (min-width: 768px) {
  .site-header__chrome {
    display: inline-flex;
    width: auto;
    align-items: flex-start;
  }

  .site-header__sheet {
    display: none !important;
  }

  .site-header__bar {
    justify-content: flex-start;
    width: auto;
    gap: var(--spacer--xl);
    padding: var(--spacer--2xs) var(--spacer--lg) var(--spacer--2xs) var(--spacer--2xs);
  }

  footer.site-footer {
    padding-bottom: calc(var(--section--padding) + var(--spacer--4xl) + var(--spacer--3xl));
  }
}
