/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  scroll-behavior: smooth;
}

* {
  margin: 0;
  outline: none;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-optical-sizing: auto;
}

html {
  height: 100%;
}

.site-wrapper {
  min-height: 100%;
  overflow-x: hidden;
}

/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture,
video,
canvas,
svg {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/* Avoid text overflows */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

html {
  scroll-behavior: smooth;
}

img,
svg,
iframe,
embed {
  vertical-align: bottom;
}

address {
  font-style: normal;
}

a {
  color: inherit;
  text-underline-offset: 2px;
}

a:has(> i.icon),
span:has(> i.icon) {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}

.flickity-viewport {
  overflow: visible;
}

.logo img {
  width: 100%;
  height: auto;
}

:root {
  --easeInSine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --easeInSine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --easeOutSine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInOutSine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInQuad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --easeOutQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --easeInOutQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --easeInCubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --easeOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInQuart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --easeOutQuart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --easeInOutQuart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --easeInQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --easeOutQuint: cubic-bezier(0.23, 1, 0.32, 1);
  --easeInOutQuint: cubic-bezier(0.23, 1, 0.32, 1);
  --easeInExpo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --easeOutExpo: cubic-bezier(0.19, 1, 0.22, 1);
  --easeInOutExpo: cubic-bezier(0.19, 1, 0.22, 1);
  --easeInCirc: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --easeOutCirc: cubic-bezier(0.075, 0.82, 0.165, 1);
  --easeInOutCirc: cubic-bezier(0.075, 0.82, 0.165, 1);
  --easeInBack: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --easeOutBack: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --easeInOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --easeInOutFast: cubic-bezier(1,0,0,1);
  --authenticMotion: cubic-bezier(.4,0,.2,1);
}

:root {
  --brand--heading-font: serif;
  --brand--body-font: sans-serif;
  --brand--primary-color: red;
  --brand--secondary-color: blue;
  --brand--transition-duration: 350ms;
  --brand--transition-easing: var(--easeInOutCubic);
  --brand--bg-color: #999;
  --brand--body-text-color: #fff;
  --brand--body-bg-color: var(--brand--bg-color);
  --brand--border-color: #707070;
  --brand--button-font-size: 1rem;
  --brand--button-height: 40px;
}

/* breakpoints */
:root {
  --bp--m: 992px;
}

.wrapper {
  --gutter-x: 3rem;
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: calc(var(--gutter-x) * 0.5);
  padding-right: calc(var(--gutter-x) * 0.5);
}
@media (min-width: 768px) {
  .wrapper {
    --gutter-x: 4rem;
  }
}
@media (min-width: 576px) {
  .wrapper {
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .wrapper {
    max-width: 100%;
  }
}
@media (min-width: 992px) {
  .wrapper {
    max-width: calc(992px - var(--gutter-x));
  }
}
@media (min-width: 1200px) {
  .wrapper {
    max-width: calc(1200px - var(--gutter-x));
  }
}
@media (min-width: 1400px) {
  .wrapper {
    max-width: calc(1400px - var(--gutter-x));
  }
}
@media (min-width: 1600px) {
  .wrapper {
    max-width: calc(1600px - var(--gutter-x));
  }
}

.section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
@media (min-width: 992px) {
  .section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.news .section:not(.full-width-cta),
._guide .section:not(.full-width-cta) {
  padding: 0;
  margin-top: 3rem;
  margin-bottom: 3rem;
  margin-top: 6rem;
}
@media (min-width: 992px) {
  .news .section:not(.full-width-cta),
  ._guide .section:not(.full-width-cta) {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }
}

body {
  background-color: var(--brand--body-bg-color);
  font-family: var(--brand--body-font);
  line-height: var(--brand--body-line-height);
  color: var(--brand--body-text-color);
}

.gform_wrapper {
  --gform_fields-gap: 1.5rem;
}

.gform_wrapper form,
.gform_body,
.gform_fields {
  display: flex;
  flex-direction: column;
  gap: var(--gform_fields-gap);
}

.gform_fields {
  flex-direction: row;
  flex-wrap: wrap;
}

.gfield_label {
  font-weight: bold;
  display: block;
  margin-bottom: 1rem;
}

.gfield_validation_message {
  color: red;
  margin-top: 0.5rem;
}

.hidden_label .gfield_label,
.hide_summary,
.gform_hidden,
.gfield--type-honeypot,
.gfield_visibility_hidden {
  display: none;
}

.gform_drop_area {
  text-align: center;
  background-image: repeating-linear-gradient(45deg, #f9f9f9, #f9f9f9 10px, #fff 10px, #fff 20px);
  border: 1px dashed #ccc;
  padding: 1.5rem;
}
.gform_drop_area path {
  fill: #efefef;
}

.gform_fileupload_rules {
  margin-top: 0.5rem;
  display: block;
  font-size: 0.9rem;
}

.gfield_required_asterisk {
  color: red;
  margin-left: 0.5rem;
}

fieldset.gfield {
  margin: 0;
  padding: 0;
  border: none;
}

select,
input[type=text],
input[type=email],
input[type=tel],
textarea {
  height: 55px;
  background-color: #fff;
  border: 1px solid black;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 1.1rem;
  font-weight: normal;
  font-family: var(--brand--body-font);
  width: 100%;
}
select::-moz-placeholder, input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, textarea::-moz-placeholder {
  font-weight: normal;
  color: black;
  opacity: 0.5;
  font-size: 1.1rem;
}
select::placeholder,
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
textarea::placeholder {
  font-weight: normal;
  color: black;
  opacity: 0.5;
  font-size: 1.1rem;
}

textarea {
  height: auto;
  width: 100%;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

select,
.select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='16'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='none' d='M-2-1h26v16H-2z' data-name='Rectangle 51'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23a)' data-name='Group 35' transform='translate(2 1)'%3E%3Cpath d='M11.2 14a1.4 1.4 0 0 1-1-.5L.2 2.3A1.4 1.4 0 0 1 2.5.5l8.7 10 8.7-10a1.4 1.4 0 1 1 2.2 1.8l-9.8 11.2a1.4 1.4 0 0 1-1.1.5Z' data-name='Path 136'/%3E%3C/g%3E%3C/svg%3E ");
  background-size: 26px 16px;
  background-position: right 0.8rem center;
  background-repeat: no-repeat;
}

.select {
  cursor: pointer;
}
.select:hover {
  opacity: 0.5;
}

button {
  cursor: pointer;
}

.gpfup__droparea > div {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.gpfup__droparea > div:before {
  content: "";
  display: block;
  width: 73px;
  height: auto;
  aspect-ratio: 73/66;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='73.67' height='66.34'%3E%3Cg fill='%239a55bc'%3E%3Cpath data-name='Path 317' d='M64.4 23.16v-.72A23.02 23.02 0 0 0 40.97 0 23.49 23.49 0 0 0 19.44 13.7 21.85 21.85 0 0 0 0 35.27a21.58 21.58 0 0 0 21.65 21.54h8.41v-4.48h-8.41a17.16 17.16 0 0 1-.56-34.24h1.5l.51-1.41A18.91 18.91 0 0 1 41.05 4.56 18.53 18.53 0 0 1 60.02 22.5a17.39 17.39 0 0 1 0 1.8l-.18 1.6 1.46.68a13.46 13.46 0 0 1-5.7 25.74H43.52v4.48H55.6a17.95 17.95 0 0 0 8.82-33.65Z'/%3E%3Cpath data-name='Path 318' d='M46.4 43.01a2.24 2.24 0 0 0 1.6-3.83L36.8 27.96 25.57 39.17a2.24 2.24 0 0 0 3.16 3.17l5.8-5.72V64.1a2.24 2.24 0 1 0 4.5 0V36.62l5.76 5.76a2.24 2.24 0 0 0 1.6.63Z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
}

.gf-options-inline .gfield_radio {
  display: flex;
  gap: 1rem;
}

.gfield,
.gfield--width-full {
  width: 100%;
}

.gfield--width-half {
  width: 100%;
}
@media (min-width: 768px) {
  .gfield--width-half {
    width: calc(50% - var(--gform_fields-gap) / 2);
  }
}

.btn {
  height: 55px;
  border-color: black;
  border: none;
  background-color: black;
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-left: 0.9rem;
  padding-right: 0.9rem;
  text-decoration: none;
}
@media (min-width: 576px) {
  .btn {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }
}
.btn span,
.btn i {
  z-index: 1;
  position: relative;
}
.btn .loading-dots {
  visibility: hidden;
}
.btn .loading-dots i {
  display: inline-block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 15px;
  height: 15px;
  background-color: var(--brand--primary-color);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: loadingDots 1.2s ease-in;
  animation-iteration-count: 999;
  animation-direction: normal;
  animation-fill-mode: forwards;
  transform: translate(-50%, -50%) scale(0.5);
  opacity: 0.4;
}
.btn .loading-dots i:nth-child(1) {
  left: calc(50% - 1.3em);
}
.btn .loading-dots i:nth-child(2) {
  animation-delay: 80ms;
}
.btn .loading-dots i:nth-child(3) {
  left: calc(50% + 1.3em);
  animation-delay: 160ms;
}
.btn.loading {
  pointer-events: none;
  background-color: white;
}
.btn.loading:before {
  background-color: transparent;
}
.btn.loading span {
  visibility: hidden;
}
.btn.loading .loading-dots {
  visibility: visible;
}
@keyframes loadingDots {
  0% {
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0.4;
  }
  20% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 1;
  }
  60% {
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0.4;
  }
  100% {
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0.4;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

h1, h2, h3, h4, h5, h6,
[class*=__heading],
[class*=-heading] {
  line-height: 1.1;
}

a {
  text-decoration: none;
}

.entry-content > *:not(:last-child):not(blockquote),
.entry-content > blockquote > *:not(:last-child) {
  margin-bottom: 1.2rem;
}
.entry-content strong {
  font-weight: bold;
}
.entry-content ul.list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/**
 * Magnific Popup Zoom In
*/
.mfp-zoom-in {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-zoom-in .mfp-with-anim {
  opacity: 0;
  transition: all 0.2s ease-in-out;
  transform: scale(0.8);
}
.mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-zoom-in.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: scale(1);
}
.mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-zoom-in.mfp-removing .mfp-with-anim {
  transform: scale(0.8);
  opacity: 0;
}
.mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}

/**
 * Magnific Popup Zoom Out
*/
.mfp-zoom-out {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-zoom-out .mfp-with-anim {
  opacity: 0;
  transition: all 0.3s ease-in-out;
  transform: scale(1.3);
}
.mfp-zoom-out.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-zoom-out.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: scale(1);
}
.mfp-zoom-out.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-zoom-out.mfp-removing .mfp-with-anim {
  transform: scale(1.3);
  opacity: 0;
}
.mfp-zoom-out.mfp-removing.mfp-bg {
  opacity: 0;
}

/**
 * Magnific Popup Fade
*/
.mfp-with-fade .mfp-content, .mfp-with-fade.mfp-bg {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}
.mfp-with-fade.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-with-fade.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-with-fade.mfp-removing.mfp-bg {
  opacity: 0;
}

.popup {
  max-width: 710px;
  margin-left: auto;
  margin-right: auto;
  background-color: white;
}

.mfp-bg,
.mfp-wrap {
  z-index: 99999 !important;
}

.icon {
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

.nav-menu--v {
  flex-direction: column;
}

.d-flex,
.d--f {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.fd-c,
.fd--c {
  flex-direction: column;
  align-items: flex-start;
}

.ai-fs,
.ai--fs {
  align-items: flex-start;
}

.ai-fe,
.ai--fe {
  align-items: flex-end;
}

.ai-c,
.ai--c {
  align-items: center;
}

.jc-fs,
.jc--fs {
  justify-content: flex-start;
}

.jc-c,
.jc--c {
  justify-content: center;
}

.jc-fe,
.jc--fe {
  justify-content: flex-end;
}

.fg {
  position: relative;
  z-index: 9;
}

.hide,
.d-none {
  display: none;
}

@media (min-width: 768px) {
  .cols--2 {
    -moz-column-count: 2;
         column-count: 2;
  }
}

.list--reset,
.l--r {
  list-style: none;
  margin: 0;
  padding: 0;
}

.zoom-hover {
  transition: transform var(--brand--transition-duration) var(--brand--transition-easing), opacity var(--brand--transition-duration) var(--brand--transition-easing);
  will-change: transform, opacity;
}
.zoom-hover [class*=-image] {
  overflow: hidden;
}
.zoom-hover [class*=-image] img {
  transition: transform var(--brand--transition-duration) var(--brand--transition-easing), opacity var(--brand--transition-duration) var(--brand--transition-easing);
  will-change: transform, opacity;
}
.zoom-hover:hover [class*=-image] img {
  transform: scale(1.1);
}

.arrow-link i {
  transition: transform 250ms var(--brand--transition-easing), opacity 250ms var(--brand--transition-easing);
  will-change: transform, opacity;
}
.arrow-link:hover i {
  transform: translateX(0.8rem);
}

body.resizing .zoom-hover {
  transition: none;
}

.l-clamp {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.l-clamp--2 {
  -webkit-line-clamp: 2;
}

.l-clamp--3 {
  -webkit-line-clamp: 3;
}

.pos-a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.img--cover,
.img-cover,
.img-fit {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

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

.list--inline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1rem;
}
.list--inline li {
  margin: 0;
  padding: 0;
}

.list--reset {
  list-style: none;
  margin: 0;
  padding: 0;
}
.list--reset li {
  margin: 0;
  padding: 0;
}

.list--contact-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.list--contact-links li {
  margin: 0;
  padding: 0;
}
.list--contact-links li a {
  gap: 0.5rem;
  text-decoration: none;
}

.list--social-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.list--social-links li {
  margin: 0;
  padding: 0;
}
.list--social-links li a {
  gap: 0.5rem;
}
.list--social-links li a[href=""] {
  display: none;
}

.image-transition {
  clip-path: inset(100% 0 0 0);
  transition: clip-path 0.5s ease, opacity 0.5s ease;
  transition-delay: 0.1s;
  opacity: 1;
}
.image-transition:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--brand--red);
  transition: transform 0.5s ease;
  transition-delay: 1s;
  transform: scaleY(1);
  transform-origin: 50% 0;
  opacity: 1;
}
.image-transition.animate-in {
  clip-path: inset(0 0 0 0);
  opacity: 1;
}
.image-transition.animate-in:after {
  transform: scaleY(0);
}

.fw {
  position: relative;
  transform: translateX(-50%);
  left: 50%;
  width: 100%;
}

@media (min-width: 992px) {
  .columns--2 {
    -moz-column-count: 2;
         column-count: 2;
    gap: 6rem;
  }
}

.custom-select {
  --width: 265px;
  --height: 40px;
  position: relative;
  z-index: 99;
}
.custom-select__toggler {
  cursor: pointer;
  color: var(--brand--primary-color);
  width: var(--width);
  height: var(--height);
  line-height: calc(var(--height) * 1);
  padding-left: 2.8rem;
  background-color: white;
  color: rgba(0, 0, 0, 0.75);
  font-size: 1.1rem;
  font-weight: 400;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.custom-select__toggler:before {
  content: "";
  display: block;
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-mask-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.17 7.89"><defs><style> .cls-1 { fill: %23005950; } </style></defs><g id="Group_47" data-name="Group 47"><g id="Group_48" data-name="Group 48"><path id="Path_15" data-name="Path 15" class="cls-1" d="M6.51,7.65L.24,1.38C-.08,1.06-.08.55.24.24S1.06-.08,1.38.24l5.71,5.71L12.79.24c.32-.32.83-.32,1.14,0s.32.83,0,1.14l-6.28,6.28c-.32.31-.83.31-1.14,0h0Z"/></g></g></svg>');
          mask-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.17 7.89"><defs><style> .cls-1 { fill: %23005950; } </style></defs><g id="Group_47" data-name="Group 47"><g id="Group_48" data-name="Group 48"><path id="Path_15" data-name="Path 15" class="cls-1" d="M6.51,7.65L.24,1.38C-.08,1.06-.08.55.24.24S1.06-.08,1.38.24l5.71,5.71L12.79.24c.32-.32.83-.32,1.14,0s.32.83,0,1.14l-6.28,6.28c-.32.31-.83.31-1.14,0h0Z"/></g></g></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: black;
  aspect-ratio: 14.17/7.89;
  width: 15px;
  height: auto;
}
.custom-select__items {
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 1rem;
  right: 1rem;
  background-color: color-mix(in srgb, var(--brand--red), #000 5%);
  background-color: white;
  display: flex;
  flex-direction: column;
  width: calc(100% - 2rem);
  padding: 1.3rem 2rem;
  color: black;
  gap: 1rem;
  gap: 0.4rem;
  box-shadow: 0 0.3rem 0.5rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  font-size: 1.1rem;
  width: 100%;
  top: 100%;
  left: 0;
  right: 0;
}
.custom-select__items a {
  opacity: 1;
  display: block;
  font-weight: 400;
  font-size: 1rem;
}
.custom-select__items a:hover {
  opacity: 0.5;
}
.custom-select__items a.is-active {
  text-decoration: none;
}
.custom-select__items.animate-in {
  opacity: 1;
  transition: opacity 250ms ease;
}
.custom-select--white .custom-select__toggler {
  background-color: white;
  color: var(--brand--red);
  border-color: var(--brand--red);
}
.custom-select--white .custom-select__toggler:before {
  background-color: var(--brand--red);
}
.custom-select--white .custom-select__items {
  background-color: white;
  color: var(--brand--red);
  border-color: var(--brand--red);
}
.custom-select.is-open .custom-select__items {
  pointer-events: all;
}
.custom-select:not(.is-open) {
  z-index: 0;
}

:root {
  --brand--blue: #120BD9;
  --brand--dark-blue: #010734;
  --brand--red: #EC1C24;
  --brand--light-grey: #F2F2F2;
  --brand--body-text-color: #2c2c2c;
  --brand--body-bg-color: white;
  --brand--body-font-size: 1.1rem;
  --brand--body-line-height: 1.6;
  --easing--ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
  --easing--ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --easing: var(--easing--ease-out-quint);
  --site-header-height: 125px;
  --brand--heading-font: "brockmann", sans-serif;
  --brand--body-font: "modelica", sans-serif;
}
@media (min-width: 1200px) {
  :root {
    --site-header-height: 200px;
  }
}

body {
  color: var(--brand--body-text-color);
}

body {
  font-family: var(--brand--body-font);
  font-size: var(--brand--body-font-size);
}

.heading {
  line-height: 1.1;
  font-family: var(--brand--heading-font);
}
.heading--page-header {
  font-size: 3.4rem;
  font-weight: 400;
  font-size: 2.4rem;
  font-size: 2.1rem;
  font-size: 1.9rem;
  line-height: 1.3;
}
@media (min-width: 576px) {
  .heading--page-header {
    line-height: 1.1;
    font-size: 4.2rem;
    font-size: 3.2rem;
  }
}
.heading--section {
  font-weight: 500;
  text-wrap: balance;
  font-size: 2.6rem;
  font-size: 2.3rem;
  font-size: 1.9rem;
  font-size: 2.2rem;
}
@media (min-width: 576px) {
  .heading--section {
    font-size: 3.2rem;
  }
}
.heading--panel {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (min-width: 768px) {
  .heading--panel {
    font-size: 2.1rem;
  }
}
.heading--snippet {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
}
.heading--tag {
  font-size: 0.8rem;
  font-weight: 500;
  font-family: var(--brand--body-font);
  margin-bottom: -1.3rem;
}
@media (min-width: 768px) {
  .heading--tag {
    font-size: 0.9rem;
  }
}
.heading--blue {
  color: var(--brand--blue);
}

@media (min-width: 576px) {
  .page-header--careers .heading--page-header {
    font-size: 4.8rem;
  }
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  line-height: 1.4;
  text-wrap: auto;
}
.entry-content strong {
  font-weight: 600;
}
.entry-content ol {
  list-style-type: lower-roman;
  padding-left: 1.7rem;
}
.entry-content ol ol {
  margin-top: 0.5rem;
  list-style-type: lower-alpha;
}
.entry-content ol ol li {
  margin-top: 0;
  margin-bottom: 0;
}
.entry-content ol li {
  padding-left: 0.5rem;
}
.entry-content ol ::marker {
  color: var(--brand--blue);
  font-weight: 800;
  font-size: 1rem;
}
.entry-content ul {
  padding: 0;
  margin: 0;
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}
.entry-content ul ul {
  margin-top: 0.5rem;
}
.entry-content ul ul li {
  margin-top: 0;
  margin-bottom: 0;
}
.entry-content ul ul li:before {
  content: "-";
  -webkit-mask: none;
          mask: none;
  background: none;
  color: var(--brand--blue);
  font-weight: 800;
  top: -0.1rem;
  left: 0.5rem;
}
.entry-content ul li {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  padding-left: 2rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.entry-content ul li:before {
  content: "";
  display: block;
  aspect-ratio: 1;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9'%3E%3Cg fill='none' stroke='%23fff' stroke-width='3' data-name='Ellipse 7'%3E%3Ccircle cx='4.5' cy='4.5' r='4.5' stroke='none'/%3E%3Ccircle cx='4.5' cy='4.5' r='3'/%3E%3C/g%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9'%3E%3Cg fill='none' stroke='%23fff' stroke-width='3' data-name='Ellipse 7'%3E%3Ccircle cx='4.5' cy='4.5' r='4.5' stroke='none'/%3E%3Ccircle cx='4.5' cy='4.5' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-color: var(--brand--blue);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 1rem;
  height: auto;
  position: absolute;
  top: 0.65rem;
  left: 0.5rem;
}
.entry-content a:not(.btn) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.entry-content a:not(.btn):hover {
  color: var(--brand--blue);
}
.entry-content ._cta {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.entry-content ._cta .heading {
  margin-bottom: 2rem;
}
.entry-content ._cta a {
  text-decoration: none;
}
.entry-content .form-cta {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.entry-content .form-cta .logo {
  display: inline-block;
  margin-top: -6rem;
  margin-bottom: 2rem;
}
.entry-content .form-cta .heading {
  margin-bottom: 2rem;
}
.entry-content .form-cta a {
  text-decoration: none;
  cursor: pointer;
}
.entry-content .form-cta .panel {
  background-color: #E8E9FF;
  border-radius: 0.5rem;
  padding: 3rem 8rem;
}
.entry-content img.aligncenter {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.entry-content * + h3 {
  margin-top: 3rem;
}
.entry-content table {
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
}
.entry-content table th, .entry-content table td {
  padding: 1rem;
  background-color: white;
  font-weight: 600;
}
.entry-content table thead tr th, .entry-content table thead tr td {
  background-color: var(--brand--blue);
  color: white;
}
.entry-content table tbody tr:nth-child(even) th, .entry-content table tbody tr:nth-child(even) td {
  background-color: #E8E9FF;
}

.cols {
  margin-bottom: 2rem !important;
}
@media (min-width: 1200px) {
  .cols[data-cols="2"] {
    -moz-column-count: 2;
         column-count: 2;
  }
}

.link--cta {
  color: var(--brand--blue);
  font-weight: 600;
  font-size: 1.4rem;
}

a[data-form] {
  cursor: pointer;
}

._header--section {
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-top: 1.8rem;
  padding-bottom: 1.8rem;
  border-bottom: 1px solid #C1C1C1;
  margin-bottom: 2rem;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 992px) {
  ._header--section {
    flex-direction: row;
    align-items: center;
  }
}

.btn {
  border-radius: 5px;
  position: relative;
  overflow: hidden;
  background-color: black;
  color: white;
  border: 2px solid black;
  font-weight: 600;
  font-size: 1.1rem;
  height: 3.3rem;
  width: auto;
  min-width: 12rem;
  min-width: 15rem;
}
@media (max-width: 575px) {
  .btn {
    height: auto;
    min-height: 3.3rem;
    line-height: 1.1;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
  }
}
.btn:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.btn:hover:before {
  filter: brightness(1.1);
}
.btn--blue {
  --speed: 0.45s;
  background-color: var(--brand--blue);
  border-color: var(--brand--blue);
  border-color: transparent;
  color: white;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--blue:hover {
  color: var(--brand--blue);
  border-color: transparent;
}
.btn--blue:hover:before {
  background-color: white;
  border-color: white;
  transform: scaleX(1);
}
.btn--blue:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  transform-origin: 0% 50%;
  transform: scaleX(0);
  border: 2px solid var(--brand--blue);
  border-color: transparent;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--blue--alt {
  --speed: 0.45s;
  background-color: var(--brand--blue);
  border-color: var(--brand--blue);
  border-color: transparent;
  color: white;
  border: none;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--blue--alt:hover {
  color: var(--brand--blue);
  border-color: transparent;
}
.btn--blue--alt:hover:before {
  background-color: white;
  border-color: white;
  transform: scaleX(1);
}
.btn--blue--alt:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  transform-origin: 0% 50%;
  transform: scaleX(0);
  border: 2px solid var(--brand--blue);
  border-color: transparent;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--dark-blue {
  --speed: 0.45s;
  background-color: var(--brand--dark-blue);
  border-color: var(--brand--dark-blue);
  border-color: transparent;
  color: white;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--dark-blue:hover {
  color: var(--brand--dark-blue);
  border-color: transparent;
}
.btn--dark-blue:hover:before {
  background-color: white;
  border-color: white;
  transform: scaleX(1);
}
.btn--dark-blue:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  transform-origin: 0% 50%;
  transform: scaleX(0);
  border: 2px solid var(--brand--dark-blue);
  border-color: transparent;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--_dark-blue {
  background-color: var(--brand--dark-blue);
  border-color: var(--brand--dark-blue);
  color: white;
}
.btn--_dark-blue:hover {
  background-color: white;
  color: var(--brand--dark-blue);
  border-color: var(--brand--dark-blue);
}
.btn--__white {
  background-color: white;
  border-color: white;
  color: var(--brand--blue);
}
.btn--__white:hover {
  background-color: var(--brand--blue);
  color: white;
  border-color: var(--brand--blue);
}
.btn--white {
  --speed: 0.45s;
  --color--a: transparent;
  --color--b: var(--brand--blue);
  --color--c: white;
  background-color: var(--color--c);
  border-color: var(--color--a);
  color: var(--color--b);
  border: none;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--white:hover {
  color: var(--color--c);
  border-color: var(--color--a);
}
.btn--white:hover:before {
  background-color: var(--color--b);
  border-color: var(--color--a);
  transform: scaleX(1);
}
.btn--white:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color--b);
  transform-origin: 0% 50%;
  transform: scaleX(0);
  border: 2px solid var(--brand--blue);
  border-color: transparent;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--white-alt {
  --speed: 0.45s;
  --color--a: transparent;
  --color--b: var(--brand--blue);
  --color--c: white;
  background-color: var(--color--a);
  border-color: var(--color--c);
  color: var(--color--b);
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--white-alt:hover {
  color: var(--color--b);
  color: white;
  border-color: var(--color--c);
}
.btn--white-alt:hover:before {
  background-color: var(--color--c);
  border-color: var(--color--c);
  transform: scaleX(0);
}
.btn--white-alt:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color--c);
  transform-origin: 100% 50%;
  transform: scaleX(1);
  border: 2px solid var(--brand--blue);
  border-color: var(--color--c);
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--__white-alt {
  background-color: white;
  border-color: white;
  color: var(--brand--blue);
}
.btn--__white-alt:hover {
  background-color: var(--brand--blue);
  color: white;
  border-color: white;
}
.btn--__outline {
  background-color: transparent;
  color: white;
  border-color: white;
}
.btn--__outline:hover {
  color: var(--brand--blue);
  background-color: white;
}
.btn--outline {
  --speed: 0.45s;
  --color--a: transparent;
  --color--b: var(--brand--blue);
  --color--c: white;
  background-color: var(--color--a);
  border-color: var(--color--c);
  color: white;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--outline:hover {
  color: var(--color--b);
  border-color: var(--color--c);
}
.btn--outline:hover:before {
  background-color: var(--color--c);
  border-color: var(--color--c);
  transform: scaleX(1);
}
.btn--outline:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color--c);
  transform-origin: 0% 50%;
  transform: scaleX(0);
  border: 2px solid var(--brand--blue);
  border-color: transparent;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--__outline-blue {
  background-color: transparent;
  color: var(--brand--blue);
  border-color: var(--brand--blue);
}
.btn--__outline-blue:hover {
  color: white;
  background-color: var(--brand--blue);
  border-color: var(--brand--blue);
}
.btn--outline-blue {
  --speed: 0.45s;
  background-color: white;
  border-color: var(--brand--blue);
  color: var(--brand--blue);
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--outline-blue:hover {
  color: white;
  border-color: var(--brand--blue);
}
.btn--outline-blue:hover:before {
  background-color: var(--brand--blue);
  border-color: var(--brand--blue);
  transform: scaleX(1);
}
.btn--outline-blue:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--brand--blue);
  transform-origin: 0% 50%;
  transform: scaleX(0);
  border: 2px solid var(--brand--blue);
  border-color: transparent;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--mosaic-cta {
  --speed: 0.45s;
  background-color: transparent;
  border-color: var(--brand--blue);
  color: var(--brand--blue);
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--mosaic-cta:hover {
  color: white;
  border-color: var(--brand--blue);
}
.btn--mosaic-cta:hover:before {
  background-color: var(--brand--blue);
  border-color: var(--brand--blue);
  transform: scaleX(1);
}
.btn--mosaic-cta:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--brand--blue);
  transform-origin: 0% 50%;
  transform: scaleX(0);
  border: 2px solid var(--brand--blue);
  border-color: transparent;
  transition: background-color var(--speed) var(--easing), color var(--speed) var(--easing), border-color var(--speed) var(--easing), transform var(--speed) var(--easing);
  will-change: transform;
}
.btn--proto {
  background-color: transparent;
  border-color: transparent;
  color: var(--brand--blue);
  --speed: 0.75s;
}
.btn--proto:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
}
.btn--proto span {
  z-index: 1;
  position: relative;
  display: inline-block;
}
.btn--proto span, .btn--proto:before {
  transition: transform var(--speed) var(--easing), color var(--speed) var(--easing), background-color var(--speed) var(--easing), border-color var(--speed) var(--easing), opacity var(--speed) var(--easing);
  will-change: transform, color, background-color, border-color, opacity;
}
.btn--proto:hover:before {
  opacity: 1;
  transform: scaleY(0.1);
  background-color: var(--brand--blue);
  border-color: var(--brand--blue);
}
.btn--proto:hover span {
  transform: scale(1);
  color: white;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  text-shadow: 1px 1px 2px var(--brand--blue);
}
.btn span {
  text-align: center;
}

.wrapper {
  --gutter-x: 3rem;
}
@media (min-width: 1200px) {
  .wrapper {
    --gutter-x: 5rem;
  }
}

.site-header {
  height: var(--site-header-height);
  z-index: 999;
  --height: 2rem;
}
.site-header .wrapper {
  gap: 3rem;
}
.site-header .logo svg {
  aspect-ratio: 312/47;
  width: 320px;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.site-header .logo svg [data-name=logo--degrees] {
  transition: fill 0.3s var(--easing);
  will-change: fill;
}
.site-header .logo:hover [data-name=logo--degrees] {
  fill: white;
}
.site-header .nav {
  margin-left: auto;
  height: var(--height);
}
.site-header .hamburger {
  height: var(--height);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  margin: 0;
  padding: 0;
}
.site-header .hamburger svg {
  aspect-ratio: 24/17;
  width: 25px;
}
.site-header .hamburger svg g {
  transition: transform 0.3s var(--easing);
  transform: scaleX(0.85);
  transform-origin: right center;
}
.site-header .hamburger:hover svg g:nth-child(2) {
  transform: translateX(-0.4rem);
}
.site-header--light .logo svg path:not([data-name=logo--degrees]) {
  fill: var(--brand--blue);
}
.site-header--light .logo:hover svg path:not([data-name=logo--degrees]) {
  fill: var(--brand--dark-blue);
}
.site-header--light .logo:hover svg [data-name=logo--degrees] {
  fill: var(--brand--red);
}
.site-header--light .primary-navigation ul li a {
  color: var(--brand--blue);
}
.site-header--light .primary-navigation ul li a:hover {
  color: var(--brand--dark-blue);
}
.site-header--light .hamburger svg rect {
  fill: var(--brand--blue);
}
.site-header--light .hamburger:hover svg rect {
  fill: var(--brand--dark-blue);
}
.site-header--dark ._logo svg path:not([data-name=logo--degrees]) {
  fill: var(--brand--blue);
}
.site-header--dark ._logo:hover svg path:not([data-name=logo--degrees]) {
  fill: var(--brand--dark-blue);
}
.site-header--dark ._logo:hover svg [data-name=logo--degrees] {
  fill: var(--brand--red);
}
.site-header--dark .primary-navigation ul li a:hover {
  color: var(--brand--blue);
}
.site-header--dark .hamburger:hover svg rect {
  fill: var(--brand--blue);
}

body.page-our-tech .site-header .logo,
body.page-technology .site-header .logo {
  position: relative;
}
body.page-our-tech .site-header .logo:after,
body.page-technology .site-header .logo:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='266.44' height='80.503'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h209.332v41.97H0z' data-name='Rectangle 6585'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg data-name='Group 37590'%3E%3Cg data-name='Group 37'%3E%3Cg fill='%23fff' clip-path='url(%23a)' data-name='Group 37589' transform='translate(57.108 19.771)'%3E%3Ctext font-family='BwModelica-Bold, Bw Modelica' font-size='34' font-weight='700' transform='translate(0 32.051)'%3E%3Ctspan x='0' y='0' letter-spacing='-.024em'%3ESu%3C/tspan%3E%3Ctspan y='0' letter-spacing='-.025em'%3En%3C/tspan%3E%3Ctspan y='0' letter-spacing='-.024em'%3El%3C/tspan%3E%3Ctspan y='0' letter-spacing='-.025em'%3Eounge%3C/tspan%3E%3Ctspan y='0'%3Er%3C/tspan%3E%3C/text%3E%3Cpath d='M203.477 11.709a5.854 5.854 0 1 1 5.854-5.854 5.861 5.861 0 0 1-5.854 5.853m0-8.827a2.973 2.973 0 1 0 2.974 2.974 2.973 2.973 0 0 0-2.974-2.974' data-name='Path 67274'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M32.679.369.929 80.132' data-name='Line 2'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  aspect-ratio: 266.44/80.503;
  max-width: 240px;
  width: 100%;
  height: auto;
  top: 100%;
  left: 0;
  display: none;
}
@media (min-width: 1600px) {
  body.page-our-tech .site-header .logo:after,
  body.page-technology .site-header .logo:after {
    display: block;
    top: 68%;
    left: 100%;
    transform: translateY(-50%);
  }
}

.site-footer {
  background-image: url("../img/contours--site-footer.png");
  background-size: cover;
  color: var(--brand--blue);
  padding-top: 3rem;
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .site-footer {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.site-footer .wrapper {
  position: relative;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 992px) {
  .site-footer .wrapper {
    flex-direction: row;
    gap: 1rem;
  }
}
.site-footer .brand {
  gap: 1.5rem;
  width: 100%;
}
@media (min-width: 992px) {
  .site-footer .brand {
    width: auto;
  }
}
.site-footer .brand .logo {
  gap: 1rem;
}
.site-footer .brand .logo i:first-child {
  max-width: 5.5rem;
}
@media (min-width: 768px) {
  .site-footer .brand .logo i:first-child {
    max-width: 6.4rem;
  }
}
.site-footer .brand .logo i:first-child svg {
  aspect-ratio: 138.115/135;
  width: 100%;
  height: auto;
}
.site-footer .brand .logo i:last-child {
  max-width: 18.5rem;
}
@media (min-width: 768px) {
  .site-footer .brand .logo i:last-child {
    max-width: none;
  }
}
.site-footer .tagline {
  font-size: 1.1rem;
  font-weight: 600;
}
@media (min-width: 768px) {
  .site-footer .tagline {
    display: block;
  }
}
.site-footer .social {
  width: 100%;
  align-items: flex-start;
  justify-content: flex-start;
}
@media (min-width: 992px) {
  .site-footer .social {
    width: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.site-footer .social a [data-name=outer-circ] {
  transition: opacity 0.2s var(--easing);
}
.site-footer .social a [data-name=icon] {
  transform: scale(1);
  transform-origin: center;
  transition: transform 0.5s var(--easing);
  will-change: transform;
}
.site-footer .social a:hover [data-name=outer-circ] {
  opacity: 0;
}
.site-footer .social a:hover [data-name=icon] {
  transform: scale(1.1);
}
.site-footer .contact-links-locations {
  gap: 2rem;
  width: 100%;
  align-items: flex-start;
}
@media (min-width: 992px) {
  .site-footer .contact-links-locations {
    align-items: flex-end;
    width: auto;
  }
}
@media (min-width: 992px) {
  .site-footer .contact-links-locations > * {
    align-items: flex-end;
  }
}
.site-footer .contact {
  gap: 0.3rem;
  font-weight: 600;
}
.site-footer .links {
  gap: 0.3rem;
  font-weight: 300;
}
.site-footer .links .nav-menu {
  gap: 0.3rem;
  align-items: flex-start;
}
@media (min-width: 992px) {
  .site-footer .links .nav-menu {
    align-items: flex-end;
  }
}
.site-footer .contact a,
.site-footer .links a {
  position: relative;
}
.site-footer .contact a span,
.site-footer .links a span {
  z-index: 1;
  position: relative;
}
.site-footer .contact a:after,
.site-footer .links a:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--brand--blue);
  left: 0;
  bottom: 0;
  transform-origin: right bottom;
  transform: scaleY(0);
  transition: transform 0.3s var(--easing);
  will-change: transform;
}
.site-footer .contact a:hover,
.site-footer .links a:hover {
  color: white;
}
.site-footer .contact a:hover:after,
.site-footer .links a:hover:after {
  transform: scaleY(1);
}
.site-footer .locations {
  font-weight: 300;
  --gap: 0.75rem;
  gap: var(--gap);
}
.site-footer .locations span:before {
  content: "";
  margin-right: var(--gap);
  margin-left: -var(--gap);
  border-left: 1px solid var(--brand--blue);
}
.site-footer .locations span:first-child:before {
  display: none;
}

.primary-navigation {
  display: none;
}
@media (min-width: 1200px) {
  .primary-navigation {
    display: flex;
  }
}
.primary-navigation ul {
  gap: 3rem;
}
.primary-navigation ul li {
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 700;
}
.primary-navigation ul li a {
  color: white;
  transition: color 0.2s var(--easing), opacity 0.2s var(--easing);
  opacity: 0.6;
}
.primary-navigation ul li a:hover {
  color: #010734;
  color: white;
  opacity: 1;
}
.primary-navigation ul li.current-menu-item a {
  color: #010734;
  color: white;
  opacity: 1;
}

.mobile-navigation {
  background-color: #120BD9;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  transition: transform 0.3s ease-in-out;
  transform: translateX(100%);
  color: white;
  background-image: url("../img/contours.png");
  background-size: cover;
}
.mobile-navigation.is-open {
  transform: translateX(0);
}
.mobile-navigation .wrapper {
  height: 100%;
}
.mobile-navigation .logo {
  position: absolute;
  top: 0;
  left: 0;
  margin: 1.5rem;
}
.mobile-navigation .close {
  position: absolute;
  top: 0;
  right: 0;
  margin: 1.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  cursor: pointer;
}
.mobile-navigation .close svg {
  transition: fill 0.1s var(--easing), transform 1s var(--easing), opacity 0.75s var(--easing);
  will-change: fill transform opacity;
}
.mobile-navigation .close svg rect {
  transition: fill 0.1s var(--easing), transform 0.3s var(--easing);
  will-change: fill transform;
}
.mobile-navigation .close:hover svg {
  transform: rotate(180deg);
  opacity: 1;
}
.mobile-navigation .links {
  width: 100%;
  flex-direction: column;
  padding-top: 11rem;
  padding-bottom: 3rem;
}
@media (min-width: 768px) {
  .mobile-navigation .links {
    max-width: 32rem;
    padding-right: 3rem;
    flex-direction: row;
    padding-top: 0;
    padding-bottom: 0;
  }
}
.mobile-navigation .nav-menu {
  font-size: 1.45rem;
  font-weight: 600;
  font-weight: 500;
  gap: 0.7rem;
  font-family: var(--brand--heading-font);
  width: 100%;
}
@media (min-width: 768px) {
  .mobile-navigation .nav-menu {
    width: auto;
  }
}
.mobile-navigation .nav-menu li {
  width: 100%;
  position: relative;
}
.mobile-navigation .nav-menu a span {
  display: inline-block;
  transition: transform 0.3s var(--easing);
  will-change: transform;
}
.mobile-navigation .nav-menu a:hover span {
  transform: translateX(1.3rem);
}
.mobile-navigation .nav-menu .current-menu-item {
  font-weight: 800;
}
.mobile-navigation .nav-menu .current-menu-item > a {
  position: relative;
}
.mobile-navigation .nav-menu .current-menu-item > a:before {
  content: "";
  height: 2px;
  width: 0.8rem;
  position: absolute;
  top: 50%;
  left: 0;
  background-color: white;
  transform-origin: left center;
  transition: transform 0.2s var(--easing);
}
.mobile-navigation .nav-menu .current-menu-item > a span {
  transform: translateX(1.3rem);
}
.mobile-navigation .sub-menu {
  font-family: var(--brand--body-font);
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  font-weight: 400;
  margin-top: 0.7rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  gap: 0.1rem;
}
.mobile-navigation .submenu-toggler {
  position: absolute;
  right: 0;
  top: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  color: white;
}
.mobile-navigation .submenu-toggler span:before {
  content: "+";
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background-color: transparent;
  text-align: center;
  line-height: 0.8;
  font-size: 1.9rem;
  font-weight: 100;
  transition: content 0.3s var(--easing);
  color: white;
}
.mobile-navigation .submenu-toggler.is-open span:before {
  content: "-";
}
@media (min-width: 768px) {
  .mobile-navigation #menu-services-navigation > .menu-item:not(:first-child) {
    margin-top: 1rem;
  }
}

.page-header {
  margin-top: calc(var(--site-header-height) * -1);
  width: 100%;
  background-color: var(--brand--dark-blue);
  position: relative;
  color: white;
  padding-top: 8rem;
  padding-bottom: 2rem;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
@media (min-width: 576px) {
  .page-header {
    max-height: 970px;
    aspect-ratio: 752/940;
    padding-top: 5rem;
    padding-bottom: 3rem;
  }
}
@media (min-width: 768px) {
  .page-header {
    aspect-ratio: 1920/970;
    aspect-ratio: 4/3;
    height: auto;
  }
}
@media (min-width: 992px) {
  .page-header {
    aspect-ratio: 1920/970;
    aspect-ratio: 4/3;
    padding-bottom: 4rem;
  }
}
@media (min-width: 1200px) {
  .page-header {
    aspect-ratio: 1920/970;
    aspect-ratio: 1920/1080;
  }
}
@media (min-width: 1400px) {
  .page-header {
    aspect-ratio: 1920/970;
    aspect-ratio: 1920/1080;
    padding-bottom: 5rem;
  }
}
.page-header .wrapper {
  height: 100%;
}
.page-header .text {
  height: 100%;
  gap: 2rem;
  width: 100%;
}
@media (min-width: 768px) {
  .page-header .text {
    gap: 3.5rem;
  }
}
.page-header .heading {
  max-width: 48rem;
  max-width: 58rem;
}
.page-header .cta {
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media (min-width: 768px) {
  .page-header .cta {
    flex-direction: row;
    gap: 2rem;
    width: auto;
  }
}
.page-header .cta .btn {
  width: 100%;
}
@media (min-width: 768px) {
  .page-header .cta .btn {
    width: 14rem;
  }
}
.page-header .nav {
  gap: 0.5rem;
}
.page-header .nav [data-nav=prev],
.page-header .nav [data-nav=next] {
  aspect-ratio: 1;
  width: 59px;
  height: auto;
}
.page-header .nav [data-nav=prev] svg [data-name=inner-circ],
.page-header .nav [data-nav=prev] svg [data-name=outer-circ],
.page-header .nav [data-nav=prev] svg [data-name=arrow],
.page-header .nav [data-nav=next] svg [data-name=inner-circ],
.page-header .nav [data-nav=next] svg [data-name=outer-circ],
.page-header .nav [data-nav=next] svg [data-name=arrow] {
  transition: transform 0.25s var(--easing), fill 0.25s var(--easing), opacity 0.5s var(--easing);
  will-change: transform, stroke, fill, opacity;
}
.page-header .nav [data-nav=prev] svg [data-name=outer-circ],
.page-header .nav [data-nav=next] svg [data-name=outer-circ] {
  stroke: white;
}
.page-header .nav [data-nav=prev] svg [data-name=arrow] line,
.page-header .nav [data-nav=prev] svg [data-name=arrow] path,
.page-header .nav [data-nav=next] svg [data-name=arrow] line,
.page-header .nav [data-nav=next] svg [data-name=arrow] path {
  fill: white;
  stroke: white;
}
.page-header .nav [data-nav=prev] svg [data-name=inner-circ],
.page-header .nav [data-nav=next] svg [data-name=inner-circ] {
  fill: white;
  transform: scale(0);
  transform-origin: center;
  opacity: 0;
}
.page-header .nav [data-nav=prev] svg [data-name=arrow] line,
.page-header .nav [data-nav=prev] svg [data-name=arrow] path,
.page-header .nav [data-nav=next] svg [data-name=arrow] line,
.page-header .nav [data-nav=next] svg [data-name=arrow] path {
  transition: stroke 0.25s var(--easing), fill 0.25s var(--easing), transform 0.25s var(--easing);
  will-change: transform, stroke, fill;
}
.page-header .nav [data-nav=prev]:hover svg [data-name=inner-circ],
.page-header .nav [data-nav=next]:hover svg [data-name=inner-circ] {
  opacity: 0;
  transform: scale(1);
  fill: white;
}
.page-header .nav [data-nav=prev]:hover svg [data-name=outer-circ],
.page-header .nav [data-nav=next]:hover svg [data-name=outer-circ] {
  opacity: 0;
}
.page-header .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.page-header .nav [data-nav=prev]:hover svg [data-name=arrow] path,
.page-header .nav [data-nav=next]:hover svg [data-name=arrow] line,
.page-header .nav [data-nav=next]:hover svg [data-name=arrow] path {
  fill: white;
}
.page-header .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.page-header .nav [data-nav=next]:hover svg [data-name=arrow] line {
  stroke: white;
}
.page-header .nav [data-nav=prev]:hover svg [data-name=arrow] {
  transform: translateX(-0.3rem);
}
.page-header .nav [data-nav=next]:hover svg [data-name=arrow] {
  transform: translateX(0.3rem);
}
.page-header .subnav {
  gap: 3rem;
  flex-direction: column;
  width: 100%;
  align-items: flex-start;
  justify-content: center;
  display: none;
  position: absolute;
  bottom: 0;
}
@media (min-width: 1400px) {
  .page-header .subnav {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
}
.page-header .subnav a {
  text-transform: uppercase;
  font-weight: 600;
  font-size: 1rem;
  opacity: 0.75;
  position: relative;
  text-align: center;
  transition: color 0.2s var(--easing), opacity 0.2s var(--easing);
}
.page-header .subnav a:hover, .page-header .subnav a.current-menu-item {
  opacity: 1;
}
.page-header .subnav a.current-menu-item:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--brand--blue);
}
.page-header .subnav + .custom-select {
  width: 100%;
  position: absolute;
  bottom: 1rem;
}
@media (min-width: 576px) {
  .page-header .subnav + .custom-select {
    bottom: 0;
  }
}
@media (min-width: 768px) {
  .page-header .subnav + .custom-select {
    max-width: 32rem;
  }
}
@media (min-width: 1400px) {
  .page-header .subnav + .custom-select {
    display: none;
  }
}
.page-header .subnav + .custom-select .custom-select__toggler {
  width: 100%;
  background-color: transparent;
  border-color: white;
  color: white;
}
.page-header .subnav + .custom-select .custom-select__toggler:before {
  background-color: white;
}
.page-header .progress {
  gap: 0.5rem;
  display: flex;
  margin-top: 2rem;
}
.page-header .progress i {
  flex-shrink: 0;
  contain: content;
  background-color: white;
  width: 7px;
  height: 7px;
  opacity: 0.5;
  transition: all 550ms var(--easing);
  border-radius: 8px;
  cursor: pointer;
}
.page-header .progress i.is-active {
  opacity: 1;
  width: 48px;
}
.page-header .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.page-header__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.page-header__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity 1250ms var(--easing), transform 5s linear;
  will-change: opacity, transform;
}
.page-header__image img.is-active {
  opacity: 1;
  transform: scale(1);
}
.page-header__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.page-header__video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 1250ms var(--easing);
}
.page-header__video video.is-active {
  opacity: 1;
}
.page-header--home .bg .page-header__image:after,
.page-header--home .bg .page-header__video:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25);
}
.page-header--standard .wrapper {
  align-items: center;
  width: 100%;
}
.page-header--standard .text {
  align-items: center;
}
.page-header--standard .text.jc--c {
  margin-bottom: -2rem;
}
@media (max-width: 767px) {
  .page-header--standard:has(.heading + .subheading) .text {
    align-items: flex-start;
  }
}
.page-header--standard .heading {
  max-width: 100%;
}
.page-header--standard .subheading {
  text-align: center;
  text-align: left;
  max-width: 49rem;
}
@media (min-width: 768px) {
  .page-header--standard .subheading {
    text-align: center;
  }
}
.page-header--standard .bg .page-header__image:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25);
}
.page-header--standard .bg .page-header__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.page-header--news .wrapper,
.page-header--news .text, .page-header--guide .wrapper,
.page-header--guide .text {
  gap: 1.5rem;
}
.page-header--news .bg .page-header__image:after, .page-header--guide .bg .page-header__image:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25);
}
.page-header--news .bg .page-header__image img, .page-header--guide .bg .page-header__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.page-header--news .heading, .page-header--guide .heading {
  margin-right: auto;
}
.page-header--news .page-header__image img, .page-header--guide .page-header__image img {
  opacity: 1;
}
.page-header--simple {
  background-color: var(--brand--light-grey);
  aspect-ratio: unset;
  padding-top: calc(var(--site-header-height) + 3rem);
  color: var(--brand--blue);
  height: auto;
}
.page-header--simple .tag {
  font-weight: 600;
  font-size: 1.7rem;
}
@media (min-width: 768px) {
  .page-header--simple .tag + .heading {
    margin-top: -3.4rem;
  }
}
.page-header--text-image {
  aspect-ratio: unset;
  height: auto;
  max-height: none;
  padding-top: 8rem;
}
@media (min-width: 768px) {
  .page-header--text-image {
    height: inherit;
    height: 100vh;
    height: auto;
    padding-top: 5rem;
  }
}
.page-header--text-image .wrapper {
  flex-direction: column;
  padding-top: 0;
  gap: 3rem;
}
@media (min-width: 768px) {
  .page-header--text-image .wrapper {
    flex-direction: row;
    padding-top: var(--site-header-height);
  }
}
.page-header--text-image .text {
  gap: 0;
  flex: 1;
  max-width: 32rem;
  padding-top: 3rem;
  padding-bottom: 0;
}
.page-header--text-image .image,
.page-header--text-image .video {
  align-self: stretch;
  position: relative;
  flex: 1;
  margin-bottom: -7rem;
  aspect-ratio: 1;
}
@media (min-width: 768px) {
  .page-header--text-image .image,
  .page-header--text-image .video {
    aspect-ratio: unset;
  }
}
.page-header--text-image .image img,
.page-header--text-image .image video,
.page-header--text-image .video img,
.page-header--text-image .video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.page-header--text-image .tag {
  text-transform: uppercase;
}
.page-header--text-image .content {
  margin-top: 3rem;
}
.page-header--text-image .bg {
  background: linear-gradient(135deg, #120BD9, #010734, #010734);
}
.page-header--404 .wrapper {
  margin-top: 7rem;
  margin-bottom: 7rem;
}
.page-header--404 .subheading {
  color: var(--brand--dark-blue);
  font-weight: 600;
}
.page-header--404 .subheading a {
  text-decoration: underline;
  color: var(--brand--blue);
}
.page-header--careers {
  background-color: #120BD9;
  background-color: #010734;
  aspect-ratio: unset;
  max-height: none;
  height: auto;
  padding-top: 4rem;
}
.page-header--careers .wrapper {
  padding-top: var(--site-header-height);
}
.page-header--careers .images {
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  position: relative;
  margin-top: 0;
  margin-bottom: 1.5rem;
  width: auto;
  margin-left: calc(var(--gutter-x) / 2 * -1);
  margin-right: calc(var(--gutter-x) / 2 * -1);
}
@media (min-width: 768px) {
  .page-header--careers .images {
    aspect-ratio: 1750/800;
    margin-left: -4rem;
    margin-right: -4rem;
    margin-top: 0;
    margin-bottom: 1.5rem;
  }
}
.page-header--careers .header {
  position: relative;
}
.page-header--careers .header .heading {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  color: var(--brand--blue);
  opacity: 0.8;
  font-size: 4rem;
  font-weight: 400;
  text-transform: none;
  font-family: var(--brand--heading-font);
  top: 0;
  left: 0;
  line-height: 1;
  transform: translate(-4%, -70%);
}
@media (min-width: 768px) {
  .page-header--careers .header .heading {
    font-size: 4.8rem;
  }
}
.page-header--careers .progress {
  justify-content: center;
}
.page-header .--bg .page-header__image:after,
.page-header .--bg .page-header__video:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25);
}

.page-header .heading {
  opacity: 0;
}
.page-header .heading.animate-in {
  animation: heading-in 2750ms var(--easing) forwards;
}
.page-header .heading.animate-in.is-active {
  opacity: 1;
}
.page-header .word {
  display: inline-block;
}
.page-header .word.animate-in.is-active {
  opacity: 1;
}
@keyframes heading-in {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes word-in {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  32% {
    transform: translateY(-15px);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@media (max-width: 767px) {
  .page-header--text-image .text-image {
    margin-top: 5rem;
  }
}

@media (max-width: 767px) {
  body.page-guides .page-header .text {
    gap: 0.5rem;
  }
  body.page-guides .page-header .heading {
    font-weight: 500;
  }
}
.introduction {
  font-size: 1.1rem;
}
@media (min-width: 576px) {
  .introduction {
    font-size: 1.5rem;
  }
}
.introduction--normal .wrapper {
  text-align: center;
}
@media (min-width: 1600px) {
  .introduction--normal .wrapper {
    max-width: 86rem;
  }
}
.introduction--left .wrapper {
  text-align: left;
}

.services {
  --gap: 0;
  --glyph-width: 200px;
  --glyph-height: 9px;
  --padding: 1rem;
}
@media (max-width: 575px) {
  .services.section {
    padding-bottom: 0;
  }
}
@media (min-width: 576px) {
  .services {
    --gap: 4rem;
  }
}
.services__items {
  gap: var(--gap);
  flex-direction: column;
}
@media (min-width: 1200px) {
  .services__items {
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .services {
    --padding: 4rem 3rem;
  }
}
.services__item {
  align-self: stretch;
  position: relative;
  gap: 1.5rem;
  padding: 2rem 0;
  padding: 3rem 0;
}
@media (min-width: 576px) {
  .services__item {
    padding: var(--padding);
  }
}
@media (min-width: 1200px) {
  .services__item {
    width: calc(50% - var(--gap) * 1 / 2);
    flex: none;
  }
}
.services__item:nth-child(odd):before, .services__item:nth-child(odd):after {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: 0;
  width: calc(var(--glyph-width) / 2);
  height: var(--glyph-height);
  background-color: var(--brand--blue);
  transform: translateY(-50%);
}
@media (min-width: 576px) {
  .services__item:nth-child(odd):before, .services__item:nth-child(odd):after {
    left: var(--padding);
  }
}
.services__item:nth-child(odd):after {
  width: var(--glyph-width);
  height: calc(var(--glyph-height) / 3);
}
.services__item:nth-child(even) {
  color: white;
  position: relative;
}
.services__item:nth-child(even):before {
  content: "";
  background-color: var(--brand--blue);
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
}
@media (min-width: 576px) {
  .services__item:nth-child(even):before {
    width: 100%;
  }
}
.services__item:nth-child(even) .entry-content ul li:before {
  background-color: white;
}
.services__item .cta {
  flex-direction: column;
  width: 100%;
}
@media (min-width: 768px) {
  .services__item .cta {
    width: auto;
    flex-direction: row;
  }
}
.services__item .cta .btn {
  width: 100%;
}
.promo {
  background-color: #F2F2F2;
  --gap: 0rem;
}
@media (max-width: 575px) {
  .promo.section {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.promo .inner {
  color: white;
  gap: var(--gap);
  flex-direction: column;
  padding: 0;
  position: relative;
}
@media (min-width: 576px) {
  .promo .inner {
    padding: 5rem 3rem;
  }
}
@media (min-width: 768px) {
  .promo .inner {
    flex-direction: row;
  }
}
.promo .inner:before {
  content: "";
  background-color: var(--brand--dark-blue);
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
}
@media (min-width: 576px) {
  .promo .inner:before {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .promo .text,
  .promo .image, .promo__text, .promo__image {
    width: calc(50% - 3rem - var(--gap) * 1 / 2);
    flex: none;
  }
}
@media (min-width: 768px) {
  .promo .image, .promo__image {
    width: calc(50% + 3rem - var(--gap) * 1 / 2);
    flex: none;
  }
}
.promo .text, .promo__text {
  padding-top: 3rem;
  padding-bottom: 3rem;
  gap: 2rem;
}
@media (min-width: 576px) {
  .promo .text, .promo__text {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.promo .text .entry-content ul li:before, .promo__text .entry-content ul li:before {
  background-color: var(--brand--blue);
}
.promo .image, .promo__image,
.promo .video {
  align-self: stretch;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}
@media (min-width: 576px) {
  .promo .image, .promo__image,
  .promo .video {
    margin-right: -5rem;
  }
}
.promo .logo img, .promo .logo svg {
  width: auto;
}
.promo img,
.promo video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.promo .cta {
  flex-direction: column;
  width: 100%;
}
@media (min-width: 768px) {
  .promo .cta {
    width: auto;
    flex-direction: row;
  }
}
.promo .cta .btn {
  width: 100%;
}
.stats {
  background-color: #F2F2F2;
  --gap: 4rem;
}
.stats__text {
  padding-top: 1rem;
  padding-bottom: 1rem;
  gap: 2rem;
}
@media (min-width: 992px) {
  .stats__text {
    width: calc(55% - var(--gap) * 1 / 2);
    flex: none;
  }
}
.stats__items {
  display: flex;
  flex-direction: row;
  gap: 3rem;
  gap: 2rem;
}
@media (min-width: 768px) {
  .stats__items {
    gap: 5rem;
  }
}
.stats .cta {
  flex-direction: column;
  width: 100%;
}
@media (min-width: 768px) {
  .stats .cta {
    width: auto;
    flex-direction: row;
  }
}
.stats .cta .btn {
  width: 100%;
}
.stats--text-stats .stats__items {
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 992px) {
  .stats--text-stats .stats__items {
    max-width: 30rem;
    width: calc(45% - var(--gap) * 1 / 2);
    flex: none;
  }
}
@media (min-width: 1200px) {
  .stats--text-stats .stats__items {
    width: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 2rem;
  }
}
@media (max-width: 575px) {
  .stats--text-stats .stats__item {
    max-width: 12rem;
  }
}
.stats--text-stats .wrapper > .inner {
  gap: 2rem;
  flex-direction: column;
  padding: 0;
}
@media (min-width: 576px) {
  .stats--text-stats .wrapper > .inner {
    gap: var(--gap);
    padding: 2rem 6rem;
  }
}
@media (min-width: 992px) {
  .stats--text-stats .wrapper > .inner {
    flex-direction: row;
  }
}
.stats--stats-only .stats__text {
  align-items: center;
  justify-content: center;
}
@media (min-width: 992px) {
  .stats--stats-only .stats__text {
    width: 100%;
  }
}
.stats--stats-only .stats__text .heading {
  text-align: center;
}
@media (min-width: 768px) {
  .stats--stats-only .stats__text .heading {
    text-align: left;
  }
}
.stats--stats-only .stats__items {
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem 5rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .stats--stats-only .stats__items {
    margin-top: 1rem;
    flex-direction: row;
  }
}
.stats__item {
  gap: 0;
}
.stats .value {
  font-size: 3.6rem;
  font-size: 3rem;
  color: var(--brand--blue);
  font-weight: 600;
  font-family: var(--brand--heading-font);
  line-height: 1;
  margin-bottom: 0.4rem;
}
@media (min-width: 768px) {
  .stats .value {
    font-size: 3.9rem;
    margin-bottom: 0.6rem;
  }
}
.stats .label {
  font-size: 1rem;
  font-size: 1.2rem;
}
.stats img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.testimonials-carousel {
  --gap: 2rem;
}
.testimonials-carousel .wrapper {
  flex-direction: column;
}
@media (min-width: 768px) {
  .testimonials-carousel .wrapper {
    flex-direction: row;
  }
}
.testimonials-carousel__text {
  width: 100%;
}
@media (min-width: 768px) {
  .testimonials-carousel__text {
    width: calc(33.333% - var(--gap) * 2 / 3);
    flex: none;
    align-self: stretch;
    position: relative;
    background: linear-gradient(to right, white 65%, transparent 100%);
    gap: 3rem;
  }
}
.testimonials-carousel__text:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100vw;
  width: 100vw;
  height: 100%;
  background: white;
  z-index: -1;
}
.testimonials-carousel__text .logo {
  margin-bottom: 1rem;
  display: none;
}
@media (min-width: 768px) {
  .testimonials-carousel__text .logo {
    display: block;
    margin-bottom: 2rem;
  }
}
.testimonials-carousel__items {
  width: 100%;
  margin-top: 1rem;
}
@media (min-width: 576px) {
  .testimonials-carousel__items {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .testimonials-carousel__items {
    width: calc(66.666% - var(--gap) * 1 / 3);
    flex: none;
  }
}
.testimonials-carousel .carousel .item {
  margin-right: 1rem;
  display: flex;
  align-self: stretch;
  min-height: 100%;
  min-height: 30rem;
}
@media (min-width: 576px) {
  .testimonials-carousel .carousel .item {
    min-height: 0;
    margin-right: 2rem;
  }
}
.testimonials-carousel .carousel .item .customer {
  margin-top: auto;
}
.testimonials-carousel .carousel .item .company {
  font-weight: 700;
}
.testimonials-carousel .flickity-viewport {
  overflow: visible;
}
.testimonials-carousel .panel {
  background-color: hsl(237, 100%, 95%);
  border-radius: 0.5rem;
  transition: background-color 0.2s var(--easing);
  width: 21rem;
  width: 19.5rem;
  padding: 2rem 1.5rem;
}
@media (min-width: 576px) {
  .testimonials-carousel .panel {
    width: 600px;
    padding: 3rem 2rem;
    aspect-ratio: 6/5;
  }
}
.testimonials-carousel .panel:hover {
  background-color: hsl(237, 100%, 94%);
}
.testimonials-carousel .panel .heading {
  font-size: 1.3rem;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .testimonials-carousel .panel .heading {
    font-size: 1.6rem;
    line-height: 1.1;
  }
}
.testimonials-carousel .panel .content {
  font-size: 1rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .testimonials-carousel .panel .content {
    font-size: 1.1rem;
    line-height: 1.6;
  }
}
.testimonials-carousel .progress {
  gap: 0.35rem;
  display: flex;
  margin-top: 4rem;
}
.testimonials-carousel .progress i {
  flex-shrink: 0;
  contain: content;
  background-color: blue;
  width: 8px;
  height: 8px;
  opacity: 0.5;
  transition: all 550ms var(--easing);
  border-radius: 8px;
  cursor: pointer;
}
.testimonials-carousel .progress i.is-active {
  opacity: 1;
  width: 1.5rem;
}
.testimonials-carousel .nav {
  gap: 0.5rem;
}
.testimonials-carousel .nav [data-nav=prev],
.testimonials-carousel .nav [data-nav=next] {
  aspect-ratio: 1;
  width: 59px;
  height: auto;
}
.testimonials-carousel .nav [data-nav=prev] svg [data-name=inner-circ],
.testimonials-carousel .nav [data-nav=prev] svg [data-name=outer-circ],
.testimonials-carousel .nav [data-nav=prev] svg [data-name=arrow],
.testimonials-carousel .nav [data-nav=next] svg [data-name=inner-circ],
.testimonials-carousel .nav [data-nav=next] svg [data-name=outer-circ],
.testimonials-carousel .nav [data-nav=next] svg [data-name=arrow] {
  transition: transform 0.25s var(--easing), fill 0.25s var(--easing), opacity 0.5s var(--easing);
  will-change: transform, stroke, fill, opacity;
}
.testimonials-carousel .nav [data-nav=prev] svg [data-name=inner-circ],
.testimonials-carousel .nav [data-nav=next] svg [data-name=inner-circ] {
  fill: white;
  transform: scale(0);
  transform-origin: center;
  opacity: 0;
}
.testimonials-carousel .nav [data-nav=prev] svg [data-name=arrow] line,
.testimonials-carousel .nav [data-nav=prev] svg [data-name=arrow] path,
.testimonials-carousel .nav [data-nav=next] svg [data-name=arrow] line,
.testimonials-carousel .nav [data-nav=next] svg [data-name=arrow] path {
  transition: stroke 0.25s var(--easing), fill 0.25s var(--easing), transform 0.25s var(--easing);
  will-change: transform, stroke, fill;
}
@media (min-width: 768px) {
  .testimonials-carousel .nav [data-nav=prev]:hover svg [data-name=inner-circ],
  .testimonials-carousel .nav [data-nav=next]:hover svg [data-name=inner-circ] {
    opacity: 0;
    transform: scale(1);
    fill: var(--brand--blue);
  }
  .testimonials-carousel .nav [data-nav=prev]:hover svg [data-name=outer-circ],
  .testimonials-carousel .nav [data-nav=next]:hover svg [data-name=outer-circ] {
    opacity: 0;
  }
  .testimonials-carousel .nav [data-nav=prev]:hover svg [data-name=arrow] line,
  .testimonials-carousel .nav [data-nav=prev]:hover svg [data-name=arrow] path,
  .testimonials-carousel .nav [data-nav=next]:hover svg [data-name=arrow] line,
  .testimonials-carousel .nav [data-nav=next]:hover svg [data-name=arrow] path {
    fill: var(--brand--blue);
  }
  .testimonials-carousel .nav [data-nav=prev]:hover svg [data-name=arrow] line,
  .testimonials-carousel .nav [data-nav=next]:hover svg [data-name=arrow] line {
    stroke: var(--brand--blue);
  }
}
@media (min-width: 768px) {
  .testimonials-carousel .nav [data-nav=prev]:hover svg [data-name=arrow] {
    transform: translateX(-0.3rem);
  }
}
@media (min-width: 768px) {
  .testimonials-carousel .nav [data-nav=next]:hover svg [data-name=arrow] {
    transform: translateX(0.3rem);
  }
}

.latest-news {
  background-color: var(--brand--dark-blue);
  color: white;
}
.latest-news .header {
  margin-bottom: 3rem;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 576px) {
  .latest-news .header {
    flex-direction: row;
    align-items: center;
  }
}
.latest-news .header .cta {
  font-weight: 700;
  font-size: 1.1rem;
  gap: 0.5rem;
}
.latest-news .header .cta svg {
  transition: transform 0.4s var(--easing);
}
.latest-news .header .cta:hover svg {
  transform: translateX(0.3rem);
}
.latest-news .carousel .item {
  margin-right: 1.5rem;
}
@media (min-width: 576px) {
  .latest-news .carousel .item {
    margin-right: 2rem;
  }
}
.latest-news .carousel .item .panel {
  width: 19rem;
  aspect-ratio: 5/6;
  padding: 1.5rem;
  transition: transform 1s var(--easing), opacity 1s var(--easing);
}
@media (min-width: 576px) {
  .latest-news .carousel .item .panel {
    aspect-ratio: 5/6;
    width: 500px;
    height: auto;
    padding: 4rem 3rem;
  }
}
.latest-news .carousel .item .panel:not(.animate-in) {
  opacity: 0;
  transform: translateY(20px);
}
.latest-news .carousel .item .panel.animate-in {
  opacity: 1;
  transform: translateY(0);
}
@media (min-width: 576px) {
  .latest-news .carousel .item:nth-child(1) .panel {
    aspect-ratio: 770/600;
    width: 770px;
  }
}
.latest-news .carousel .item .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.latest-news .carousel .item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.8;
  transform: scale(1);
  transition: opacity 0.9s var(--easing), transform 1.1s var(--easing);
  will-change: opacity, transform;
}
.latest-news .carousel .item:hover .image img {
  opacity: 1;
  transform: scale(1.05);
}
.latest-news .carousel .item .date {
  font-size: 1.1rem;
}
.latest-news .carousel .item .heading {
  line-height: 1.2;
  margin-top: 0.8rem;
  max-width: 28rem;
}
.latest-news .flickity-viewport {
  overflow: visible;
}

.full-width-cta {
  background-color: var(--brand--blue);
  color: white;
}
.full-width-cta .wrapper {
  container-type: inline-size;
  flex-direction: column;
}
@media (min-width: 992px) {
  .full-width-cta .wrapper {
    flex-direction: row;
  }
}
.full-width-cta .heading {
  line-height: 1.1;
  position: relative;
}
@media (min-width: 768px) {
  .full-width-cta .heading {
    line-height: 0.9;
  }
}
@media (min-width: 992px) {
  .full-width-cta .heading {
    font-size: 3.3cqw;
  }
}
.full-width-cta .subheading {
  margin-top: 1.5rem;
  font-size: 1.1rem;
  line-height: 1.3;
  text-wrap: pretty;
}
@media (min-width: 576px) {
  .full-width-cta .subheading {
    margin-top: 1rem;
    font-size: 1.1rem;
    line-height: 1.1;
  }
}
@media (min-width: 992px) {
  .full-width-cta .subheading {
    position: absolute;
    top: 100%;
  }
}
.full-width-cta .cta {
  margin-top: 1rem;
}
@media (max-width: 575px) {
  .full-width-cta .cta {
    width: 100%;
  }
}
@media (min-width: 992px) {
  .full-width-cta .cta {
    margin-top: 0;
  }
}
.full-width-cta .cta .btn {
  width: 100%;
}
@media (min-width: 576px) {
  .full-width-cta .cta .btn {
    width: inherit;
  }
}
.full-width-cta .cta .btn:hover {
  color: white;
}

.team-grid {
  --gap: 2rem;
}
.team-grid__items {
  flex-wrap: wrap;
  gap: var(--gap);
  position: relative;
  margin-top: 2rem;
}
@media (min-width: 768px) {
  .team-grid__items {
    margin-top: 6rem;
  }
}
.team-grid__items:before {
  content: "Our People";
  position: absolute;
  z-index: 1;
  pointer-events: none;
  color: #F2F2F2;
  opacity: 0.8;
  font-weight: 400;
  font-family: var(--brand--heading-font);
  top: 0;
  left: 0;
  line-height: 1;
  transform: translate(0, -65%);
  font-size: 3.8rem;
  display: none;
}
@media (min-width: 768px) {
  .team-grid__items:before {
    display: block;
    font-size: 4.8rem;
  }
}
.team-grid__items--no-results:before {
  display: none;
}
.team-grid__item {
  aspect-ratio: 360/430;
  overflow: hidden;
  position: relative;
  color: white;
  width: 100%;
  flex: none;
  will-change: transform, opacity;
  transition: transform 2s var(--easing), opacity 2s var(--easing);
}
@media (min-width: 576px) {
  .team-grid__item {
    width: calc(50% - var(--gap) * 1 / 2);
    flex: none;
  }
}
@media (min-width: 768px) {
  .team-grid__item {
    width: calc(33.3333333333% - var(--gap) * 2 / 3);
    flex: none;
  }
}
@media (min-width: 1200px) {
  .team-grid__item {
    width: calc(33.3333333333% - var(--gap) * 2 / 3);
    flex: none;
  }
}
@media (min-width: 1400px) {
  .team-grid__item {
    width: calc(25% - var(--gap) * 3 / 4);
    flex: none;
  }
}
.team-grid__item-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.team-grid__item-image:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.15);
  position: absolute;
  top: 0;
  left: 0;
}
.team-grid__item-image:before {
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cg fill='%23fff' data-name='Union 4'%3E%3Cpath d='M10.5 19.5h-1v-9h-9v-1h9v-9h1v9h9v1h-9v9Z'/%3E%3Cpath d='M10 19V1v18m1 1H9v-9H0V9h9V0h2v9h9v2h-9v9Z'/%3E%3C/g%3E%3C/svg%3E");
  aspect-ratio: 1;
  width: 20px;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.team-grid__item-image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  will-change: transform;
  transition: transform 0.8s var(--easing);
}
.team-grid__item:hover .team-grid__item-image img {
  transform: scale(1.075);
}
.team-grid__item-text {
  height: 100%;
  padding: 1.5rem;
  gap: 0.3rem;
}
.team-grid__item .name {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.1;
}
.team-grid__item .role {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.1;
}
.team-grid__item--no-bio {
  pointer-events: none;
}
.team-grid__item:not(.animate-in) {
  opacity: 0;
  transform: translateY(20px);
}
.team-grid__item.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.team-grid .paging .page-numbers path {
  stroke: var(--brand--dark-blue);
  fill: var(--brand--dark-blue);
}
.team-grid .paging .page-numbers span {
  color: var(--brand--dark-blue);
}
.team-grid .paging .page-numbers:hover span {
  font-weight: 800;
}
.team-grid .paging .page-numbers.current span {
  background-color: var(--brand--dark-blue);
  color: white;
}
.team-grid .paging ._page-numbers span {
  background-color: white;
  color: var(--brand--dark-blue);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.team-grid .paging ._page-numbers.current span, .team-grid .paging ._page-numbers:hover span {
  background-color: var(--brand--dark-blue);
  color: white;
}
.team-grid .paging ._page-numbers.current {
  pointer-events: none;
}
.team-grid .paging arse span {
  background-color: white;
  color: var(--brand--dark-blue);
  aspect-ratio: 1;
  width: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 800;
}
.team-grid .paging arse.is-active span, .team-grid .paging arse:hover span {
  background-color: var(--brand--dark-blue);
  color: white;
}
.team-grid .paging .pagination-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.team-grid .paging .pagination-disabled svg path {
  fill: #ccc;
  stroke: #ccc;
}
.team-grid .filter {
  --width: 100%;
  --height: 3.5rem;
  margin-top: 4rem;
  flex-direction: column;
}
@media (min-width: 576px) {
  .team-grid .filter {
    --width: 50%;
  }
}
@media (min-width: 768px) {
  .team-grid .filter {
    --width: 325px;
  }
}
@media (min-width: 576px) {
  .team-grid .filter {
    flex-direction: row;
  }
}
.team-grid .filter .custom-select {
  width: 100%;
}
@media (min-width: 768px) {
  .team-grid .filter .custom-select {
    width: var(--width);
  }
}
.team-grid .filter .custom-select__toggler {
  width: 100%;
  border: none;
  border-top: 1px solid var(--brand--dark-blue);
  padding: 0;
  padding-left: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--brand--dark-blue);
}
.team-grid .filter .custom-select__toggler:before {
  left: auto;
  right: 0.5rem;
  background-color: var(--brand--dark-blue);
}
.team-grid .filter .custom-select__items {
  width: 100%;
  background-color: white;
  color: black;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 0.8rem 1.2rem;
}
.team-grid .filter .custom-select a {
  color: black;
}
.team-grid .filter .search {
  width: var(--width);
  margin-left: auto;
}
.team-grid .filter .search input {
  width: 100%;
  border: none;
  border-radius: 0;
  border-top: 1px solid var(--brand--dark-blue);
  padding: 0;
  padding-left: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--brand--dark-blue);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' data-name='Group 121'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23010734' d='M0 0h22v22H0z' data-name='Rectangle 138'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg fill='%23010734' clip-path='url(%23a)' data-name='Group 120'%3E%3Cpath d='M9 0a9 9 0 1 1-9 9 9.01 9.01 0 0 1 9-9Zm0 16a7 7 0 1 0-7-7 7.008 7.008 0 0 0 7 7Z' data-name='Ellipse 15'/%3E%3Cpath d='M21 22a1 1 0 0 1-.707-.293l-6-6a1 1 0 0 1 0-1.414 1 1 0 0 1 1.414 0l6 6A1 1 0 0 1 21 22Z' data-name='Line 9'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 1rem;
  padding-right: 1.5rem;
}
.team-grid .filter .search input::-moz-placeholder {
  color: var(--brand--dark-blue);
  opacity: 1;
}
.team-grid .filter .search input::placeholder {
  color: var(--brand--dark-blue);
  opacity: 1;
}

.team-testimonials__items {
  width: 100%;
}
.team-testimonials .inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media (min-width: 768px) {
  .team-testimonials .inner {
    width: calc(100% - 16rem);
  }
}
.team-testimonials .nav {
  display: none;
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .team-testimonials .nav {
    position: absolute;
    top: 3rem;
    right: calc(100% + 2rem);
    gap: 1rem;
  }
}
.team-testimonials .nav [data-nav=prev],
.team-testimonials .nav [data-nav=next] {
  aspect-ratio: 1;
  width: 59px;
  height: auto;
}
.team-testimonials .nav [data-nav=prev] svg [data-name=inner-circ],
.team-testimonials .nav [data-nav=prev] svg [data-name=outer-circ],
.team-testimonials .nav [data-nav=prev] svg [data-name=arrow],
.team-testimonials .nav [data-nav=next] svg [data-name=inner-circ],
.team-testimonials .nav [data-nav=next] svg [data-name=outer-circ],
.team-testimonials .nav [data-nav=next] svg [data-name=arrow] {
  transition: transform 0.25s var(--easing), fill 0.25s var(--easing), opacity 0.5s var(--easing);
  will-change: transform, stroke, fill, opacity;
}
.team-testimonials .nav [data-nav=prev] svg [data-name=inner-circ],
.team-testimonials .nav [data-nav=next] svg [data-name=inner-circ] {
  fill: white;
  transform: scale(0);
  transform-origin: center;
  opacity: 0;
}
.team-testimonials .nav [data-nav=prev] svg [data-name=arrow] line,
.team-testimonials .nav [data-nav=prev] svg [data-name=arrow] path,
.team-testimonials .nav [data-nav=next] svg [data-name=arrow] line,
.team-testimonials .nav [data-nav=next] svg [data-name=arrow] path {
  transition: stroke 0.25s var(--easing), fill 0.25s var(--easing), transform 0.25s var(--easing);
  will-change: transform, stroke, fill;
}
.team-testimonials .nav [data-nav=prev]:hover svg [data-name=inner-circ],
.team-testimonials .nav [data-nav=next]:hover svg [data-name=inner-circ] {
  opacity: 0;
  transform: scale(1);
  fill: var(--brand--blue);
}
.team-testimonials .nav [data-nav=prev]:hover svg [data-name=outer-circ],
.team-testimonials .nav [data-nav=next]:hover svg [data-name=outer-circ] {
  opacity: 0;
}
.team-testimonials .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.team-testimonials .nav [data-nav=prev]:hover svg [data-name=arrow] path,
.team-testimonials .nav [data-nav=next]:hover svg [data-name=arrow] line,
.team-testimonials .nav [data-nav=next]:hover svg [data-name=arrow] path {
  fill: var(--brand--blue);
}
.team-testimonials .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.team-testimonials .nav [data-nav=next]:hover svg [data-name=arrow] line {
  stroke: var(--brand--blue);
}
.team-testimonials .nav [data-nav=prev]:hover svg [data-name=arrow] {
  transform: translateX(-0.3rem);
}
.team-testimonials .nav [data-nav=next]:hover svg [data-name=arrow] {
  transform: translateX(0.3rem);
}
.team-testimonials .item {
  width: 100%;
}
.team-testimonials .item .content {
  font-size: 1.7rem;
  font-weight: 600;
  position: relative;
  padding: 3rem;
  font-family: var(--brand--heading-font);
  line-height: 1.2;
  font-style: italic;
}
.team-testimonials .item .content i {
  position: relative;
}
.team-testimonials .item .content i:first-of-type:before, .team-testimonials .item .content i:last-of-type:before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='81.305' height='73.914'%3E%3Cpath fill='%23f2f2f2' d='m0 73.914 35.82-15.067V0H0Zm45.485 0 35.82-15.067V0h-35.82Z' data-name='Path 61'/%3E%3C/svg%3E");
  aspect-ratio: 81.305/73.914;
  width: 80px;
  height: auto;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.team-testimonials .item .content i:last-of-type:before {
  top: auto;
  left: auto;
  bottom: 0;
  right: 0;
  transform: translate(80%, 65%);
}
.team-testimonials .item .name {
  display: flex;
  align-items: center;
  font-weight: 700;
  font-size: 1rem;
  padding: 0 3rem;
}
.team-testimonials .item .name:before {
  content: "";
  display: inline-block;
  width: 2.5rem;
  height: 1px;
  background-color: #010734;
  margin-right: 0.5rem;
}
.team-testimonials .progress {
  gap: 0.5rem;
  display: flex;
  margin-top: 3rem;
  margin-left: 3rem;
  margin-right: 3rem;
  justify-content: center;
}
@media (min-width: 768px) {
  .team-testimonials .progress {
    justify-content: flex-start;
  }
}
.team-testimonials .progress i {
  flex-shrink: 0;
  contain: content;
  background-color: blue;
  width: 7px;
  height: 7px;
  opacity: 0.5;
  transition: all 550ms var(--easing);
  border-radius: 8px;
  cursor: pointer;
}
.team-testimonials .progress i.is-active {
  opacity: 1;
  width: 48px;
}
.team-testimonials .flickity-viewport {
  overflow: hidden;
}

.text-image {
  --gap: 2rem;
  --glyph-width: 200px;
  --glyph-height: 9px;
  --padding: 3rem;
}
@media (min-width: 768px) {
  .text-image {
    --gap: 4rem;
  }
}
.text-image .wrapper {
  gap: var(--gap);
  flex-direction: column;
}
@media (min-width: 992px) {
  .text-image .wrapper {
    flex-direction: row;
  }
}
.text-image__text, .text-image__image {
  position: relative;
  gap: 1.5rem;
}
@media (min-width: 992px) {
  .text-image__text, .text-image__image {
    width: calc(50% - var(--gap) * 1 / 2);
    flex: none;
  }
}
.text-image__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.text-image__image.shrink {
  justify-content: center;
}
.text-image__image.shrink img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.text-image__text {
  padding: 0;
}
@media (min-width: 768px) {
  .text-image__text {
    padding: var(--padding) 0;
  }
}
@media (min-width: 992px) {
  .text-image__text {
    width: calc(55% - var(--gap) * 1 / 2);
    flex: none;
  }
}
.text-image__image {
  align-self: stretch;
}
@media (min-width: 992px) {
  .text-image__image {
    width: calc(45% - var(--gap) * 1 / 2);
    flex: none;
  }
}
.text-image__image img {
  transition: opacity 3s var(--easing), transform 3s var(--easing);
  will-change: opacity, transform;
}
.text-image__image:not(.animate-in) img {
  opacity: 0;
  transform: translateY(1rem);
}
.text-image__image.animate-in img {
  opacity: 1;
  transform: translateY(0);
}
.text-image .heading {
  max-width: 32rem;
  text-wrap: pretty;
}
.text-image .content {
  max-width: 44rem;
}
.text-image .cta {
  flex-direction: column;
  flex-wrap: wrap;
  width: 100%;
}
@media (min-width: 768px) {
  .text-image .cta {
    flex-direction: row;
  }
}
.text-image .cta > * {
  width: 100%;
}
@media (min-width: 768px) {
  .text-image .cta > * {
    width: auto;
  }
}
.text-image a.heading {
  position: relative;
  max-width: 100%;
}
.text-image a.heading span {
  position: relative;
}
.text-image a.heading span:before {
  content: "Learn more";
  position: absolute;
  left: 0;
  bottom: 100%;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--brand--blue);
  opacity: 0;
  transform: translateX(-1.5rem);
  transition: transform 0.5s var(--easing), opacity 0.5s var(--easing);
}
.text-image a.heading span:after {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='8.271'%3E%3Cg data-name='Group 129'%3E%3Cpath fill='none' stroke='%23120bd9' stroke-width='2' d='M0 4.136h21' data-name='Line 3'/%3E%3Cg fill='%23120bd9' data-name='Polygon 3'%3E%3Cpath d='M22 6.904V1.368l8.701 2.768L22 6.904Z'/%3E%3Cpath d='M27.403 4.136 23 2.735v2.801l4.403-1.4m6.597 0L21 8.27V0l13 4.136Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  aspect-ratio: 34/8.271;
  width: 34px;
  height: auto;
  left: 100%;
  top: 50%;
  margin-left: 1.5rem;
  transition: transform 0.5s var(--easing), opacity 0.5s var(--easing), background-color 0.5s var(--easing);
  display: none;
}
@media (min-width: 768px) {
  .text-image a.heading span:after {
    display: block;
    margin-left: 0.5rem;
  }
}
.text-image a.heading:hover {
  color: black;
}
@media (min-width: 768px) {
  .text-image a.heading:hover span:before {
    opacity: 1;
    transform: translateX(0);
  }
}
@media (min-width: 768px) {
  .text-image a.heading:hover span:after {
    transform: translateX(0.5rem);
  }
}
.text-image .entry-content strong {
  font-weight: 600;
}
.text-image .entry-content ul li:before {
  background-color: var(--brand--blue);
}
@media (min-width: 992px) {
  .text-image--reverse .text-image__text {
    order: 2;
  }
}
@media (min-width: 992px) {
  .text-image--reverse .text-image__image {
    order: 1;
  }
}
.text-image--careers {
  background-color: var(--brand--blue);
  background-color: #010734;
}
.text-image--careers.section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.text-image--careers .heading,
.text-image--careers .content {
  color: white;
}
.text-image--careers .content a:hover {
  color: white;
  text-decoration: none;
}

.page-header--text-image + .text-image {
  margin-top: 3rem;
}
@media (max-width: 767px) {
  .page-header--text-image + .text-image {
    margin-top: 5rem;
  }
}

.mosaic-cta {
  background-color: #F2F2F2;
  --gap: 2rem;
}
@media (min-width: 992px) {
  .mosaic-cta.section {
    padding-top: 8rem;
  }
}
.mosaic-cta__header {
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 992px) {
  .mosaic-cta__header {
    flex-direction: row;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .mosaic-cta .heading {
    width: calc(50% - var(--gap) * 1 / 2);
    flex: none;
    padding-right: 4rem;
  }
}
.mosaic-cta .cta {
  width: 100%;
}
.mosaic-cta .cta > * {
  width: 100%;
}
@media (min-width: 768px) {
  .mosaic-cta .cta > * {
    width: auto;
    width: calc(50% - var(--gap) * 1 / 2);
    flex: none;
  }
}
.mosaic-cta__items {
  display: grid;
  margin-top: 3rem;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .mosaic-cta__items {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 1.5rem;
    aspect-ratio: 16/9;
  }
}
@media (min-width: 992px) {
  .mosaic-cta__items {
    width: calc(100% - 6rem);
  }
}
.mosaic-cta__item {
  position: relative;
  aspect-ratio: 1;
  transition: transform 2s var(--easing), opacity 2s var(--easing);
}
@media (min-width: 768px) {
  .mosaic-cta__item {
    aspect-ratio: unset;
  }
}
.mosaic-cta__item:not(.animate-in) {
  opacity: 0;
  transform: translateY(20px);
}
.mosaic-cta__item.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.mosaic-cta__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.mosaic-cta__item svg {
  width: 60%;
  transform: translate(2%, -3%);
}
@media (min-width: 768px) {
  .mosaic-cta__item svg {
    width: auto;
  }
}
@media (min-width: 768px) {
  .mosaic-cta__item:nth-child(1) {
    grid-row: span 2;
    grid-column: span 2;
  }
}
@media (min-width: 768px) {
  .mosaic-cta__item:nth-child(2) {
    grid-row: span 1;
    grid-column: span 2;
  }
}
@media (min-width: 768px) {
  .mosaic-cta__item:nth-child(3) {
    grid-column: span 1;
  }
}
@media (min-width: 768px) {
  .mosaic-cta__item:nth-child(4) {
    grid-column: span 1;
  }
}

@media (min-width: 768px) {
  .text-image + .mosaic-cta {
    margin-top: -8.5rem;
  }
}

.text-cta {
  --gap: 5rem;
  --glyph-width: 200px;
  --glyph-height: 9px;
  --padding: 3rem;
}
@media (min-width: 992px) {
  .text-cta {
    --gap: 4rem;
  }
}
.text-cta .wrapper {
  gap: var(--gap);
  flex-direction: column;
}
@media (min-width: 992px) {
  .text-cta .wrapper {
    flex-direction: row;
  }
}
.text-cta__text, .text-cta__cta {
  position: relative;
  gap: 1.5rem;
}
@media (min-width: 992px) {
  .text-cta__text, .text-cta__cta {
    width: calc(50% - var(--gap) * 1 / 2);
    flex: none;
  }
}
.text-cta__text img, .text-cta__cta img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.text-cta__text {
  padding: 0;
}
@media (min-width: 768px) {
  .text-cta__text {
    padding: var(--padding) 0;
  }
}
@media (min-width: 992px) {
  .text-cta__text {
    width: calc(55% - var(--gap) * 1 / 2);
    flex: none;
  }
}
@media (min-width: 992px) {
  .text-cta__cta {
    width: calc(45% - var(--gap) * 1 / 2);
    flex: none;
  }
}
.text-cta__cta .panel {
  background-color: #E8E9FF;
  padding: 4rem 1.5rem;
  padding-bottom: 1.5rem;
  border-radius: 10px;
  max-width: 440px;
  gap: 3rem;
  position: relative;
}
@media (min-width: 768px) {
  .text-cta__cta .panel {
    padding: 4rem 3rem;
  }
}
.text-cta__cta .panel:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110.736' height='104.252' data-name='Group 29'%3E%3Cg data-name='Group 30'%3E%3Cpath fill='%23120bd9' d='M45.3 30.201a28.748 28.748 0 1 1-28.744 28.748A28.781 28.781 0 0 1 45.3 30.201m0-16.556a45.3 45.3 0 1 0 45.3 45.3 45.3 45.3 0 0 0-45.3-45.3' data-name='Path 11'/%3E%3Cpath fill='%23ec1c24' d='M96.941 27.579a13.789 13.789 0 1 1 13.8-13.788 13.8 13.8 0 0 1-13.8 13.788m0-20.791a7 7 0 1 0 7 7 7.012 7.012 0 0 0-7-7' data-name='Path 12'/%3E%3C/g%3E%3C/svg%3E");
  aspect-ratio: 110.736/104.252;
  width: 112px;
  height: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform: translate(-40%, -56%);
  pointer-events: none;
}
@media (min-width: 992px) {
  .text-cta__cta .panel:after {
    width: 112px;
    height: auto;
    transform: translate(50%, 40%);
    top: auto;
    left: auto;
    bottom: 0;
    right: 0;
  }
}
.text-cta .heading {
  max-width: 32rem;
  text-wrap: pretty;
}
.text-cta .content {
  max-width: 44rem;
}
.text-cta .cta {
  flex-direction: column;
  flex-wrap: wrap;
  width: 100%;
}
@media (min-width: 768px) {
  .text-cta .cta {
    flex-direction: row;
  }
}
.text-cta .cta > * {
  width: 100%;
}
@media (min-width: 768px) {
  .text-cta .cta > * {
    width: 100%;
  }
}
.text-cta .entry-content strong {
  font-weight: 600;
}
.text-cta .entry-content ul li:before {
  background-color: var(--brand--blue);
}

.jurisdiction {
  --gap: 2rem;
}
.jurisdiction .wrapper {
  background-color: var(--brand--dark-blue);
}
.jurisdiction .panel {
  background-color: var(--brand--dark-blue);
  padding: 4rem 3rem;
  padding: 5rem 0;
  color: white;
  width: 100%;
}
.jurisdiction .panel > .heading {
  font-weight: 500;
  font-size: 2rem;
  margin-bottom: 3rem;
  text-align: center;
}
.jurisdiction .panel > * {
  z-index: 1;
}
.jurisdiction .panel:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(100% + 4rem);
  height: 100%;
  background-color: var(--brand--dark-blue);
  transform: translateX(-50%);
  z-index: -1;
}
.jurisdiction .items {
  flex-wrap: wrap;
  gap: var(--gap);
  justify-content: center;
}
@media (min-width: 1200px) {
  .jurisdiction .items {
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1400px) {
  .jurisdiction .items {
    max-width: 100%;
  }
}
.jurisdiction .items .item {
  flex: 1;
  width: 177px;
  flex: none;
  transition: transform 0.3s var(--easing);
  will-change: transform;
}
.jurisdiction .items .item .image img {
  aspect-ratio: 177/111;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.jurisdiction .items .item .heading {
  font-weight: 500;
  font-size: 1.4rem;
}
.jurisdiction .items .item:hover {
  transform: scale(1.05);
}

.full-width-text .header {
  margin-bottom: 3rem;
}

.guides-grid {
  --gap: 6rem;
}
.guides-grid .header {
  margin-bottom: 2rem;
}
.guides-grid .items {
  gap: 1rem var(--gap);
  flex-wrap: wrap;
  flex-direction: column;
}
@media (min-width: 768px) {
  .guides-grid .items {
    flex-direction: row;
    gap: 1rem var(--gap);
  }
}
.guides-grid .item {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #E8E9FF;
  width: 100%;
  font-weight: 700;
  transition: transform 0.1s var(--easing), opacity 0.1s var(--easing);
}
@media (min-width: 768px) {
  .guides-grid .item {
    width: calc(33.3333333333% - var(--gap) * 2 / 3);
    flex: none;
    height: 6rem;
    padding: 0;
  }
}
.guides-grid .item:hover {
  opacity: 0.7;
}
.guides-grid .item--view-all {
  border: none;
  color: var(--brand--blue);
}
.guides-grid .item--view-all svg {
  transition: transform 0.5s var(--easing), opacity 0.5s var(--easing);
}
.guides-grid .item--view-all:hover {
  opacity: 1;
}
.guides-grid .item--view-all:hover svg {
  transform: translateX(0.5rem);
}

.team-member {
  --gap: 4rem;
}
.team-member.section {
  padding-bottom: 2rem;
  padding-top: 1rem;
}
@media (min-width: 768px) {
  .team-member.section {
    padding-top: 3rem;
    padding-bottom: 10rem;
  }
}
@media (min-width: 992px) {
  .team-member.section {
    padding-top: 6rem;
  }
}
.team-member .header {
  flex-wrap: wrap;
  gap: 2rem;
}
@media (min-width: 768px) {
  .team-member .header {
    gap: var(--gap);
  }
}
.team-member .text,
.team-member .image {
  width: 100%;
}
@media (min-width: 768px) {
  .team-member .text,
  .team-member .image {
    width: calc(50% - var(--gap) * 1 / 2);
    flex: none;
  }
}
.team-member .image {
  aspect-ratio: 1;
  order: -1;
}
@media (min-width: 768px) {
  .team-member .image {
    order: unset;
  }
}
.team-member .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.team-member .tag {
  color: #F2F2F2;
  opacity: 0.8;
  font-size: 3.8rem;
  font-weight: 400;
  font-family: var(--brand--heading-font);
  top: 0;
  left: 0;
  line-height: 1;
  margin-top: 0;
  display: none;
}
@media (min-width: 768px) {
  .team-member .tag {
    display: block;
    margin-top: 2rem;
    font-size: 4.8rem;
  }
}
.team-member .name-post-nominals {
  text-wrap: balance;
  display: inline-block;
}
.team-member .role {
  font-weight: 600;
  font-size: 1.6rem;
  gap: 0;
  margin-top: -1rem;
  display: inline-flex;
  flex-wrap: wrap;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .team-member .role {
    margin-top: 0;
  }
}
.team-member .post-nominals:before {
  color: #F2F2F2;
}
.team-member .post-nominals span {
  font-size: 0.85rem;
  font-weight: 600;
}
.team-member .biography {
  margin-top: 0;
}
@media (min-width: 768px) {
  .team-member .biography {
    margin-top: 2rem;
  }
}
.team-member .gallery {
  --gap: 1.75rem;
  margin-top: 2rem;
}
@media (min-width: 768px) {
  .team-member .gallery {
    margin-top: 8rem;
  }
}
.team-member .gallery .items {
  gap: var(--gap);
  flex-wrap: wrap;
  flex-direction: column;
}
@media (min-width: 768px) {
  .team-member .gallery .items {
    aspect-ratio: 1120/340;
    flex-direction: row;
  }
}
.team-member .gallery .item {
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  background-position: center;
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .team-member .gallery .item {
    width: calc(25% - var(--gap) * 3 / 4);
    flex: none;
    aspect-ratio: 360/600;
    align-self: stretch;
  }
}
.team-member .gallery .item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 1s var(--easing), opacity 1s var(--easing);
}
.team-member .gallery .item img:not(.animate-in) {
  opacity: 0;
  transform: translateY(20px);
}
.team-member .gallery .item img.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.team-member .gallery .item .--inner {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 150%;
  transform: translateY(-50%);
  background-size: cover;
  background-position: center;
}
@media (min-width: 768px) {
  .team-member .gallery .item:nth-child(2) {
    transform: translateY(2rem);
  }
}
@media (min-width: 768px) {
  .team-member .gallery .item:nth-child(3):not(.item--message) {
    aspect-ratio: 1;
    width: 40%;
    flex: none;
  }
}
.team-member .gallery .item--message {
  flex: 1;
  aspect-ratio: unset;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.team-member .gallery .item--full-width {
  width: 100%;
  flex: none;
}
.team-member .gallery .item--full-width .content {
  max-width: 72rem;
  margin-top: 6rem;
}
.team-member .gallery .item .content {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;
  font-style: italic;
  position: relative;
  font-family: var(--brand--heading-font);
  padding: 0 0;
}
@media (min-width: 768px) {
  .team-member .gallery .item .content {
    padding: 3rem;
  }
}
.team-member .gallery .item .content i {
  position: relative;
}
.team-member .gallery .item .content i:first-of-type:before, .team-member .gallery .item .content i:last-of-type:before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='81.305' height='73.914'%3E%3Cpath fill='%23f2f2f2' d='m0 73.914 35.82-15.067V0H0Zm45.485 0 35.82-15.067V0h-35.82Z' data-name='Path 61'/%3E%3C/svg%3E");
  aspect-ratio: 81.305/73.914;
  width: 80px;
  height: auto;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
  z-index: -1;
}
@media (min-width: 768px) {
  .team-member .gallery .item .content i:first-of-type:before, .team-member .gallery .item .content i:last-of-type:before {
    display: inline;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
  }
}
.team-member .gallery .item .content i:last-of-type:before {
  top: auto;
  left: auto;
  right: 0;
  margin-left: auto;
}
@media (min-width: 768px) {
  .team-member .gallery .item .content i:last-of-type:before {
    bottom: 0;
    right: 0;
    transform: translate(80%, 65%);
  }
}
.team-member .nav {
  top: 0;
  display: none;
  gap: 0.5rem;
  display: block;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .team-member .nav {
    margin-bottom: 0;
    position: relative;
    display: block;
  }
}
.team-member .nav [data-nav=prev],
.team-member .nav [data-nav=next] {
  aspect-ratio: 1;
  width: 59px;
  height: auto;
}
.team-member .nav [data-nav=prev] svg [data-name=inner-circ],
.team-member .nav [data-nav=prev] svg [data-name=outer-circ],
.team-member .nav [data-nav=prev] svg [data-name=arrow],
.team-member .nav [data-nav=next] svg [data-name=inner-circ],
.team-member .nav [data-nav=next] svg [data-name=outer-circ],
.team-member .nav [data-nav=next] svg [data-name=arrow] {
  transition: transform 0.25s var(--easing), fill 0.25s var(--easing), opacity 0.5s var(--easing);
  will-change: transform, stroke, fill, opacity;
}
.team-member .nav [data-nav=prev] svg [data-name=inner-circ],
.team-member .nav [data-nav=next] svg [data-name=inner-circ] {
  fill: white;
  transform: scale(0);
  transform-origin: center;
  opacity: 0;
}
.team-member .nav [data-nav=prev] svg [data-name=arrow] line,
.team-member .nav [data-nav=prev] svg [data-name=arrow] path,
.team-member .nav [data-nav=next] svg [data-name=arrow] line,
.team-member .nav [data-nav=next] svg [data-name=arrow] path {
  transition: stroke 0.25s var(--easing), fill 0.25s var(--easing), transform 0.25s var(--easing);
  will-change: transform, stroke, fill;
}
.team-member .nav [data-nav=prev]:hover svg [data-name=inner-circ],
.team-member .nav [data-nav=next]:hover svg [data-name=inner-circ] {
  opacity: 0;
  transform: scale(1);
  fill: var(--brand--blue);
}
.team-member .nav [data-nav=prev]:hover svg [data-name=outer-circ],
.team-member .nav [data-nav=next]:hover svg [data-name=outer-circ] {
  opacity: 0;
}
.team-member .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.team-member .nav [data-nav=prev]:hover svg [data-name=arrow] path,
.team-member .nav [data-nav=next]:hover svg [data-name=arrow] line,
.team-member .nav [data-nav=next]:hover svg [data-name=arrow] path {
  fill: var(--brand--blue);
}
.team-member .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.team-member .nav [data-nav=next]:hover svg [data-name=arrow] line {
  stroke: var(--brand--blue);
}
.team-member .nav [data-nav=prev]:hover svg [data-name=arrow] {
  transform: translateX(-0.3rem);
}
.team-member .nav [data-nav=next]:hover svg [data-name=arrow] {
  transform: translateX(0.3rem);
}

.news-grid {
  background-color: var(--brand--dark-blue);
  margin-top: calc(var(--site-header-height) * -1);
  padding-top: var(--site-header-height);
  color: white;
  --gap: 2rem;
}
.news-grid .header {
  position: relative;
}
.news-grid .header .heading {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  color: var(--brand--blue);
  opacity: 0.8;
  font-size: 4rem;
  font-weight: 400;
  text-transform: none;
  font-family: var(--brand--heading-font);
  top: 0;
  left: 0;
  line-height: 1;
  transform: translate(-4%, -70%);
}
@media (min-width: 768px) {
  .news-grid .header .heading {
    font-size: 4.8rem;
  }
}
.news-grid .items {
  gap: var(--gap);
  flex-wrap: wrap;
  position: relative;
  margin-top: 4rem;
}
.news-grid .items.loading {
  opacity: 0.6;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.news-grid .items:before {
  content: "News";
  content: none;
  position: absolute;
  z-index: 1;
  pointer-events: none;
  color: var(--brand--blue);
  opacity: 0.8;
  font-size: 4.8rem;
  font-weight: 400;
  text-transform: none;
  font-family: var(--brand--heading-font);
  top: 0;
  left: 0;
  line-height: 1;
  transform: translate(-4%, -69%);
}
.news-grid .item {
  overflow: hidden;
  position: relative;
  width: 100%;
  flex: none;
  transition: transform 1s var(--easing), opacity 1s var(--easing);
}
@media (min-width: 768px) {
  .news-grid .item {
    width: calc(33.3333333333% - var(--gap) * 2 / 3);
    flex: none;
  }
}
.news-grid .item:not(.animate-in) {
  opacity: 0;
  transform: translateY(20px);
}
.news-grid .item.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.news-grid .item .panel {
  aspect-ratio: 5/6;
  width: 100%;
  height: auto;
  padding: 2rem;
  padding: 2rem 1.5rem;
}
@media (min-width: 768px) {
  .news-grid .item .panel {
    padding: 4rem 2rem;
  }
}
.news-grid .item:nth-child(1) {
  width: 100%;
}
@media (min-width: 768px) {
  .news-grid .item:nth-child(1) {
    width: calc(66.6666666667% - var(--gap) * 1 / 3);
    align-self: stretch;
  }
}
.news-grid .item:nth-child(1) .panel {
  aspect-ratio: 5/6;
}
@media (min-width: 768px) {
  .news-grid .item:nth-child(1) .panel {
    aspect-ratio: unset;
    aspect-ratio: 949.33/550.38;
  }
}
.news-grid .item .date {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .news-grid .item .date {
    margin-bottom: 1rem;
  }
}
.news-grid .item .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.news-grid .item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.8;
  transform: scale(1);
  transition: opacity 0.4s var(--easing), transform 0.4s var(--easing);
  will-change: opacity, transform;
}
.news-grid .item .text {
  max-width: 32rem;
}
.news-grid .item:hover .image img {
  opacity: 1;
  transform: scale(1.05);
}
.news-grid .paging .page-numbers path {
  stroke: white;
  fill: white;
}
.news-grid .paging .page-numbers span {
  color: white;
}
.news-grid .paging .page-numbers.current span {
  background-color: white;
  color: var(--brand--dark-blue);
}

.news > .section {
  padding: 0;
}
.news .entry-content img.aligncenter {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.news .nav {
  gap: 0.5rem;
}
.news .nav [data-nav=prev],
.news .nav [data-nav=next] {
  display: inline-flex;
  aspect-ratio: 1;
  width: 59px;
  height: auto;
}
.news .nav [data-nav=prev] svg [data-name=inner-circ],
.news .nav [data-nav=prev] svg [data-name=outer-circ],
.news .nav [data-nav=prev] svg [data-name=arrow],
.news .nav [data-nav=next] svg [data-name=inner-circ],
.news .nav [data-nav=next] svg [data-name=outer-circ],
.news .nav [data-nav=next] svg [data-name=arrow] {
  transition: transform 0.25s var(--easing), fill 0.25s var(--easing), opacity 0.5s var(--easing);
  will-change: transform, stroke, fill, opacity;
}
.news .nav [data-nav=prev] svg [data-name=inner-circ],
.news .nav [data-nav=next] svg [data-name=inner-circ] {
  fill: white;
  transform: scale(0);
  transform-origin: center;
  opacity: 0;
}
.news .nav [data-nav=prev] svg [data-name=arrow] line,
.news .nav [data-nav=prev] svg [data-name=arrow] path,
.news .nav [data-nav=next] svg [data-name=arrow] line,
.news .nav [data-nav=next] svg [data-name=arrow] path {
  transition: stroke 0.25s var(--easing), fill 0.25s var(--easing), transform 0.25s var(--easing);
  will-change: transform, stroke, fill;
}
.news .nav [data-nav=prev]:hover svg [data-name=inner-circ],
.news .nav [data-nav=next]:hover svg [data-name=inner-circ] {
  opacity: 0;
  transform: scale(1);
  fill: var(--brand--blue);
}
.news .nav [data-nav=prev]:hover svg [data-name=outer-circ],
.news .nav [data-nav=next]:hover svg [data-name=outer-circ] {
  opacity: 0;
}
.news .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.news .nav [data-nav=prev]:hover svg [data-name=arrow] path,
.news .nav [data-nav=next]:hover svg [data-name=arrow] line,
.news .nav [data-nav=next]:hover svg [data-name=arrow] path {
  fill: var(--brand--blue);
}
.news .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.news .nav [data-nav=next]:hover svg [data-name=arrow] line {
  stroke: var(--brand--blue);
}
.news .nav [data-nav=prev]:hover svg [data-name=arrow] {
  transform: translateX(-0.3rem);
}
.news .nav [data-nav=next]:hover svg [data-name=arrow] {
  transform: translateX(0.3rem);
}

.contact-overlay {
  background-color: #F2F2F2;
  color: var(--brand--blue);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 100vh;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  transition: transform 0.3s ease-in-out;
  transform: translateX(100%);
  color: white;
  padding-top: 2rem;
  padding-bottom: 2rem;
  background-image: url("../img/contours--contact-overlay.png");
  background-size: cover;
  --gap: 3rem;
}
@media (min-width: 992px) {
  .contact-overlay {
    --gap: 5rem;
  }
}
.contact-overlay.is-open {
  transform: translateX(0);
}
.contact-overlay .header .wrapper {
  flex-direction: row;
}
.contact-overlay .main {
  margin-top: 6rem;
}
.contact-overlay .main .wrapper {
  flex-wrap: wrap;
}
@media (min-width: 992px) and (max-width: 1400px) {
  .contact-overlay .main .wrapper {
    align-items: flex-start;
  }
}
.contact-overlay .wrapper {
  flex-direction: column;
  gap: 2rem var(--gap);
}
@media (min-width: 992px) {
  .contact-overlay .wrapper {
    flex-direction: row;
  }
}
.contact-overlay .close {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  cursor: pointer;
}
.contact-overlay .close svg {
  transition: fill 0.1s var(--easing), transform 1s var(--easing), opacity 0.75s var(--easing);
  will-change: fill transform opacity;
}
.contact-overlay .close svg rect {
  transition: fill 0.1s var(--easing), transform 0.3s var(--easing);
  will-change: fill transform;
}
.contact-overlay .close:hover svg {
  transform: rotate(180deg);
  opacity: 1;
}
.contact-overlay .heading {
  width: 100%;
  flex: none;
}
.contact-overlay .form,
.contact-overlay .text {
  width: 100%;
  color: var(--brand--blue);
  gap: 3rem;
}
@media (min-width: 992px) {
  .contact-overlay .form,
  .contact-overlay .text {
    gap: 1rem;
    width: calc(50% - var(--gap) * 0.5);
    flex: none;
  }
}
.contact-overlay .text {
  flex-direction: column;
}
@media (min-width: 1400px) {
  .contact-overlay .text {
    flex-direction: row;
  }
}
.contact-overlay .contact-address-social {
  gap: 3rem;
}
.contact-overlay .contact {
  gap: 0.3rem;
  font-weight: 500;
  font-size: 1.5rem;
  font-family: var(--brand--heading-font);
  line-height: 1.4;
}
.contact-overlay address {
  font-size: 1.2rem;
}
.contact-overlay .locations {
  gap: 2rem;
}
.contact-overlay .locations .heading {
  font-weight: 500;
  font-size: 1.5rem;
  font-family: var(--brand--heading-font);
  line-height: 1.4;
  margin-bottom: 1rem;
}
.contact-overlay .locations .items {
  gap: 1rem;
  font-size: 1.2rem;
}
.contact-overlay .locations a {
  position: relative;
}
.contact-overlay .locations a span {
  z-index: 1;
  position: relative;
}
.contact-overlay .locations a:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--brand--blue);
  left: 0;
  bottom: 0;
  transform-origin: right bottom;
  transform: scaleY(0);
  transition: transform 0.3s var(--easing);
  will-change: transform;
}
.contact-overlay .locations a:hover {
  color: white;
}
.contact-overlay .locations a:hover:after {
  transform: scaleY(1);
}
.contact-overlay .social a [data-name=outer-circ] {
  transition: opacity 0.2s var(--easing);
}
.contact-overlay .social a [data-name=icon] {
  transform: scale(1);
  transform-origin: center;
  transition: transform 0.5s var(--easing);
  will-change: transform;
}
.contact-overlay .social a:hover [data-name=outer-circ] {
  opacity: 0;
}
.contact-overlay .social a:hover [data-name=icon] {
  transform: scale(1.1);
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=number],
input[type=password],
textarea,
select {
  height: 50px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid var(--brand--blue);
  border-radius: 5px;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  border-color: white;
  font-weight: 600;
  color: var(--brand--blue);
  opacity: 1;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=url]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=password]::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  font-size: 1rem;
  color: var(--brand--blue);
  opacity: 1;
  font-weight: 600;
  color: var(--brand--blue);
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=url]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder,
textarea::placeholder,
select::placeholder {
  font-size: 1rem;
  color: var(--brand--blue);
  opacity: 1;
  font-weight: 600;
  color: var(--brand--blue);
}

textarea {
  height: 185px;
}

::-moz-placeholder {
  font-size: 1.2rem;
  color: var(--brand--blue);
  opacity: 1;
  font-weight: 600;
  color: var(--brand--blue);
}

::placeholder {
  font-size: 1.2rem;
  color: var(--brand--blue);
  opacity: 1;
  font-weight: 600;
  color: var(--brand--blue);
}

body.dialog-open {
  overflow: hidden;
}

.mfp-wrap {
  overflow: hidden;
}

.dialog {
  background-color: #E8E9FF;
  color: var(--brand--blue);
  border-color: #E8E9FF;
  max-width: 890px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  border-radius: 0;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  overflow: auto scroll;
  height: 100dvh;
}
@media (min-width: 768px) {
  .dialog {
    height: auto;
    overflow: auto;
    border-radius: 15px;
    padding: 3rem 2.5rem;
  }
}
.dialog::backdrop {
  background-color: #010734;
  opacity: 0.9;
}
.dialog .close {
  position: absolute;
  right: 0;
  top: 0;
  margin: 1rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--brand--blue);
  font-size: 1.5rem;
  font-weight: 600;
}
.dialog .close svg {
  transition: fill 0.1s var(--easing), transform 1s var(--easing), opacity 0.75s var(--easing);
  will-change: fill transform opacity;
}
.dialog .close svg rect {
  transition: fill 0.1s var(--easing), transform 0.3s var(--easing);
  will-change: fill transform;
}
.dialog .close:hover svg {
  transform: rotate(180deg);
  opacity: 1;
}
.dialog .mfp-close {
  display: none;
}

.mfp-bg {
  background-color: #010734 !important;
  opacity: 0.9 !important;
}

.mfp-content {
  padding-top: 0;
  padding-bottom: 0;
}
@media (min-width: 768px) {
  .mfp-content {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

@media (max-width: 767px) {
  .mfp-container {
    padding-left: 0;
    padding-right: 0;
  }
}

.ginput_container {
  position: relative;
}

select,
.select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.831' height='10.677'%3E%3Cpath fill='%23120bd9' stroke='%23120bd9' stroke-width='1.5' d='m8.225 8.911.007-.007-7.17-7.135.708-.708 7.167 7.136 7.125-7.136.708.708-7.837 7.848Z' data-name='Union 21'/%3E%3C/svg%3E");
  background-size: 17.831px 10.677px;
  background-position: right 1rem center;
  background-repeat: no-repeat;
  cursor: pointer;
}

.required i:before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19.73' height='18.767'%3E%3Cpath fill='%23120bd9' d='m19.73 8.868-1.444-4.4-6.324 2.269L12.168 0H7.493l.206 6.668-6.325-2.2L0 8.868l6.393 1.925-4.053 5.293 3.71 2.681 3.85-5.5 3.781 5.5 3.712-2.681-4.053-5.293Z' data-name='Path 63'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  aspect-ratio: 19.73/18.767;
  width: 16px;
  height: auto;
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0.5rem;
  pointer-events: none;
  transform: translateY(-50%);
}

.gfield_validation_message {
  font-size: 1rem;
}

.gform_confirmation_message {
  text-align: center;
}

.guides-list {
  background-color: var(--brand--light-grey);
  --gap: 0;
}
.guides-list .wrapper {
  gap: 0;
  flex-direction: column;
}
@media (min-width: 768px) {
  .guides-list .wrapper {
    flex-direction: row;
  }
}
.guides-list .categories {
  width: 100%;
  font-size: 1.6rem;
  padding: 2rem;
  font-weight: 600;
}
@media (min-width: 768px) {
  .guides-list .categories {
    width: auto;
    padding-left: 0;
  }
}
@media (min-width: 992px) {
  .guides-list .categories {
    width: 420px;
    padding: 2rem;
  }
}
.guides-list .categories a {
  width: 100%;
}
.guides-list .categories a i {
  flex: 1;
  position: relative;
}
.guides-list .categories a i:before {
  content: "";
  height: 2px;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  background-color: var(--brand--blue);
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 0.2s var(--easing);
}
.guides-list .categories a.is-active, .guides-list .categories a:hover {
  color: var(--brand--blue);
}
.guides-list .categories a.is-active i:before, .guides-list .categories a:hover i:before {
  transform: scaleX(1);
}
.guides-list .categories a.item--child {
  font-size: 1rem;
}
.guides-list .items {
  background-color: white;
  padding: 0.5rem 1.5rem;
  flex: 1;
  flex-wrap: wrap;
  gap: 0;
}
@media (min-width: 768px) {
  .guides-list .items {
    padding: 2rem;
  }
}
.guides-list .items .item {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #E8E9FF;
  width: 100%;
  font-weight: 700;
}
@media (min-width: 768px) {
  .guides-list .items .item {
    flex: none;
    height: 6rem;
    padding: 0;
  }
}
.guides-list .items .item:hover {
  color: var(--brand--blue);
}
.guides-list .items .item.is-visible.last {
  border-bottom: none;
}
.guides-list .categories {
  display: none;
}
@media (min-width: 768px) {
  .guides-list .categories {
    display: flex;
  }
}
.guides-list .categories-mobile {
  display: block;
  margin-bottom: 2rem;
  width: 100%;
}
@media (min-width: 768px) {
  .guides-list .categories-mobile {
    display: none;
  }
}
.guides-list .categories-mobile .heading {
  margin-bottom: 2rem;
}
.guides-list .categories-mobile .custom-select {
  width: 100%;
}

.popular-guides {
  background-color: var(--brand--light-grey);
  --gap: 1rem;
}
.popular-guides.section {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.popular-guides .items {
  margin-top: 3rem;
  gap: var(--gap);
  flex-wrap: wrap;
}
.popular-guides .items .item {
  background-color: white;
  padding: 2rem;
  font-weight: 700;
  align-self: stretch;
  flex: none;
  min-height: 8rem;
  width: 100%;
}
@media (min-width: 576px) {
  .popular-guides .items .item {
    width: calc(50% - var(--gap) * 1 / 2);
  }
}
@media (min-width: 768px) {
  .popular-guides .items .item {
    width: calc(33.3333333333% - var(--gap) * 2 / 3);
  }
}
@media (min-width: 1400px) {
  .popular-guides .items .item {
    width: calc(25% - var(--gap) * 3 / 4);
  }
}
@media (min-width: 1600px) {
  .popular-guides .items .item {
    width: calc(20% - var(--gap) * 4 / 5);
  }
}
.popular-guides .items .item:hover {
  background-color: rgba(255, 255, 255, 0.4);
}

.guide .nav {
  gap: 0.5rem;
}
.guide .nav [data-nav=prev],
.guide .nav [data-nav=next] {
  display: inline-flex;
  aspect-ratio: 1;
  width: 59px;
  height: auto;
}
.guide .nav [data-nav=prev] svg [data-name=inner-circ],
.guide .nav [data-nav=prev] svg [data-name=outer-circ],
.guide .nav [data-nav=prev] svg [data-name=arrow],
.guide .nav [data-nav=next] svg [data-name=inner-circ],
.guide .nav [data-nav=next] svg [data-name=outer-circ],
.guide .nav [data-nav=next] svg [data-name=arrow] {
  transition: transform 0.25s var(--easing), fill 0.25s var(--easing), opacity 0.5s var(--easing);
  will-change: transform, stroke, fill, opacity;
}
.guide .nav [data-nav=prev] svg [data-name=inner-circ],
.guide .nav [data-nav=next] svg [data-name=inner-circ] {
  fill: white;
  transform: scale(0);
  transform-origin: center;
  opacity: 0;
}
.guide .nav [data-nav=prev] svg [data-name=arrow] line,
.guide .nav [data-nav=prev] svg [data-name=arrow] path,
.guide .nav [data-nav=next] svg [data-name=arrow] line,
.guide .nav [data-nav=next] svg [data-name=arrow] path {
  transition: stroke 0.25s var(--easing), fill 0.25s var(--easing), transform 0.25s var(--easing);
  will-change: transform, stroke, fill;
}
.guide .nav [data-nav=prev]:hover svg [data-name=inner-circ],
.guide .nav [data-nav=next]:hover svg [data-name=inner-circ] {
  opacity: 0;
  transform: scale(1);
  fill: var(--brand--blue);
}
.guide .nav [data-nav=prev]:hover svg [data-name=outer-circ],
.guide .nav [data-nav=next]:hover svg [data-name=outer-circ] {
  opacity: 0;
}
.guide .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.guide .nav [data-nav=prev]:hover svg [data-name=arrow] path,
.guide .nav [data-nav=next]:hover svg [data-name=arrow] line,
.guide .nav [data-nav=next]:hover svg [data-name=arrow] path {
  fill: var(--brand--blue);
}
.guide .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.guide .nav [data-nav=next]:hover svg [data-name=arrow] line {
  stroke: var(--brand--blue);
}
.guide .nav [data-nav=prev]:hover svg [data-name=arrow] {
  transform: translateX(-0.3rem);
}
.guide .nav [data-nav=next]:hover svg [data-name=arrow] {
  transform: translateX(0.3rem);
}

.paging {
  margin-top: 3rem;
  gap: 0;
}
.paging .page-numbers {
  margin-left: 1rem;
  margin-right: 1rem;
}
.paging .page-numbers.current {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.paging .page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.paging .page-numbers:hover span {
  font-weight: 800;
}
.paging .page-numbers.current span {
  font-weight: 800;
  aspect-ratio: 1;
  width: 3rem;
  border-radius: 50%;
}
.paging .next,
.paging .prev {
  display: none;
}

._paging {
  margin-top: 3rem;
  gap: 1rem;
}
._paging .page-numbers path {
  stroke: white;
  fill: white;
}
._paging .page-numbers span {
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
._paging .page-numbers:hover span {
  font-weight: 800;
}
._paging .page-numbers.current span {
  background-color: white;
  color: var(--brand--dark-blue);
  font-weight: 800;
  aspect-ratio: 1;
  width: 3rem;
  border-radius: 50%;
}

.two-column-text {
  --gap: 3rem;
  --gap: 6rem;
}
.two-column-text .items {
  gap: var(--gap);
  flex-wrap: wrap;
}
@media (min-width: 1200px) {
  .two-column-text .item {
    width: calc(50% - var(--gap) * 1 / 2);
    flex: none;
  }
}
.two-column-text .header + .items {
  margin-top: 2rem;
}

.full-width-image .wrapper {
  max-width: 100%;
  padding: 0;
}
.full-width-image .image {
  aspect-ratio: 1;
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .full-width-image .image {
    aspect-ratio: 16/9;
  }
}
.full-width-image .image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media (min-width: 768px) {
  .full-width-image .image img {
    height: auto;
  }
}

.blockquote-cta {
  text-align: center;
}
.blockquote-cta .wrapper {
  max-width: 64rem;
}
.blockquote-cta .heading {
  margin-bottom: 2rem;
  line-height: 1.3;
}

.form-cta {
  text-align: center;
}
.form-cta .wrapper {
  max-width: 47rem;
}
.form-cta .logo {
  display: inline-block;
  margin-top: -5rem;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .form-cta .logo {
    margin-top: -6rem;
    margin-bottom: 2rem;
  }
}
.form-cta .logo svg {
  width: 7.5rem;
  transform: translate(8%, -10%);
}
.form-cta .heading {
  margin-bottom: 2rem;
}
.form-cta a {
  text-decoration: none;
  cursor: pointer;
}
.form-cta .panel {
  background-color: #E8E9FF;
  border-radius: 0.5rem;
  padding: 2rem 1.5rem;
  text-align: center;
}
@media (min-width: 768px) {
  .form-cta .panel {
    padding: 3rem 4rem;
  }
}

.vacancies-grid {
  background-color: var(--brand--blue);
  background-color: #010734;
  color: white;
  --gap: 1.5rem;
}
@media (min-width: 768px) {
  .vacancies-grid {
    --gap: 2rem;
  }
}
.vacancies-grid .subheading {
  margin-top: 0.5rem;
}
.vacancies-grid .items {
  gap: var(--gap);
  margin-top: 2rem;
  flex-wrap: wrap;
}
.vacancies-grid .item {
  aspect-ratio: 5/4;
  position: relative;
  overflow: hidden;
  background-color: var(--brand--dark-blue);
  width: 100%;
}
@media (min-width: 768px) {
  .vacancies-grid .item {
    width: calc((100% - 2 * var(--gap)) / 3);
    flex: none;
  }
}
.vacancies-grid .item .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.vacancies-grid .item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.6;
  transform: scale(1);
  transition: opacity 0.9s var(--easing), transform 1.1s var(--easing);
  will-change: opacity, transform;
}
.vacancies-grid .item .text {
  width: 100%;
  height: 100%;
  padding: 1.5rem;
}
.vacancies-grid .item .text .title {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
  font-family: var(--brand--heading-font);
}
.vacancies-grid .item .text .location {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  text-transform: uppercase;
  font-size: 1rem;
  width: 100%;
  margin: 1rem 0;
}
@media (min-width: 768px) {
  .vacancies-grid .item .text .location {
    margin: 1.5rem 0;
  }
}
.vacancies-grid .item:hover .image img {
  transform: scale(1.05);
}

.vacancy {
  margin-top: calc(var(--site-header-height) * -1);
}
.vacancy.section {
  padding-top: 0;
}
.vacancy > .header {
  padding-top: var(--site-header-height);
  background-color: var(--brand--blue);
  color: white;
  --gap: 4rem;
}
.vacancy > .header .wrapper {
  flex-wrap: wrap;
  gap: var(--gap);
  padding-top: 4rem;
  padding-bottom: 4rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .vacancy > .header .wrapper {
    flex-direction: row;
  }
}
.vacancy > .header .text,
.vacancy > .header .image {
  width: 100%;
}
@media (min-width: 768px) {
  .vacancy > .header .text,
  .vacancy > .header .image {
    width: calc(50% - var(--gap) * 1 / 2);
    flex: none;
  }
}
.vacancy > .header .image {
  aspect-ratio: 1;
  align-self: stretch;
}
.vacancy > .header .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.vacancy > .header .location {
  text-transform: uppercase;
  font-size: 1.2rem;
}
.vacancy .duties li,
.vacancy .requirements li {
  -moz-column-break-inside: avoid;
       break-inside: avoid-column;
}
.vacancy .requirements.section {
  padding-top: 0;
}
.vacancy .nav {
  gap: 0.5rem;
}
.vacancy .nav [data-nav=prev],
.vacancy .nav [data-nav=next] {
  aspect-ratio: 1;
  width: 59px;
  height: auto;
}
.vacancy .nav [data-nav=prev] svg [data-name=inner-circ],
.vacancy .nav [data-nav=prev] svg [data-name=outer-circ],
.vacancy .nav [data-nav=prev] svg [data-name=arrow],
.vacancy .nav [data-nav=next] svg [data-name=inner-circ],
.vacancy .nav [data-nav=next] svg [data-name=outer-circ],
.vacancy .nav [data-nav=next] svg [data-name=arrow] {
  transition: transform 0.25s var(--easing), fill 0.25s var(--easing), opacity 0.5s var(--easing);
  will-change: transform, stroke, fill, opacity;
}
.vacancy .nav [data-nav=prev] svg [data-name=outer-circ],
.vacancy .nav [data-nav=next] svg [data-name=outer-circ] {
  stroke: white;
}
.vacancy .nav [data-nav=prev] svg [data-name=arrow] line,
.vacancy .nav [data-nav=prev] svg [data-name=arrow] path,
.vacancy .nav [data-nav=next] svg [data-name=arrow] line,
.vacancy .nav [data-nav=next] svg [data-name=arrow] path {
  fill: white;
  stroke: white;
}
.vacancy .nav [data-nav=prev] svg [data-name=inner-circ],
.vacancy .nav [data-nav=next] svg [data-name=inner-circ] {
  fill: white;
  transform: scale(0);
  transform-origin: center;
  opacity: 0;
}
.vacancy .nav [data-nav=prev] svg [data-name=arrow] line,
.vacancy .nav [data-nav=prev] svg [data-name=arrow] path,
.vacancy .nav [data-nav=next] svg [data-name=arrow] line,
.vacancy .nav [data-nav=next] svg [data-name=arrow] path {
  transition: stroke 0.25s var(--easing), fill 0.25s var(--easing), transform 0.25s var(--easing);
  will-change: transform, stroke, fill;
}
.vacancy .nav [data-nav=prev]:hover svg [data-name=inner-circ],
.vacancy .nav [data-nav=next]:hover svg [data-name=inner-circ] {
  opacity: 0;
  transform: scale(1);
  fill: white;
}
.vacancy .nav [data-nav=prev]:hover svg [data-name=outer-circ],
.vacancy .nav [data-nav=next]:hover svg [data-name=outer-circ] {
  opacity: 0;
}
.vacancy .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.vacancy .nav [data-nav=prev]:hover svg [data-name=arrow] path,
.vacancy .nav [data-nav=next]:hover svg [data-name=arrow] line,
.vacancy .nav [data-nav=next]:hover svg [data-name=arrow] path {
  fill: white;
}
.vacancy .nav [data-nav=prev]:hover svg [data-name=arrow] line,
.vacancy .nav [data-nav=next]:hover svg [data-name=arrow] line {
  stroke: white;
}
.vacancy .nav [data-nav=prev]:hover svg [data-name=arrow] {
  transform: translateX(-0.3rem);
}
.vacancy .nav [data-nav=next]:hover svg [data-name=arrow] {
  transform: translateX(0.3rem);
}

@media (min-width: 768px) {
  * {
    cursor: none;
  }
}

@media (min-width: 768px) {
  body:hover .os-cursor {
    opacity: 0.8;
  }
}

.os-cursor {
  opacity: 0;
  position: fixed;
  pointer-events: none;
  z-index: 99999;
  mix-blend-mode: hard-light;
}
.os-cursor:after {
  content: "";
  display: flex;
  background-color: white;
  background-color: var(--brand--blue);
  background-color: transparent;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  will-change: transform, opacity, width, height, background-color, border-width;
  transition: transform 0.3s, opacity 0.3s, width 0.3s, height 0.3s, background-color 0.3s, border-width 0.3s;
  position: absolute;
  transform: translate(-50%, -50%) scale(1);
  width: 25px;
  height: 25px;
  border: 6px solid var(--brand--red);
}

.os-cursor--hover:after {
  transform: translate(-50%, -50%) scale(2);
}/*# sourceMappingURL=main.css.map */