/* Component containers previously declared with global resets. */
@media (max-width: 767px) {
.navbar-container {
width: 100%;
  height: var(--navbar-height);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}
}
@media (max-width: 767px) {
.footer-container {
background-color: var(--color-cream)
}
}
@media (width > 767px) {
.home-hero__tagline-layout {
  margin-left: min(36px, 2.5vw);
  margin-top: min(28px, 1.94444vw);
  display: flex;
  flex-direction: column;
  gap: min(32px, 2.22222vw);
  align-items: center;
  z-index: 1;
  width: 95vw;
  max-width: 1368.0px;
  height: auto;
  position: relative;
  color: #0B889B;
  font-family: "Archivo";
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
}

  .cookie-dialog {
    display: grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
    align-items: start;
    width: 35.9028vw;
    max-width: 517.0px;
    height: auto;
    text-align: left;
  }

  .cookie-banner__layout {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    margin-left: 0px;
    margin-top: 0px;
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0px;
    width: 35.9028vw;
    max-width: 517.0px;
    height: 19.1667vw;
    max-height: 276.0px;
  }

  .cookie-banner__panel {
    background-image: linear-gradient(rgba(22, 24, 27, 0.86), rgba(22, 24, 27, 0.86));
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-blend-mode: normal;
    grid-column: 1;
    grid-row: 1;
    margin-left: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    border-radius: min(20px, 1.38889vw);
    z-index: 0;
    width: 35.9028vw;
    max-width: 517.0px;
    height: auto;
    position: relative;
    backdrop-filter: blur(24px);
    box-shadow: 0px 12px 32px 0px #00000040;
    font-weight: 400;
    letter-spacing: 0rem;
    min-height: min(276px, 19.1667vw);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .cookie-banner__surface {
    display: flex;
    flex-direction: column;
    gap: min(24px, 1.66667vw);
    align-items: flex-start;
    padding-left: min(48px, 3.33333vw);
    padding-right: min(48px, 3.33333vw);
    padding-top: min(32px, 2.22222vw);
    padding-bottom: min(32px, 2.22222vw);
    grid-column: 1;
    grid-row: 1;
    min-width: 0px;
    min-height: 0px;
    align-self: stretch;
    justify-self: stretch;
    z-index: 0;
  }

  .cookie-banner__inner {
    display: flex;
    flex-direction: row;
    gap: min(48px, 3.33333vw);
    align-items: flex-end;
    align-self: stretch;
    z-index: 0;
    width: 29.2361vw;
    max-width: 421.0px;
    height: auto;
    position: relative;
  }

  .cookie-banner__copy {
    display: flex;
    flex-direction: column;
    gap: min(16px, 1.11111vw);
    justify-content: center;
    align-items: flex-start;
    flex-shrink: 0;
    z-index: 0;
    width: 29.2361vw;
    max-width: 421.0px;
    height: auto;
    position: relative;
  }

  .cookie-banner__title {
    display: block;
    align-self: stretch;
    z-index: 0;
    width: 29.2361vw;
    max-width: 421.0px;
    height: auto;
    position: relative;
    color: #FFFFFF;
    font-family: "txc-pearl";
    text-transform: uppercase;
    line-height: 1.2;
    font-size: min(1.875rem, 2.08333vw);
  }

  .cookie-banner__title-copy {
    display: inline;
    align-self: stretch;
    width: 29.2361vw;
    max-width: 421.0px;
    height: auto;
  }

  .cookie-banner__description {
    color: rgba(255, 255, 255, 0.701961);
    display: block;
    align-self: stretch;
    z-index: 1;
    width: 29.2361vw;
    max-width: 421.0px;
    height: auto;
    position: relative;
    font-family: "Archivo";
    line-height: 1.5;
    font-size: min(0.9375rem, 1.04167vw);
  }

  .cookie-banner__description-copy {
    display: inline;
    align-self: stretch;
    width: 29.2361vw;
    max-width: 421.0px;
    height: auto;
  }

  .cookie-banner__spacer {
    border: min(1px, 0.0694444vw) solid #FFFFFF26;
    grid-column: 1;
    grid-row: 1;
    contain: size;
    align-self: stretch;
    justify-self: stretch;
    min-width: 0px;
    min-height: 0px;
    pointer-events: none;
    z-index: 1;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    border-radius: min(20px, 1.38889vw) min(20px, 1.38889vw) min(20px, 1.38889vw) min(20px, 1.38889vw) / min(20px, 1.38889vw) min(20px, 1.38889vw) min(20px, 1.38889vw) min(20px, 1.38889vw);
  }

  .cookie-banner__actions {
    grid-column: 1;
    grid-row: 1;
    margin-left: min(36px, 2.5vw);
    margin-top: min(220px, 15.2778vw);
    margin-bottom: min(23px, 1.59722vw);
    display: flex;
    flex-direction: row;
    gap: min(7.77524px, 0.539947vw);
    justify-content: flex-end;
    align-items: flex-start;
    z-index: 1;
    width: 30.9722vw;
    max-width: 446.0px;
    height: auto;
    position: relative;
    font-family: "Archivo";
    font-weight: 500;
    letter-spacing: min(0.0688106rem, 0.0764562vw);
    text-transform: uppercase;
    line-height: 1.1;
    min-height: min(33px, 2.29167vw);
    font-size: min(0.688106rem, 0.764562vw);
  }

  .cookie-banner__actions-accept {
    border-radius: 647.936767578125px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding-left: 1.29587rem;
    padding-right: 1.29587rem;
    padding-top: 0.647937rem;
    padding-bottom: 0.647937rem;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
    background-color: #FFFFFF;
    color: #000000;
  }

  .cookie-banner__actions-accept-text {
    display: block;
    flex-shrink: 0;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
  }

  .cookie-banner__actions-accept-title {
    display: inline;
    width: max-content;
    height: auto;
  }

  .cookie-banner__actions-reject {
    border-radius: min(647.937px, 44.9956vw);
    z-index: 1;
    width: max-content;
    height: auto;
    position: relative;
    color: #FFFFFF;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .cookie-banner__actions-reject-body {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding-left: 1.29587rem;
    padding-right: 1.29587rem;
    padding-top: 0.647937rem;
    padding-bottom: 0.647937rem;
    grid-column: 1;
    grid-row: 1;
    min-width: 0px;
    min-height: 0px;
    align-self: stretch;
    justify-self: stretch;
    z-index: 0;
  }

  .cookie-banner__actions-reject-title {
    display: block;
    flex-shrink: 0;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
  }

  .cookie-banner__actions-reject-label-copy {
    display: inline;
    width: max-content;
    height: auto;
  }

  .cookie-banner__actions-reject-text {
    border: min(0.647937px, 0.0449956vw) solid #FFFFFF;
    grid-column: 1;
    grid-row: 1;
    contain: size;
    align-self: stretch;
    justify-self: stretch;
    min-width: 0px;
    min-height: 0px;
    pointer-events: none;
    z-index: 1;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    border-radius: min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) / min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw);
  }

  .cookie-banner__actions-manage {
    background-image: linear-gradient(rgba(255, 255, 255, 0.101961), rgba(255, 255, 255, 0.101961));
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-blend-mode: normal;
    border-radius: min(647.937px, 44.9956vw);
    z-index: 2;
    width: max-content;
    height: auto;
    position: relative;
    color: #FFFFFF;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .cookie-banner__actions-manage-body {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding-left: 1.29587rem;
    padding-right: 1.29587rem;
    padding-top: 0.647937rem;
    padding-bottom: 0.647937rem;
    grid-column: 1;
    grid-row: 1;
    min-width: 0px;
    min-height: 0px;
    align-self: stretch;
    justify-self: stretch;
    z-index: 0;
  }

  .cookie-banner__actions-manage-title {
    display: block;
    flex-shrink: 0;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
  }

  .cookie-banner__actions-manage-label-copy {
    display: inline;
    width: max-content;
    height: auto;
  }

  .cookie-banner__actions-manage-text {
    border: min(0.647937px, 0.0449956vw) solid #FFFFFF33;
    grid-column: 1;
    grid-row: 1;
    contain: size;
    align-self: stretch;
    justify-self: stretch;
    min-width: 0px;
    min-height: 0px;
    pointer-events: none;
    z-index: 1;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    border-radius: min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) / min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw);
  }

  .cookie-dialog-compact {
    display: grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
    align-items: start;
    width: 20.8333vw;
    max-width: 300.0px;
    height: auto;
    text-align: left;
  }

  .cookie-banner-compact__layout {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    margin-left: 0px;
    margin-top: 0px;
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0px;
    width: 20.8333vw;
    max-width: 300.0px;
    height: 32.0833vw;
    max-height: 462.0px;
  }

  .cookie-banner-compact__panel {
    background-image: linear-gradient(rgba(22, 24, 27, 0.86), rgba(22, 24, 27, 0.86));
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-blend-mode: normal;
    grid-column: 1;
    grid-row: 1;
    margin-left: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    border-radius: min(20px, 1.38889vw);
    z-index: 0;
    width: 20.8333vw;
    max-width: 300.0px;
    height: auto;
    position: relative;
    backdrop-filter: blur(24px);
    box-shadow: 0px 12px 32px 0px #00000040;
    font-weight: 400;
    letter-spacing: 0rem;
    min-height: min(462px, 32.0833vw);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .cookie-banner-compact__surface {
    display: flex;
    flex-direction: column;
    gap: min(24px, 1.66667vw);
    align-items: flex-start;
    padding-left: min(48px, 3.33333vw);
    padding-right: min(48px, 3.33333vw);
    padding-top: min(32px, 2.22222vw);
    padding-bottom: min(32px, 2.22222vw);
    grid-column: 1;
    grid-row: 1;
    min-width: 0px;
    min-height: 0px;
    align-self: stretch;
    justify-self: stretch;
    z-index: 0;
  }

  .cookie-banner-compact__inner {
    display: flex;
    flex-direction: row;
    gap: min(48px, 3.33333vw);
    align-items: flex-end;
    align-self: stretch;
    z-index: 0;
    width: 14.1667vw;
    max-width: 204.0px;
    height: auto;
    position: relative;
  }

  .cookie-banner-compact__copy {
    display: flex;
    flex-direction: column;
    gap: min(16px, 1.11111vw);
    justify-content: center;
    align-items: flex-start;
    flex-shrink: 0;
    z-index: 0;
    width: 14.1667vw;
    max-width: 204.0px;
    height: auto;
    position: relative;
  }

  .cookie-banner-compact__title {
    display: block;
    align-self: stretch;
    z-index: 0;
    width: 14.1667vw;
    max-width: 204.0px;
    height: auto;
    position: relative;
    color: #FFFFFF;
    font-family: "Abel";
    text-transform: uppercase;
    line-height: 1.2;
    font-size: min(1.875rem, 2.08333vw);
  }

  .cookie-banner-compact__title-copy {
    display: inline;
    align-self: stretch;
    width: 14.1667vw;
    max-width: 204.0px;
    height: auto;
  }

  .cookie-banner-compact__description {
    color: rgba(255, 255, 255, 0.701961);
    display: block;
    align-self: stretch;
    z-index: 1;
    width: 14.1667vw;
    max-width: 204.0px;
    height: auto;
    position: relative;
    font-family: "Archivo";
    line-height: 1.5;
    font-size: min(0.9375rem, 1.04167vw);
  }

  .cookie-banner-compact__description-copy {
    display: inline;
    align-self: stretch;
    width: 14.1667vw;
    max-width: 204.0px;
    height: auto;
  }

  .cookie-banner-compact__spacer {
    border: min(1px, 0.0694444vw) solid #FFFFFF26;
    grid-column: 1;
    grid-row: 1;
    contain: size;
    align-self: stretch;
    justify-self: stretch;
    min-width: 0px;
    min-height: 0px;
    pointer-events: none;
    z-index: 1;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    border-radius: min(20px, 1.38889vw) min(20px, 1.38889vw) min(20px, 1.38889vw) min(20px, 1.38889vw) / min(20px, 1.38889vw) min(20px, 1.38889vw) min(20px, 1.38889vw) min(20px, 1.38889vw);
  }

  .cookie-banner-compact__actions {
    grid-column: 1;
    grid-row: 1;
    margin-left: min(24px, 1.66667vw);
    margin-top: min(374px, 25.9722vw);
    margin-bottom: min(11px, 0.763889vw);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(7.77524px, 0.539947vw) min(7.77524px, 0.539947vw);
    justify-content: center;
    align-items: flex-start;
    z-index: 1;
    width: 17.5vw;
    max-width: 252.0px;
    height: auto;
    position: relative;
    font-family: "Archivo";
    font-weight: 500;
    letter-spacing: min(0.0688106rem, 0.0764562vw);
    text-transform: uppercase;
    line-height: 1.1;
    min-height: min(77px, 5.34722vw);
    font-size: min(0.688106rem, 0.764562vw);
  }

  .cookie-banner-compact__actions-accept {
    border-radius: 647.936767578125px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding-left: 1.29587rem;
    padding-right: 1.29587rem;
    padding-top: 0.647937rem;
    padding-bottom: 0.647937rem;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
    background-color: #FFFFFF;
    color: #000000;
  }

  .cookie-banner-compact__actions-accept-text {
    display: block;
    flex-shrink: 0;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
  }

  .cookie-banner-compact__actions-accept-title {
    display: inline;
    width: max-content;
    height: auto;
  }

  .cookie-banner-compact__actions-reject {
    border-radius: min(647.937px, 44.9956vw);
    z-index: 1;
    width: max-content;
    height: auto;
    position: relative;
    color: #FFFFFF;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .cookie-banner-compact__actions-reject-body {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding-left: 1.29587rem;
    padding-right: 1.29587rem;
    padding-top: 0.647937rem;
    padding-bottom: 0.647937rem;
    grid-column: 1;
    grid-row: 1;
    min-width: 0px;
    min-height: 0px;
    align-self: stretch;
    justify-self: stretch;
    z-index: 0;
  }

  .cookie-banner-compact__actions-reject-title {
    display: block;
    flex-shrink: 0;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
  }

  .cookie-banner-compact__actions-reject-label-copy {
    display: inline;
    width: max-content;
    height: auto;
  }

  .cookie-banner-compact__actions-reject-text {
    border: min(0.647937px, 0.0449956vw) solid #FFFFFF;
    grid-column: 1;
    grid-row: 1;
    contain: size;
    align-self: stretch;
    justify-self: stretch;
    min-width: 0px;
    min-height: 0px;
    pointer-events: none;
    z-index: 1;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    border-radius: min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) / min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw);
  }

  .cookie-banner-compact__actions-manage {
    background-image: linear-gradient(rgba(255, 255, 255, 0.101961), rgba(255, 255, 255, 0.101961));
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-blend-mode: normal;
    border-radius: min(647.937px, 44.9956vw);
    flex-shrink: 0;
    z-index: 2;
    width: 16.6667vw;
    max-width: 240.0px;
    height: auto;
    position: relative;
    color: #FFFFFF;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .cookie-banner-compact__actions-manage-body {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding-left: 1.29587rem;
    padding-right: 1.29587rem;
    padding-top: 0.647937rem;
    padding-bottom: 0.647937rem;
    grid-column: 1;
    grid-row: 1;
    min-width: 0px;
    min-height: 0px;
    align-self: stretch;
    justify-self: stretch;
    z-index: 0;
  }

  .cookie-banner-compact__actions-manage-title {
    display: block;
    flex-shrink: 0;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
  }

  .cookie-banner-compact__actions-manage-label-copy {
    display: inline;
    width: max-content;
    height: auto;
  }

  .cookie-banner-compact__actions-manage-text {
    border: min(0.647937px, 0.0449956vw) solid #FFFFFF33;
    grid-column: 1;
    grid-row: 1;
    contain: size;
    align-self: stretch;
    justify-self: stretch;
    min-width: 0px;
    min-height: 0px;
    pointer-events: none;
    z-index: 1;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    border-radius: min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) / min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw) min(647.937px, 44.9956vw);
  }

  .services-menu {
    min-height: min(336px, 23.3333vw);
    width: 100vw;
    max-width: 1440.0px;
    height: auto;
    box-shadow: 0px 16px 32px 0px #16181B1F;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .services-menu__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    align-items: stretch;
    grid-column: 1;
    grid-row: 1;
    min-width: 0px;
    min-height: 0px;
    align-self: stretch;
    justify-self: stretch;
    z-index: 0;
  }

  .services-menu__inner {
    display: grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
    align-items: start;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }

  .services-menu__pointer {
    margin-left: min(825.042px, 57.2946vw);
    margin-top: min(11.0416px, 0.76678vw);
    grid-column: 1;
    grid-row: 1;
    margin-bottom: min(290.958px, 20.2054vw);
    width: 2.36111vw;
    max-width: 34.0px;
    height: 2.36111vw;
    max-height: 34.0px;
    position: relative;
    background-color: #FAF5EC;
  }

  .services-menu__grid {
    grid-column: 1;
    grid-row: 1;
    min-height: min(316px, 21.9444vw);
    justify-self: stretch;
    width: auto;
    max-width: none;
    margin-left: 0px;
    margin-right: 0px;
    align-self: start;
    margin-top: min(16px, 1.11111vw);
    flex-direction: row;
    gap: min(48px, 3.33333vw);
    height: auto;
    position: relative;
    background-color: #FAF5EC;
  }

  .service-menu-item {
    border-radius: 8.0px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: min(6px, 0.416667vw);
    align-items: flex-start;
    z-index: 2;
    width: 30.1852vw;
    max-width: 434.6666564941406px;
    height: auto;
    position: relative;
  }

  .service-menu-item__body {
    display: flex;
    flex-direction: row;
    gap: min(8px, 0.555556vw);
    align-items: center;
    z-index: 0;
    width: 26.3194vw;
    max-width: 379.0px;
    height: auto;
    position: relative;
    color: #16181B;
    font-family: "txc-pearl";
    text-transform: uppercase;
    line-height: 1.1;
    font-size: min(1.25rem, 1.38889vw);
  }

  .service-menu-item__title {
    display: block;
    flex-shrink: 0;
    z-index: 0;
    width: 26.3194vw;
    max-width: 379.0px;
    height: auto;
    position: relative;
  }

  .service-menu-item__title-copy {
    display: inline;
    width: 26.3194vw;
    max-width: 379.0px;
    height: auto;
  }

  .service-menu-item__description {
    display: block;
    align-self: stretch;
    z-index: 1;
    width: 29.0741vw;
    max-width: 418.6666564941406px;
    height: auto;
    position: relative;
    color: #887D6F;
    font-family: "Archivo";
    line-height: 1.4;
    font-size: min(0.875rem, 0.972222vw);
  }

  .service-menu-item__description-copy {
    display: inline;
    align-self: stretch;
    width: 29.0741vw;
    max-width: 418.6666564941406px;
    height: auto;
  }

  .services-menu__spacer {
    border-bottom: min(4px, 0.277778vw) solid #F37F3C;
    grid-column: 1;
    grid-row: 1;
    contain: size;
    align-self: stretch;
    justify-self: stretch;
    min-width: 0px;
    min-height: 0px;
    pointer-events: none;
    z-index: 1;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
  }

  .button {
    display: flex;
    flex-direction: row;
    gap: min(6.46154px, 0.448718vw);
    align-items: center;
    width: max-content;
    height: auto;
  }

  .arrow-right {
    display: grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
    align-items: start;
    overflow: hidden;
    width: 1.66667vw;
    max-width: 24.0px;
    height: 1.66667vw;
    max-height: 24.0px;
    min-height: min(24px, 1.66667vw);
  }

  .benefits-cta-icon__art {
    display: grid;
    align-items: start;
    overflow: visible;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    margin-left: min(4px, 0.277778vw);
    margin-top: min(6px, 0.416667vw);
    grid-column: 1;
    grid-row: 1;
    margin-bottom: min(6px, 0.416667vw);
    z-index: 0;
    width: 1.11111vw;
    max-width: 16.0px;
    height: 0.833333vw;
    max-height: 12.0px;
    position: relative;
  }

  .benefits-cta-icon__art-image {
    width: 1.21528vw;
    height: 0.937498vw;
    max-width: 17.499975px;
    max-height: 13.49997475px;
    margin-left: max(-0.75px, -0.0520833vw);
    margin-top: max(-0.75px, -0.0520833vw);
    grid-column: 1;
    grid-row: 1;
    margin-right: max(-0.749975px, -0.0520816vw);
    margin-bottom: max(-0.749975px, -0.0520816vw);
    border: 1.5px solid #FFFCF7;
    background-color: #FFFCF7;
  }

  .site-footer {
    overflow: hidden;
    width: 100%;
    max-width: none;
    height: auto;
    background-color: var(--color-cream);
  }

  .site-footer__width {
    flex-direction: column;
    gap: min(10px, 0.694444vw);
    padding-left: min(24px, 1.66667vw);
    padding-right: min(24px, 1.66667vw);
    padding-top: min(24px, 1.66667vw);
    padding-bottom: min(24px, 1.66667vw);
    container-type: inline-size;
    background-image: linear-gradient(#16181B, #16181B);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-blend-mode: normal;
    display: grid;
    grid-template-columns: min(100%, 1392px);
    justify-content: center;
    grid-auto-flow: column;
    align-items: start;
    border-radius: 20.0px;
    overflow: hidden;
    flex-shrink: 0;
    z-index: 0;
    width: auto;
    margin: 24px;
    max-width: none;
    height: auto;
    position: relative;
    min-height: min(439px, 30.4861vw);
  }

  .site-footer__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    margin-left: min(47px, 3.26389vw);
    margin-top: max(-68px, -4.72222vw);
    grid-column: 1;
    grid-row: 1;
    margin-bottom: max(-342.565px, -23.7893vw);
    width: 113.472vw;
    max-width: 1634.0px;
    height: 58.9976vw;
    max-height: 849.5654907226562px;
  }

  .site-footer__watermark {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    align-items: stretch;
    min-height: min(849.565px, 58.9976vw);
    margin-right: max(-289px, -20.0694vw);
    grid-column: 1;
    grid-row: 1;
    margin-left: min(471px, 32.7083vw);
    margin-top: 0px;
    margin-bottom: 0px;
    z-index: 0;
    width: 80.7639vw;
    max-width: 1163.0px;
    height: 58.9976vw;
    max-height: 849.5654907226562px;
    position: relative;
  }

  .site-footer__top {
    grid-column: 1;
    grid-row: 1;
    margin-left: min(1px, 0.0694444vw);
    margin-top: min(127px, 8.81944vw);
    margin-bottom: min(501.565px, 34.8309vw);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    z-index: 1;
    width: 79.5833vw;
    max-width: 1146.0px;
    height: auto;
    position: relative;
  }

  .site-footer__logo {
    display: grid;
    grid-template-columns: repeat(1, max-content) auto;
    grid-auto-flow: column;
    align-items: start;
    overflow: hidden;
    flex-shrink: 0;
    z-index: 0;
    width: 14.0278vw;
    max-width: 202.0px;
    height: 3.33333vw;
    max-height: 48.0px;
    position: relative;
    min-height: min(48px, 3.33333vw);
  }

  .site-footer__nav {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    flex-shrink: 0;
    z-index: 1;
    width: 45.6944vw;
    max-width: 658.0px;
    height: auto;
    position: relative;
  }

  .footer-pages {
    color: #FAF5EC;
    display: flex;
    flex-direction: column;
    gap: min(20px, 1.38889vw);
    align-items: flex-start;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
    text-align: left;
    font-family: "Archivo";
    letter-spacing: 0rem;
  }

  .footer-pages__heading {
    display: block;
    flex-shrink: 0;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
    font-weight: 500;
    line-height: 1.2;
    font-size: min(1.5rem, 1.66667vw);
  }

  .footer-pages__home {
    display: block;
    align-self: stretch;
    z-index: 1;
    width: 9.72222vw;
    max-width: 140.0px;
    height: auto;
    position: relative;
    font-weight: 400;
    line-height: 1.4;
    font-size: min(1.25rem, 1.38889vw);
  }

  .footer-pages__story {
    display: block;
    flex-shrink: 0;
    z-index: 2;
    width: max-content;
    height: auto;
    position: relative;
    font-weight: 400;
    line-height: 1.4;
    font-size: min(1.25rem, 1.38889vw);
  }

  .footer-pages__team {
    display: block;
    flex-shrink: 0;
    z-index: 3;
    width: max-content;
    height: auto;
    position: relative;
    font-weight: 400;
    line-height: 1.4;
    font-size: min(1.25rem, 1.38889vw);
  }

  .footer-pages__services {
    display: block;
    z-index: 4;
    width: 9.72222vw;
    max-width: 140.0px;
    height: auto;
    position: relative;
    font-weight: 400;
    line-height: 1.4;
    font-size: min(1.25rem, 1.38889vw);
  }

  .footer-resources {
    color: #FAF5EC;
    display: flex;
    flex-direction: column;
    gap: min(20px, 1.38889vw);
    align-items: flex-start;
    z-index: 1;
    width: max-content;
    height: auto;
    position: relative;
    text-align: left;
    font-family: "Archivo";
    letter-spacing: 0rem;
  }

  .footer-resources__heading {
    display: block;
    flex-shrink: 0;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
    font-weight: 500;
    line-height: 1.2;
    font-size: min(1.5rem, 1.66667vw);
  }

  .footer-resources__news {
    display: block;
    flex-shrink: 0;
    z-index: 1;
    width: max-content;
    height: auto;
    position: relative;
    font-weight: 400;
    line-height: 1.4;
    font-size: min(1.25rem, 1.38889vw);
  }

  .footer-resources__contact {
    display: block;
    flex-shrink: 0;
    z-index: 2;
    width: max-content;
    height: auto;
    position: relative;
    font-weight: 400;
    line-height: 1.4;
    font-size: min(1.25rem, 1.38889vw);
  }

  .footer-resources__portal {
    display: block;
    flex-shrink: 0;
    z-index: 3;
    width: max-content;
    height: auto;
    position: relative;
    font-weight: 400;
    line-height: 1.4;
    font-size: min(1.25rem, 1.38889vw);
  }

  .footer-social {
    display: flex;
    flex-direction: column;
    gap: min(20px, 1.38889vw);
    align-items: flex-start;
    z-index: 2;
    width: max-content;
    height: auto;
    position: relative;
  }

  .footer-social__title {
    color: #FAF5EC;
    display: block;
    flex-shrink: 0;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
    text-align: left;
    font-family: "Archivo";
    font-weight: 500;
    letter-spacing: 0px;
    line-height: 1.2;
    font-size: min(1.5rem, 1.66667vw);
  }

  .footer-social__icons {
    display: flex;
    flex-direction: row;
    gap: min(12px, 0.833333vw);
    align-items: flex-start;
    z-index: 1;
    width: max-content;
    height: max-content;
    position: relative;
  }

  .footer-social__email {
    border-radius: 48.0px;
    display: flex;
    flex-direction: row;
    gap: min(10px, 0.694444vw);
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    z-index: 0;
    width: 3.61111vw;
    max-width: 52.0px;
    height: 2.77778vw;
    max-height: 40.0px;
    position: relative;
    background-color: #289EB0;
    min-height: min(40px, 2.77778vw);
  }

  .footer-social__email-icon {
    display: grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
    align-items: start;
    overflow: hidden;
    flex-shrink: 0;
    z-index: 0;
    width: 1.66667vw;
    max-width: 24.0px;
    height: 1.66667vw;
    max-height: 24.0px;
    position: relative;
    min-height: min(24px, 1.66667vw);
  }

  .footer-social__linkedin {
    border-radius: 48.0px;
    display: flex;
    flex-direction: row;
    gap: min(10px, 0.694444vw);
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    z-index: 1;
    width: 3.61111vw;
    max-width: 52.0px;
    height: 2.77778vw;
    max-height: 40.0px;
    position: relative;
    background-color: #289EB0;
    min-height: min(40px, 2.77778vw);
  }

  .footer-social__linkedin-icon {
    display: grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
    align-items: start;
    overflow: hidden;
    flex-shrink: 0;
    z-index: 0;
    width: 1.66667vw;
    max-width: 24.0px;
    height: 1.66667vw;
    max-height: 24.0px;
    position: relative;
    min-height: min(24px, 1.66667vw);
  }

  .site-footer__description {
    color: #FAF5EC;
    display: block;
    grid-column: 1;
    grid-row: 1;
    margin-left: 0px;
    margin-top: min(233px, 16.1806vw);
    margin-bottom: min(558.565px, 38.7893vw);
    z-index: 2;
    width: 29.6528vw;
    max-width: 427.0px;
    height: auto;
    position: relative;
    text-align: left;
    font-family: "Archivo";
    font-weight: 500;
    letter-spacing: 0px;
    line-height: 1.2;
    font-size: min(1.5rem, 1.66667vw);
  }
  .site-footer__legal {
    color: #FAF5EC;
    grid-column: 1;
    grid-row: 1;
    margin-left: 0;
    margin-top: min(436px, 30.2778vw);
    margin-bottom: min(389.565px, 27.0532vw);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    z-index: 3;
    width: calc(100cqw - min(94px, 6.52778vw));
    max-width: 1296.0px;
    height: auto;
    position: relative;
    font-family: "Archivo";
    font-weight: 400;
    letter-spacing: 0rem;
    line-height: 1.5rem;
    min-width: 0;
    gap: 0.5rem 1rem;
    flex-wrap: wrap;
  }

  .site-footer__disclaimer {
    display: block;
    flex-shrink: 0;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
    text-align: left;
    font-size: min(1rem, 1.11111vw);
  }
  .site-footer__copyright {
    display: block;
    flex: 1 1 auto;
    z-index: 1;
    width: auto;
    max-width: 100%;
    height: auto;
    position: relative;
    text-align: right;
    font-size: min(1rem, 1.11111vw);
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .site-header {
    width: 100%;
    max-width: none;
    height: auto;
    background-color: #16181B;
    backdrop-filter: blur(20px);
    min-height: min(108px, 7.5vw);
  }

  .site-header__inner {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-left: min(32px, 2.22222vw);
    padding-right: min(16px, 1.11111vw);
    padding-top: min(16px, 1.11111vw);
    padding-bottom: min(16px, 1.11111vw);
    width: 100%;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    min-height: inherit;
  }

  .site-header__logo {
    display: grid;
    grid-template-columns: repeat(1, max-content) auto;
    grid-auto-flow: column;
    align-items: start;
    overflow: hidden;
    flex-shrink: 0;
    z-index: 0;
    width: 14.0278vw;
    max-width: 202.0px;
    height: 3.33333vw;
    max-height: 48.0px;
    position: relative;
    min-height: min(48px, 3.33333vw);
  }

  .site-header__nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    z-index: 1;
    width: max-content;
    height: auto;
  }

  .site-header__home {
    border-radius: 40px;
    z-index: 0;
    width: max-content;
    height: auto;
    position: relative;
  }

  .site-header__story {
    border-radius: 40.0px;
    display: flex;
    flex-direction: row;
    gap: min(10px, 0.694444vw);
    justify-content: center;
    align-items: center;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    z-index: 1;
    width: max-content;
    height: auto;
    position: relative;
    min-height: min(40px, 2.77778vw);
  }

  .site-header__team {
    border-radius: 40.0px;
    display: flex;
    flex-direction: row;
    gap: min(10px, 0.694444vw);
    justify-content: center;
    align-items: center;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    z-index: 2;
    width: max-content;
    height: auto;
    position: relative;
    min-height: min(40px, 2.77778vw);
  }

  .site-header__services {
    border-radius: 40px;
    z-index: 3;
    width: max-content;
    height: auto;
    position: relative;
  }

  .site-header__news {
    border-radius: 40.0px;
    display: flex;
    flex-direction: row;
    gap: min(10px, 0.694444vw);
    justify-content: center;
    align-items: center;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    z-index: 4;
    width: max-content;
    height: auto;
    position: relative;
    min-height: min(40px, 2.77778vw);
  }

  .site-header__actions {
    border-radius: 37.36263656616211px;
    display: flex;
    flex-direction: row;
    gap: min(9.34px, 0.648611vw);
    justify-content: center;
    align-items: center;
    padding-left: min(28.68px, 1.99167vw);
    padding-right: min(28.68px, 1.99167vw);
    padding-top: min(7.47253px, 0.518926vw);
    padding-bottom: min(7.47253px, 0.518926vw);
    flex-shrink: 0;
    z-index: 2;
    width: 11.8056vw;
    max-width: 170.0px;
    height: auto;
    position: relative;
    min-height: min(63.5165px, 4.41087vw);
  }

  .site-header__contact {
    display: grid;
    grid-template-columns: repeat(1, max-content) auto;
    grid-auto-flow: column;
    align-items: start;
    border-radius: 34.871795654296875px;
    flex-shrink: 0;
    z-index: 0;
    width: 11.4583vw;
    max-width: 165.0px;
    height: auto;
    position: relative;
    background-color: #0B889B;
    min-height: min(44px, 3.05556vw);
  }

  .site-header__contact-label {
    display: block;
    flex-shrink: 0;
    margin-left: min(34.282px, 2.38069vw);
    margin-top: min(9.5px, 0.659722vw);
    grid-column: 1;
    grid-row: 1;
    margin-bottom: min(9.5px, 0.659722vw);
    z-index: 1;
    width: max-content;
    height: auto;
    position: relative;
    text-align: left;
    color: #FFFFFF;
    font-family: "Archivo";
    font-weight: 600;
    letter-spacing: min(0.065625rem, 0.0729167vw);
    text-transform: uppercase;
    line-height: 1.6;
    font-size: min(0.9375rem, 1.04167vw);
  }

  .site-header__contact-icon {
    margin-left: min(9.21802px, 0.64014vw);
    margin-top: min(3.2417px, 0.225118vw);
    grid-column: 2;
    grid-row: 1;
    margin-bottom: min(2.7583px, 0.191549vw);
    border-radius: 41.84615707397461px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    z-index: 0;
    width: 2.63889vw;
    max-width: 38.0px;
    height: 2.63889vw;
    max-height: 38.0px;
    position: relative;
    background-color: #289EB0;
    min-height: min(38px, 2.63889vw);
  }

  .site-header__cursor {
    display: grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
    align-items: start;
    overflow: hidden;
    flex-shrink: 0;
    z-index: 0;
    width: 1.21083vw;
    max-width: 17.435895919799805px;
    height: 1.21083vw;
    max-height: 17.435895919799805px;
    position: relative;
    min-height: min(17.4359px, 1.21083vw);
  }

  .site-header__cursor-art {
    margin-left: min(3.7356px, 0.259416vw);
    margin-top: min(1.24646px, 0.0865597vw);
    grid-column: 1;
    grid-row: 1;
    margin-bottom: min(1.2458px, 0.0865142vw);
    z-index: 0;
    width: 0.865093vw;
    max-width: 12.45733642578125px;
    height: 1.03775vw;
    max-height: 14.943631172180176px;
    position: relative;
  }

  .service-arrow {
    display: grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
    align-items: start;
    overflow: hidden;
    width: 1.66667vw;
    max-width: 24.0px;
    height: 1.66667vw;
    max-height: 24.0px;
    min-height: min(24px, 1.66667vw);
  }

  .service__cta-actions-button-icon-art {
    display: grid;
    align-items: start;
    overflow: visible;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    margin-left: min(4px, 0.277778vw);
    margin-top: min(6px, 0.416667vw);
    grid-column: 1;
    grid-row: 1;
    margin-bottom: min(6px, 0.416667vw);
    z-index: 0;
    width: 1.11111vw;
    max-width: 16.0px;
    height: 0.833333vw;
    max-height: 12.0px;
    position: relative;
  }

  .service__cta-actions-button-icon-art-image {
    width: 1.21528vw;
    height: 0.937498vw;
    max-width: 17.499975px;
    max-height: 13.49997475px;
    margin-left: max(-0.75px, -0.0520833vw);
    margin-top: max(-0.75px, -0.0520833vw);
    grid-column: 1;
    grid-row: 1;
    margin-right: max(-0.749975px, -0.0520816vw);
    margin-bottom: max(-0.749975px, -0.0520816vw);
    border: 1.5px solid #FFFFFF;
    background-color: #FFFFFF;
  }

  .story-arrow {
    display: grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
    align-items: start;
    overflow: hidden;
    width: 1.66667vw;
    max-width: 24.0px;
    height: 1.66667vw;
    max-height: 24.0px;
    min-height: min(24px, 1.66667vw);
  }

  .arrow-right__art {
    display: grid;
    align-items: start;
    overflow: visible;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    margin-left: min(4px, 0.277778vw);
    margin-top: min(6px, 0.416667vw);
    grid-column: 1;
    grid-row: 1;
    margin-bottom: min(6px, 0.416667vw);
    z-index: 0;
    width: 1.11111vw;
    max-width: 16.0px;
    height: 0.833333vw;
    max-height: 12.0px;
    position: relative;
  }

  .arrow-right__art-image {
    width: 1.21528vw;
    height: 0.937498vw;
    max-width: 17.499975px;
    max-height: 13.49997475px;
    margin-left: max(-0.75px, -0.0520833vw);
    margin-top: max(-0.75px, -0.0520833vw);
    grid-column: 1;
    grid-row: 1;
    margin-right: max(-0.749975px, -0.0520816vw);
    margin-bottom: max(-0.749975px, -0.0520816vw);
    border: 1.5px solid #FFFFFF;
  }

  .accordion {
    margin-left: min(24px, 1.66667vw);
    margin-top: min(24px, 1.66667vw);
    grid-column: 1;
    grid-row: 1;
    margin-bottom: min(96px, 6.66667vw);
    display: flex;
    flex-direction: column;
    gap: min(4px, 0.277778vw);
    align-items: flex-start;
    z-index: 0;
    width: 23.75vw;
    max-width: 342.0px;
    height: auto;
    position: relative;
  }


[data-cookie-viewport="desktop"] {
  /* Keep the main banner centred at its original anchor after the 0.75 scale. */
  --cookie-bottom: max(1rem, calc(30vh - 7.1875vw));
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  pointer-events: none;
  grid-template-columns: 70% minmax(0, 1fr);
  grid-template-rows: 70% minmax(0, 1fr);
}

[data-cookie-viewport="desktop"] { display: grid; }

[data-cookie-viewport="desktop"] .cookie-dialog {
  display: grid;
  grid-template-columns: auto;
  grid-auto-flow: column;
  align-items: start;
  width: 35.9028vw;
  max-width: 35.9028vw;
  height: auto;
  text-align: left;
}
[data-cookie-viewport="desktop"] .cookie-banner__layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  margin-left: 0px;
  margin-top: 0px;
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 0px;
  width: 35.9028vw;
  max-width: 35.9028vw;
  height: 19.1667vw;
  max-height: 19.1667vw;
}
[data-cookie-viewport="desktop"] .cookie-banner__panel {
  background-image: linear-gradient(rgba(22, 24, 27, 0.86), rgba(22, 24, 27, 0.86));
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-blend-mode: normal;
  grid-column: 1;
  grid-row: 1;
  margin-left: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  border-radius: 1.38889vw;
  z-index: 0;
  width: 35.9028vw;
  max-width: 35.9028vw;
  height: auto;
  position: relative;
  backdrop-filter: blur(1.66667vw);
  box-shadow: 0px 0.833333vw 2.22222vw 0px #00000040;
  font-weight: 400;
  letter-spacing: 0px;
  min-height: 19.1667vw;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}
[data-cookie-viewport="desktop"] .cookie-banner__surface {
  display: flex;
  flex-direction: column;
  gap: 1.66667vw;
  align-items: flex-start;
  padding-left: 3.33333vw;
  padding-right: 3.33333vw;
  padding-top: 2.22222vw;
  padding-bottom: 2.22222vw;
  grid-column: 1;
  grid-row: 1;
  min-width: 0px;
  min-height: 0px;
  align-self: stretch;
  justify-self: stretch;
  z-index: 0;
}
[data-cookie-viewport="desktop"] .cookie-banner__inner {
  display: flex;
  flex-direction: row;
  gap: 3.33333vw;
  align-items: flex-end;
  align-self: stretch;
  z-index: 0;
  width: 29.2361vw;
  max-width: 29.2361vw;
  height: auto;
  position: relative;
}
[data-cookie-viewport="desktop"] .cookie-banner__copy {
  display: flex;
  flex-direction: column;
  gap: 1.11111vw;
  justify-content: center;
  align-items: flex-start;
  flex-shrink: 0;
  z-index: 0;
  width: 29.2361vw;
  max-width: 29.2361vw;
  height: auto;
  position: relative;
}
[data-cookie-viewport="desktop"] .cookie-banner__title {
  display: block;
  align-self: stretch;
  z-index: 0;
  width: 29.2361vw;
  max-width: 29.2361vw;
  height: auto;
  position: relative;
  color: #FFFFFF;
  font-family: "txc-pearl";
  text-transform: uppercase;
  line-height: 1.2;
  font-size: 2.08333vw;
}
[data-cookie-viewport="desktop"] .cookie-banner__title-copy {
  display: inline;
  align-self: stretch;
  width: 29.2361vw;
  max-width: 29.2361vw;
  height: auto;
}
[data-cookie-viewport="desktop"] .cookie-banner__description {
  color: rgba(255, 255, 255, 0.701961);
  display: block;
  align-self: stretch;
  z-index: 1;
  width: 29.2361vw;
  max-width: 29.2361vw;
  height: auto;
  position: relative;
  font-family: "Archivo";
  line-height: 1.5;
  font-size: 1.04167vw;
}
[data-cookie-viewport="desktop"] .cookie-banner__description-copy {
  display: inline;
  align-self: stretch;
  width: 29.2361vw;
  max-width: 29.2361vw;
  height: auto;
}
[data-cookie-viewport="desktop"] .cookie-banner__spacer {
  border: 0.0694444vw solid #FFFFFF26;
  grid-column: 1;
  grid-row: 1;
  contain: size;
  align-self: stretch;
  justify-self: stretch;
  min-width: 0px;
  min-height: 0px;
  pointer-events: none;
  z-index: 1;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  border-radius: 1.38889vw 1.38889vw 1.38889vw 1.38889vw / 1.38889vw 1.38889vw 1.38889vw 1.38889vw;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions {
  grid-column: 1;
  grid-row: 1;
  margin-left: 2.5vw;
  margin-top: 15.2778vw;
  margin-bottom: 1.59722vw;
  display: flex;
  flex-direction: row;
  gap: 0.539947vw;
  justify-content: flex-end;
  align-items: flex-start;
  z-index: 1;
  width: 30.9722vw;
  max-width: 30.9722vw;
  height: auto;
  position: relative;
  font-family: "Archivo";
  font-weight: 500;
  letter-spacing: 0.0764562vw;
  text-transform: uppercase;
  line-height: 1.1;
  min-height: 2.29167vw;
  font-size: 0.764562vw;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-accept {
  border-radius: 44.9956vw;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-left: 1.43986vw;
  padding-right: 1.43986vw;
  padding-top: 0.71993vw;
  padding-bottom: 0.71993vw;
  z-index: 0;
  width: max-content;
  height: auto;
  position: relative;
  background-color: #FFFFFF;
  color: #000000;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-accept-text {
  display: block;
  flex-shrink: 0;
  z-index: 0;
  width: max-content;
  height: auto;
  position: relative;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-accept-title {
  display: inline;
  width: max-content;
  height: auto;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-reject {
  border-radius: 44.9956vw;
  z-index: 1;
  width: max-content;
  height: auto;
  position: relative;
  color: #FFFFFF;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-reject-body {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-left: 1.43986vw;
  padding-right: 1.43986vw;
  padding-top: 0.71993vw;
  padding-bottom: 0.71993vw;
  grid-column: 1;
  grid-row: 1;
  min-width: 0px;
  min-height: 0px;
  align-self: stretch;
  justify-self: stretch;
  z-index: 0;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-reject-title {
  display: block;
  flex-shrink: 0;
  z-index: 0;
  width: max-content;
  height: auto;
  position: relative;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-reject-label-copy {
  display: inline;
  width: max-content;
  height: auto;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-reject-text {
  border: 0.0449956vw solid #FFFFFF;
  grid-column: 1;
  grid-row: 1;
  contain: size;
  align-self: stretch;
  justify-self: stretch;
  min-width: 0px;
  min-height: 0px;
  pointer-events: none;
  z-index: 1;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  border-radius: 44.9956vw 44.9956vw 44.9956vw 44.9956vw / 44.9956vw 44.9956vw 44.9956vw 44.9956vw;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-manage {
  background-image: linear-gradient(rgba(255, 255, 255, 0.101961), rgba(255, 255, 255, 0.101961));
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-blend-mode: normal;
  border-radius: 44.9956vw;
  z-index: 2;
  width: max-content;
  height: auto;
  position: relative;
  color: #FFFFFF;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-manage-body {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-left: 1.43986vw;
  padding-right: 1.43986vw;
  padding-top: 0.71993vw;
  padding-bottom: 0.71993vw;
  grid-column: 1;
  grid-row: 1;
  min-width: 0px;
  min-height: 0px;
  align-self: stretch;
  justify-self: stretch;
  z-index: 0;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-manage-title {
  display: block;
  flex-shrink: 0;
  z-index: 0;
  width: max-content;
  height: auto;
  position: relative;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-manage-label-copy {
  display: inline;
  width: max-content;
  height: auto;
}
[data-cookie-viewport="desktop"] .cookie-banner__actions-manage-text {
  border: 0.0449956vw solid #FFFFFF33;
  grid-column: 1;
  grid-row: 1;
  contain: size;
  align-self: stretch;
  justify-self: stretch;
  min-width: 0px;
  min-height: 0px;
  pointer-events: none;
  z-index: 1;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  border-radius: 44.9956vw 44.9956vw 44.9956vw 44.9956vw / 44.9956vw 44.9956vw 44.9956vw 44.9956vw;
}

[data-cookie-viewport="desktop"] [data-cookie-banner] {
  position: absolute !important;
  inset: auto !important;
  left: 70% !important;
  bottom: var(--cookie-bottom) !important;
  grid-area: auto !important;
  place-self: start !important;
  margin: 0 !important;
  transform: translateX(-50%) scale(0.75) !important;
  transform-origin: center bottom;
  pointer-events: auto;
}
[data-cookie-viewport="desktop"] [data-cookie-banner][hidden], [data-cookie-viewport="desktop"] [data-cookie-banner] [hidden] { display: none !important; }
[data-cookie-viewport="desktop"] [data-cookie-banner][data-cookie-view="preferences"] > :not(.cookie-preferences-panel) { display: none !important; }
[data-cookie-viewport="desktop"] [data-cookie-banner][data-cookie-view="preferences"]:not([hidden]) {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
[data-cookie-viewport="desktop"] [data-cookie-banner] [data-cookie-action] { cursor: pointer; }
[data-cookie-viewport="desktop"] .cookie-preferences-panel h2, [data-cookie-viewport="desktop"] .cookie-preferences-panel p {
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}
[data-cookie-viewport="desktop"] .cookie-preferences-options legend { padding: 0; margin-block-end: 0.5em; font: inherit; letter-spacing: inherit; }
[data-cookie-viewport="desktop"] .cookie-preferences-option { display: flex; align-items: center; justify-content: space-between; gap: 1em; padding-block: 0.85em; border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent); cursor: pointer; }
[data-cookie-viewport="desktop"] .cookie-preferences-option span { min-width: 0; overflow-wrap: anywhere; }
[data-cookie-viewport="desktop"] .cookie-preferences-panel {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 1em;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 1em;
  background-image: linear-gradient(rgba(22, 24, 27, 0.86), rgba(22, 24, 27, 0.86));
  background-size: 100% 100%;
  background-position: center;
  border-radius: 1.38889vw;
  box-shadow: 0px 0.833333vw 2.22222vw 0px #00000040;
  backdrop-filter: blur(1.66667vw);
  color: rgba(255, 255, 255, 0.701961);
  font-family: "Archivo";
  font-size: 1.04167vw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0px;
  max-height: 60vh;
  overflow: hidden;
}
[data-cookie-viewport="desktop"] .cookie-preferences-panel > :not(.cookie-preferences-options) { flex-shrink: 0; }
[data-cookie-viewport="desktop"] .cookie-preferences-options {
  display: grid;
  gap: 0;
  min-width: 0;
  border: 0;
  margin: 0;
  padding: 0;
  min-height: 0;
  overflow-y: auto;
}
[data-cookie-viewport="desktop"] .cookie-preferences-option__text { display: grid; gap: 0.25em; }
[data-cookie-viewport="desktop"] .cookie-preferences-option__text small { font-size: 0.85em; line-height: 1.4; }
[data-cookie-viewport="desktop"] .cookie-preferences-option input:disabled { cursor: not-allowed; }
[data-cookie-viewport="desktop"] .cookie-preferences-option input {
  appearance: none;
  display: grid;
  align-items: center;
  flex: 0 0 auto;
  width: 2.75em;
  height: 1.6em;
  padding: 0.2em;
  margin: 0;
  border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
  border-radius: 2em;
  background: color-mix(in srgb, currentColor 12%, transparent);
  color: inherit;
  font: inherit;
  cursor: pointer;
  grid-template-columns: 0fr 1em;
  transition: grid-template-columns 0.1s ease, background-color 0.1s ease;
}
[data-cookie-viewport="desktop"] .cookie-preferences-option input::before { content: ""; grid-column: 2; width: 1em; height: 1em; border-radius: 50%; background: currentColor; }
[data-cookie-viewport="desktop"] .cookie-preferences-option input:checked {
  background: #0b889b;
  background-color: #0b889b;
  color: #FFFFFF;
  grid-template-columns: 1fr 1em;
}
[data-cookie-viewport="desktop"] .cookie-preferences-actions { display: flex; flex-wrap: wrap; gap: 1em; }
[data-cookie-viewport="desktop"] .cookie-preferences-actions button {
  flex: 1 1 auto;
  min-height: 2.75em;
  padding: 0.75em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.5em;
  font: inherit;
  text-align: center;
  white-space: normal;
  cursor: pointer;
  background-color: #FFFFFF;
  border-radius: 44.9956vw;
  color: #000000;
  font-family: "Archivo";
  font-size: 0.764562vw;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.0764562vw;
  padding-top: 0.71993vw;
  padding-right: 1.43986vw;
  padding-bottom: 0.71993vw;
  padding-left: 1.43986vw;
}
[data-cookie-viewport="desktop"] .cookie-preferences-actions [data-cookie-preferences-back] { background: transparent; color: inherit; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); box-shadow: none; }
[data-cookie-viewport="desktop"] .cookie-preferences-actions button:hover { filter: brightness(0.92); }
[data-cookie-viewport="desktop"] .cookie-dialog .cookie-preferences-panel {
  color: rgba(255, 255, 255, 0.701961);
  font-family: "Archivo";
  font-size: 1.04167vw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0px;
}
[data-cookie-viewport="desktop"] .cookie-dialog .cookie-preferences-panel h2 {
  color: #FFFFFF;
  font-family: "txc-pearl";
  font-size: 2.08333vw;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0px;
}
[data-cookie-viewport="desktop"] .cookie-dialog .cookie-preferences-panel p {
  color: rgba(255, 255, 255, 0.701961);
  font-family: "Archivo";
  font-size: 1.04167vw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0px;
}
[data-cookie-viewport="desktop"] .cookie-dialog [data-cookie-preferences-save] {
  color: #000000;
  font-family: "Archivo";
  font-size: 0.764562vw;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.0764562vw;
}
[data-cookie-viewport="desktop"] .cookie-dialog [data-cookie-preferences-back] {
  color: #FFFFFF;
  font-family: "Archivo";
  font-size: 0.764562vw;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.0764562vw;
}


[data-cookie-viewport="mobile"] {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  pointer-events: none;
  grid-template-columns: 50% minmax(0, 1fr);
  grid-template-rows: 70% minmax(0, 1fr);
}

[data-cookie-viewport="mobile"] .cookie-dialog-compact {
  display: grid;
  grid-template-columns: auto;
  grid-auto-flow: column;
  align-items: start;
  width: 76.9231vw;
  max-width: 76.9231vw;
  height: auto;
  text-align: left;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  margin-left: 0px;
  margin-top: 0px;
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 0px;
  width: 76.9231vw;
  max-width: 76.9231vw;
  height: 118.462vw;
  max-height: 118.462vw;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__panel {
  background-image: linear-gradient(rgba(22, 24, 27, 0.86), rgba(22, 24, 27, 0.86));
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-blend-mode: normal;
  grid-column: 1;
  grid-row: 1;
  margin-left: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  border-radius: 5.12821vw;
  z-index: 0;
  width: 76.9231vw;
  max-width: 76.9231vw;
  height: auto;
  position: relative;
  backdrop-filter: blur(6.15385vw);
  box-shadow: 0px 3.07692vw 8.20513vw 0px #00000040;
  font-weight: 400;
  letter-spacing: 0px;
  min-height: 118.462vw;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__surface {
  display: flex;
  flex-direction: column;
  gap: 6.15385vw;
  align-items: flex-start;
  padding-left: 12.3077vw;
  padding-right: 12.3077vw;
  padding-top: 8.20513vw;
  padding-bottom: 8.20513vw;
  grid-column: 1;
  grid-row: 1;
  min-width: 0px;
  min-height: 0px;
  align-self: stretch;
  justify-self: stretch;
  z-index: 0;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__inner {
  display: flex;
  flex-direction: row;
  gap: 12.3077vw;
  align-items: flex-end;
  align-self: stretch;
  z-index: 0;
  width: 52.3077vw;
  max-width: 52.3077vw;
  height: auto;
  position: relative;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__copy {
  display: flex;
  flex-direction: column;
  gap: 4.10256vw;
  justify-content: center;
  align-items: flex-start;
  flex-shrink: 0;
  z-index: 0;
  width: 52.3077vw;
  max-width: 52.3077vw;
  height: auto;
  position: relative;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__title {
  display: block;
  align-self: stretch;
  z-index: 0;
  width: 52.3077vw;
  max-width: 52.3077vw;
  height: auto;
  position: relative;
  color: #FFFFFF;
  font-family: "Abel";
  text-transform: uppercase;
  line-height: 1.2;
  font-size: 7.69231vw;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__title-copy {
  display: inline;
  align-self: stretch;
  width: 52.3077vw;
  max-width: 52.3077vw;
  height: auto;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__description {
  color: rgba(255, 255, 255, 0.701961);
  display: block;
  align-self: stretch;
  z-index: 1;
  width: 52.3077vw;
  max-width: 52.3077vw;
  height: auto;
  position: relative;
  font-family: "Archivo";
  line-height: 1.5;
  font-size: 3.84615vw;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__description-copy {
  display: inline;
  align-self: stretch;
  width: 52.3077vw;
  max-width: 52.3077vw;
  height: auto;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__spacer {
  border: 0.25641vw solid #FFFFFF26;
  grid-column: 1;
  grid-row: 1;
  contain: size;
  align-self: stretch;
  justify-self: stretch;
  min-width: 0px;
  min-height: 0px;
  pointer-events: none;
  z-index: 1;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  border-radius: 5.12821vw 5.12821vw 5.12821vw 5.12821vw / 5.12821vw 5.12821vw 5.12821vw 5.12821vw;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions {
  grid-column: 1;
  grid-row: 1;
  margin-left: 6.15385vw;
  margin-top: 95.8974vw;
  margin-bottom: 2.82051vw;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.99365vw 1.99365vw;
  justify-content: center;
  align-items: flex-start;
  z-index: 1;
  width: 64.6154vw;
  max-width: 64.6154vw;
  height: auto;
  position: relative;
  font-family: "Archivo";
  font-weight: 500;
  letter-spacing: 0.2823vw;
  text-transform: uppercase;
  line-height: 1.1;
  min-height: 19.7436vw;
  font-size: 2.823vw;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-accept {
  border-radius: 166.138vw;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-left: 5.31639vw;
  padding-right: 5.31639vw;
  padding-top: 2.6582vw;
  padding-bottom: 2.6582vw;
  z-index: 0;
  width: max-content;
  height: auto;
  position: relative;
  background-color: #FFFFFF;
  color: #000000;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-accept-text {
  display: block;
  flex-shrink: 0;
  z-index: 0;
  width: max-content;
  height: auto;
  position: relative;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-accept-title {
  display: inline;
  width: max-content;
  height: auto;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-reject {
  border-radius: 166.138vw;
  z-index: 1;
  width: max-content;
  height: auto;
  position: relative;
  color: #FFFFFF;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-reject-body {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-left: 5.31639vw;
  padding-right: 5.31639vw;
  padding-top: 2.6582vw;
  padding-bottom: 2.6582vw;
  grid-column: 1;
  grid-row: 1;
  min-width: 0px;
  min-height: 0px;
  align-self: stretch;
  justify-self: stretch;
  z-index: 0;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-reject-title {
  display: block;
  flex-shrink: 0;
  z-index: 0;
  width: max-content;
  height: auto;
  position: relative;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-reject-label-copy {
  display: inline;
  width: max-content;
  height: auto;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-reject-text {
  border: 0.166138vw solid #FFFFFF;
  grid-column: 1;
  grid-row: 1;
  contain: size;
  align-self: stretch;
  justify-self: stretch;
  min-width: 0px;
  min-height: 0px;
  pointer-events: none;
  z-index: 1;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  border-radius: 166.138vw 166.138vw 166.138vw 166.138vw / 166.138vw 166.138vw 166.138vw 166.138vw;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-manage {
  background-image: linear-gradient(rgba(255, 255, 255, 0.101961), rgba(255, 255, 255, 0.101961));
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-blend-mode: normal;
  border-radius: 166.138vw;
  flex-shrink: 0;
  z-index: 2;
  width: 61.5385vw;
  max-width: 61.5385vw;
  height: auto;
  position: relative;
  color: #FFFFFF;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-manage-body {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-left: 5.31639vw;
  padding-right: 5.31639vw;
  padding-top: 2.6582vw;
  padding-bottom: 2.6582vw;
  grid-column: 1;
  grid-row: 1;
  min-width: 0px;
  min-height: 0px;
  align-self: stretch;
  justify-self: stretch;
  z-index: 0;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-manage-title {
  display: block;
  flex-shrink: 0;
  z-index: 0;
  width: max-content;
  height: auto;
  position: relative;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-manage-label-copy {
  display: inline;
  width: max-content;
  height: auto;
}
[data-cookie-viewport="mobile"] .cookie-banner-compact__actions-manage-text {
  border: 0.166138vw solid #FFFFFF33;
  grid-column: 1;
  grid-row: 1;
  contain: size;
  align-self: stretch;
  justify-self: stretch;
  min-width: 0px;
  min-height: 0px;
  pointer-events: none;
  z-index: 1;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  border-radius: 166.138vw 166.138vw 166.138vw 166.138vw / 166.138vw 166.138vw 166.138vw 166.138vw;
}

[data-cookie-viewport="mobile"] [data-cookie-banner] {
  position: relative !important;
  inset: auto !important;
  grid-area: 2 / 2 !important;
  place-self: start !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: auto;
}
[data-cookie-viewport="mobile"] [data-cookie-banner][hidden], [data-cookie-viewport="mobile"] [data-cookie-banner] [hidden] { display: none !important; }
[data-cookie-viewport="mobile"] [data-cookie-banner][data-cookie-view="preferences"] > :not(.cookie-preferences-panel) { display: none !important; }
[data-cookie-viewport="mobile"] [data-cookie-banner][data-cookie-view="preferences"] {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
[data-cookie-viewport="mobile"] [data-cookie-banner] [data-cookie-action] { cursor: pointer; }
[data-cookie-viewport="mobile"] .cookie-preferences-panel {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 1em;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: auto;
  padding: 1em;

  background-image: linear-gradient(rgba(22, 24, 27, 0.86), rgba(22, 24, 27, 0.86));
  background-size: 100% 100%;
  background-position: center;
  border-radius: 5.12821vw;
  box-shadow: 0px 3.07692vw 8.20513vw 0px #00000040;
  backdrop-filter: blur(6.15385vw);
  color: rgba(255, 255, 255, 0.701961);
  font-family: "Archivo";
  font-size: 3.84615vw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0px;
}
[data-cookie-viewport="mobile"] .cookie-preferences-panel h2, [data-cookie-viewport="mobile"] .cookie-preferences-panel p {
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}
[data-cookie-viewport="mobile"] .cookie-preferences-options { display: grid; gap: 0; min-width: 0; border: 0; margin: 0; padding: 0; }
[data-cookie-viewport="mobile"] .cookie-preferences-options legend { padding: 0; margin-block-end: 0.5em; font: inherit; letter-spacing: inherit; }
[data-cookie-viewport="mobile"] .cookie-preferences-option { display: flex; align-items: center; justify-content: space-between; gap: 1em; padding-block: 0.85em; border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent); cursor: pointer; }
[data-cookie-viewport="mobile"] .cookie-preferences-option span { min-width: 0; overflow-wrap: anywhere; }
[data-cookie-viewport="mobile"] .cookie-preferences-option input {
  appearance: none;
  display: grid;
  align-items: center;
  flex: 0 0 auto;
  width: 2.75em;
  height: 1.6em;
  padding: 0.2em;
  margin: 0;
  border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
  border-radius: 2em;
  background: color-mix(in srgb, currentColor 12%, transparent);
  color: inherit;
  font: inherit;
  cursor: pointer;
  grid-template-columns: 0fr 1em;
  transition: grid-template-columns 0.1s ease, background-color 0.1s ease;
}
[data-cookie-viewport="mobile"] .cookie-preferences-option input::before { content: ""; grid-column: 2; width: 1em; height: 1em; border-radius: 50%; background: currentColor; }
[data-cookie-viewport="mobile"] .cookie-preferences-option input:checked {
  background: #FFFFFF;
  background-color: #FFFFFF;
  color: #000000;
  grid-template-columns: 1fr 1em;
}
@media (prefers-reduced-motion: reduce) {
  .cookie-preferences-option input { transition: none; }
}
[data-cookie-viewport="mobile"] .cookie-preferences-actions { display: flex; flex-wrap: wrap; gap: 1em; }
[data-cookie-viewport="mobile"] .cookie-preferences-actions button {
  flex: 1 1 auto;
  min-height: 2.75em;
  padding: 0.75em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.5em;
  font: inherit;
  text-align: center;
  white-space: normal;
  cursor: pointer;
  background-color: #FFFFFF;
  border-radius: 166.138vw;
  color: #000000;
  font-family: "Archivo";
  font-size: 2.823vw;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.2823vw;
  padding-top: 2.6582vw;
  padding-right: 5.31639vw;
  padding-bottom: 2.6582vw;
  padding-left: 5.31639vw;
}
[data-cookie-viewport="mobile"] .cookie-preferences-actions [data-cookie-preferences-back] { background: transparent; color: inherit; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); box-shadow: none; }
[data-cookie-viewport="mobile"] .cookie-preferences-actions button:hover { filter: brightness(0.92); }
[data-cookie-viewport="mobile"] .cookie-dialog-compact .cookie-preferences-panel {
  color: rgba(255, 255, 255, 0.701961);
  font-family: "Archivo";
  font-size: 3.84615vw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0px;
}
[data-cookie-viewport="mobile"] .cookie-dialog-compact .cookie-preferences-panel h2 {
  color: #FFFFFF;
  font-family: "Abel";
  font-size: 7.69231vw;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0px;
}
[data-cookie-viewport="mobile"] .cookie-dialog-compact .cookie-preferences-panel p {
  color: rgba(255, 255, 255, 0.701961);
  font-family: "Archivo";
  font-size: 3.84615vw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0px;
}
[data-cookie-viewport="mobile"] .cookie-dialog-compact [data-cookie-preferences-save] {
  color: #000000;
  font-family: "Archivo";
  font-size: 2.823vw;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.2823vw;
}
[data-cookie-viewport="mobile"] .cookie-dialog-compact [data-cookie-preferences-back] {
  color: #FFFFFF;
  font-family: "Archivo";
  font-size: 2.823vw;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.2823vw;
}
@media (forced-colors: active) {
  .cookie-preferences-option input { appearance: auto; }
  .cookie-preferences-option input::before { content: none; }
}


/* ---- Active navigation: body[data-page] matched to [data-nav-page] ---- */
[data-nav-page] { background-image: none; transition: background-color 0.2s ease; }
.site-view--desktop [data-nav-page] { isolation: isolate; }
.site-view--desktop [data-nav-page]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 999px;
  background-color: transparent;
  transform: none;
  transition: background-color 0.2s ease;
  pointer-events: none;
}

body[data-page="home"] .site-view--desktop [data-nav-page="home"]::before,
body[data-page="our-story"] .site-view--desktop [data-nav-page="our-story"]::before,
body[data-page="our-team"] .site-view--desktop [data-nav-page="our-team"]::before,
body[data-page="our-services"] .site-view--desktop [data-nav-page="our-services"]::before,
body[data-page="news-and-events"] .site-view--desktop [data-nav-page="news-and-events"]::before {
  background-color: rgba(250, 245, 236, 0.2);
}

/* ---- Services: data-driven links and dropdown ---- */
:where([data-service-link], [data-block-link]) { display: block; cursor: pointer; }
.service-menu-item:hover { background-color: rgba(22, 24, 27, 0.04); }
  /* Pointer square sits behind the menu panel so only its tip shows. */
  .services-menu__pointer {
    transform: rotate(45.0deg);
    z-index: 0;
  }
  .services-menu__grid {
    padding-left: min(20px, 1.38889vw);
    padding-right: min(20px, 1.38889vw);
    padding-top: min(10px, 0.694444vw);
    padding-bottom: min(10px, 0.694444vw);
    text-align: left;
    font-weight: 400;
    letter-spacing: 0rem;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    column-gap: min(48px, 3.33333vw);
    row-gap: min(8px, 0.555556vw);
    align-items: stretch;
  }
  /* Flatten the three Figma columns so all nine items share one row grid. */
  .services-menu__grid > div,
  .services-menu__grid > div > div,
  .services-menu__grid > div > div > div { display: contents; }
  .service-menu-item,
  .service-menu-item > div,
  .service-menu-item p,
  .service-menu-item span { width: auto; max-width: none; }
  .service-menu-item p { flex-shrink: 1; min-width: 0; }
  .service-menu-item {
    padding-left: min(8px, 0.555556vw);
    padding-right: min(8px, 0.555556vw);
    padding-top: min(12px, 0.833333vw);
    padding-bottom: min(12px, 0.833333vw);
    transition: background-color 0.2s ease;
    align-self: stretch;
    justify-content: flex-start;
  }


/* ---- Service slider cards: even gaps, equal heights, button pinned to the bottom ---- */
  /* :not() only raises specificity above the page stylesheets loaded later. */
  [data-services-cards="clone"]:not([data-service-card]) {
    gap: min(24px, 1.66667vw);
    padding-right: min(24px, 1.66667vw);
  }
  [data-services-cards="clone"] > [data-service-card] {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  [data-card-body] { flex: 1 1 auto; }
  [data-service-card] [data-card-body] > :first-child { margin-bottom: min(16px, 1.11111vw); }
  [data-card-body] > [data-card-action] { margin-top: auto; margin-left: auto; margin-right: auto; }


/* ---- Service detail: variable-length capabilities and Alpha+ benefits ---- */
[data-service-benefits][hidden] { display: none !important; }
.service-slider-track { display: flex; flex-direction: row; width: max-content; }
body[data-service-slug] [data-capability-card],
body[data-service-slug] [data-benefit-card],
body[data-service-slug] [data-service-card] { border-radius: min(16px, 1.11111vw); }
  .related-services__card-body[data-slider-viewport] { width: auto; overflow: hidden; }
  .capabilities-grid[data-capability-columns] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .capabilities-grid[data-capability-columns="5"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .capabilities-grid[data-capability-columns="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capabilities-grid[data-capability-columns] > *,
  .capabilities-grid[data-capability-columns] .capability-primary__title-layout,
  .capabilities-grid[data-capability-columns] .capability-primary__title{
    width: auto;
    max-width: none;
  }
  .service-capability-group-heading {
    align-self: stretch;
    margin-top: min(16px, 1.11111vw);
    color: #16181B;
    font-family: "txc-pearl";
    font-size: min(2.25rem, 2.5vw);
    text-transform: uppercase;
    line-height: 1.1;
  }
  .service-benefits { margin-top: min(96px, 6.66667vw); }
  .service-benefits-subheading {
    color: #0B889B;
    font-family: "Archivo";
    font-size: min(1.5rem, 1.66667vw);
    line-height: 1.3;
  }
  .service-benefit-body {
    color: #16181B;
    font-family: "Archivo";
    font-size: min(1.125rem, 1.25vw);
    text-transform: none;
    line-height: 1.4;
  }


@media (767px < width < 1200px) {
  .capabilities-grid[data-capability-columns="5"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}


/* Shared buttons replace the exported default/hover instance trees. */
.site-button {
  display: inline-flex; align-items: center; justify-content: center;
  width: max-content; max-width: 100%; flex: none;
  padding: min(10px, .694444vw) min(24px, 1.66667vw);
  min-height: min(45px, 3.125vw); border-radius: 999px;
  background: #0B889B; color: #FAF5EC;
  font: 400 min(18px, 1.25vw)/1.2 "Archivo", sans-serif;
  text-decoration: none; text-transform: uppercase;
  transition: background-color .2s ease;
}
@media (hover: hover) { .site-button:hover { background: #343543; } }
.site-button:focus-visible { outline: 2px solid #0B889B; outline-offset: 3px; }

/* Every navigation label uses the same content box and symmetric padding. */
.site-view--desktop a[data-nav-page] {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: auto; max-width: none; height: auto; min-height: 0; margin: 0;
  padding: min(12px, .833333vw) min(18px, 1.25vw);
  font: 400 min(18px, 1.25vw)/1.2 "Archivo", sans-serif;
  color: #FAF5EC; white-space: nowrap; text-decoration: none;
}

/* Shared team card: source composition with target capped/fluid sizing. */
.team-card[data-team-card] {
  display: flex; flex-direction: row; align-items: center;
  gap: min(24px, 1.66667vw); margin: 0; min-width: 0;
  padding: min(24px, 1.66667vw); border-radius: min(12px, .833333vw);
  background: #FAF5EC; color: #16181B; text-align: left;
}
.team-card__photo-link { display: block; flex: 0 0 42%; min-width: 0; }
.team-card__photo {
  display: block; width: 100%; height: auto; aspect-ratio: 1;
  object-fit: cover; border-radius: min(8px, .555556vw);
}
.team-card__content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: min(12px, .833333vw); min-width: 0; }
.team-card__name { font: 400 min(36px, 2.5vw)/1.15 "txc-pearl", sans-serif; text-transform: uppercase; }
.team-card__role { font: 400 min(18px, 1.25vw)/1.3 "Archivo", sans-serif; color: #343543; }
.team-card__content .site-button { margin-top: min(8px, .555556vw); }
  [data-team-cards="grid"]:not([data-team-card]) {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%; max-width: 1240px; gap: min(24px, 1.66667vw); align-items: stretch;
  }
  [data-team-cards="slider"] {
    display: flex; width: max-content; gap: min(24px, 1.66667vw); padding-right: min(24px, 1.66667vw);
  }
  [data-team-cards="slider"] > .team-card { width: min(528px, 36.6667vw); flex: none; }

/* Main CTAs: label pill and a separate circular arrow. */
.site-button.site-button--double {
  display: inline-flex; gap: min(8px, .555556vw); padding: 0;
  background: transparent; border-radius: 0;
}
.site-button--double .site-button__label,
.site-button--double::after {
  display: flex; align-items: center; justify-content: center;
  min-height: min(62px, 4.30556vw); background-color: #0B889B;
  border-radius: 999px; transition: background-color .2s ease;
}
.site-button--double .site-button__label { padding: min(14px, .972222vw) min(32px, 2.22222vw); }
.site-button--double::after {
  content: ""; width: min(62px, 4.30556vw); flex: none;
  background-image: url("../media/icons/cta-arrow-right.svg");
  background-position: center; background-size: 50%; background-repeat: no-repeat;
}
.site-button--arrow-down::after { transform: rotate(90deg); }
@media (hover: hover) {
  .site-button--double:hover .site-button__label, .site-button--double:hover::after { background-color: #343543; }
}
/* A content-sized viewport and centered controls replace the tall exported frame. */
  .story-team__viewport[data-slider-viewport] {
    display: block;
    width: min(1093px, 75.9722vw);
    overflow: hidden;
    min-height: 0;
  }
  .story-model__team-copy[data-slider] { height: auto; }
  .team-slider-arrow {
    display: grid; place-items: center; pointer-events: auto;
    width: min(45px, 3.125vw); height: min(45px, 3.125vw); padding: min(11px, .763889vw);
    border-radius: 50%; background: #0B889B; color: #fff;
  }
  .team-slider-arrow svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  .team-slider-arrow__left { transform: rotate(180deg); }
  .team-slider-arrow:hover { background: #343543; }

/* Every service slider uses one card structure and equal-height flex rows. */
[data-services-cards="clone"] { align-items: stretch; }
.service-slider-card[data-service-card] {
  display: flex; flex-direction: column; flex: 0 0 min(340px, 23.6111vw);
  width: min(340px, 23.6111vw); min-width: 0; height: auto;
  padding: min(20px, 1.38889vw); gap: min(20px, 1.38889vw);
  border-radius: min(8px, .555556vw); background: #FAF5EC; text-align: center;
}
.service-slider-card__image { display: block; width: 100%; height: auto; aspect-ratio: 295 / 180; object-fit: cover; flex: none; }
.service-slider-card__title { flex: 1; color: #16181B; font: 400 min(28px, 1.94444vw)/1.15 "txc-pearl",sans-serif; text-transform: uppercase; }
.service-slider-card > .site-button { align-self: center; margin-top: auto; }
.story-services-track[data-services-cards="clone"] {
  display: flex; width: 100%; max-width: 100%; gap: min(24px, 1.66667vw);
  overflow-x: auto; padding-bottom: min(12px, .833333vw);
}
  .story-services-viewport {
    grid-column: 1; grid-row: 2; overflow: hidden; min-width: 0;
    width: calc(100% - min(160px, 11.1111vw));
    margin: min(40px, 2.77778vw) auto min(70px, 4.86111vw);
  }
  .story-services-viewport .story-services-track[data-services-cards="clone"] {
    width: max-content; max-width: none; overflow: visible; padding-bottom: 0;
  }

/* Override page-export alignment in both responsive trees. */
[data-services-cards="clone"]:not([data-service-card]) { display: flex; flex-direction: row; align-items: stretch; }
/* Key Services uses one clipping frame at the browser edges on every page. */
.service-slider-viewport[data-slider-viewport] {
  display: block;
  width: 100vw;
  max-width: none;
  min-width: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
}
.service-slider-viewport [data-services-cards="clone"] {
  width: max-content;
  max-width: none;
  overflow: visible;
  gap: min(24px, 1.66667vw);
  padding: 0 min(24px, 1.66667vw) 0 0;
}
[data-services-grid][data-services-cards="clone"]:not([data-service-card]) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: min(24px, 1.66667vw);
  width: 100%;
}
[data-services-grid] > .service-slider-card[data-service-card] {
  width: 100%;
  max-width: none;
  padding: min(22px, 1.52778vw) min(16px, 1.11111vw);
}

/* Every desktop header stays in view; in-flow hosts retain its layout space. */
  .site-view--desktop :has(> .site-header) {
    min-height: min(108px, 7.5vw);
    z-index: 100;
  }
  .site-view--desktop :has(> .site-header[data-figma-overlay-fixed-foreground]) {
    z-index: 601 !important;
  }
  .site-view--desktop .site-header {
    position: fixed;
    inset: 0 0 auto;
    width: 100%;
    z-index: 100;
  }


/* Explicit image sizing avoids intrinsic SVG dimensions changing the logo placement. */
.brand-art { display: block; width: 100%; height: 100%; min-width: 0; object-fit: contain; }

.site-header__logo, .site-footer__logo { display: block; }

}

@media (max-width: 767px) {

.navbar-container,
.footer-container{
  width: 100%;
  height: max-content;
}

/* Lets Navbar/Footer and Mobile Header/Mobile Footer live together in a
   single, unduplicated DOM tree (no .site-view--desktop/--mobile split),
   toggled purely by viewport width instead of by which tree wrapper is
   rendered. Pages that still use the dual-tree wrappers are unaffected: the
   wrapper's own display:none already hides whichever pair isn't relevant,
   so these rules are redundant-but-harmless there. */
.mobile-header,
.mobile-footer {
  display: none;
}

.ui-box-icon,
.ui-box-icon__img,
.arrow-right-icon,
.arrow-right-icon__mark {
  display: block;
  width: 100%;
  height: 100%;
}

.site-navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.66667vw;
  width: 100%;
  height: max-content;
  min-height: 8.3333vw;
  padding: 1.06667vw 2.26667vw;
  background: var(--color-dark);
  color: var(--color-cream-light);
  font-family: "Archivo";
}

.site-navbar__logo {
  display: flex;
  align-items: center;
  gap: 0.933333vw;
  flex: 0 0 auto;
}

.site-navbar__logo-mark {
  width: 4.6vw;
  height: auto;
}

.site-navbar__logo-wordmark {
  width: 9.2vw;
  height: auto;
}

.site-navbar__links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 1;
  min-width: 0;
  gap: 0.266667vw;
}

.service-slider__header {
  display: flex;
  justify-content: space-between;
  align-items: center;

}

.site-navbar__link,
.site-navbar__contact-label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.1vw 1.67vw;
  border-radius: 999px;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.0933333em;
  font-size: clamp(0.7vw, 0.5vw + 0.625rem, 1.3vw);
  white-space: nowrap;
}

.site-navbar__contact-button {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  white-space: nowrap;
  gap: 0.933333vw;
  padding: 0vw 0.3125vw 0vw 0vw;
  border-radius: 999px;
  background: var(--color-teal);
}

/* .site-navbar__contact-label { font-size: 1.04rem; font-weight: 600; text-transform: uppercase; } */
.site-navbar__contact-icon {
  margin: 0.3vw 0vw;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.66667vw;
  height: 2.66667vw;
  min-width: 2.13333rem;
  min-height: 2.13333rem;
  border-radius: 50%;
  background: var(--color-teal-light);
}

.site-navbar__contact-icon-img {
  width: 1.33333vw;
  height: 1.33333vw;
  min-width: 0.933333rem;
  min-height: 0.933333rem;
}

.site-navbar [data-nav-page] {
  transition: background-color 0.2s ease;
}

body[data-page="home"] .site-navbar [data-nav-page="home"],
body[data-page="our-story"] .site-navbar [data-nav-page="our-story"],
body[data-page="our-team"] .site-navbar [data-nav-page="our-team"],
body[data-page="our-services"] .site-navbar [data-nav-page="our-services"],
body[data-page="news-and-events"] .site-navbar [data-nav-page="news-and-events"] {
  background: rgba(var(--color-cream-light-rgb), 0.2);
}

.site-footer {
  display: flex;
  flex-direction: column;
  gap: 3.02083vw;
  width: calc(100% - 3.33333vw);
  height: max-content;
  margin: 1.66667vw;
  padding: 4.09722vw 3.33333vw 3.26389vw;
  border-radius: 1.38889vw;
  overflow: hidden;
  background:
    var(--color-dark)
    url("../media/brand/footer-watermark.svg")
    left 35.972vw top -4.722vw / 80.764vw auto
    no-repeat;
  color: var(--color-cream-light);
  font-family: "Archivo";
}

.site-footer__top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 9.02778vw;
}

.site-footer__brand {
  display: flex;
  flex: none;
  flex-direction: column;
  width: 33.8889vw;
  max-width: 33.8889vw;
  gap: 4vw;
}

.site-footer__nav {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  flex: 1;
  gap: 3.54167vw;
}

.site-footer__column,
.site-footer__connect {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.38889vw;
}

.site-footer__logo {
  display: flex;
  align-items: center;
  gap: 1.2vw;
}

.site-footer__logo-mark {
  width: 4vw;
  height: auto;
}

.site-footer__logo-wordmark {
  width: 9vw;
  height: auto;
}

.site-footer__tagline {
  max-width: 33.8889vw;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
}

.site-footer__column-title {
  font-size: clamp(1rem, calc(1rem + 0.833333vw), 4rem);
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}

.site-footer__link {
  font-size: 1.66667rem;
  font-weight: 400;
  line-height: 1.4;
}

.site-footer__legal-link,
.site-footer__copyright {
  font-size: 1.33333rem;
  font-weight: 400;
  line-height: 1.5;
}

.site-footer__social {
  display: flex;
  gap: 0.833333vw;
}

.site-footer__social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.61111vw;
  height: 2.77778vw;
  border-radius: 999px;
  background: var(--color-teal);
}

.site-footer__social-icon-img {
  width: 1.66667vw;
  height: 1.66667vw;
}

.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.66667vw;
}

.mega-menu {
  /* Fixed to the viewport (not relying on the trigger's own on-screen
     position) so the whole thing is placed purely with view-width units --
     top matches the navbar's own height, no JS measurement involved. */
  position: fixed;
  top: var(--navbar-height);
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100vw;
  height: max-content;
  min-height: 26.3889vw;
  padding: 2.77778vw 5.55556vw 3.33333vw;
  gap: 2.22222vw;
  border-bottom: 0.277778vw solid var(--color-orange);
  background: var(--color-cream-light);
  color: var(--color-dark);
  font-family: "Archivo";
  box-shadow: 0 1.11111vw 2.22222vw rgba(22, 24, 27, 0.121569);
  z-index: 1;
}

.mega-menu__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  align-items: stretch;
  column-gap: 3.33333vw;
  row-gap: 0.555556vw;
  width: 100%;
  height: max-content;
}

.mega-menu__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.416667vw;
  width: 100%;
  min-width: 0;
  padding: 0.833333vw 0.555556vw;
  border-radius: 0.555556vw;
  transition: background-color 0.2s ease;
}

.mega-menu__item:hover {
  background: rgba(var(--color-dark-rgb), 0.04);
}

.mega-menu__item-title {
  width: 100%;
  color: var(--color-dark);
  font-family: "txc-pearl", "Archivo", sans-serif;
  font-weight: 400;
  font-size: 1.66667rem;
  line-height: 1.1;
  text-transform: uppercase;
}

.mega-menu__item-description {
  width: 100%;
  max-width: 35em;
  color: var(--color-muted-tan);
  font-family: "Archivo", sans-serif;
  font-weight: 400;
  font-size: 1.16667rem;
  line-height: 1.42857;
}

.mega-menu__pointer {
  position: absolute;
  z-index: 1;
  top: -0.6vw;
  left: 56.9781vw;
  width: 1.2vw;
  height: 1.2vw;
  background: var(--color-cream-light);
  transform: rotate(45deg);
}

.service-slider,
.team-slider {
  display: flex;
  width: 100%;
  height: max-content;
}

.service-slider__viewport,
.team-slider__viewport {
  width: 100%;
  margin: 0 auto;
}

/* Keep the requested number of cards centred while allowing the neighbouring
   cards to remain visible in the spare space on either side. The slider root
   still clips at the section boundary, so this cannot create page overflow. */
.service-slider[data-slider-visible] .service-slider__viewport {
  overflow: visible;
}

.service-slider__heading {
  font-family: "txc-pearl";
  font-size: clamp(2.25rem, calc(2.25rem + 1.875vw), 7rem);
}

@media(max-width: 767px) {
  .service-slider__heading {
    font-size: clamp(1.25rem, calc(1.25rem + 3.8vw), 3.5rem);
  }
}

.service-slider__track,
.team-slider__track {
  display: flex;
  width: max-content;
  justify-content: space-around;
}

.team-slider__track {
  gap: 1.66667vw;
}

.large-service-card {
  display: flex;
  flex: 0 0 calc((100cqw - 6.4vw) / 4);
  flex-direction: column;
  align-items: center;
  gap: 1.53333vw;
  width: 28.9vw;
  min-height: 37.3333vw;
  padding: 1.46667vw;
  border-radius: 0.533333vw;
  background: var(--color-cream-light);
  text-align: center;
}

.large-service-card__image-link {
  display: contents;
}

.large-service-card__image {
  width: 26.7vw;
  min-height: 24.3vw;
  object-fit: cover;
}

.large-service-card__title {
  width: 24vw;
  max-width: 46.6667em;
  color: var(--color-dark);
  font-family: "txc-pearl";
  font-size: clamp(2rem, calc(1.2rem + 1vw), 2.93333rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.large-service-card__cta {
  margin-top: auto;
}

.mini-service-card {
  display: flex;
  flex: 0 0 28vw;
  flex-direction: column;
  align-items: center;
  gap: 1.53333vw;
  width: 28vw;
  min-height: 28vw;
  padding: 1.5vw 1vw 1vw;
  border-radius: 0.533333vw;
  background: var(--color-cream-light);
  text-align: center;
}

.mini-service-card__image-link {
  display: contents;
}

.mini-service-card__image {
  width: 26vw;
  height: 13vw;
  min-height: 13vw;
  aspect-ratio: auto;
  object-fit: cover;
}

.mini-service-card__title {
  width: 24vw;
  max-width: 46.6667em;
  color: var(--color-dark);
  font-family: "txc-pearl";
  font-size: clamp(2rem, calc(1.2rem + 1vw), 2.93333rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.mini-service-card__cta {
  margin-top: auto;
}

@media(max-width: 767px) {
  .large-service-card__image,
  .mini-service-card__image {
    width: 79vw;
    aspect-ratio: 1.925;
  }
}

.team-card {
  display: flex;
  align-items: center;
  background: var(--color-panel-light);
}

.team-card__photo-link {
  display: contents;
}

.team-card__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.555556vw;
  min-width: 0;
  padding: 0.555556vw 0;
}

.service-slider__nav,
.team-slider__nav {
  justify-content: center;
  gap: 1vw;
}

.service-slider__nav-button,
.team-slider__nav-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.6vw;
  height: 3.6vw;
  border-radius: 50%;
  background: var(--color-slate);
}

.team-slider__nav-button {
  background: var(--color-teal);
}

.service-slider__nav-button[aria-disabled="true"],
.team-slider__nav-button[aria-disabled="true"] {
  opacity: 0.35;
}

.service-slider__nav-icon,
.team-slider__nav-icon {
  width: 1.66667vw;
  height: 1.66667vw;
  filter: brightness(0) invert(1);
}

.service-slider__nav-icon--next,
.team-slider__nav-icon--next {
  transform: rotate(180deg);
}

/* Awards */
.awards-section {
  display: flex;
  align-items: center;
  width: 100%;
}

.award-image {
  flex: none;
  border-radius: 0.694444vw;
  object-fit: contain;
}

.awards-slider {
  display: flex;
  align-items: center;
}

.awards-slider__track {
  gap: 1.66667vw;
}

/* Flanking arrows either side of the card, matching the Team Slider on Our
   Story: the nav row is absolutely centred and widened past the slider's
   own edges so justify-content: space-between pushes each button out into
   the gap, clear of the card; pointer-events is re-enabled per-button so
   the empty middle (over the card) still passes clicks through. */
.awards-slider__nav {
  display: flex;
  justify-content: center;
  gap: 1vw;
}

.awards-slider__nav-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.6vw;
  height: 3.6vw;
  border-radius: 50%;
  background: var(--color-teal);
}

.awards-slider__nav-button[aria-disabled="true"] {
  opacity: 0.35;
}

.awards-slider__nav-icon {
  width: 1.66667vw;
  height: 1.66667vw;
  filter: brightness(0) invert(1);
}

.awards-slider__nav-icon--next {
  transform: rotate(180deg);
}

  .site-navbar,
  .footer-container .site-footer {
    display: none;
  }

  .mobile-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: max-content;
    min-height: var(--mobile-header-height);
    padding: 4.1vw 6.4vw;
    background: var(--color-dark);
  }

  /* Compensates for the header being taken out of flow by position:fixed
     above -- targets whatever section actually follows it in the markup
     (it differs per page) so nothing renders hidden underneath it. */
  .mobile-header+* {
    margin-top: var(--mobile-header-height);
  }

  .mobile-header__logo {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 1.5vw;
  }

  .mobile-header__logo-mark {
    width: 11.75vw;
    height: auto;
  }

  .mobile-header__logo-wordmark {
    width: 22.85vw;
    height: auto;
  }

  .mobile-header__menu-trigger {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.28vw;
    width: 8.2vw;
    height: 8.2vw;
  }

  .mobile-header__menu-line {
    width: 7.18vw;
    height: 0.72vw;
    background: var(--color-cream);
    transition: transform 0.3s ease, opacity 0.2s ease;
  }

  .mobile-header__menu-trigger[aria-expanded="true"] .mobile-header__menu-line:nth-child(1) {
    transform: translateY(2vw) rotate(45deg);
  }

  .mobile-header__menu-trigger[aria-expanded="true"] .mobile-header__menu-line:nth-child(2) {
    opacity: 0;
  }

  .mobile-header__menu-trigger[aria-expanded="true"] .mobile-header__menu-line:nth-child(3) {
    transform: translateY(-2vw) rotate(-45deg);
  }

  .mobile-nav {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0 6.4vw 6.15vw;
    overflow-y: auto;
    background: #232529;
    box-shadow: 0 2vw 4vw rgba(0, 0, 0, 0.28);
  }

  /* Reveal an opaque panel from the header edge, then retract along that edge. */
  .mobile-nav[data-accordion-panel] {
    max-height: calc(100vh - var(--mobile-header-height));
    max-height: calc(100dvh - var(--mobile-header-height));
    opacity: 1;
    clip-path: inset(0 0 100%);
    transition: clip-path 360ms cubic-bezier(.4, 0, .2, 1), visibility 0s 360ms;
  }

  .mobile-nav__submenu[data-accordion-panel] {
    opacity: 1;
    transition: max-height 360ms cubic-bezier(.4, 0, .2, 1), visibility 0s 360ms;
  }

  .mobile-nav[data-open="true"] {
    clip-path: inset(0);
  }

  .mobile-nav__submenu[data-open="true"] {
    max-height: var(--submenu-height);
  }

  .mobile-nav[data-open="true"],
  .mobile-nav__submenu[data-open="true"] {
    transition-delay: 0s;
  }

  @media (prefers-reduced-motion: reduce) {
    .mobile-nav[data-accordion-panel],
    .mobile-nav__submenu[data-accordion-panel] {
      transition: none;
    }
  }

  .mobile-nav__list {
    display: flex;
    flex-direction: column;
    padding-top: 2vw;
  }

  .mobile-nav__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 12.3vw;
    padding: 0 4.1vw;
    border-radius: 999px;
    color: var(--color-cream-light);
    font-family: "Archivo";
    font-size: 0.9375rem;
    font-weight: 500;
    text-align: left;
    text-transform: none;
  }

  .mobile-nav__link::after {
    content: "›";
    margin-left: 2vw;
    color: var(--color-orange);
    font-size: 1.2rem;
    line-height: 1;
  }

  .mobile-nav__link[data-nav-page] {
    transition: background-color 0.2s ease;
  }

  body[data-page="home"] .mobile-nav__link[data-nav-page="home"],
  body[data-page="our-story"] .mobile-nav__link[data-nav-page="our-story"],
  body[data-page="our-team"] .mobile-nav__link[data-nav-page="our-team"],
  body[data-page="our-services"] .mobile-nav__link[data-nav-page="our-services"],
  body[data-page="news-and-events"] .mobile-nav__link[data-nav-page="news-and-events"] {
    background: rgba(250, 245, 236, 0.12);
  }

  .mobile-nav__link--services::after {
    content: none;
  }

  .mobile-nav__services-link {
    flex: 1;
    color: inherit;
    font: inherit;
  }

  .mobile-nav__chevron {
    display: flex;
    align-items: center;
    cursor: pointer;
  }

  .mobile-nav__chevron::after {
    content: "›";
    margin-left: 2vw;
    color: var(--color-orange);
    font-size: 1.2rem;
    line-height: 1;
    transition: transform 0.3s ease;
  }

  .mobile-nav__chevron[aria-expanded="true"]::after {
    transform: rotate(90deg);
  }

  .mobile-nav__submenu {
    display: flex;
    flex-direction: column;
    padding: 0vw 4.1vw;
  }

  .mobile-nav__sublink {
    padding: 3vw 0;
    border-bottom: 1px solid rgba(var(--color-cream-light-rgb), 0.12);
    color: var(--color-cream-light);
    font-size: 0.9rem;
    line-height: 1.3;
  }

  .mobile-nav__sublink:last-child {
    border-bottom: 0;
  }

  .mobile-nav__contact-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 12.3vw;
    margin-top: 4vw;
    padding: 0.83vw 0.77vw 0.83vw 4.6vw;
    border-radius: 999px;
    background: var(--color-teal);
  }

  .mobile-nav__contact-label {
    flex: 1;
    text-align: center;
    color: var(--color-white);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
  }

  .mobile-nav__contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8.2vw;
    height: 8.2vw;
    min-width: 2.6rem;
    min-height: 2.6rem;
    border-radius: 50%;
    background: var(--color-teal-light);
  }

  .mobile-nav__contact-icon-img {
    width: 4.1vw;
    height: 4.1vw;
    min-width: 1.25rem;
    min-height: 1.25rem;
  }

  .mobile-footer {
    display: flex;
    flex-direction: column;
    gap: 6.15vw;
    width: 100%;
    height: max-content;
    min-height: 185vw;
    padding: 11.55vw 6.4vw;
    background: var(--color-dark);
    color: var(--color-cream-light);
    font-family: "Archivo";
  }

  .footer-container .site-footer {
    width: 100%;
    margin: 0;
    border-radius: 0;
  }

  .mobile-footer__logo {
    display: flex;
    align-items: center;
    gap: 2vw;
  }

  .mobile-footer__logo-mark {
    width: 13.52vw;
    height: auto;
  }

  .mobile-footer__logo-wordmark {
    width: 26.3vw;
    height: auto;
  }

  .mobile-footer__tagline {
    width: 87vw;
    max-width: 35em;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.45;
  }

  .mobile-footer__divider {
    width: 100%;
    height: 1px;
    background: rgba(var(--color-cream-light-rgb), 0.2);
  }

  .mobile-footer__columns {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 6vw;
  }

  .mobile-footer__column,
  .mobile-footer__connect {
    display: flex;
    flex-direction: column;
    gap: 4vw;
    min-width: 35vw;
  }

  .mobile-footer__column:nth-child(2) .mobile-footer__column-title {
    display: none;
  }

  .mobile-footer__column-title {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.3;
  }

  .mobile-footer__link {
    font-size: 1.1.25rem;
    line-height: 1.3;
  }

  .mobile-footer__social {
    display: flex;
    gap: 2.05vw;
  }

  .mobile-footer__social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 13.3vw;
    height: 10.25vw;
    border-radius: 999px;
    background: var(--color-teal);
  }

  .mobile-footer__social-icon-img {
    width: 6.15vw;
    height: 6.15vw;
  }

  .mobile-footer__legal {
    display: flex;
    flex-direction: column;
    gap: 2.05vw;
  }

  .mobile-footer__legal-link,
  .mobile-footer__copyright {
    font-size: 0.85rem;
    line-height: 1.4;
  }

  .service-slider,
  .team-slider {
    flex-direction: column;
    container-type: inline-size;
    gap: 4.1vw;
    overflow: visible;
  }

  .service-slider__viewport,
  .team-slider__viewport {
    overflow: hidden;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .service-slider__viewport::-webkit-scrollbar,
  .team-slider__viewport::-webkit-scrollbar {
    display: none;
  }

  .service-slider__track,
  .team-slider__track {
    gap: 4.1vw;
    transition: none;
  }

  .service-slider--mobile .service-slider__track {
    padding-inline: max(0px, calc((100cqw - 84vw) / 2));
  }

  /* scroll-snap-stop forces the swipe to settle on each card in turn --
     without it a fast flick sails past several cards at once, which read
     as the slider being overly sensitive to how hard you swiped. */
  .large-service-card,
  .mini-service-card,
  .team-card {
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .large-service-card,
  .mini-service-card {
    flex-basis: 84vw;
    gap: 3.1vw;
    width: 84vw;
    min-height: 85vw;
    padding: 4.1vw;
    border-radius: 1.05vw;
  }

  .large-service-card__image,
  .mini-service-card__image {
    min-height: 42vw;
    border-radius: 0.8vw;
  }

  .large-service-card__title,
  .mini-service-card__title {
    width: 100%;
    font-size: 7.5vw;
  }

  .mini-service-card__cta.pill-button {
    width: 100%;
  }

  .team-card {
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: flex-start;
    gap: 5.1282vw;
    width: 87.1795vw;
    min-height: 138.7897vw;
    padding: 4.1026vw;
    border-radius: 3.0769vw;
    text-align: center;
  }

  .team-card__photo {
    flex: none;
    object-fit: cover;
    width: 78.9744vw;
    height: 91.6103vw;
    border-radius: 2.0513vw;
  }

  .team-card__name {
    color: var(--color-dark);
    font-weight: 400;
    font-family: "txc-pearl";
    text-transform: uppercase;
    width: 78.9744vw;
    font-size: 1.875rem;
    line-height: 2.3125rem;
  }

  .team-card__title {
    max-width: 35em;
    width: 78.9744vw;
    min-height: 0;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: var(--color-teal);
  }

  .team-card__cta {
    width: 78.9744vw;
    min-height: 11.0256vw;
    padding: 3.5897vw 6.1538vw;
    gap: 2.0513vw;
    border-radius: 25.641vw;
    font-size: 0.875rem;
    line-height: 0.9375rem;
    letter-spacing: 0.07em;
  }

  .service-slider__nav,
  .team-slider__nav {
    display: none;
  }

  .service-slider__dots,
  .team-slider__dots,
  .awards-slider__dots {
    display: flex;
    justify-content: center;
    gap: 2.05vw;
    margin-top: 4.1vw;
  }

  .awards-slider__dots {
    margin-top: 10vw;
  }

  .service-slider__dot,
  .team-slider__dot,
  .awards-slider__dot {
    width: 2.05vw;
    min-width: 8px;
    height: 2.05vw;
    min-height: 8px;
    border-radius: 999px;
    background: var(--color-teal);
    opacity: 0.25;
    transition: width 0.25s ease, opacity 0.25s ease;
  }

  .service-slider__dot[aria-current="true"],
  .team-slider__dot[aria-current="true"],
  .awards-slider__dot[aria-current="true"] {
    width: 6.15vw;
    min-width: 24px;
    opacity: 1;
  }

  .awards-section {
    flex-direction: column;
    padding: 10.2564vw 0;
    background: var(--color-cream);
  }

  .awards-slider {
    flex-direction: column;
    width: 100%;
  }

  .awards-slider__viewport {
    overflow: hidden;
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .awards-slider__viewport::-webkit-scrollbar {
    display: none;
  }

  .awards-slider__track {
    display: flex;
    width: max-content;
    transition: none;
  }

  .awards-slider__item {
    flex: 0 0 100vw;
    display: flex;
    justify-content: center;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .awards-slider__item .award-image {
    width: 87.4359vw;
    height: 16.1538vw;
    border-radius: 2.5641vw;
  }


/*
 * Cookie consent banner
 * Injected by cookie-consent.js; not part of either dom-tree so it gets
 * its own responsive treatment here rather than the dual-tree switch.
 */

.cookie-consent[hidden] {
  display: none;
  text-align: center;
}

.cookie-consent__panel {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  justify-content: center;
  max-width: 100%;
  padding: 1.5vw 2.4vw;
  gap: clamp(1.25rem, 1.5vw, 1.5rem);
  background: rgba(var(--color-dark-rgb), 0.86);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 0.833333vw 2.22222vw rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(12px);
  border-radius: clamp(1.25rem, 1.38889vw, 1.5rem);
  font-family: "Archivo", sans-serif;
  color: var(--color-white);
}

.cookie-consent__panel[hidden] {
  display: none;
}

.cookie-consent__content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
  justify-content: center;
}

.cookie-consent__heading {
  width: 100%;
  font-family: "txc-pearl", "Archivo", sans-serif;
  font-weight: 400;
  font-size: clamp(1.5rem, 2.2vw, 2.5rem);
  line-height: 1.23;
  text-transform: uppercase;
  color: var(--color-white);
  margin: 0;
}

.cookie-consent__body {
  width: 100%;
  font-size: 1.25rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
}

.cookie-consent__actions {
  align-items: center;
}

.cookie-consent__actions--preferences {
  justify-content: flex-end;
  margin-top: 0.5rem;
}

.cookie-consent__btn {
  border-radius: 999px;
  border: none;
}

.cookie-consent__btn:hover {
  filter: brightness(0.95);
}

.cookie-consent__btn:active {
  transform: translateY(1px);
}

.cookie-consent__btn--accept {
  background: var(--color-white);
  color: var(--color-black);
}

.cookie-consent__btn--reject,
.cookie-consent__btn--back {
  background: transparent;
  border: 1px solid var(--color-white);
  color: var(--color-white);
}

.cookie-consent__btn--manage {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--color-white);
}

.cookie-consent__btn--save {
  background: var(--color-white);
  color: var(--color-black);
}

.cookie-consent__panel--preferences {
  width: 100%;
  max-height: calc(100dvh - 2.5rem);
}
.cookie-consent__panel--preferences > :not(.cookie-toggle-list) { flex-shrink: 0; }

.mobile-nav__list li{
  list-style-type: none;
}

.cookie-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  width: 100%;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.cookie-toggle-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.cookie-toggle-row__text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

.cookie-toggle-row__label {
  font-size: clamp(0.8125rem, calc(0.79rem + 0.08vw), 0.875rem);
  font-weight: 600;
  color: var(--color-white);
}

.cookie-toggle-row__description {
  font-size: clamp(0.75rem, calc(0.73rem + 0.07vw), 0.8125rem);
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.6);
}

.cookie-toggle {
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  width: 38px;
  height: 22px;
}

.cookie-toggle__input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.cookie-toggle__track {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  transition: background-color 180ms ease;
}

.cookie-toggle__track::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--color-white);
  transition: transform 180ms ease;
}

.cookie-toggle__input:checked+.cookie-toggle__track {
  background: var(--color-teal);
}

.cookie-toggle__input:checked+.cookie-toggle__track::before {
  transform: translateX(16px);
}

.cookie-toggle__input:disabled+.cookie-toggle__track {
  cursor: not-allowed;
}

.cookie-toggle__input:disabled {
  cursor: not-allowed;
}

.cookie-toggle__input:focus-visible+.cookie-toggle__track {
  outline: 2px solid var(--color-white);
  outline-offset: 2px;
}
  .cookie-consent {
    position: fixed;
    z-index: 2000;
    height: auto;
    box-sizing: border-box;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
    width: auto;
    max-width: none;
  }

  .cookie-consent__panel,
  .cookie-consent__panel--preferences {
    width: 100%;
    max-width: 100%;
    padding: 1.25rem;
    gap: 1.25rem;
    border-radius: 1.25rem;
  }

  .cookie-consent__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
    gap: 0.35rem;
  }

  .cookie-consent__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Archivo", sans-serif;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    transition: filter 180ms ease, transform 180ms ease;
    flex: 1 1 auto;
    padding: 0.65rem 0.4rem;
    font-size: 0.72rem;
    letter-spacing: 0;
  }

  .cookie-consent__actions--preferences .cookie-consent__btn {
    flex: 0 0 auto;
    padding: 0.65rem 1.25rem;
  }

  .cookie-toggle-list {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    overflow-y: auto;
    max-height: 50vh;
  }


}

/* Keep preferences scrollable on short screens without a visible scrollbar. */
.cookie-preferences-panel,
.cookie-preferences-options,
.cookie-toggle-list {
  scrollbar-width: none;
}
.cookie-preferences-panel::-webkit-scrollbar,
.cookie-preferences-options::-webkit-scrollbar,
.cookie-toggle-list::-webkit-scrollbar {
  display: none;
}

/* The existing Services link shares one full-width menu for pointer and keyboard use. */
@media (width > 767px) {
  .site-header__nav {
    text-align: left;
    color: #F5E7CD;
    font-family: "Archivo";
    font-weight: 600;
    letter-spacing: min(0.065625rem, 0.0729167vw);
    text-transform: uppercase;
    line-height: 1.6;
    font-size: min(0.9375rem, 1.04167vw);
    position: static;
  }
  .site-header__services-navigation { display: flex; align-items: center; }
  .site-header:has(.site-header__services[aria-expanded="true"])::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 100vh;
    background: #00000090;
    pointer-events: none;
  }
  .site-header__services-panel {
    position: absolute;
    top: calc(100% - min(17px, 1.18056vw));
    left: 0;
    width: 100%;
    max-height: calc(100dvh - min(108px, 7.5vw));
    overflow-y: auto;
    z-index: 101;
    text-transform: none;
  }
  .site-header__services-panel[hidden] { display: none; }
  .site-header__services-panel .services-menu {
    width: 100%;
    max-width: none;
    background: linear-gradient(to bottom, transparent min(16px, 1.11111vw), #FAF5EC min(16px, 1.11111vw));
  }
  .site-header__services-panel .services-menu__grid,
  .site-header__services-panel .services-menu__inner {
    width: 100%;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
  }

}

/* Keep keyboard focus visible on every header control in both layouts. */
.site-header a:focus-visible,
.site-header button:focus-visible,
.mobile-header a:focus-visible,
.mobile-header button:focus-visible {
  outline: 3px solid #F5E7CD;
  outline-offset: 3px;
}
.site-header__services-panel a:focus-visible {
  outline: 3px solid #16181B;
  outline-offset: -4px;
  background-color: #E5D4B5;
}

/* Shared key-services, slider controls, service details, and awards. */
@media (max-width: 767px) {
.key-services {
  display: flex;
    flex-direction: column;
    gap: 6.15385vw;
    padding: 8.20513vw 6.41026vw;
    text-align: center;
    background-color: var(--color-cream);
}

.key-services__label {
  color: var(--color-teal);
    font-family: "Archivo";
    font-weight: 500;
    font-size: 1.5rem;
    line-height: clamp(21.6px, calc(14.4px + 3.69231vw), 38.4px);
}

.capabilities-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.7vw;
  width: 100%;
  align-items: stretch;
  height: fit-content;
  min-height: 15.8vw;
}

.capabilities-grid--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.capabilities-grid,
  .capabilities-grid--5 {
  grid-template-columns: 1fr;
    gap: 4vw;
}

.related-services {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: max-content;
  gap: 9vw;
  padding: 10vw 6.4vw 12vw;
  overflow: hidden;
}

.related-services .mini-service-card {
  min-height: 85vw;
}

.related-services .mini-service-card__image {
  min-height: 42vw;
}
}
@media (width > 767px) {
.story-team__controls {
  display: grid;
    grid-template-columns: repeat(1, max-content) auto;
    grid-auto-flow: column;
    align-items: start;
    grid-column: 1;
    grid-row: 1;
    margin-left: 0px;
    margin-top: 0;
    margin-bottom: 0;
    align-self: center;
    z-index: 2;
    width: 87.9167vw;
    max-width: 1266.0px;
    height: 3.125vw;
    max-height: 45.0px;
    position: relative;
    min-height: min(45px, 3.125vw);
    inset: 0;
    justify-content: space-between;
    pointer-events: none;
}

.capabilities-grid {
  display: flex;
    flex-direction: row;
    gap: min(24px, 1.66667vw);
    align-items: flex-start;
    align-self: stretch;
    z-index: 1;
    width: 88.8889vw;
    max-width: 1280.0px;
    height: auto;
    position: relative;
}

.related-services {
  align-self: stretch;
    flex-shrink: 0;
    z-index: 7;
    width: 100%;
    max-width: none;
    height: auto;
    position: relative;
}

.related-services__inner {
  display: grid;
    grid-template-columns: auto;
    grid-auto-flow: row;
    align-items: start;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1440.0px;
    height: auto;
}

.related-services__layout {
  display: grid;
    grid-template-columns: repeat(1, max-content) auto;
    grid-auto-flow: column;
    align-items: start;
    margin-left: min(80px, 5.55556vw);
    margin-top: 0px;
    grid-column: 1;
    grid-row: 1;
    width: 88.75vw;
    max-width: 1278.0px;
    height: auto;
}

.related-services__inner-title {
  display: block;
    margin-left: 0px;
    margin-top: 0px;
    grid-column: 1;
    grid-row: 1;
    margin-bottom: min(2px, 0.138889vw);
    z-index: 0;
    width: 47.9167vw;
    max-width: 690.0px;
    height: auto;
    position: relative;
    text-align: left;
    color: #16181B;
    font-family: "txc-pearl";
    font-weight: 400;
    font-size: 3.375rem;
    letter-spacing: 0rem;
    text-transform: uppercase;
    line-height: 1.1;
}

.related-services__inner-label-copy {
  display: inline;
    width: 47.9167vw;
    max-width: 690.0px;
    height: auto;
}

.related-services__controls {
  margin-left: min(466px, 32.3611vw);
    margin-top: min(9px, 0.625vw);
    grid-column: 2;
    grid-row: 1;
    margin-bottom: 0px;
    display: flex;
    flex-direction: row;
    gap: min(18px, 1.25vw);
    align-items: center;
    z-index: 2;
    width: max-content;
    height: max-content;
    position: relative;
}

.related-services__previous {
  background-image: linear-gradient(#343543, #343543);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-blend-mode: normal;
    border-radius: 48.0px;
    display: flex;
    flex-direction: row;
    gap: min(10px, 0.694444vw);
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    z-index: 0;
    width: 3.61111vw;
    max-width: 52.0px;
    height: 3.61111vw;
    max-height: 52.0px;
    position: relative;
    min-height: min(52px, 3.61111vw);
}

.related-services__previous-icon {
  display: grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
    align-items: start;
    overflow: hidden;
    flex-shrink: 0;
    z-index: 0;
    width: 1.66667vw;
    max-width: 24.0px;
    height: 1.66667vw;
    max-height: 24.0px;
    position: relative;
    min-height: min(24px, 1.66667vw);
}

.related-services__previous-art {
  margin-left: min(3px, 0.208333vw);
    margin-top: min(4.1792px, 0.290222vw);
    grid-column: 1;
    grid-row: 1;
    margin-bottom: min(4.8208px, 0.334778vw);
    z-index: 0;
    width: 1.25vw;
    max-width: 18.0px;
    height: 1.04167vw;
    max-height: 15.0px;
    position: relative;
    background-color: #FFFFFF;
}

.related-services__next {
  background-image: linear-gradient(#343543, #343543);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-blend-mode: normal;
    border-radius: 48.0px;
    display: flex;
    flex-direction: row;
    gap: min(10px, 0.694444vw);
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    z-index: 1;
    width: 3.61111vw;
    max-width: 52.0px;
    height: 3.61111vw;
    max-height: 52.0px;
    position: relative;
    min-height: min(52px, 3.61111vw);
}

.related-services__next-icon {
  display: grid;
    grid-template-columns: auto;
    grid-auto-flow: column;
    align-items: start;
    transform: rotate(180.0deg) scaleY(-1);
    overflow: hidden;
    flex-shrink: 0;
    z-index: 0;
    width: 1.66667vw;
    max-width: 24.0px;
    height: 1.66667vw;
    max-height: 24.0px;
    position: relative;
    min-height: min(24px, 1.66667vw);
}

.related-services__next-art {
  margin-left: min(3px, 0.208333vw);
    margin-top: min(4.1792px, 0.290222vw);
    grid-column: 1;
    grid-row: 1;
    margin-bottom: min(4.8208px, 0.334778vw);
    z-index: 0;
    width: 1.25vw;
    max-width: 18.0px;
    height: 1.04167vw;
    max-height: 15.0px;
    position: relative;
    background-color: #FFFFFF;
}

.related-services__card-body {
  margin-right: max(-332px, -23.0556vw);
    margin-left: min(80px, 5.55556vw);
    margin-top: min(42px, 2.91667vw);
    grid-column: 1;
    grid-row: 2;
    margin-bottom: min(40px, 2.77778vw);
    display: flex;
    flex-direction: row;
    gap: min(24px, 1.66667vw);
    align-items: flex-start;
    z-index: 1;
    width: max-content;
    height: auto;
    position: relative;
}

.awards-section {
  width: 100%; padding: clamp(20px, 2.22222vw, 32px) min(100px, 6.94444vw); background: #f5e7cd;
}

.awards-slider {
  width: 100%; max-width: 1240px; margin: 0 auto; position: relative; padding: 0 min(65px, 4.51389vw); container-type: inline-size;
}

.awards-slider .awards-track {
  display: flex; width: max-content; gap: clamp(16px, 1.66667vw, 24px); padding-right: clamp(16px, 1.66667vw, 24px);
}

.awards-card {
  flex: 0 0 100cqw; width: 100cqw; min-width: 0; border-radius: 10px; overflow: hidden;
}

.awards-card img {
  width: 100%; height: auto; aspect-ratio: 5.4; object-fit: contain; border-radius: inherit;
}

.awards-slider__arrows {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; pointer-events: none;
}

.awards-slider button:focus-visible, .awards-slider [data-slider-viewport]:focus-visible {
  outline: 3px solid #0b889b; outline-offset: 4px;
}
}
