:root {
  --body-font-weight: 300;
  --body-line-height: 1.6;
  --body-font-size: 16px;
  --body-text-color: #707070;
  --body-bg-color: #f8f8f8;
  --brand-heading-font: jubilat, serif;
  --brand-body-font: halcom, sans-serif;
  --brand-primary-color: #0DB9C3;
  --brand-body-color: var( --body-text-color ); }

/* colors */
/* breakpoints */
.btn {
  font-family: var(--brand-body-font);
  border-style: solid;
  border-width: 3px;
  border-radius: 4px;
  text-decoration: none;
  background-color: transparent;
  border-color: transparent;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 400;
  cursor: pointer;
  position: relative;
  color: white;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
  transition: all 50ms ease;
  height: 50px;
  padding: 0;
  min-width: 0;
  font-weight: 500;
  font-size: 1.2rem;
  width: 250px; }
  .btn--white {
    background-color: white;
    border-color: white;
    color: var(--brand-primary-color); }
    .btn--white:hover {
      opacity: 0.5; }
  .btn--primary {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: white; }
    .btn--primary:hover {
      opacity: 0.9; }
  .btn .icon--right-arrow {
    margin-left: 1rem;
    transition: -webkit-transform 250ms ease;
    transition: transform 250ms ease;
    transition: transform 250ms ease, -webkit-transform 250ms ease; }
  .btn:hover .icon--right-arrow,
  .btn:hover .icon--right-arrow {
    -webkit-transform: translateX(0.3rem);
            transform: translateX(0.3rem); }

select {
  border: 1px solid #AEAEAE;
  padding: 1rem 0.5rem;
  font-size: 1rem;
  background-color: transparent; }

.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme textarea {
  background-color: #f0f0ed;
  border-color: #f0f0ed;
  border: 1px solid #f0f0ed;
  padding: 1rem !important;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  font-family: var(--brand-body-font);
  border-radius: 3px; }

.gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
  border: 1px solid #f0f0ed;
  border-left: 3px solid red; }

.gform_wrapper.gravity-theme .gfield_label {
  font-weight: normal; }

.gform_wrapper.gravity-theme .gfield_radio {
  display: flex;
  gap: 2rem; }

.gform_wrapper.gravity-theme .ginput_counter {
  display: none; }

.gform_wrapper.gravity-theme #gform_submit_button_1 {
  margin-left: auto;
  max-width: 200px; }

.gform_wrapper.gravity-theme .field_description_above .gfield_description {
  background: none;
  border: none;
  padding-left: 0;
  color: red; }

.gform_wrapper.gravity-theme .gform_validation_errors {
  display: none;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  color: red; }
  .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
    color: red;
    font-family: var(--brand-body-font); }
  .gform_wrapper.gravity-theme .gform_validation_errors ol {
    display: none; }

.gform_wrapper.gravity-theme img.gform_ajax_spinner {
  position: absolute;
  top: 0;
  left: 100%;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transform: translate(1rem, 0.8rem);
          transform: translate(1rem, 0.8rem); }

.gform_wrapper.gravity-theme #field_submit {
  position: relative; }

html {
  box-sizing: border-box;
  scroll-behavior: smooth; }

*, *:before, *:after {
  box-sizing: inherit; }

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--body-text-color);
  background-color: var(--body-bg-color); }

select:focus-visible {
  outline: none; }

img {
  vertical-align: bottom;
  height: auto;
  width: 100%; }

a:not(.btn) {
  transition: all 150ms ease;
  text-decoration: none; }

.hamburger {
  display: block;
  background: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  border: none;
  min-width: 2.4rem;
  min-height: 1.8rem;
  padding: 1rem;
  will-change: opacity;
  transition: opacity 250ms ease; }
  .hamburger:hover {
    cursor: pointer; }
    .hamburger:hover span {
      background-color: var(--brand-primary-color); }
  .hamburger i {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.4rem;
    height: 1.8rem;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    .hamburger i span {
      display: block;
      height: 3px;
      width: 100%;
      position: absolute;
      background-color: #939388;
      will-change: transform opacity background-color;
      transition: opacity 250ms ease, background-color 250ms ease, -webkit-transform 250ms ease;
      transition: transform 250ms ease, opacity 250ms ease, background-color 250ms ease;
      transition: transform 250ms ease, opacity 250ms ease, background-color 250ms ease, -webkit-transform 250ms ease; }
      .hamburger i span:nth-child(1) {
        -webkit-transform-origin: 100% 0;
                transform-origin: 100% 0; }
      .hamburger i span:nth-child(2) {
        top: calc( 1.8rem / 2 - 3px / 2); }
      .hamburger i span:nth-child(3) {
        bottom: 0;
        -webkit-transform-origin: 100% 100%;
                transform-origin: 100% 100%;
        -webkit-transform: scaleX(0.6);
                transform: scaleX(0.6); }
  .hamburger--white i span {
    background-color: white; }
  .hamburger.is-active i span:nth-child(1) {
    background-color: #707070;
    -webkit-transform: translateX(-5px) translateY(-0.5px) rotate(-45deg);
            transform: translateX(-5px) translateY(-0.5px) rotate(-45deg); }
  .hamburger.is-active i span:nth-child(2) {
    background-color: #707070;
    opacity: 0; }
  .hamburger.is-active i span:nth-child(3) {
    background-color: #707070;
    -webkit-transform: translateX(-5px) translateY(0.5px) rotate(45deg) scaleX(1);
            transform: translateX(-5px) translateY(0.5px) rotate(45deg) scaleX(1); }

.icon {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: -webkit-transform 250ms ease;
  transition: transform 250ms ease;
  transition: transform 250ms ease, -webkit-transform 250ms ease; }
  .icon--long-thin-right-arrow {
    background-image: url("../img/icon--long-thin-right-arrow.png");
    width: 5rem;
    height: 2.5rem; }
  .icon--right-arrow {
    background-image: url("../img/icon--long-right-arrow.svg");
    width: 50px;
    height: 18px; }
  .icon--left-arrow {
    background-image: url("../img/icon--left-arrow.svg");
    width: 50px;
    height: 18px; }
  .icon--short-right-arrow {
    background-image: url("../img/icon--long-right-arrow.svg");
    width: 25px;
    height: 18px;
    background-position: right;
    background-size: 50px 18px; }
  .icon--long-down-arrow {
    background-image: url("../img/icon--long-down-arrow.svg");
    width: 77.5px;
    height: 167.92px; }
  .icon--back-up {
    background-image: url("../img/icon--back-up.svg");
    width: 80px;
    height: 80px; }
  .icon--linkedin {
    background-image: url("../img/icon--linkedin.svg");
    width: 39px;
    height: 39px; }
  .icon--right-arrow-alt {
    background-image: url("../img/icon--right-arrow-alt.svg");
    width: 1.8rem;
    height: 0.5rem; }
  .icon--down-caret {
    background-image: url("../img/icon--down-caret.svg");
    width: 0.8rem;
    height: 0.8rem; }
  .icon--right-caret {
    background-image: url("../img/icon--down-caret.svg");
    width: 0.8rem;
    height: 0.8rem; }
  .icon--blue {
    -webkit-filter: invert(28%) sepia(17%) saturate(4853%) hue-rotate(186deg) brightness(92%) contrast(92%);
            filter: invert(28%) sepia(17%) saturate(4853%) hue-rotate(186deg) brightness(92%) contrast(92%); }
  .icon--phone {
    background-image: url("../img/icon--phone.png");
    width: 1.8rem;
    height: 1.8rem; }
  .icon--envelope {
    background-image: url("../img/icon--envelope.png");
    width: 1.8rem;
    height: 1.8rem; }
  .icon--close {
    background-image: url("../img/icon--close.png");
    width: 1.8rem;
    height: 1.8rem; }
  .icon--circle-plus {
    background-image: url("../img/icon--circle-plus.svg");
    width: 51px;
    height: 51px; }
  .icon--choose-manager {
    background-image: url("../img/icon--choose-manager.png");
    height: 80px;
    width: 80px; }
  .icon--deal-direct {
    background-image: url("../img/icon--deal-direct.png");
    height: 80px;
    width: 80px; }
  .icon--market-leading {
    background-image: url("../img/icon--market-leading.png");
    height: 80px;
    width: 80px; }
  .icon--no-commission {
    background-image: url("../img/icon--no-commission.png");
    height: 80px;
    width: 80px; }
  .icon--pension-transfer {
    background-image: url("../img/icon--pension-transfer.png");
    height: 80px;
    width: 80px; }
  .icon--tax-approvals {
    background-image: url("../img/icon--tax-approvals.png");
    height: 80px;
    width: 80px; }

a:hover .icon--right-arrow,
a:hover .icon--right-arrow {
  -webkit-transform: translateX(0.5rem);
          transform: translateX(0.5rem); }

a:hover .icon--left-arrow,
a:hover .icon--left-arrow {
  -webkit-transform: translateX(-0.5rem);
          transform: translateX(-0.5rem); }

.wrapper {
  width: 100%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  /*
	@media (min-width:576px)
	{
		outline: 5px dotted red;
	}

	@media (min-width:768px)
	{
		outline: 5px dotted orange;
	}

	@media (min-width:992px)
	{
		outline: 5px dotted yellow;
	}

	@media (min-width:1200px)
	{
		outline: 5px dotted green;
		max-width: 992px;
	}

	@media (min-width:1400px)
	{
		outline: 5px dotted blue;
		max-width: 1200px;
	}

	@media (min-width:1600px)
	{
		outline: 5px dotted indigo;
		max-width: 1400px;
	}

	@media (min-width:1964px)
	{
		outline: 5px dotted violet;
		max-width: 1400px;
	}
	*/ }
  .wrapper--narrow {
    max-width: calc( 320px + 4rem); }
    @media (min-width: 720px) {
      .wrapper--narrow {
        max-width: calc( 670px + 4rem); } }
.columns {
  display: flex;
  flex-direction: column;
  gap: 2rem; }
  @media (min-width: 720px) {
    .columns {
      flex-direction: row; } }
  .columns .column {
    flex: 1; }

.section {
  margin-top: 4rem;
  margin-bottom: 4rem; }
  @media (min-width: 1200px) {
    .section {
      margin-top: 10rem;
      margin-bottom: 10rem; } }
  .section--inner {
    margin: 0;
    padding-top: 4rem;
    padding-bottom: 4rem; }
    @media (min-width: 992px) {
      .section--inner {
        padding-top: 7rem;
        padding-bottom: 7rem; } }
.gutter {
  padding-left: 1rem;
  padding-right: 1rem; }
  @media (min-width: 992px) {
    .gutter {
      padding-left: 2rem;
      padding-right: 2rem; } }
h1, h2, h3, h4, h4, h5, h6 {
  line-height: 1.2;
  font-family: var(--brand-heading-font); }

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

a {
  text-decoration: underline;
  color: var(--body-text-color); }

strong {
  font-weight: bold; }

em {
  font-style: italic; }

.excerpt-text {
  line-height: 1.9; }

.entry-content ol, .entry-content ul {
  display: flex;
  gap: 0.5rem;
  flex-direction: column;
  list-style-type: decimal;
  padding-left: 1rem;
  margin-left: 1rem; }

.entry-content ol ol {
  list-style-type: lower-alpha; }

.entry-content ul {
  list-style-type: disc; }

.entry-content li::marker {
  font-weight: 400; }

.entry-content > *:not(:last-child) {
  margin-bottom: 1rem; }

.entry-content strong {
  font-weight: bold; }

.heading--small {
  font-size: 1.6rem;
  font-weight: 500;
  font-family: var(--brand-body-font);
  text-transform: uppercase; }

.heading--expertise-item-heading {
  font-size: 1.4rem;
  font-weight: 200;
  font-family: var(--brand-body-font);
  text-transform: uppercase;
  color: var(--brand-primary-color); }

.heading--page-header {
  font-size: 2.4rem;
  font-weight: 300;
  font-family: var(--brand-body-font);
  text-transform: uppercase;
  color: white; }

.heading--service-list {
  font-size: 1.6rem;
  font-weight: 500;
  font-family: var(--brand-body-font);
  text-transform: uppercase; }

.heading--about {
  font-size: 2rem;
  font-weight: 300;
  font-family: var(--brand-body-font);
  text-transform: uppercase; }

.heading--keyline:after {
  content: '';
  display: block;
  width: 110px;
  height: 1px;
  background-color: var(--brand-primary-color);
  margin-top: 1rem; }

.heading--about.heading--keyline:after {
  background-color: #434143; }

.heading--full-width-cta {
  font-size: 2.6rem;
  font-weight: 300; }

.heading--home-intro {
  font-size: 1.6rem;
  font-weight: 300; }
  @media (min-width: 768px) {
    .heading--home-intro {
      font-size: 2.6rem; } }
.heading--dictionary, .heading--useful-links {
  font-size: 1.7rem;
  font-weight: 500;
  font-family: var(--brand-body-font); }

.arrow-link {
  font-size: 1.4rem;
  font-size: 1.2rem;
  text-decoration: none;
  color: var(--brand-primary-color);
  transition: all 350ms ease; }
  .arrow-link:hover {
    color: black; }
    .arrow-link:hover .icon {
      -webkit-filter: saturate(0) brightness(0);
              filter: saturate(0) brightness(0); }

.o-hidden {
  overflow: hidden; }

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

.d-flex {
  align-items: center; }
  @media (min-width: 992px) {
    .d-flex {
      display: flex; } }
  .d-flex--s {
    align-items: stretch; }
  .d-flex--w {
    flex-wrap: wrap; }
  .d-flex--sb {
    justify-content: space-between; }
  .d-flex--c {
    flex-direction: column;
    justify-content: center; }
    @media (min-width: 992px) {
      .d-flex--c {
        display: flex; } }
  .d-flex--fe {
    align-items: flex-end; }

@media (min-width: 992px) {
  .d-flex-c {
    display: flex; } }

.d-flex-c--sb {
  justify-content: space-between; }

.green {
  color: var(--brand-green); }

.light-blue {
  color: var(--brand-light-blue); }

.fbg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  .fbg > img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center; }

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

.pr {
  position: relative; }

.pa {
  position: absolute; }
  .pa--c {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

a:has(.icon) {
  display: inline-flex;
  align-items: center; }
  @media (max-width: 991px) {
    a:has(.icon) {
      justify-content: space-between; } }
a i[class*=icon--right] {
  margin-left: 1rem; }

a i[class*=icon--left] {
  margin-right: 1rem; }

:root {
  --body-font-weight: 300;
  --body-line-height: 1.6;
  --body-font-size: 16px;
  --body-text-color: #707070;
  --body-bg-color: #f8f8f8;
  --brand-heading-font: jubilat, serif;
  --brand-body-font: halcom, sans-serif;
  --brand-primary-color: #0DB9C3;
  --brand-body-color: var( --body-text-color ); }

/* colors */
/* breakpoints */
@media (max-width: 1199px) {
  .about.section {
    margin-top: 8rem; } }

@media (max-width: 767px) {
  .about.section {
    margin-bottom: 0; } }

@media (max-width: 767px) {
  .about.gutter {
    padding: 0; } }

.about .wrapper {
  background-color: #F0F0ED;
  gap: 4rem;
  padding-left: 4rem;
  padding-right: 4rem;
  padding-top: 10rem;
  padding-bottom: 5rem;
  align-items: flex-start; }
  @media (min-width: 1440px) {
    .about .wrapper {
      padding-top: 10rem;
      padding-bottom: 10rem; } }
  @media (max-width: 767px) {
    .about .wrapper {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (max-width: 1199px) {
    .about .wrapper {
      flex-direction: column; } }
.about__image-profile {
  position: relative;
  width: 100%;
  max-width: 460px; }
  @media (min-width: 992px) {
    .about__image-profile {
      max-width: 460px; } }
  @media (max-width: 767px) {
    .about__image-profile {
      margin-bottom: 3rem; } }
.about__image-profile-inner {
  margin-top: -12rem; }
  @media (min-width: 1200px) {
    .about__image-profile-inner {
      position: absolute;
      width: 100%;
      top: -12rem;
      margin-top: 0; } }
.about__text {
  flex: 1;
  max-width: 44rem; }
  @media (min-width: 1200px) {
    .about__text {
      margin-left: auto; } }
.about__image {
  position: relative;
  margin-bottom: 1rem;
  aspect-ratio: 1; }
  .about__image img {
    aspect-ratio: 1; }

.about__profile {
  position: relative; }
  .about__profile-name {
    font-family: var(--brand-heading-font);
    font-size: 2rem; }
  .about__profile-role {
    font-weight: 500;
    font-size: 1.2rem; }
  .about__profile-links {
    position: absolute;
    top: 0.5rem;
    right: 0; }

.about__heading, .about__content {
  margin-bottom: 2rem; }

.about__content {
  font-size: 1.2rem; }

.back-to-top {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  width: 80px;
  height: 80px;
  z-index: 1;
  opacity: 0;
  transition: all 450ms ease;
  cursor: pointer;
  pointer-events: none; }
  .back-to-top.is-visible {
    opacity: 1;
    pointer-events: all; }
  .back-to-top:hover {
    opacity: 0.5; }

.contact-details {
  background-color: #F0F0ED; }
  @media (min-width: 992px) {
    .contact-details {
      border-left: 20px solid white;
      border-right: 20px solid white; } }
  .contact-details .wrapper {
    max-width: 100%; }
  .contact-details .columns {
    gap: 0; }
    @media (max-width: 1199px) {
      .contact-details .columns {
        flex-direction: column-reverse; } }
  .contact-details__text {
    display: flex;
    align-items: center; }
    .contact-details__text-inner {
      max-width: 562px;
      margin-left: auto;
      margin-right: auto;
      padding-top: 2rem;
      padding-bottom: 2rem;
      padding-top: 4rem;
      padding-bottom: 4rem; }
  .contact-details__image {
    overflow: hidden; }
    .contact-details__image img {
      aspect-ratio: 942 / 841;
      -o-object-fit: cover;
         object-fit: cover;
      width: 100%;
      height: 100%;
      -webkit-animation: zoomImg 25s linear;
              animation: zoomImg 25s linear;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards; }
      @media (max-width: 767px) {
        .contact-details__image img {
          height: 50vh; } }
@-webkit-keyframes zoomImg {
  from {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); }
  to {
    -webkit-transform: scale(1);
            transform: scale(1); } }
@keyframes zoomImg {
  from {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); }
  to {
    -webkit-transform: scale(1);
            transform: scale(1); } }
  .contact-details__heading {
    margin-bottom: 1.6rem; }
  .contact-details__content {
    margin-bottom: 1.6rem;
    font-size: 1.3rem;
    line-height: 1.3; }
  .contact-details__links {
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
    font-family: var(--brand-heading-font);
    font-size: 1.5rem; }
    .contact-details__links a {
      color: var(--brand-primary-color); }
  .contact-details__address {
    font-family: var(--brand-heading-font);
    font-size: 1.5rem;
    line-height: 1.4;
    margin-bottom: 1.6rem; }
  .contact-details .heading--page-header {
    position: relative;
    color: var(--body-text-color); }
    .contact-details .heading--page-header:before {
      content: '';
      width: 2px;
      height: 85%;
      position: absolute;
      top: 50%;
      left: -1.6rem;
      background-color: var(--brand-primary-color);
      -webkit-transform: translateY(calc( -50% - 0.2rem));
      transform: translateY(calc( -50% - 0.2rem));
      -webkit-transform: translateY(calc( -50%));
      transform: translateY(calc( -50%)); }

.contact-details + .page-content .page-content__content {
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto; }

.dictionary__heading,
.useful-links__heading {
  margin-bottom: 2rem; }

.dictionary__filter,
.useful-links__filter {
  display: flex;
  gap: 1rem;
  font-size: 1.3rem;
  margin-bottom: 2rem; }
  .dictionary__filter a,
  .useful-links__filter a {
    font-weight: 400;
    cursor: pointer; }
    .dictionary__filter a:hover, .dictionary__filter a.is-active,
    .useful-links__filter a:hover,
    .useful-links__filter a.is-active {
      color: var(--brand-primary-color); }

.dictionary__item,
.useful-links__item {
  margin-bottom: 3rem; }
  .dictionary__item-heading,
  .useful-links__item-heading {
    font-weight: 500;
    position: relative;
    padding-left: 1.6rem; }
    .dictionary__item-heading:before,
    .useful-links__item-heading:before {
      content: '';
      width: 2px;
      height: 85%;
      position: absolute;
      top: 50%;
      left: 0;
      background-color: var(--brand-primary-color);
      -webkit-transform: translateY(calc( -50% - 0.2rem));
              transform: translateY(calc( -50% - 0.2rem));
      -webkit-transform: translateY(calc( -50%));
              transform: translateY(calc( -50%)); }
  .dictionary__item-heading, .dictionary__item-description, .dictionary__item-content,
  .useful-links__item-heading,
  .useful-links__item-description,
  .useful-links__item-content {
    font-size: 1.3rem;
    padding-left: 1.6rem; }
    .dictionary__item-heading a, .dictionary__item-description a, .dictionary__item-content a,
    .useful-links__item-heading a,
    .useful-links__item-description a,
    .useful-links__item-content a {
      color: var(--brand-primary-color);
      text-decoration: underline; }

.useful-links__item-heading {
  text-transform: uppercase; }

.expertise-grid.section {
  margin-top: 4rem; }
  @media (min-width: 768px) {
    .expertise-grid.section {
      margin-top: 10rem;
      margin-bottom: 10rem; } }
.expertise-grid .wrapper {
  position: relative;
  width: calc( 100vw - 2rem); }
  @media (min-width: 768px) {
    .expertise-grid .wrapper {
      width: calc( 100vw - 10rem); } }
  @media (min-width: 992px) {
    .expertise-grid .wrapper {
      width: calc( 100vw - 12rem); } }
  @media (min-width: 1590px) {
    .expertise-grid .wrapper {
      max-width: 1400px; } }
  .expertise-grid .wrapper:before {
    content: '';
    display: block;
    background-color: rgba(13, 185, 195, 0.05);
    height: calc( 100% + 8rem);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc( 100vw + 2rem);
    margin-left: -1rem;
    margin-right: -1rem; }
    @media (min-width: 768px) {
      .expertise-grid .wrapper:before {
        margin-left: 0;
        width: calc( 100vw - 2rem); } }
    @media (min-width: 992px) {
      .expertise-grid .wrapper:before {
        width: calc( 100vw - 4rem); } }
    @media (min-width: 1590px) {
      .expertise-grid .wrapper:before {
        width: calc( 100% + 8rem); } }
.expertise-grid__heading {
  margin-bottom: 2rem; }

.expertise-grid__items {
  gap: 6rem 6rem;
  align-items: flex-start;
  flex-wrap: wrap;
  display: flex; }

.expertise-grid__item {
  align-self: stretch;
  position: relative; }
  @media (min-width: 1200px) {
    .expertise-grid__item {
      width: calc( 50% - 3rem);
      flex: none; } }
  .expertise-grid__item:after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background-color: rgba(13, 185, 195, 0.1);
    position: absolute;
    bottom: 0;
    -webkit-transform: translateY(3rem);
            transform: translateY(3rem); }
  .expertise-grid__item:nth-last-child(-n+2):after {
    content: none; }
    @media (min-width: 1440px) {
      .expertise-grid__item:nth-last-child(-n+2):after {
        content: none; } }
  .expertise-grid__item-heading {
    margin-bottom: 1rem; }
    .expertise-grid__item-heading a {
      color: var(--brand-primary-color); }
      .expertise-grid__item-heading a:hover {
        color: var(--brand-primary-color); }
  .expertise-grid__item-excerpt {
    font-size: 1.3rem;
    margin-bottom: 2rem; }
  .expertise-grid__item-cta {
    font-size: 1.3rem;
    margin-top: auto; }
    .expertise-grid__item-cta a {
      color: var(--brand-primary-color); }

.expertise-grid--list .expertise-grid__items {
  display: flex;
  gap: 1rem 3rem; }

.expertise-grid--list .expertise-grid__item {
  width: auto;
  position: relative;
  font-size: 1.2rem;
  text-transform: uppercase; }
  .expertise-grid--list .expertise-grid__item a {
    color: var(--body-text-color); }
    .expertise-grid--list .expertise-grid__item a:hover {
      color: var(--brand-primary-color); }
  .expertise-grid--list .expertise-grid__item:not(:last-child):after {
    content: '';
    background-color: var(--brand-primary-color);
    width: 1px;
    height: 1.5rem;
    right: -1.5rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }

.expertise-grid:not(.expertise-grid--list).section {
  margin-top: 10rem; }

.full-width-cta {
  background-image: linear-gradient(135deg, #0DB9C3 35%, #0489A2); }
  @media (max-width: 1199px) {
    .full-width-cta {
      text-align: center; } }
  @media (max-width: 1199px) {
    .full-width-cta .wrapper {
      flex-direction: column; } }
  .full-width-cta.section--inner {
    padding-top: 5rem;
    padding-bottom: 5rem; }
    @media (min-width: 1440px) {
      .full-width-cta.section--inner {
        padding-top: 5rem;
        padding-bottom: 5rem; } }
  .full-width-cta__text {
    color: white; }
    @media (max-width: 767px) {
      .full-width-cta__text {
        margin-bottom: 4rem; } }
  @media (max-width: 1199px) {
    .full-width-cta__cta {
      margin-top: 2rem; } }
  .full-width-cta h3 {
    margin-bottom: 1.5rem; }
  .full-width-cta p {
    font-size: 1.4rem; }

.home-hero {
  position: relative; }
  .home-hero__images {
    position: relative;
    width: 100%;
    overflow: hidden;
    min-height: 640px;
    max-height: 700px; }
    @media (min-width: 992px) {
      .home-hero__images {
        aspect-ratio: 1920 / 940;
        border: 20px solid white;
        max-height: 780px;
        height: 100vh;
        max-height: 780px; } }
    @media (min-width: 1440px) {
      .home-hero__images {
        height: 100vh;
        max-height: 940px; } }
  .home-hero__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .home-hero__image img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center;
      opacity: 0;
      -webkit-transform: scale(1.1);
              transform: scale(1.1);
      transition: none;
      will-change: opacity, transform;
      z-index: 0;
      position: relative; }
    .home-hero__image.animate-in img {
      z-index: 1;
      -webkit-animation: animateIn 1650ms ease;
              animation: animateIn 1650ms ease;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards; }
    .home-hero__image.active img {
      opacity: 1;
      -webkit-animation: none;
              animation: none; }
    .home-hero__image.zoom img {
      -webkit-transform: scale(1);
              transform: scale(1);
      transition: -webkit-transform 35s linear;
      transition: transform 35s linear;
      transition: transform 35s linear, -webkit-transform 35s linear; }

@-webkit-keyframes animateIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes animateIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
  .home-hero__text {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%; }
    .home-hero__text.gutter {
      padding-left: calc(20px + 3rem + 15px); }
      @media (min-width: 1524px) {
        .home-hero__text.gutter {
          padding-left: 3rem; } }
      @media (max-width: 991px) {
        .home-hero__text.gutter {
          padding-left: 1rem;
          padding-right: 1rem; } }
  .home-hero__tagline {
    position: relative;
    width: 560px;
    padding: 2.5rem 2.5rem;
    font-size: 2.2rem;
    font-family: var(--brand-heading-font);
    font-weight: 300;
    line-height: 1.2;
    z-index: 9;
    margin-bottom: 3rem; }
    @media (max-width: 991px) {
      .home-hero__tagline {
        width: 100%;
        font-size: 1.5rem;
        padding: 1rem;
        max-width: 23rem;
        margin-left: auto;
        margin-right: auto; } }
    .home-hero__tagline:before {
      content: '';
      display: block;
      top: 0;
      right: 100%;
      width: 15px;
      height: 80%;
      background-color: var(--brand-primary-color);
      position: absolute;
      -webkit-transform-origin: 50% 0;
              transform-origin: 50% 0;
      -webkit-transform: scaleY(0);
              transform: scaleY(0);
      -webkit-animation: homeHeroTagKeyline 1.5s ease;
              animation: homeHeroTagKeyline 1.5s ease;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-delay: 0.7s;
              animation-delay: 0.7s; }
      @media (max-width: 991px) {
        .home-hero__tagline:before {
          left: 50%;
          right: auto;
          -webkit-transform: translateX(-50%) scaleX(0);
                  transform: translateX(-50%) scaleX(0);
          bottom: 100%;
          top: auto;
          width: 60%;
          height: 10px;
          -webkit-animation: homeHeroTagKeylineMobile 1.5s ease;
                  animation: homeHeroTagKeylineMobile 1.5s ease;
          -webkit-animation-fill-mode: forwards;
                  animation-fill-mode: forwards;
          -webkit-animation-delay: 0.7s;
                  animation-delay: 0.7s; } }
@-webkit-keyframes homeHeroTagKeyline {
  0% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0); }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1); } }
@keyframes homeHeroTagKeyline {
  0% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0); }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1); } }

@-webkit-keyframes homeHeroTagKeylineMobile {
  0% {
    -webkit-transform: translateX(-50%) scaleX(0);
            transform: translateX(-50%) scaleX(0); }
  100% {
    -webkit-transform: translateX(-50%) scaleX(1);
            transform: translateX(-50%) scaleX(1); } }

@keyframes homeHeroTagKeylineMobile {
  0% {
    -webkit-transform: translateX(-50%) scaleX(0);
            transform: translateX(-50%) scaleX(0); }
  100% {
    -webkit-transform: translateX(-50%) scaleX(1);
            transform: translateX(-50%) scaleX(1); } }
    .home-hero__tagline:after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      opacity: 0.7;
      background-image: linear-gradient(to right, #0489A2 0 560px, #0489A2 560px, transparent 1120px, transparent 1120px 1680px);
      background-size: 1680px 100%;
      background-position: -1680px 50%;
      background-repeat: no-repeat;
      -webkit-animation: homeHeroTagBg 1.5s ease;
              animation: homeHeroTagBg 1.5s ease;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-delay: 0.1s;
              animation-delay: 0.1s; }

@-webkit-keyframes homeHeroTagBg {
  0% {
    background-position: -1680px 50%; }
  100% {
    background-position: 0px 50%; } }

@keyframes homeHeroTagBg {
  0% {
    background-position: -1680px 50%; }
  100% {
    background-position: 0px 50%; } }
    .home-hero__tagline span {
      position: relative;
      z-index: 1;
      color: white;
      opacity: 0;
      -webkit-animation: fadeIn 1.5s ease;
              animation: fadeIn 1.5s ease;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-delay: 0.8s;
              animation-delay: 0.8s;
      display: inline-block; }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
  .home-hero__dots {
    position: absolute;
    bottom: 20px;
    right: 20px;
    display: flex;
    gap: 0.5rem;
    z-index: 9;
    margin: 2rem 4rem; }
    @media (max-width: 767px) {
      .home-hero__dots {
        right: 50%;
        -webkit-transform: translateX(50%);
                transform: translateX(50%);
        margin: 0; } }
    .home-hero__dots a {
      display: flex;
      background-color: white;
      width: 0.7rem;
      height: 0.7rem;
      border-radius: 50%;
      opacity: 0.5;
      transition: opacity 750ms ease;
      pointer-events: none; }
      .home-hero__dots a.active {
        opacity: 1; }

.brand--white svg {
  -webkit-animation: brandFade 5s cubic-bezier(0.19, 1, 0.22, 1);
          animation: brandFade 5s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  opacity: 0; }

@-webkit-keyframes brandFade {
  from {
    opacity: 0;
    -webkit-transform: translateY(-2rem) scale(0.95);
            transform: translateY(-2rem) scale(0.95); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }

@keyframes brandFade {
  from {
    opacity: 0;
    -webkit-transform: translateY(-2rem) scale(0.95);
            transform: translateY(-2rem) scale(0.95); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }

@media (min-width: 1200px) {
  .home-intro__main {
    padding-top: 2rem; } }

.home-intro__heading {
  margin-bottom: 3rem; }
  @media (min-width: 768px) {
    .home-intro__heading {
      max-width: 36rem; } }
.home-intro__content {
  font-size: 1.6rem;
  font-family: var(--brand-heading-font);
  font-weight: 200;
  margin-bottom: 3rem;
  max-width: 42rem; }
  @media (max-width: 767px) {
    .home-intro__content {
      font-size: 1.3rem; } }
.home-intro__cta {
  font-size: 1.4rem; }
  .home-intro__cta a {
    text-decoration: none;
    color: var(--brand-primary-color); }

.home-intro .columns {
  gap: 4rem; }
  @media (min-width: 1440px) {
    .home-intro .columns {
      gap: 6rem; } }
  @media (max-width: 1199px) {
    .home-intro .columns {
      flex-direction: column; } }
.home-intro .column:last-child {
  position: relative; }
  @media (min-width: 1200px) {
    .home-intro .column:last-child {
      width: 36%;
      flex: none; } }
  .home-intro .column:last-child:before {
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    background-color: #E2E2DB;
    position: absolute;
    margin-left: -3rem; }

.home-intro .icon--long-down-arrow {
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: translate(5rem, 4rem) scale(0.9);
          transform: translate(5rem, 4rem) scale(0.9);
  display: none; }
  @media (min-width: 1200px) {
    .home-intro .icon--long-down-arrow {
      display: block; } }
.image-transition {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-clip-path: inset(100% 0 0 0);
          clip-path: inset(100% 0 0 0);
  transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-clip-path 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: clip-path 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: clip-path 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-clip-path 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: 0.1s;
  opacity: 1; }
  .image-transition:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    background-color: var(--brand-primary-color);
    transition: -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: 1s;
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: 50% 0;
            transform-origin: 50% 0; }
  .image-transition.animate-in {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    opacity: 1; }
    .image-transition.animate-in:after {
      -webkit-transform: scaleY(0);
              transform: scaleY(0); }

.keyline--about__image {
  display: block;
  top: -15px;
  right: 0;
  width: 40%;
  height: 15px;
  background-color: var(--brand-primary-color);
  position: absolute;
  -webkit-transform-origin: 100% 50%;
          transform-origin: 100% 50%;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  z-index: -1; }
  .keyline--about__image.is-inview {
    -webkit-animation: aboutImageKeyline 1s ease;
            animation: aboutImageKeyline 1s ease;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-delay: 1.5s;
            animation-delay: 1.5s; }

@-webkit-keyframes aboutImageKeyline {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

@keyframes aboutImageKeyline {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

.keyline--about__wrapper {
  display: block;
  top: 100%;
  right: 0;
  width: 8rem;
  height: 15px;
  background-color: #E2E2DB;
  position: absolute;
  -webkit-transform-origin: 100% 50%;
          transform-origin: 100% 50%;
  -webkit-transform: scaleX(0);
          transform: scaleX(0); }
  @media (max-width: 1199px) {
    .keyline--about__wrapper {
      display: none; } }
  .keyline--about__wrapper.is-inview {
    -webkit-animation: aboutWrapperKeyline 1s ease;
            animation: aboutWrapperKeyline 1s ease;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-delay: 0s;
            animation-delay: 0s; }

@-webkit-keyframes aboutWrapperKeyline {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

@keyframes aboutWrapperKeyline {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

.keyline--expertise__grid {
  display: block;
  top: calc( 100% + 4rem);
  right: -4rem;
  width: 20%;
  height: 12px;
  background-color: var(--brand-primary-color);
  position: absolute;
  -webkit-transform-origin: 100% 50%;
          transform-origin: 100% 50%;
  -webkit-transform: scaleX(0);
          transform: scaleX(0); }
  @media (max-width: 767px) {
    .keyline--expertise__grid {
      display: none; } }
  .keyline--expertise__grid.is-inview {
    -webkit-animation: expertiseGridKeyline 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            animation: expertiseGridKeyline 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-delay: 0s;
            animation-delay: 0s; }

@-webkit-keyframes expertiseGridKeyline {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

@keyframes expertiseGridKeyline {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

.keyline--quotation {
  display: block;
  background-color: var(--brand-primary-color);
  height: 3px;
  width: 50%;
  position: absolute;
  margin-top: 3rem;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
  will-change: transform, opacity; }
  .keyline--quotation.is-inview {
    -webkit-animation: scaleRight 1s ease forwards;
            animation: scaleRight 1s ease forwards;
    -webkit-animation-delay: 1.25s;
            animation-delay: 1.25s; }

@-webkit-keyframes scaleRight {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%; }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%; } }

@keyframes scaleRight {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%; }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%; } }

.keyline--primary-navigation {
  display: block;
  background-color: var(--brand-primary-color);
  height: 3px;
  width: 50%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
  margin-bottom: 2rem;
  will-change: transform, opacity; }

.page-content__content, .page-content__further-information, .page-content__disclaimer {
  max-width: 58rem;
  font-size: 1.3rem; }

.page-content__further-information {
  margin-top: 3rem; }
  .page-content__further-information-heading {
    font-weight: bold; }
    .page-content__further-information-heading a {
      padding: 2rem 0;
      display: flex; }
      .page-content__further-information-heading a .icon {
        margin-left: 2rem; }
      .page-content__further-information-heading a:hover .icon {
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
  .page-content__further-information-content {
    width: 100%; }

.page-content .further-information--toggler.is-active .icon {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }

.page-content .further-information--toggler hr {
  height: 2px;
  flex: 1;
  margin-left: 2rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: repeating-linear-gradient(90deg, var(--brand-primary-color), var(--brand-primary-color), 10px, #fff 10px, #fff 20px); }

.page-content__disclaimer {
  margin-top: 6rem; }

.page-content__content h3:not(:first-child),
.page-content__further-information-content h3:not(:first-child) {
  margin-top: 40px; }

.page-content__content h4:not(:first-child),
.page-content__further-information-content h4:not(:first-child) {
  margin-top: 30px; }

.page-content__content h3,
.page-content__further-information-content h3 {
  font-family: halcom;
  font-weight: 500; }

.page-content__content h4,
.page-content__further-information-content h4 {
  font-family: halcom;
  text-decoration: underline; }

.page-header {
  border: 18px solid white;
  position: relative;
  margin-top: -18px; }
  @media (max-width: 991px) {
    .page-header {
      border-left: 0;
      border-right: 0; } }
  .page-header__image {
    width: 100%;
    height: 470px;
    overflow: hidden; }
    .page-header__image img {
      -o-object-fit: cover;
         object-fit: cover;
      width: 100%;
      height: 100%;
      -webkit-transform: scale(1.1);
              transform: scale(1.1);
      will-change: transform;
      -webkit-animation: pageHeaderImage 20s linear;
              animation: pageHeaderImage 20s linear;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards; }

@-webkit-keyframes pageHeaderImage {
  from {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  to {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes pageHeaderImage {
  from {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  to {
    -webkit-transform: scale(1);
            transform: scale(1); } }
  .page-header__text {
    position: absolute;
    bottom: 0;
    z-index: 1;
    color: white;
    margin: 3rem 0;
    left: 4rem;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    width: calc( 100% - 6rem); }
    @media (max-width: 767px) {
      .page-header__text {
        margin: 1rem 0;
        left: 3rem; } }
    @media (min-width: 1564px) {
      .page-header__text {
        left: 50%;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%); } }
    .page-header__text:before {
      content: '';
      width: 2px;
      height: 85%;
      position: absolute;
      top: 50%;
      left: -1.6rem;
      background-color: var(--brand-primary-color);
      -webkit-transform: translateY(calc( -50% - 0.2rem));
              transform: translateY(calc( -50% - 0.2rem));
      -webkit-transform: translateY(calc( -50%));
              transform: translateY(calc( -50%)); }
    .page-header__text sup {
      text-transform: uppercase;
      font-weight: 500;
      font-size: 1.1rem; }

@media (max-width: 1199px) {
  .page-intro .columns {
    flex-direction: column; } }

.page-intro__preface {
  font-family: var(--brand-heading-font);
  font-size: 1.6rem;
  margin-bottom: 3rem; }

.page-intro__content {
  font-size: 1.3rem; }

.page-intro__quotation {
  font-family: var(--brand-heading-font);
  font-size: 2.2rem;
  line-height: 1.3; }
  @media (max-width: 1199px) {
    .page-intro__quotation {
      margin-top: 6rem;
      margin-bottom: 6rem; } }
  .page-intro__quotation blockquote {
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    opacity: 0; }
    .page-intro__quotation blockquote span {
      position: relative; }
      .page-intro__quotation blockquote span:before, .page-intro__quotation blockquote span:after {
        content: '';
        width: 61.1px;
        height: 40.13px;
        display: block;
        margin: 1rem 0; }
        @media (min-width: 992px) {
          .page-intro__quotation blockquote span:before, .page-intro__quotation blockquote span:after {
            display: inline-block;
            position: absolute;
            margin: 0; } }
      .page-intro__quotation blockquote span:before {
        background-image: url("../img/icon--double-quote-open.svg"); }
        @media (min-width: 992px) {
          .page-intro__quotation blockquote span:before {
            -webkit-transform: translate(-4.5rem, -1.2rem);
                    transform: translate(-4.5rem, -1.2rem); } }
      .page-intro__quotation blockquote span:after {
        background-image: url("../img/icon--double-quote-close.svg"); }
        @media (min-width: 992px) {
          .page-intro__quotation blockquote span:after {
            position: relative;
            -webkit-transform: translate(0.2rem, 1.3rem);
                    transform: translate(0.2rem, 1.3rem); } }
    .page-intro__quotation blockquote.is-inview {
      -webkit-animation: fadeInUp 1.25s ease;
              animation: fadeInUp 1.25s ease;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-delay: 0.2s;
              animation-delay: 0.2s;
      opacity: 0; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(-2rem) scale(0.9);
            transform: translateY(-2rem) scale(0.9); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(-2rem) scale(0.9);
            transform: translateY(-2rem) scale(0.9); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }

.page-navigation {
  color: var(--brand-primary-color);
  text-transform: uppercase;
  font-size: 1.3rem; }
  .page-navigation a {
    color: var(--brand-primary-color);
    display: inline-flex;
    align-items: center; }

.primary-navigation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9;
  -webkit-transform: translateX(100%);
          transform: translateX(100%); }
  .primary-navigation.animate-in {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  .primary-navigation__header {
    height: 230px;
    max-width: 1920px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative; }
    .primary-navigation__header.gutter {
      padding-left: 4rem;
      padding-right: 4rem; }
  .primary-navigation__menu {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    font-family: var(--brand-heading-font);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    gap: 2rem; }
    .primary-navigation__menu a {
      text-decoration: none;
      font-size: 2rem; }
      .primary-navigation__menu a:hover {
        color: var(--brand-primary-color); }
  .primary-navigation__header, .primary-navigation__menu {
    opacity: 0;
    transition: opacity 650ms ease; }
  .primary-navigation.animate-in .primary-navigation__header, .primary-navigation.animate-in .primary-navigation__menu {
    opacity: 1;
    transition-delay: 0.25s; }
  .primary-navigation.animate-out .primary-navigation__header, .primary-navigation.animate-out .primary-navigation__menu {
    opacity: 0;
    transition-delay: 0s;
    transition-duration: 250ms; }
  .primary-navigation.animate-in:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to bottom left, #F0F0ED 0 50%, transparent 50% 100%);
    background-position: 100% 150%;
    background-size: 300% 300%;
    background-repeat: no-repeat;
    -webkit-animation: primaryNavigationWipeIn 0.75s;
            animation: primaryNavigationWipeIn 0.75s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .primary-navigation.animate-out:after {
    -webkit-animation: primaryNavigationWipeOut 0.75s;
            animation: primaryNavigationWipeOut 0.75s; }
  .primary-navigation .logo svg {
    width: 100%; }
  @media (max-width: 991px) {
    .primary-navigation .logo {
      position: absolute;
      top: 0;
      left: 0;
      margin: 0.7rem 1.1rem;
      width: 3.5rem; } }
  @media (max-width: 991px) {
    .primary-navigation .menu-toggler {
      position: absolute;
      top: 0;
      right: 0;
      margin: 20px; } }
  .primary-navigation__menu .primary-navigation__links a {
    font-size: 1.2rem; }

@-webkit-keyframes primaryNavigationWipeIn {
  from {
    background-position: 100% 150%; }
  to {
    background-position: 100% 50%; } }

@keyframes primaryNavigationWipeIn {
  from {
    background-position: 100% 150%; }
  to {
    background-position: 100% 50%; } }

@-webkit-keyframes primaryNavigationWipeOut {
  from {
    background-position: 100% 50%; }
  to {
    background-position: 100% 150%; } }

@keyframes primaryNavigationWipeOut {
  from {
    background-position: 100% 50%; }
  to {
    background-position: 100% 150%; } }

.service-intro .wrapper:after {
  content: '';
  display: block;
  border-bottom: 1px solid #E2E2DB;
  -webkit-transform: translateY(5rem);
          transform: translateY(5rem); }

.service-intro .column:nth-child(1) {
  max-width: 56rem; }

.service-intro .column:nth-child(2) {
  margin-left: auto;
  flex: none; }

.service-intro__content {
  font-family: var(--brand-heading-font);
  font-size: 1.6rem; }

.service-intro__cta {
  padding: 0 3rem; }

@media (max-width: 1199px) {
  .service-intro + .page-content.section {
    margin-top: 10rem; } }

.service-list__heading {
  text-transform: uppercase;
  margin-bottom: 2.5rem; }

.service-list__items {
  margin-bottom: 2.5rem; }
  .service-list__items ul {
    display: flex;
    flex-direction: column;
    gap: 1.3rem; }
    .service-list__items ul li {
      text-transform: uppercase;
      font-size: 1.3rem;
      color: #707070; }
      .service-list__items ul li a {
        color: inherit;
        text-decoration: none; }
        .service-list__items ul li a .icon {
          opacity: 0;
          margin-left: 0.5rem;
          transition: all 250ms ease; }
        .service-list__items ul li a:hover {
          color: var(--brand-primary-color); }
          .service-list__items ul li a:hover .icon {
            opacity: 1; }

@media (min-width: 1200px) {
  .home-intro .service-list {
    max-width: 28rem;
    margin-left: auto; } }

.site-footer {
  background-color: #F0F0ED;
  min-height: 360px;
  padding-top: 0;
  padding-bottom: 0; }
  @media (max-width: 991px) {
    .site-footer {
      text-align: center;
      padding-top: 5rem;
      padding-bottom: 5rem; } }
  @media (max-width: 767px) {
    .site-footer .logo-brand {
      margin-bottom: 2rem; } }
  .site-footer .links {
    gap: 1.4rem; }
    @media (max-width: 991px) {
      .site-footer .links {
        margin-top: 3rem;
        display: flex;
        align-items: center;
        gap: 0.5rem; } }
    .site-footer .links a {
      font-size: 1.2rem;
      color: #707070;
      transition: color 350ms ease;
      text-underline-offset: 2px;
      text-decoration: underline; }
      .site-footer .links a:hover {
        color: var(--brand-primary-color); }
    .site-footer .links a[href^=tel],
    .site-footer .links a[href^=mailto] {
      font-size: 1.4em;
      text-decoration: none;
      font-family: var(--brand-heading-font);
      color: #707070; }
      .site-footer .links a[href^=tel]:hover,
      .site-footer .links a[href^=mailto]:hover {
        color: var(--brand-primary-color); }

.copyright-credit {
  color: #B9B9B9;
  font-size: 1.2rem;
  min-height: 175px;
  padding-top: 0;
  padding-bottom: 0; }
  @media (max-width: 991px) {
    .copyright-credit {
      text-align: center;
      padding-top: 3rem;
      padding-bottom: 3rem;
      min-height: 0; } }
  @media (max-width: 991px) {
    .copyright-credit .credit {
      display: none; } }
.site-header {
  height: 230px;
  width: 100%; }
  .site-header--static.gutter {
    padding-left: 3rem;
    padding-right: 3rem; }
  @media (max-width: 991px) {
    .site-header--static .logo {
      text-align: center;
      margin-top: 3rem; } }
  @media (max-width: 991px) {
    .site-header--static .brand {
      text-align: center;
      margin-top: 3rem; } }
  @media (max-width: 991px) {
    .site-header--static .logo {
      text-align: center;
      margin-left: auto;
      margin-right: auto; } }
  @media (max-width: 991px) {
    .site-header--static .brand {
      text-align: center; } }
  @media (max-width: 991px) {
    .site-header--static .menu-toggler {
      position: absolute;
      top: 0;
      right: 0;
      margin: 20px; } }
  .site-header--floating {
    max-width: 1920px;
    width: 100%;
    height: 100px;
    background-color: white;
    background-color: #F0F0ED;
    position: fixed;
    top: 0;
    z-index: 9;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    will-change: transform;
    transition: -webkit-transform 750ms ease;
    transition: transform 750ms ease;
    transition: transform 750ms ease, -webkit-transform 750ms ease;
    box-shadow: 0 8px 4px -2px rgba(0, 0, 0, 0.03);
    box-shadow: 0 6px 4px -2px rgba(0, 0, 0, 0.03);
    display: flex;
    align-items: center; }
    @media (min-width: 992px) {
      .site-header--floating.gutter {
        padding-left: 4rem;
        padding-right: 4rem; } }
    .site-header--floating.is-visible {
      -webkit-transform: translateY(0);
              transform: translateY(0); }
    .site-header--floating .hamburger i span {
      background-color: #939388; }
    .site-header--floating .logo {
      margin-bottom: -0.8rem; }
    .site-header--floating .brand {
      display: none; }
    .site-header--floating .logo a:hover svg *,
    .site-header--floating .brand a:hover svg * {
      fill: var(--brand-primary-color); }
  .site-header .logo {
    max-width: 3.9rem; }
    .site-header .logo a {
      display: block; }
    .site-header .logo svg {
      width: 100%; }
    .site-header .logo--white svg * {
      fill: white; }
    .site-header .logo--white a:hover svg * {
      fill: var(--brand-primary-color); }
  .site-header .brand--white svg * {
    fill: white; }
  .site-header .brand--white a:hover svg * {
    fill: var(--brand-primary-color); }

body.home .site-header--static {
  max-width: calc( 1920px - 40px);
  width: calc( 100% - 40px);
  margin-left: auto;
  margin-right: auto;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  position: absolute;
  top: 20px;
  z-index: 9; }
  body.home .site-header--static .logo {
    max-width: 100%; }
    @media (max-width: 991px) {
      body.home .site-header--static .logo {
        text-align: center;
        margin-top: 6rem;
        margin-left: auto;
        margin-right: auto; } }
  @media (max-width: 991px) {
    body.home .site-header--static .brand {
      text-align: center;
      margin-top: 6rem; } }
  @media (max-width: 991px) {
    body.home .site-header--static .menu-toggler {
      position: absolute;
      top: 0;
      right: 0;
      margin: 0; } }
body.home .logo.logo--white svg {
  width: 77px;
  height: 67px;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0 67px, transparent 67px, black 134px, black 134px 201px);
          mask-image: linear-gradient(to bottom, transparent 0 67px, transparent 67px, black 134px, black 134px 201px);
  -webkit-mask-size: 77px 201px;
          mask-size: 77px 201px;
  -webkit-mask-position: 0% 201px;
          mask-position: 0% 201px;
  -webkit-animation: logo-reveal 1s;
          animation: logo-reveal 1s;
  -webkit-animation-delay: 0.25s;
          animation-delay: 0.25s;
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }

@-webkit-keyframes logo-reveal {
  0% {
    -webkit-mask-position: 0% 67px;
            mask-position: 0% 67px;
    opacity: 0; }
  100% {
    -webkit-mask-position: 0% 67px;
            mask-position: 0% 67px;
    opacity: 1; } }

@keyframes logo-reveal {
  0% {
    -webkit-mask-position: 0% 67px;
            mask-position: 0% 67px;
    opacity: 0; }
  100% {
    -webkit-mask-position: 0% 67px;
            mask-position: 0% 67px;
    opacity: 1; } }

.logo svg *,
.brand svg * {
  transition: fill 150ms ease; }

.logo a:hover svg *,
.brand a:hover svg * {
  fill: var(--brand-primary-color); }

.site-main {
  position: relative;
  z-index: 1;
  flex: 1; }

.site-wrapper {
  background-color: white;
  max-width: 1920px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100vh; }

.site-wrapper.stretch {
  max-width: 100%; }

.site-wrapper {
  position: relative; }

.skirting {
  width: 10px;
  height: 30%;
  background-color: #F0F0ED;
  position: absolute;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1; }
  .skirting:first-child {
    left: 0;
    top: 60%; }
  .skirting:last-child {
    right: 0;
    top: 45%; }
  @media (max-width: 767px) {
    .skirting {
      display: none; } }
.page-contact .skirting {
  display: none; }

.text-banner {
  text-align: center;
  position: relative;
  margin-bottom: 20px; }
  .text-banner:after {
    content: '';
    display: block;
    width: 100%;
    height: 20px;
    background-image: linear-gradient(to right, #0DB9C3, #0489A2);
    position: absolute;
    bottom: -20px;
    left: 0; }
  .text-banner__heading {
    font-family: var(--brand-heading-font);
    font-size: 2.3rem;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.2; }

._useful-links__heading {
  margin-bottom: 2rem; }

._useful-links__item {
  margin-bottom: 3rem; }
  ._useful-links__item-heading {
    font-weight: 500;
    position: relative;
    padding-left: 1.6rem;
    text-transform: uppercase; }
    ._useful-links__item-heading:before {
      content: '';
      width: 2px;
      height: 85%;
      position: absolute;
      top: 50%;
      left: 0;
      background-color: var(--brand-primary-color);
      -webkit-transform: translateY(calc( -50% - 0.2rem));
              transform: translateY(calc( -50% - 0.2rem));
      -webkit-transform: translateY(calc( -50%));
              transform: translateY(calc( -50%)); }
  ._useful-links__item-content a {
    color: var(--brand-primary-color);
    text-decoration: underline; }
  ._useful-links__item-heading, ._useful-links__item-content {
    font-size: 1.3rem;
    padding-left: 1.6rem; }
/*# sourceMappingURL=main.css.map */