@charset "UTF-8";
/*
 *    TABLE OF CONTENTS
 *
 *    1. Settings
 *    2. Tools
 *    3. Generic
 *    4. Elements
 *    5. Layout objects
 *    6. Components
 *    7. Utility helper classes
 *
 */
/*--------------------------------------------------------------
 #1. Settings

 Define our global preprocessor variables (static), and CSS 
 custom properties (static and dynamic).

 See https://www.smashingmagazine.com/2018/05/css-custom-properties-strategy-guide/
 for overview of strategy.
--------------------------------------------------------------*/
@font-face {
  font-family: "nowayround";
  src: url("../fonts/nowayround-regular-webfont.eot");
  src: url("../fonts/nowayround-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/nowayround-regular-webfont.woff2") format("woff2"), url("../fonts/nowayround-regular-webfont.woff") format("woff"), url("../fonts/nowayround-regular-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "nowayround";
  src: url("../fonts/nowayround-italic-webfont.eot");
  src: url("../fonts/nowayround-italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/nowayround-italic-webfont.woff2") format("woff2"), url("../fonts/nowayround-italic-webfont.woff") format("woff"), url("../fonts/nowayround-italic-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "nowayround";
  src: url("../fonts/nowayround-medium-webfont.eot");
  src: url("../fonts/nowayround-medium-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/nowayround-medium-webfont.woff2") format("woff2"), url("../fonts/nowayround-medium-webfont.woff") format("woff"), url("../fonts/nowayround-medium-webfont.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "noway";
  src: url("../fonts/noway-regular-webfont.eot");
  src: url("../fonts/noway-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/noway-regular-webfont.woff2") format("woff2"), url("../fonts/noway-regular-webfont.woff") format("woff"), url("../fonts/noway-regular-webfont.ttf") format("truetype"), url("../fonts/noway-regular-webfont.svg#nowayregular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "noway";
  src: url("../fonts/noway-regular-italic-webfont.eot");
  src: url("../fonts/noway-regular-italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/noway-regular-italic-webfont.woff2") format("woff2"), url("../fonts/noway-regular-italic-webfont.woff") format("woff"), url("../fonts/noway-regular-italic-webfont.ttf") format("truetype"), url("../fonts/noway-regular-italic-webfont.svg#nowayregular") format("svg");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "noway";
  src: url("../fonts/noway-medium-webfont.eot");
  src: url("../fonts/noway-medium-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/noway-medium-webfont.woff2") format("woff2"), url("../fonts/noway-medium-webfont.woff") format("woff"), url("../fonts/noway-medium-webfont.ttf") format("truetype"), url("../fonts/noway-medium-webfont.svg#nowaymedium") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
/*--------------------------------------------------------------
 #2. Tools

 Functions and mixins.
--------------------------------------------------------------*/
/**
 * Fluid typography
 *
 * @link https://css-tricks.com/snippets/css/fluid-typography/
 */
/*
 * Button
 */
/**
 * Mixin to create design token utility classes
 */
/*--------------------------------------------------------------
 #3. Generic

 Reset and/or normalize styles, box-sizing definition, etc. 
--------------------------------------------------------------*/
/**
 * https://github.com/hankchizljaw/modern-css-reset/
 */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul[class],
ol[class] {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul[class],
ol[class] {
  list-style: none;
}

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

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

svg {
  display: inline-block;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

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

/* Blur images when they have no alt attribute */
/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  * {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*--------------------------------------------------------------
 #4. Elements

 Let's make use of the "C" in CSS; "Cascading" styles. With a 
 relatively small amount of CSS we can reach a whole load of 
 elements, no matter where they are situated. The markup need not 
 be touched to give us a solid system from the outset.

 Unlike when using classes, element selectors can target the 
 arbitrary, unattributed content produced by WYSIWYG editors.
--------------------------------------------------------------*/
html {
  overflow-x: hidden;
}

body {
  max-width: 80rem;
  padding-left: 1rem;
  padding-right: 1rem;
  margin: 0 auto;
  color: #202036;
  font-family: "nowayround", sans-serif;
  font-size: 1.25rem;
  line-height: 1.375;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
@media screen and (min-width: 1024px) {
  body {
    overflow-x: visible;
  }
}

a {
  color: currentColor;
  -webkit-text-decoration-color: #6eb315;
          text-decoration-color: #6eb315;
  text-decoration-thickness: 2px;
  text-decoration-offset: 1.5px;
}
a:hover, a:focus {
  text-decoration: none;
}

main {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  main {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .home main {
    margin-top: 0;
  }
}

main > h1 {
  font-size: 36px;
}
@media screen and (min-width: 320px) {
  main > h1 {
    font-size: calc(36px + 32 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  main > h1 {
    font-size: 68px;
  }
}
@media screen and (max-width: 767px) {
  main > h1 {
    margin-top: 3.375rem;
  }
}

.search main > h1 {
  font-size: 28px;
}
@media screen and (min-width: 320px) {
  .search main > h1 {
    font-size: calc(28px + 8 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .search main > h1 {
    font-size: 36px;
  }
}

main a {
  font-weight: 500;
}

/* 'Skip to content' link */
a[href="#content"]:focus {
  z-index: 1000000;
  clip: auto;
  -webkit-clip-path: none;
          clip-path: none;
  top: 1rem;
  left: 1rem;
  height: auto;
  width: auto;
  padding: 1rem;
  border: 10px white solid;
  background-color: #000036;
  color: white;
  font-weight: 500;
}

b,
strong {
  font-weight: 500;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #000036;
  font-weight: 400;
  line-height: 1.2;
}
h1 b,
h1 strong,
h2 b,
h2 strong,
h3 b,
h3 strong,
h4 b,
h4 strong,
h5 b,
h5 strong,
h6 b,
h6 strong {
  font-weight: 400;
  color: #6eb315;
}

h1 {
  font-size: 28px;
}
@media screen and (min-width: 320px) {
  h1 {
    font-size: calc(28px + 8 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h1 {
    font-size: 36px;
  }
}

h2 {
  font-size: 24px;
}
@media screen and (min-width: 320px) {
  h2 {
    font-size: calc(24px + 8 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h2 {
    font-size: 32px;
  }
}

h3 {
  font-size: 20px;
}
@media screen and (min-width: 320px) {
  h3 {
    font-size: calc(20px + 8 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h3 {
    font-size: 28px;
  }
}

h4,
h5,
h6 {
  font-weight: 700;
  font-size: 1em;
  line-height: 1.35;
}

p,
ul:not([class]),
ol:not([class]) {
  max-width: 65ch;
}

ul:not([class]),
ol:not([class]) {
  padding-left: 1.5rem;
}

ul:not([class]) {
  clear: left;
  list-style: none;
  counter-reset: li;
}

ol:not([class]) li,
ul:not([class]) li {
  position: relative;
}
ol:not([class]) li ol,
ol:not([class]) li ul,
ol:not([class]) li + li,
ul:not([class]) li ol,
ul:not([class]) li ul,
ul:not([class]) li + li {
  margin-top: 1rem;
}

ul:not([class]) li::before {
  position: absolute;
  left: -1.5rem;
  color: #202036;
}

ul:not([class]) li::before {
  content: "";
  top: 0.3em;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.25em 0 0.25em 0.433em;
  border-color: transparent transparent transparent #6eb315;
}

blockquote {
  position: relative;
  max-width: 60ch;
  padding-left: 2.25rem;
  color: #488100;
  font-size: 1.1em;
  quotes: "“" "”";
}

blockquote::after {
  content: open-quote;
  position: absolute;
  top: -0.47em;
  left: -0.05em;
  font-family: Georgia, serif;
  font-style: normal;
  font-size: 5em;
  opacity: 0.3;
}

blockquote > * + * {
  margin-top: 1rem;
}

blockquote b,
blockquote strong {
  font-style: normal;
}

hr {
  height: 10px;
  width: 100%;
  margin: 2.25rem 0 !important;
  border: 0;
  background: url("../img/hr-arrows.svg") center no-repeat;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

figure {
  max-width: 100%;
}

figcaption {
  margin-top: 0.5rem;
  color: #64758e;
  font-size: 1rem;
  font-style: italic;
}

/* Table styles */
.table-wrapper {
  overflow: auto;
}

table {
  max-width: 100%;
  width: 100%;
  margin: 1.75rem 0;
  border-collapse: collapse;
}

thead {
  border: solid #202036;
  border-width: 2px 0;
}

tbody tr {
  background-color: rgba(246, 246, 247, 0.5);
}

td,
th {
  padding: 1rem;
  border: 1px solid white;
}

th {
  white-space: nowrap;
  font-weight: 700;
  text-align: left;
}

button {
  color: inherit;
}

button:hover,
input[type=submit]:hover {
  cursor: pointer;
}

label {
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
  font-weight: 500;
  display: inline-block;
}

input,
select,
textarea,
button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  box-sizing: border-box;
  max-width: 100%;
  margin: 0;
  padding: 0.75rem;
  border-radius: 0;
  border: 1px solid #d0d0d2;
  background: white;
  font: inherit;
}

input:hover,
select:hover,
textarea:hover {
  border-color: #b6b6b9;
}
input:focus,
select:focus,
textarea:focus {
  border: 1px solid #d0d0d2;
  outline: none;
}

input:invalid {
  border-color: #c8102e;
  box-shadow: none;
}

textarea {
  display: block;
  width: 65ch;
  overflow: auto;
}

input[type=checkbox],
input[type=radio] {
  position: relative;
  width: 0.7em;
  height: 0.7em;
  margin-right: 0.25rem;
  padding: 0;
  vertical-align: -0.125em;
  color: #000036;
}

input[type=radio]:disabled,
input[type=checkbox]:disabled {
  background: #f6f6f7;
  color: graytext;
}

input[type=checkbox]::before {
  content: "✔";
  position: absolute;
  top: -0.3em;
  left: 0.05em;
  visibility: hidden;
}

input[type=checkbox]:checked::before {
  /* Use `visibility` instead of `display` to avoid recalculating layout */
  visibility: visible;
}

input[type=radio] {
  border-radius: 100%;
}

input[type=radio]::before {
  content: " ";
  display: block;
  width: 0.6em;
  height: 0.6em;
  border-radius: 100%;
  background: #000036;
  transform: translate(0.15em, 0.15em);
  transform-origin: center;
  visibility: hidden;
}

input[type=radio]:checked::before {
  visibility: visible;
}

button[type=submit] {
  padding: 1rem 1.75rem;
  background-color: #000036;
  color: white;
  font-weight: 500;
}
button[type=submit]:hover, button[type=submit]:focus {
  background-color: #6eb315;
}

select {
  padding: 0.75rem 3rem 0.75rem 0.75rem;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23444444%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right 0.7em top 50%;
  background-size: 0.65em auto;
  color: inherit;
  line-height: 1.35;
}

/* Hide arrow icon in IE browsers */
select::-ms-expand {
  display: none;
}

/* Support for rtl text, explicit support for Arabic and Hebrew */
*[dir=rtl] select,
:root:lang(ar) select,
:root:lang(iw) select {
  background-position: left 0.7em top 50%, 0 0;
  padding: 0.6em 0.8em 0.5em 1.4em;
}

/* Disabled styles */
select:disabled,
select[aria-disabled=true] {
  color: graytext;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
}

/*--------------------------------------------------------------
 #5. Layout objects

 These classes use the ".o-" namespace; "o" for "object". They 
 are all layout objects that don't impose any visual styles other 
 than postioning and moving things around.
--------------------------------------------------------------*/
.o-band {
  padding-top: 3.375rem;
  padding-bottom: 3.375rem;
}
@media screen and (min-width: 1024px) {
  .o-band {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
}

.search main > .o-band {
  padding-top: 3.375rem;
}

.o-band-offset {
  position: relative;
}

.o-band-offset::before {
  content: "";
  position: absolute;
  top: 0;
  left: -1rem;
  bottom: 0;
  width: 100vw;
  background-color: #f6f6f7;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .o-band-offset::before {
    left: auto;
  }
}

@media screen and (min-width: 1024px) {
  .o-band-offset--left::before {
    right: 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .o-band-offset--left > * {
    padding-right: 9vw;
  }
}

.o-embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.o-embed iframe,
.o-embed object,
.o-embed embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*--------------------------------------------------------------
 #6. Components

 Class-based styles can be adhered to on any HTML element, 
 anywhere in a document. They are more portable and composable
 than element styles, but require the author to affect the 
 markup directly.

 These classes use the ".c-" namespace; "c" for "component".
 Components derived from the WordPress body class do not have 
 a namespace e.g. 'page-template-default'.
--------------------------------------------------------------*/
.rellax-wrapper {
  position: relative;
  height: 0;
  padding-bottom: 66.6%;
  overflow: hidden;
  z-index: -1;
}

.rellax-wrapper > img.rellax {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}
@supports ((-o-object-fit: cover) or (object-fit: cover)) {
  .rellax-wrapper > img.rellax {
    -o-object-fit: cover;
       object-fit: cover;
  }
}

@media screen and (max-width: 767px) {
  .rellax {
    transform: translate3d(0, 0, 0) !important;
  }
}

/* Case Study */
.single-article--with-logo .single-image > .rellax-wrapper {
  overflow: visible;
}
@media screen and (max-width: 1023px) {
  .single-article--with-logo .single-image > .rellax-wrapper {
    height: auto;
    padding-bottom: 0;
  }
}

/* About */
/* Home */
@media screen and (min-width: 768px) {
  html.sr [data-reveal],
html.sr .reveal-hidden {
    visibility: hidden;
  }
}

.wysiwyg h2 b,
.wysiwyg h2 strong,
.wysiwyg h3 b,
.wysiwyg h3 strong,
.wysiwyg h4 b,
.wysiwyg h4 strong,
.wysiwyg h5 b,
.wysiwyg h5 strong,
.wysiwyg h6 b,
.wysiwyg h6 strong {
  color: inherit;
}

.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
  font-weight: 500;
}

.wysiwyg h2 {
  margin-top: 2.25rem;
  font-size: 1.5rem;
  font-weight: 400;
}

.wysiwyg h3 {
  font-size: 1.25rem;
}

.wysiwyg > :first-child {
  margin-top: 0;
}

.wysiwyg > img,
.wysiwyg > figure[class] {
  margin-top: 2.25rem;
  margin-bottom: 2.25rem;
}
@media screen and (min-width: 1024px) {
  .wysiwyg > img,
.wysiwyg > figure[class] {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}

.wysiwyg > a {
  display: inline-block;
  margin-top: 4rem;
}

@media screen and (min-width: 1024px) {
  .wysiwyg img.alignleft,
.wysiwyg img.alignright,
.wysiwyg figure.alignleft,
.wysiwyg figure.alignright {
    margin-top: 2.25rem;
    margin-bottom: 1.5rem;
    max-width: 48%;
  }
}
@media screen and (min-width: 1024px) {
  .wysiwyg img.alignleft + *,
.wysiwyg img.alignright + *,
.wysiwyg figure.alignleft + *,
.wysiwyg figure.alignright + * {
    margin-top: 2.25rem;
  }
}

@media screen and (min-width: 1024px) {
  .wysiwyg .alignleft {
    float: left;
    margin-right: 1.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .wysiwyg .alignright {
    float: right;
    margin-left: 1.5rem;
  }
}

.wysiwyg .emphasis {
  position: relative;
  padding-top: 3rem;
  padding-bottom: 3rem;
  color: white;
}
@media screen and (min-width: 768px) {
  .wysiwyg .emphasis {
    padding-top: 5rem;
    padding-bottom: 5rem;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .wysiwyg .emphasis {
    padding-right: 4rem;
  }
}

.wysiwyg .emphasis::before {
  content: "";
  position: absolute;
  top: 0;
  right: -1rem;
  bottom: 0;
  left: -50vw;
  background-color: #000036;
}
@media screen and (min-width: 1024px) {
  .wysiwyg .emphasis::before {
    right: 0;
  }
}

.wysiwyg .emphasis > * {
  position: relative;
}

.wysiwyg * + blockquote,
.wysiwyg blockquote + * {
  margin-top: 4rem;
}

@media screen and (min-width: 1024px) {
  .wysiwyg h2 {
    font-size: 2.25rem;
  }

  .wysiwyg h3 {
    font-size: 1.5rem;
  }

  .wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
    font-size: 1.25rem;
  }
}
.page-heading {
  line-height: 1.1;
}
.page-heading {
  font-size: 36px;
}
@media screen and (min-width: 320px) {
  .page-heading {
    font-size: calc(36px + 32 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .page-heading {
    font-size: 68px;
  }
}

.c-siteheader {
  display: flex;
  justify-content: space-between;
  margin-top: 2.25rem;
}
@media screen and (min-width: 768px) {
  .c-siteheader {
    align-items: center;
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .c-siteheader {
    flex-wrap: wrap;
    margin-top: 3rem;
  }
}

/* Logo */
.c-siteheader a[rel=home] {
  display: block;
  flex: 0 1 200px;
  margin-right: 0.5rem;
}
@media screen and (min-width: 1024px) {
  .c-siteheader a[rel=home] {
    flex-basis: 320px;
    max-width: 320px;
    margin-right: 1.5rem;
  }
}

.c-siteheader a[rel=home] svg {
  vertical-align: bottom;
}

@media screen and (max-width: 767px) {
  .c-siteheader a[rel=home] .strapline {
    display: none;
  }
}

.c-sitefooter {
  position: relative;
  clear: both;
  z-index: 0;
}

.c-sitefooter__wrapper {
  color: white;
}

.c-sitefooter__wrapper::before {
  background-color: #202036;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .c-sitefooter__wrapper::before {
    right: -4rem;
  }
}

.c-sitefooter__wrapper > div {
  max-width: 75rem;
}

.c-sitefooter__heading {
  color: white;
  font-size: 2.25rem;
}

.c-sitefooter__heading b {
  font-weight: 400;
  color: #6eb315;
}

.c-sitefooter__content {
  max-width: 45ch;
  margin-top: 1rem;
  font-size: 1.5rem;
}

.c-sitefooter__signup {
  max-width: 50rem;
  margin-top: 2.25rem;
}

@media screen and (min-width: 768px) {
  .c-sitefooter__form {
    display: flex;
  }
}

.c-sitefooter__signup label {
  margin-top: 0;
  color: #6c8599;
  font-weight: 400;
  font-size: inherit;
}

.c-sitefooter__form input,
.c-sitefooter__form button {
  border: 0;
}

.c-sitefooter__form input {
  width: 100%;
  padding: 1rem;
}
@media screen and (min-width: 768px) {
  .c-sitefooter__form input {
    padding: 0.5rem 1rem;
  }
}

.c-sitefooter__form button {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1rem;
  padding: 1rem 2rem;
  border-radius: 12px;
  background-color: rgba(255, 255, 255, 0.06);
  color: white;
  font-weight: 500;
  transition: 0.15s linear;
}
@media screen and (min-width: 768px) {
  .c-sitefooter__form button {
    margin-top: 0;
    border-radius: 0 12px 12px 0;
  }
}
.c-sitefooter__form button:hover, .c-sitefooter__form button:focus {
  background-color: #6eb315;
  transition: 0.15s linear;
}

.c-sitefooter__form button svg {
  flex-shrink: 0;
  margin-left: 1rem;
  width: 65px;
  height: 11px;
}

.c-sitefooter__form button path {
  transition: fill 0.15s linear;
}

.c-sitefooter__form button:hover path,
.c-sitefooter__form button:focus path {
  fill: white;
}

.c-sitefooter__block3 {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .c-sitefooter__block3 {
    display: flex;
  }
}

.c-sitefooter__contact {
  font-size: 1.25rem;
  flex-basis: 40%;
}

.c-sitefooter__contact h3 {
  color: #6c8599;
  font-size: 1.25rem;
}

.c-sitefooter__contact h3 ~ h3 {
  margin-top: 2.25rem;
}

.c-sitefooter__contact p {
  margin-top: 1rem;
}

.c-sitefooter__nav {
  flex-basis: 60%;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-sitefooter__nav {
    margin-top: 3.375rem;
  }
}

.c-sitefooter__nav > h2 {
  flex-basis: 100%;
  color: #6c8599;
  font-size: 1.25rem;
}

.c-sitefooter__nav ul {
  flex: 1 1 50%;
}

.c-sitefooter__nav li + li {
  margin-top: 1.5rem;
}

.c-sitefooter__legal {
  max-width: none;
  margin: 1rem 0vw 1rem 0;
  font-size: 1rem;
  text-align: right;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .c-sitefooter__legal {
    margin-right: 0;
  }
}

html.sitenav-is-open,
html.sitenav-is-open > body {
  max-height: 100%;
  position: relative;
  overflow: hidden;
}

html.sitenav-is-open::before {
  content: "";
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  background: #141a1e;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

.c-sitenav {
  display: flex;
  flex-shrink: 0;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .c-sitenav {
    align-items: center;
  }
}

.c-sitenav__toggle {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border: 0;
  background: none;
  z-index: 101;
}
@media screen and (min-width: 1024px) {
  .c-sitenav__toggle {
    display: none;
  }
}
.c-sitenav__toggle:focus {
  outline: 0;
}

.sitenav-is-open .c-sitenav__toggle {
  color: white;
}

.c-sitenav__burger {
  position: relative;
  width: 18px;
  height: 18px;
  margin-top: -13px;
  margin-right: 0.5rem;
  transition: 0.5s ease-in-out;
  pointer-events: none;
}
.c-sitenav__burger span {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  opacity: 1;
  left: 0;
  background-color: #202036;
  transition: 0.25s ease-in-out;
}
.c-sitenav__burger span:first-child {
  top: 6px;
}
.c-sitenav__burger span:nth-child(2), .c-sitenav__burger span:nth-child(3) {
  top: 12px;
}
.c-sitenav__burger span:last-child {
  top: 18px;
}

.sitenav-is-open .c-sitenav__burger span {
  background-color: white;
}

.sitenav-is-open .c-sitenav__burger span:first-child,
.sitenav-is-open .c-sitenav__burger span:last-child {
  width: 0;
  opacity: 0;
}

.sitenav-is-open .c-sitenav__burger span:nth-child(2) {
  transform: rotate(45deg);
}

.sitenav-is-open .c-sitenav__burger span:nth-child(3) {
  transform: rotate(-45deg);
}

.c-sitenav ul {
  display: flex;
}
@media screen and (max-width: 1023px) {
  .c-sitenav ul {
    position: fixed;
    top: 0;
    right: 0;
    flex-direction: column;
    width: 90%;
    height: 100%;
    margin-top: 0;
    padding: 6.75rem 2.25rem 2.25rem 4.5rem;
    background-color: #202036;
    color: white;
    transform: translateX(100%);
    transition: transform 0.15s ease-in-out;
    z-index: 100;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .c-sitenav ul {
    width: 50%;
    padding-top: 11.25rem;
  }
}

@media screen and (max-width: 1023px) {
  .c-sitenav [aria-expanded=true] + ul {
    transform: translateX(0);
    transition: transform 0.15s ease-in-out;
  }
}

@media screen and (max-width: 1023px) {
  .c-sitenav li + li {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .c-sitenav li + li {
    margin-left: 2.25rem;
  }
}

.c-sitenav a {
  position: relative;
  display: block;
  font-size: 1.125rem;
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  .c-sitenav a {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .c-sitenav a {
    padding: 1rem 0;
  }
}
@media screen and (min-width: 1024px) {
  .c-sitenav a::after {
    content: "";
    position: absolute;
    bottom: 0.25rem;
    left: 50%;
    display: block;
    width: 8px;
    height: 8px;
    margin-left: -4px;
    border-radius: 4px;
  }
}

@media screen and (min-width: 1024px) {
  .c-sitenav .current_page_item,
.c-sitenav .current_page_parent,
.c-sitenav .current-page-ancestor {
    font-weight: 500;
    transform: translateY(1px);
  }
}
.c-sitenav .current_page_item a::after,
.c-sitenav .current_page_parent a::after,
.c-sitenav .current-page-ancestor a::after {
  background-color: #6eb315;
}

.search .c-sitenav .current_page_parent {
  font-weight: 400;
  transform: none;
}
.search .c-sitenav .current_page_parent a::after {
  content: none;
}

.c-sitenav__search {
  flex-shrink: 0;
  padding: 0;
  border: none;
  background: none;
  color: #488100;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .c-sitenav__search {
    position: relative;
    height: 18px;
    width: 18px;
    margin-top: -5px;
    margin-right: 0;
    color: #6eb315;
    opacity: 0;
    transform: translateX(30vw);
    transition: transform 0.3s ease, opacity 0.3s ease;
    z-index: 1000;
    order: -1;
  }
}
@media screen and (min-width: 1024px) {
  .c-sitenav__search {
    margin-left: 2rem;
  }
}

.c-sitenav__search svg {
  width: 18px;
  height: 18px;
}

@media screen and (max-width: 1023px) {
  html.sitenav-is-open .c-sitenav__search {
    transform: translateX(0);
    opacity: 1;
  }
}

.c-searchform {
  width: 65ch;
  max-width: 100%;
}

.c-searchform > div {
  display: flex;
}
.c-searchform > div > :first-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: calc(66.666% - 0px);
}
.c-searchform > div > :last-child {
  flex-grow: 0;
}
@media screen and (max-width: 767px) {
  .c-searchform > div {
    flex-wrap: wrap;
  }
}

.c-searchform label {
  margin-top: 0;
  font-weight: 400;
  font-size: inherit;
}

.c-searchform input,
.c-searchform button {
  margin-bottom: 1rem;
}

.c-searchform button {
  border: 0;
  border-radius: 12px;
}
@media screen and (min-width: 768px) {
  .c-searchform button {
    border-radius: 0 12px 12px 0;
  }
}

.c-searchform input {
  padding: 0.5rem 1rem;
}

.c-searchform button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  background-color: #000036;
  color: white;
  font-weight: 500;
  transition: 0.15s linear;
}
.c-searchform button:hover, .c-searchform button:focus {
  background-color: #6eb315;
  transition: 0.15s linear;
}

.c-searchform button svg {
  flex-shrink: 0;
  margin-left: 1rem;
}

.c-searchform button path {
  transition: fill 0.15s linear;
}

.c-searchform button:hover path,
.c-searchform button:focus path {
  fill: white;
}

/* Siteheader */
.c-sitesearch .c-searchform button {
  background-color: rgba(255, 255, 255, 0.06);
}

html.sitesearch-is-open,
html.sitesearch-is-open > body {
  max-height: 100%;
  position: relative;
  overflow: hidden;
}

.c-sitesearch {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem;
  background-color: #202036;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  transition: visibility 0s linear 0.3s, z-index 0s linear 0.3s, opacity 0.3s;
}

.c-sitesearch[aria-hidden=false] {
  visibility: visible;
  opacity: 1;
  z-index: 10000;
  transition: z-index 0s linear 0s, visibility 0s linear 0s, opacity 0.3s;
}

.c-sitesearch__close {
  position: fixed;
  top: 2rem;
  right: 2.25rem;
  border: 0;
  background: none;
}
@media screen and (min-width: 768px) {
  .c-sitesearch__close {
    top: 5rem;
    right: 1.5rem;
  }
}

.c-sitesearch__close > div {
  position: relative;
  width: 24px;
  height: 24px;
  pointer-events: none;
}
.c-sitesearch__close > div span {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  top: 12px;
  background-color: white;
}
.c-sitesearch__close > div span:first-child {
  transform: rotate(45deg);
}
.c-sitesearch__close > div span:last-child {
  transform: rotate(-45deg);
}

.home-content {
  font-size: 20px;
}
@media screen and (min-width: 320px) {
  .home-content {
    font-size: calc(20px + 4 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .home-content {
    font-size: 24px;
  }
}

.home-content p {
  max-width: 20em;
}

.home-masthead {
  position: relative;
  min-height: calc(100vh - 102px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 4rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .home-masthead {
    min-height: calc(100vh - 118px);
    padding-top: 12rem;
  }
}
@media screen and (min-width: 1024px) {
  .home-masthead {
    min-height: calc(100vh - 160px);
  }
}

.home-masthead::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: -1rem;
  width: 100vw;
  background-color: #202036;
}
@media screen and (min-width: 1024px) {
  .home-masthead::before {
    left: auto;
  }
}

.home-heading {
  position: relative;
  margin-bottom: 8rem;
  color: white;
  line-height: 1.1;
}
.home-heading {
  font-size: 36px;
}
@media screen and (min-width: 320px) {
  .home-heading {
    font-size: calc(36px + 32 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .home-heading {
    font-size: 68px;
  }
}
@media screen and (min-width: 768px) {
  .home-heading {
    margin-bottom: 12rem;
  }
}
@media screen and (min-width: 1024px) {
  .home-heading {
    letter-spacing: -2px;
  }
}

.home-heading > * {
  display: block;
}

.home-heading > b {
  font-size: 68px;
}
@media screen and (min-width: 320px) {
  .home-heading > b {
    font-size: calc(68px + 52 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .home-heading > b {
    font-size: 120px;
  }
}

@media screen and (min-width: 1024px) {
  html.sr .home-heading > * {
    visibility: hidden;
  }
}

.home-section-1 {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  margin-top: 0;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .home-section-1 {
    margin-top: -8rem;
  }
}
@media screen and (min-width: 1024px) {
  .home-section-1 {
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 0;
  }
}

@media screen and (min-width: 1024px) {
  .home-section-1 > * {
    width: 50%;
  }
}

.home-section-1 > :first-child {
  position: relative;
  margin-top: 2.25rem;
  font-size: 1.5rem;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .home-section-1 > :first-child {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .home-section-1 > :first-child {
    margin-top: 5rem;
    margin-right: -4rem;
    padding-top: 2.25rem;
    padding-right: 2.25rem;
    background-color: white;
  }
}

.home-section-1 p:first-child {
  font-weight: 500;
}
.home-section-1 p:first-child b, .home-section-1 p:first-child strong, .home-section-1 p:first-child span {
  color: #488100;
}

@media screen and (min-width: 1024px) {
  .home-section-1__image {
    margin-top: -22vh;
  }
}

.home-section-1__image > div {
  margin-left: -1rem;
  margin-right: -1rem;
}
@media screen and (min-width: 768px) {
  .home-section-1__image > div {
    margin-left: 12rem;
  }
}
@media screen and (min-width: 1024px) {
  .home-section-1__image > div {
    width: calc(50vw + 4rem);
    margin-left: 0;
    padding-bottom: calc(66.6% + 8rem);
  }
}

.home-icons {
  order: -1;
  display: grid;
  width: 100%;
  margin-top: 2rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .home-icons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 1.5rem;
    margin-top: 3.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .home-icons {
    order: 1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 5rem;
  }
}

.home-icons__item {
  display: flex;
  align-items: center;
  float: left;
  width: 25%;
}
@media screen and (min-width: 1024px) {
  .home-icons__item {
    flex-direction: column;
    text-align: center;
  }
}
@supports (display: grid) {
  .home-icons__item {
    width: auto;
  }
}

.home-icons__item + .home-icons__item {
  margin-top: 1rem;
}
@media screen and (min-width: 1024px) {
  .home-icons__item + .home-icons__item {
    margin-top: 0;
  }
}

.home-icons__item img {
  width: 4rem;
}
@media screen and (min-width: 1024px) {
  .home-icons__item img {
    width: 7rem;
  }
}

.home-icons__item p {
  margin-left: 1rem;
  line-height: 1.2;
}
@media screen and (min-width: 1024px) {
  .home-icons__item p {
    margin-top: 1rem;
    margin-left: 0;
  }
}

.home-icons__item b {
  display: block;
}

.home-section-2 {
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .home-section-2 {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 1024px) {
  .home-section-2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}

.home-section-2 > :first-child {
  width: 66.66666%;
}
@media screen and (min-width: 1024px) {
  .home-section-2 > :first-child {
    width: 50%;
    padding-right: 4rem;
  }
}

@media screen and (min-width: 1024px) {
  .home-image-2 {
    width: 50vw;
    transform: translateX(-50vw);
    margin-left: 100%;
    padding-bottom: calc(66.6% + 8rem);
  }
}

.home-section-2 > :last-child {
  margin-top: 2.25rem;
}
@media screen and (min-width: 1024px) {
  .home-section-2 > :last-child {
    width: 50%;
    margin-top: 0;
  }
}

.home-image-3-wrapper {
  width: 66.666666%;
  margin-left: auto;
}
@media screen and (min-width: 1024px) {
  .home-image-3-wrapper {
    width: 100%;
    margin-left: 0;
  }
}

.home-section-2__content {
  margin-top: 3.5rem;
}
@media screen and (min-width: 1024px) {
  .home-section-2__content {
    margin-top: 5rem;
  }
}

.home-section-3 {
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .home-section-3 {
    margin-top: 7rem;
  }
}
@media screen and (min-width: 1024px) {
  .home-section-3 {
    display: flex;
    flex-wrap: wrap;
  }
}

.home-section-3__heading {
  width: 100%;
  margin-bottom: 2rem;
  font-size: 2.25rem;
}
@media screen and (min-width: 768px) {
  .home-section-3__heading {
    font-size: 3.125rem;
  }
}

@media screen and (min-width: 1024px) {
  .home-section-3__graphic {
    width: 50%;
    padding-right: 4rem;
  }
}

.home-section-3__graphic > * {
  float: right;
}

.home-section-3__graphic svg {
  max-width: none;
}

@media screen and (min-width: 768px) {
  .home-section-3__content {
    max-width: 32rem;
    margin-left: auto;
  }
}
@media screen and (min-width: 1024px) {
  .home-section-3__content {
    width: 50%;
    max-width: none;
    margin-left: 0;
  }
}
.home-section-3__content > p {
  max-width: 32rem;
}

.home-section-3__content--1 {
  clear: both;
  padding-top: 2.25rem;
}
@media screen and (min-width: 1024px) {
  .home-section-3__content--1 {
    margin-top: auto;
    padding-top: 0;
  }
}

.home-section-3__content--2 {
  margin-top: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .home-section-3__content--2 {
    margin-top: 5rem;
    padding-right: 4rem;
    align-self: flex-end;
  }
}

.home-section-3__image {
  margin-top: 3.5rem;
  margin-left: -1rem;
  margin-right: -1rem;
}
@media screen and (min-width: 768px) {
  .home-section-3__image {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 1024px) {
  .home-section-3__image {
    width: 50%;
    margin-left: 0;
    margin-right: 0;
  }
}

.home-section-4 {
  margin-top: 2.25rem;
}
@media screen and (min-width: 768px) {
  .home-section-4 {
    margin-top: 3.5rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1024px) {
  .home-section-4 {
    margin-top: 8rem;
  }
}

@media screen and (min-width: 1024px) {
  .home-section-4 > :first-child {
    display: flex;
    margin-top: 2.25rem;
  }
}

.home-section-4__content-1 {
  font-size: 1.75rem;
}
@media screen and (min-width: 768px) {
  .home-section-4__content-1 {
    font-size: 2rem;
  }
}

.home-section-4__content-2 {
  margin-top: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .home-section-4__content-2 {
    width: 50%;
    flex-shrink: 0;
    box-sizing: content-box;
    margin-top: 0;
    padding-left: 2.25rem;
    padding-bottom: 2.25rem;
    background-color: white;
  }
}

.home-section-4__graphic {
  display: none;
}
@media screen and (min-width: 1024px) {
  .home-section-4__graphic {
    flex-shrink: 0;
    display: block;
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }
}

.home-section-4__image {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .home-section-4__image {
    width: 75%;
    margin-left: auto;
  }
}
@media screen and (min-width: 1024px) {
  .home-section-4__image {
    margin-top: -4rem;
    margin-left: 0;
  }
}

@media screen and (min-width: 768px) {
  .home-section-4__image > div {
    margin-right: -1rem;
  }
}
@media screen and (min-width: 1024px) {
  .home-section-4__image > div {
    width: 75vw;
    transform: translateX(-75vw);
    margin-left: 100%;
    margin-right: 0;
  }
}

.home-section-5 {
  margin-top: 3.5rem;
}
@media screen and (min-width: 1024px) {
  .home-section-5 {
    display: flex;
    margin-top: 7rem;
  }
}

@media screen and (min-width: 1024px) {
  .home-section-5 > * {
    width: 50%;
  }
}

.home-section-5__heading {
  font-size: 2.25rem;
}
@media screen and (min-width: 768px) {
  .home-section-5__heading {
    font-size: 3.125rem;
  }
}

.home-section-5__content {
  margin-top: 1.5rem;
}

.home-section-5__image {
  margin-top: 3.5rem;
}
@media screen and (min-width: 1024px) {
  .home-section-5__image {
    margin-top: 0;
  }
}

.home-clients {
  margin-top: 3.5rem;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .home-clients {
    margin-top: 5rem;
  }
}

.about-content {
  font-size: 20px;
}
@media screen and (min-width: 320px) {
  .about-content {
    font-size: calc(20px + 4 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .about-content {
    font-size: 24px;
  }
}

/* Intro */
.about-intro {
  margin-top: 3.5rem;
}
@media screen and (min-width: 1024px) {
  .about-intro {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 0;
  }
}

.about-intro__heading {
  width: 100%;
  margin-bottom: 2.25rem;
}

@media screen and (min-width: 1024px) {
  .about-intro__content {
    width: 50%;
    align-self: center;
    padding-right: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .about-intro__content > * {
    max-width: 32rem;
  }
}

.about-intro__content > :first-child {
  font-weight: 500;
  margin-bottom: 1.5rem;
}

.about-intro__image {
  margin-top: 2.25rem;
}
@media screen and (min-width: 1024px) {
  .about-intro__image {
    width: 50%;
    margin-top: 0;
  }
}

@media screen and (min-width: 1024px) {
  .about-intro__image > div {
    width: 50vw;
  }
}

/* Team */
.about-team {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .about-team {
    margin-top: 5rem;
  }
}

.about-team__heading {
  line-height: 1;
  width: 100%;
  margin-bottom: 2.25rem;
}
.about-team__heading {
  font-size: 36px;
}
@media screen and (min-width: 320px) {
  .about-team__heading {
    font-size: calc(36px + 14 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .about-team__heading {
    font-size: 50px;
  }
}
@media screen and (min-width: 1024px) {
  .about-team__heading {
    width: 20%;
  }
}

.about-team__heading br {
  display: none;
}
@media screen and (min-width: 1024px) {
  .about-team__heading br {
    display: block;
  }
}

.about-member {
  width: 50%;
  border: 1px solid white;
}
@media screen and (min-width: 768px) {
  .about-member {
    width: 33.333333%;
  }
}
@media screen and (min-width: 1024px) {
  .about-member {
    width: 20%;
  }
  .about-member:nth-of-type(1) {
    margin-top: 3rem;
  }
  .about-member:nth-of-type(2) {
    margin-top: 0rem;
  }
  .about-member:nth-of-type(3) {
    margin-top: 8rem;
  }
  .about-member:nth-of-type(4) {
    margin-top: 20rem;
  }
  .about-member:nth-of-type(5n + 5) {
    margin-top: -24rem;
  }
  .about-member:nth-of-type(5n + 6) {
    margin-top: -17rem;
  }
  .about-member:nth-of-type(5n + 7) {
    margin-top: -20rem;
  }
  .about-member:nth-of-type(5n + 8) {
    margin-top: -12rem;
  }
}

.about-member__wrapper {
  position: relative;
  height: 0;
  padding-bottom: 150%;
  color: white;
}

.about-member__content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1rem;
}

.about-member__name {
  font-weight: 500;
  font-size: 1.5rem;
  color: white;
  line-height: 1;
  transition: opacity 0.15s linear;
}
@media screen and (min-width: 768px) {
  .about-member__name {
    font-size: 1.75rem;
  }
}

.about-member__name a {
  text-decoration: none;
}

.about-member__name a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.about-member__position {
  margin-top: 0.25rem;
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
  transition: opacity 0.15s linear;
}

.about-member__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}

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

.about-member__image > img:first-child {
  filter: grayscale(100%);
}

.about-member__image > img:last-child {
  opacity: 0;
}

.about-member__image::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000026;
  mix-blend-mode: multiply;
  opacity: 0.8;
}

.about-member:hover .about-member__image::after {
  background: linear-gradient(to top, #02020e, rgba(2, 2, 14, 0) 4vw);
}
.about-member:hover .about-member__position,
.about-member:hover .about-member__name {
  opacity: 0;
}
.about-member:hover .about-member__image > img:last-child {
  opacity: 1;
}

/* Culture */
.about-culture {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .about-culture {
    display: flex;
    margin-top: 6rem;
    font-size: 1.75rem;
  }
}

@media screen and (min-width: 768px) {
  .about-culture > div:first-of-type {
    margin-right: 4rem;
  }
}

.about-culture > div:last-of-type {
  margin-top: 2.25rem;
}
@media screen and (min-width: 768px) {
  .about-culture > div:last-of-type {
    margin-top: 0;
  }
}

.about-culture__heading {
  font-weight: 500;
}

.about-culture ul {
  margin-top: 0;
}

/* Origin story */
.about-origin {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  margin-top: 3.5rem;
  padding-top: 1rem;
  padding-bottom: 3.5rem;
}
@media screen and (min-width: 768px) {
  .about-origin {
    flex-direction: row-reverse;
    justify-content: flex-end;
    padding-top: 3.5rem;
    padding-bottom: 4rem;
  }
}
@media screen and (min-width: 1024px) {
  .about-origin {
    margin-top: 10rem;
  }
}

.about-origin::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: -1rem;
  width: 100vw;
  background-color: #f6f6f7;
}
@media screen and (min-width: 1024px) {
  .about-origin::before {
    bottom: -10rem;
    left: 4rem;
  }
}

.about-origin__content {
  position: relative;
}
@media screen and (min-width: 768px) {
  .about-origin__content {
    width: 60%;
  }
}

.about-origin__heading {
  width: 100%;
  margin-bottom: 1.5rem;
  line-height: 1;
}
.about-origin__heading {
  font-size: 36px;
}
@media screen and (min-width: 320px) {
  .about-origin__heading {
    font-size: calc(36px + 14 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .about-origin__heading {
    font-size: 50px;
  }
}

.about-origin__link {
  display: flex;
  align-items: center;
  margin-top: 2.25rem;
}

.about-origin__link > span {
  margin-left: 0.5rem;
}

.about-origin__image {
  position: relative;
  margin-bottom: 2.25rem;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .about-origin__image {
    width: 40%;
    padding-right: 4rem;
  }
}
@media screen and (min-width: 1024px) {
  .about-origin__image {
    margin-top: -9rem;
  }
}

.about-origin__image > div {
  padding-bottom: 100%;
}

.contact-content {
  font-size: 20px;
}
@media screen and (min-width: 320px) {
  .contact-content {
    font-size: calc(20px + 4 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .contact-content {
    font-size: 24px;
  }
}
@media screen and (min-width: 1024px) {
  .contact-content {
    display: flex;
    flex-wrap: wrap;
  }
}

.contact-heading {
  width: 100%;
  margin-top: 3.5rem;
}
@media screen and (min-width: 1024px) {
  .contact-heading {
    margin-top: 0;
  }
}

.contact-details {
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 1024px) {
  .contact-details {
    width: 50%;
    margin-top: 5rem;
  }
}

.contact-details > * + * {
  margin-top: 2.25rem;
}

.contact-details b {
  display: block;
  color: #488100;
}

.contact-form {
  position: relative;
  min-width: 0;
  margin-top: 3.5rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media screen and (min-width: 1024px) {
  .contact-form {
    width: 50%;
    min-height: 1000px;
    margin-top: 2.25rem;
    padding-top: 0;
  }
}

.contact-form::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: -1rem;
  width: 100vw;
  background-color: #f6f6f7;
}
@media screen and (min-width: 1024px) {
  .contact-form::before {
    top: 50%;
    bottom: -13rem;
    left: -24rem;
  }
}

.contact-form__content {
  position: relative;
  padding-top: 0.25rem;
}
@media screen and (min-width: 1024px) {
  .contact-form__content {
    padding: 3.5rem 2.25rem;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.035), 0 0px 100px rgba(0, 0, 0, 0.07);
    background-color: white;
  }
}

.contact-form__content > div {
  min-width: 0;
}

.contact-form__heading {
  color: #488100;
  font-size: 1.5rem;
  font-weight: 500;
}

.contact-form__description {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.contact-form input,
.contact-form textarea,
.contact-form label {
  font-size: 1.25rem;
}

.contact-form input,
.contact-form textarea {
  border: 2px solid #6eb315;
}

.contact-form input:focus,
.contact-form textarea:focus {
  background-color: #f6f6f7;
}

.contact-form button {
  display: flex;
  align-items: center;
  padding: 1rem 2rem;
  border-radius: 0.75rem;
  background-color: #202036;
  color: white;
  font-weight: 500;
  transition: all 0.14s linear;
}

.contact-form button:hover,
.contact-form button:focus {
  background-color: #6eb315;
  transition: all 0.15s linear;
}

.contact-form button svg {
  flex-shrink: 0;
  width: 65px;
  height: 11px;
  margin-left: 1rem;
}

.contact-form button path {
  transition: all 0.15s linear;
}

.contact-form button:hover path {
  fill: white;
}

.download-form {
  margin-bottom: 6rem;
}

.download-heading {
  font-size: 2.25rem;
  line-height: 1.25;
}
@media screen and (min-width: 1024px) {
  .download-heading {
    font-size: 3.125rem;
    line-height: 1.1;
  }
}

.download-heading .download-heading-caption {
  color: #488100;
  display: block;
  font-size: 2.25rem;
  margin-bottom: 0.5rem;
}

.download-file-meta {
  margin-top: 0.5rem;
  color: #64758e;
}

.download-form input[type=email] {
  border: 2px solid #6eb315;
}
.download-form input[type=email]:focus, .download-form input[type=email]:active {
  background-color: #f6f6f7;
}

.download-form input[type=checkbox] {
  width: 24px;
  height: 24px;
  border: 2px solid #64758e;
}
.download-form input[type=checkbox]::before {
  top: -0.1em;
}

.download-form .ginput_container.ginput_container_consent {
  align-items: start;
  padding: 1.5rem 0 0;
}

.download-form button {
  display: flex;
  align-items: center;
  padding: 1rem 2rem;
  border-radius: 0.75rem;
  background-color: #202036;
  color: white;
  font-weight: 500;
  transition: all 0.14s linear;
}

.download-form button:hover,
.download-form button:focus {
  background-color: #6eb315;
  transition: all 0.15s linear;
}

.download-form button svg {
  flex-shrink: 0;
  width: 65px;
  height: 11px;
  margin-left: 1rem;
}

.download-form button path {
  transition: all 0.15s linear;
}

.download-form button:hover path,
.download-form button:focus path {
  fill: white;
}

@media screen and (max-width: 1023px) {
  .research-content {
    margin-top: 3.375rem;
    margin-bottom: 4.5rem;
  }
}

.research-toc {
  margin-top: 2.25rem;
}

.research-panel {
  margin: 3.375rem 0;
}
@media screen and (min-width: 1024px) {
  .research-panel {
    display: flex;
    margin: 4.5rem 0;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.035), 0 0px 100px rgba(0, 0, 0, 0.07);
  }
}

.research-panel > * {
  padding: 2.25rem 1.25rem 3.375rem;
}
@media screen and (min-width: 1024px) {
  .research-panel > * {
    flex: 1;
    min-width: 0;
    padding: 4rem 4rem 5rem;
  }
}

@media screen and (max-width: 1023px) {
  .research-panel__section-1 {
    padding-top: 0;
    padding-bottom: 1.75rem;
  }
}

.research-panel__heading {
  font-weight: 500;
}
.research-panel__heading {
  font-size: 28px;
}
@media screen and (min-width: 320px) {
  .research-panel__heading {
    font-size: calc(28px + 8 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .research-panel__heading {
    font-size: 36px;
  }
}

.research-panel__section-2 {
  background-color: #202036;
  color: white;
}

.research-panel__section-2 > * {
  flex: 1;
}

.research-panel__content {
  max-width: 50ch;
}

.research-form-heading {
  margin-top: 0.25rem;
  color: #6eb315;
  font-size: 1.75rem;
  line-height: 1.2;
}

.research-form-heading h3 {
  color: white;
  font-weight: 500;
}

.research-form {
  position: relative;
  min-width: 0;
  margin-top: 2.25rem;
}

.research-form ul,
.research-form label {
  margin-top: 0;
  font-size: 1.25rem;
  line-height: 1.35;
}

.research-form .gfield_consent_label {
  font-weight: 400;
}

.research-form button,
.research-form a.button {
  display: flex;
  align-items: center;
  padding: 1rem 2rem;
  border: 0;
  border-radius: 12px;
  background-color: rgba(255, 255, 255, 0.1);
  color: white;
  font-weight: 500;
  transition: 0.15s linear;
  text-decoration: none;
}
.research-form button:hover, .research-form button:focus,
.research-form a.button:hover,
.research-form a.button:focus {
  background-color: #6eb315;
  transition: 0.15s linear;
}

.research-form a.button svg,
.research-form a.button svg {
  flex-shrink: 0;
  margin-left: 1rem;
}

.research-form a.button path,
.research-form a.button path {
  transition: fill 0.15s linear;
}

.research-form a.button:hover path,
.research-form a.button:focus path {
  fill: white;
}

.services-content {
  font-size: 20px;
}
@media screen and (min-width: 320px) {
  .services-content {
    font-size: calc(20px + 4 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .services-content {
    font-size: 24px;
  }
}

/* Arrows block */
.services-arrows {
  margin-top: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .services-arrows {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 0;
  }
}

/* Arrows lead copy */
.services-arrows__lead {
  margin-top: 4rem;
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .services-arrows__lead {
    font-size: 1.5rem;
    margin-top: 5rem;
    width: 50%;
    align-self: center;
    padding-right: 4rem;
  }
}
.services-arrows__lead p:not(:first-child) {
  margin-top: 1em;
}

/* Arrows graphic and copy */
@media screen and (min-width: 1024px) {
  .services-arrows__arrow-block {
    display: flex;
    margin-top: 3rem;
  }
}

@media screen and (min-width: 1024px) {
  .services-arrows__graphic {
    width: 50%;
    align-self: flex-end;
  }
}
.services-arrows__graphic svg {
  max-width: none;
  float: right;
}
@media screen and (max-width: 767px) {
  .services-arrows__graphic svg {
    margin-right: -20.5rem;
    margin-bottom: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .services-arrows__graphic svg {
    margin-right: -15rem;
    margin-top: -2rem;
  }
}

@media screen and (min-width: 1024px) {
  .services-arrows__copy {
    font-size: 1.5rem;
    width: 50%;
    margin-left: 0;
    padding-bottom: 6rem;
  }
}
.services-arrows__copy p:not(:first-child) {
  margin-top: 1em;
}

/* Cards block */
.services-cards {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 4rem;
  padding-bottom: 2rem;
  margin-top: 5rem;
}

.services-cards::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: -3rem;
  width: calc(100vw + 3rem);
  background-color: #000036;
  color: #fff;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .services-cards::before {
    width: calc(100vw + 3rem);
    right: -3rem;
    left: auto;
  }
}

.services-cards * {
  position: relative;
}

.services-cards__heading {
  color: #fff;
  font-size: 3.13rem;
  margin-bottom: 2rem;
}

.services-cards__lead {
  color: #fff;
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .services-cards__lead {
    font-size: 1.5rem;
  }
}
.services-cards__lead p:not(:first-child) {
  margin-top: 1em;
}

.services-cards__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
@media screen and (min-width: 1024px) {
  .services-cards__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.services-cards__card {
  padding: 0.75rem;
}

.services-cards__item {
  border: 1px solid #488100;
}

.services-cards__card-title {
  color: #6eb315;
  font-weight: 500;
  font-size: 2.75rem;
  margin-top: 0;
}
@media screen and (min-width: 1024px) {
  .services-cards__card-title {
    font-size: 3rem;
  }
}

.services-cards__card-img {
  max-width: 120px;
  height: auto;
  margin: 1rem 0;
}

.services-cards__card-content {
  color: #fff;
  margin-top: 0.2rem;
  font-weight: 500;
  margin: 1rem 0;
}
@media screen and (min-width: 1024px) {
  .services-cards__card-content {
    font-size: 1.5rem;
  }
}

.services-cards__content-block {
  color: #fff;
  font-size: 1.5rem;
  margin: 3rem 0 2rem;
}
@media screen and (min-width: 1024px) {
  @supports ((-moz-column-count: 2) or (column-count: 2)) {
    .services-cards__content-block {
      max-width: 100%;
      -moz-column-count: 2;
           column-count: 2;
      -moz-column-gap: 2rem;
           column-gap: 2rem;
    }
  }
}

/* Accordion block */
.services-accordion {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 4rem;
  padding-bottom: 2rem;
}
.services-accordion.services-accordion::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -3rem;
  right: auto;
  width: calc(100vw + 3rem);
  background-color: #eaeaeb;
  color: #fff;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .services-accordion.services-accordion::before {
    width: calc(100vw + 3rem);
    left: -3rem;
    right: auto;
  }
}

.services-accordion__heading {
  font-size: 3rem;
  font-weight: 500;
}

.services-accordion__lead {
  margin-top: 1rem;
  font-weight: 500;
  font-size: 1.5rem;
}

.services-accordion__accordion {
  margin: 3rem 0;
}

.services-accordion__item {
  overflow: hidden;
}

.services-accordion__item + .services-accordion__item {
  margin-top: 0.75rem;
}

/* Trigger */
.services-accordion__trigger {
  list-style: none;
  /* hides Firefox marker */
  border-bottom: 1px solid #6eb315;
  color: #6eb315;
  font-size: 2.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.5rem 0;
  cursor: pointer;
  font-weight: 500;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  transition: color 0.5s ease, border-color 0.5s ease;
}
@media screen and (min-width: 1024px) {
  .services-accordion__trigger {
    font-size: 3rem;
  }
}

.services-accordion__trigger::-webkit-details-marker {
  display: none;
}

/* hide WebKit marker */
.services-accordion__trigger:focus-visible {
  outline: 1px solid #488100;
  color: #488100;
}

.services-accordion__trigger:hover {
  color: #488100;
  border-color: #488100;
}

.services-accordion__trigger-text {
  flex: 1 1 auto;
  min-width: 0;
}

/* Icons: show one based on open state */
.services-accordion__icons {
  flex: 0 0 1.25rem;
  width: 50px;
  min-width: 50px;
  height: 50px;
  position: relative;
  display: inline-block;
}
@media screen and (min-width: 1024px) {
  .services-accordion__icons {
    width: 80px;
    min-width: 80px;
    height: 80px;
  }
}

.services-accordion__icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  flex: none;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  transition: opacity 50ms ease, transform 200ms ease;
}

.services-accordion__icon--open {
  opacity: 0;
  transform: scale(0.9) rotate(-8deg);
}

.services-accordion__icon--closed {
  opacity: 1;
  transform: scale(1) rotate(0);
}

/* when OPEN (or opening), show the open icon */
.services-accordion__item[open]:not(.is-closing) .services-accordion__icon--open {
  opacity: 1;
  transform: scale(1) rotate(0);
}

.services-accordion__item[open]:not(.is-closing) .services-accordion__icon--closed {
  opacity: 0;
  transform: scale(0.9) rotate(8deg);
}

/* when CLOSING, flip the icon immediately (even though [open] still present) */
.services-accordion__item.is-closing .services-accordion__icon--open {
  opacity: 0;
  transform: scale(0.9) rotate(8deg);
}

.services-accordion__item.is-closing .services-accordion__icon--closed {
  opacity: 1;
  transform: scale(1) rotate(0);
}

/* Panel */
.services-accordion__panel {
  padding: 1rem 0;
  overflow: hidden;
  transition: height 140ms ease;
  will-change: height;
}
@media (prefers-reduced-motion: reduce) {
  .services-accordion__panel .services-accordion__panel {
    transition: none;
  }
}
@media screen and (min-width: 1024px) {
  .services-accordion__panel {
    font-size: 1.5rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    row-gap: 1rem;
  }
}

.services-accordion__panel-subheading {
  font-weight: 500;
  margin-top: 1rem;
}
@media screen and (min-width: 1024px) {
  .services-accordion__panel-subheading {
    grid-column: 1;
  }
}

.services-accordion__panel-content {
  margin-top: 1rem;
}
@media screen and (min-width: 1024px) {
  @supports ((-moz-column-count: 2) or (column-count: 2)) {
    .services-accordion__panel-content {
      grid-column: 2/span 2;
      -moz-column-count: 2;
           column-count: 2;
      -moz-column-gap: 2rem;
           column-gap: 2rem;
    }
  }
}

.services-accordion__panel-content > ul:first-child {
  margin-top: 0;
}

.services-plain-content {
  margin: 3rem 0;
}
@media screen and (min-width: 1024px) {
  .services-plain-content {
    font-size: 1.5rem;
  }
}

.default-content > div {
  margin-top: 0;
}

.error-content {
  font-size: 1.5rem;
}

.error-content > * + * {
  margin-top: 2.25rem;
}

.single {
  background-color: #eaeaeb;
}

.single-content {
  position: relative;
  margin-bottom: 4rem;
}

@media screen and (min-width: 1024px) {
  .single-header {
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .single-content--with-logo .single-header {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 1024px) {
  .single-content--with-logo .single-header {
    align-items: flex-start;
  }
}

.single-header > :first-child {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .single-header > :first-child {
    width: 80%;
    padding-right: 2.25rem;
    padding-bottom: 4rem;
  }
}
@media screen and (min-width: 1024px) {
  .single-header > :first-child {
    width: 50%;
  }
}

.single-heading {
  font-size: 2.25rem;
  line-height: 1.25;
}
@media screen and (min-width: 1024px) {
  .single-heading {
    font-size: 3.125rem;
    line-height: 1.1;
  }
}

.case-study .single-heading {
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .case-study .single-heading {
    font-size: 1.75rem;
  }
}

.case-study .single-heading__title {
  display: block;
  font-size: 2.25rem;
  line-height: 1.1;
}
@media screen and (min-width: 1024px) {
  .case-study .single-heading__title {
    font-size: 4.25rem;
  }
}

.case-study .single-heading__separator {
  display: inline-block;
  margin-top: 0.25rem;
  color: #64758e;
}

.single-author {
  display: flex;
  align-items: center;
  margin-top: 0.75rem;
}

.single-author img {
  width: 2.5rem;
  height: 2.5rem;
  margin-right: 1rem;
  border-radius: 9999px;
}
@media screen and (min-width: 1024px) {
  .single-author img {
    width: 5rem;
    height: 5rem;
  }
}

.single-author span {
  color: #64758e;
}

.single-header__image {
  margin-top: 1.75rem;
}
@media screen and (min-width: 1024px) {
  .single-header__image {
    width: 50%;
    margin-top: auto;
  }
}

@media screen and (min-width: 768px) {
  .single-content--with-logo .single-header__image {
    width: 20%;
    margin-top: 0;
  }
}
@media screen and (min-width: 1024px) {
  .single-content--with-logo .single-header__image {
    width: auto;
  }
}

.single-content--with-logo .single-header__image > div {
  height: auto;
  padding-bottom: 0;
  overflow: visible;
}
@media screen and (min-width: 1024px) {
  .single-content--with-logo .single-header__image > div {
    height: 0;
    padding-bottom: 66.66666%;
  }
}

@media screen and (min-width: 1024px) {
  .single-main {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    margin-top: 2.25rem;
  }
}

.single-meta {
  display: none;
  margin-top: 4rem;
}
@media screen and (min-width: 1024px) {
  .single-meta {
    display: block;
  }
}

.case-study .single-meta > :first-child {
  font-weight: 500;
}

.single-body {
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 1024px) {
  .single-body {
    width: 60%;
    margin-top: -6rem;
    margin-right: 6rem;
    padding-top: 2.25rem;
    padding-right: 2.25rem;
  }
}

.single-content--with-photo .single-body::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #eaeaeb;
  z-index: -1;
}

.single-body > p:first-child {
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .single-body > p:first-child {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.375;
  }
}

.single-body > div {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

@media screen and (min-width: 768px) {
  .archive-listing {
    display: flex;
    flex-wrap: wrap;
    margin-left: -1rem;
    margin-right: -1rem;
  }
}

@media screen and (max-width: 767px) {
  .archive-listing li {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .archive-listing li {
    width: 50%;
    padding: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .archive-listing li {
    width: 33.3333%;
  }
}

.archive-subheading {
  display: block;
  margin-top: -0.25rem;
  margin-left: 0.15rem;
  font-size: 1.5rem;
  font-weight: 400;
  color: #488100;
}

.archive-pagination {
  margin-top: 2.25rem;
}

.archive-clients {
  margin-top: 2.25rem;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .archive-clients {
    margin-top: 0;
  }
}

.author-header {
  display: flex;
  margin-top: 6rem;
}

.author-name {
  line-height: 1.2;
}
.author-name {
  font-size: 36px;
}
@media screen and (min-width: 320px) {
  .author-name {
    font-size: calc(36px + 14 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .author-name {
    font-size: 50px;
  }
}

.author-image {
  flex-shrink: 0;
  margin-left: 1.5rem;
  text-align: center;
}

.author-image img {
  border-radius: 50%;
  width: 80px;
  height: 80px;
}

.author-contact {
  margin-top: 2.25rem;
  margin-left: 0.25rem;
}

.author-contact li {
  display: inline-block;
  margin-right: 1rem;
}
@media screen and (min-width: 768px) {
  .author-contact li {
    margin-right: 2.25rem;
  }
}

.author-contact li:last-child {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .author-contact li + li {
    margin-top: 0.5rem;
  }
}

.author-contact svg {
  display: inline-block;
  margin-right: 0.15rem;
  color: rgba(100, 117, 142, 0.5);
}

.author-bio {
  margin-top: 4rem;
}
.author-bio > * {
  margin-bottom: 1.5rem;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}

.author-bio > p:first-child {
  -moz-column-span: all;
       column-span: all;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .author-bio > p:first-child {
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .author-bio--cols {
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: 6vw;
         column-gap: 6vw;
  }
}

.author-posts-intro h2 {
  margin-top: 4rem;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}
.author-posts-intro h2 {
  font-size: 36px;
}
@media screen and (min-width: 320px) {
  .author-posts-intro h2 {
    font-size: calc(36px + 14 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .author-posts-intro h2 {
    font-size: 50px;
  }
}

.author-posts-intro hr {
  margin: 0 !important;
  background-position: left;
}

.author-posts-intro + .o-band {
  padding-top: 0;
}

.c-related {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .c-related {
    padding-right: 2.25rem;
  }
}

.c-related__heading {
  margin-bottom: 2.25rem;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
}

.c-related__wrapper {
  position: relative;
  padding-top: 3.5rem;
  padding-bottom: 3rem;
}
@media screen and (min-width: 1024px) {
  .c-related__wrapper {
    display: flex;
    justify-content: flex-end;
  }
}

.c-related__items {
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 1024px) {
  .c-related__items {
    width: 75%;
  }
}

@media screen and (min-width: 1024px) {
  .c-related__item:nth-child(even) {
    margin-left: 7rem;
  }
}

.c-related__link {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  font-weight: 400;
  text-decoration: none;
}
.c-related__link:hover {
  color: white;
}

.c-related__link > * {
  padding: 1rem 1rem 0.5rem;
  background-color: #eaeaeb;
}

.c-related__link:hover > * {
  background-color: #6eb315;
  color: white;
}

.c-related__title {
  font-size: 1.75rem;
  line-height: 1.1;
}
@media screen and (min-width: 1024px) {
  .c-related__title {
    font-size: 2.25rem;
  }
}

@media screen and (min-width: 1024px) {
  .case-study .c-related__title {
    font-size: 3.125rem;
  }
}

.c-related__subtitle {
  padding-top: 0;
}

.c-related__subtitle span {
  color: #64758e;
}

.c-related__date {
  padding-top: 0;
  color: #64758e;
}

.c-related__arrow {
  padding-top: 0.25rem;
  color: #6eb315;
}

.c-related__arrow path {
  fill: currentColor;
}

.c-related__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50vw);
  background-size: cover;
}
@media screen and (min-width: 1024px) {
  .c-related__image {
    width: 50vw;
  }
}

.c-tease__arrow {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transform: translateX(-1rem);
}
.c-tease__arrow path {
  fill: white;
  stroke: white;
}

.date .c-tease,
.search .c-tease,
.author .c-tease,
.blog .c-tease,
.tag .c-tease,
.category .c-tease {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 0 0 2.25rem rgba(0, 0, 0, 0.1);
}
.date .c-tease__heading,
.search .c-tease__heading,
.author .c-tease__heading,
.blog .c-tease__heading,
.tag .c-tease__heading,
.category .c-tease__heading {
  line-height: 1.375;
}
.date .c-tease__content,
.search .c-tease__content,
.author .c-tease__content,
.blog .c-tease__content,
.tag .c-tease__content,
.category .c-tease__content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding: 0 1.5rem 1.75rem;
}
.date .c-tease__meta,
.search .c-tease__meta,
.author .c-tease__meta,
.blog .c-tease__meta,
.tag .c-tease__meta,
.category .c-tease__meta {
  display: flex;
  align-items: center;
  margin-top: auto;
  font-size: 1.125rem;
}
.date .c-tease__meta img,
.search .c-tease__meta img,
.author .c-tease__meta img,
.blog .c-tease__meta img,
.tag .c-tease__meta img,
.category .c-tease__meta img {
  width: 40px;
  height: 40px;
  margin-right: 0.5rem;
  border-radius: 50%;
}
.date .c-tease__meta span,
.search .c-tease__meta span,
.author .c-tease__meta span,
.blog .c-tease__meta span,
.tag .c-tease__meta span,
.category .c-tease__meta span {
  color: #64758e;
}
.date .c-tease__preview,
.search .c-tease__preview,
.author .c-tease__preview,
.blog .c-tease__preview,
.tag .c-tease__preview,
.category .c-tease__preview {
  margin-top: 1.5rem;
  margin-bottom: 2.25rem;
}
.date .c-tease__image,
.search .c-tease__image,
.author .c-tease__image,
.blog .c-tease__image,
.tag .c-tease__image,
.category .c-tease__image {
  order: -1;
  position: relative;
  margin-top: 0;
  margin-bottom: 1.5rem;
  background-color: #6eb315;
  height: 10rem;
  overflow: hidden;
}
@supports ((-o-object-fit: cover) or (object-fit: cover)) {
  .date .c-tease__image,
.search .c-tease__image,
.author .c-tease__image,
.blog .c-tease__image,
.tag .c-tease__image,
.category .c-tease__image {
    height: 15rem;
  }
}
.date .c-tease__image img,
.search .c-tease__image img,
.author .c-tease__image img,
.blog .c-tease__image img,
.tag .c-tease__image img,
.category .c-tease__image img {
  width: 100%;
}
@supports ((-o-object-fit: cover) or (object-fit: cover)) {
  .date .c-tease__image img,
.search .c-tease__image img,
.author .c-tease__image img,
.blog .c-tease__image img,
.tag .c-tease__image img,
.category .c-tease__image img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
  }
}
.date .c-tease__image:hover img,
.date .c-tease__image:focus img,
.search .c-tease__image:hover img,
.search .c-tease__image:focus img,
.author .c-tease__image:hover img,
.author .c-tease__image:focus img,
.blog .c-tease__image:hover img,
.blog .c-tease__image:focus img,
.tag .c-tease__image:hover img,
.tag .c-tease__image:focus img,
.category .c-tease__image:hover img,
.category .c-tease__image:focus img {
  opacity: 0;
}
.date .c-tease__image:hover .c-tease__arrow,
.date .c-tease__image:focus .c-tease__arrow,
.search .c-tease__image:hover .c-tease__arrow,
.search .c-tease__image:focus .c-tease__arrow,
.author .c-tease__image:hover .c-tease__arrow,
.author .c-tease__image:focus .c-tease__arrow,
.blog .c-tease__image:hover .c-tease__arrow,
.blog .c-tease__image:focus .c-tease__arrow,
.tag .c-tease__image:hover .c-tease__arrow,
.tag .c-tease__image:focus .c-tease__arrow,
.category .c-tease__image:hover .c-tease__arrow,
.category .c-tease__image:focus .c-tease__arrow {
  opacity: 1;
  transform: translateX(0);
  transition: all 0.15s ease-in;
}

.case-studies .c-tease {
  position: relative;
}
@media screen and (max-width: 767px) {
  .case-studies .c-tease {
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.1);
  }
}
@media screen and (min-width: 768px) {
  .case-studies .c-tease {
    height: 0;
    padding-bottom: 75%;
    overflow: hidden;
    color: white;
  }
}
.case-studies .c-tease:hover,
.case-studies .c-tease:focus-within,
.case-studies .c-tease:focus {
  background: #6eb315;
}
.case-studies .c-tease:hover > * > *,
.case-studies .c-tease:focus-within > * > *,
.case-studies .c-tease:focus > * > * {
  opacity: 0;
}
.case-studies .c-tease__wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .case-studies .c-tease__wrapper {
    padding-left: 45%;
  }
}
@media screen and (min-width: 768px) {
  .case-studies .c-tease__wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    flex-direction: column-reverse;
  }
}
.case-studies .c-tease__heading {
  line-height: 1.1;
  z-index: 1;
}
.case-studies .c-tease__heading {
  font-size: 20px;
}
@media screen and (min-width: 320px) {
  .case-studies .c-tease__heading {
    font-size: calc(20px + 16 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  .case-studies .c-tease__heading {
    font-size: 36px;
  }
}
@media screen and (max-width: 767px) {
  .case-studies .c-tease__heading {
    margin-bottom: 3.375rem;
    padding: 1rem 0.75rem 0 0;
  }
}
@media screen and (min-width: 768px) {
  .case-studies .c-tease__heading {
    width: 100%;
    padding: 1.25rem;
    color: white;
  }
}
.case-studies .c-tease__heading a {
  font-weight: 400;
}
.case-studies .c-tease__subheading {
  background-color: #000036;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .case-studies .c-tease__subheading {
    margin-bottom: auto;
  }
}
.case-studies .c-tease a {
  text-decoration: none;
}
.case-studies .c-tease a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.case-studies .c-tease__subheading {
  display: inline-block;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .case-studies .c-tease__subheading {
    padding-bottom: 1rem;
    background: none;
  }
}
@media screen and (min-width: 768px) {
  .case-studies .c-tease__subheading {
    padding: 0.5rem 1.25rem;
  }
}
.case-studies .c-tease__image,
.case-studies .c-tease__image::after {
  position: absolute;
  top: 0;
  right: 60%;
  bottom: 0;
  left: 0;
  z-index: -2;
}
@media screen and (min-width: 768px) {
  .case-studies .c-tease__image,
.case-studies .c-tease__image::after {
    right: 0;
  }
}
@media screen and (min-width: 768px) {
  .case-studies .c-tease__image::after {
    content: "";
    background: linear-gradient(to top, rgba(2, 2, 14, 0.8), rgba(2, 2, 14, 0.2));
    z-index: 0;
  }
}
.case-studies .c-tease__image img {
  width: 100%;
  filter: grayscale(0.6);
}
@supports ((-o-object-fit: cover) or (object-fit: cover)) {
  .case-studies .c-tease__image img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
  }
}
.case-studies .c-tease:hover .c-tease__arrow,
.case-studies .c-tease:focus .c-tease__arrow,
.case-studies .c-tease:focus-within .c-tease__arrow {
  opacity: 1;
  transform: translateX(0);
  transition: all 0.15s ease-in;
}

.c-filter {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 1024px) {
  .c-filter {
    margin-top: 2.25rem;
  }
}

.c-filter__dropdown {
  margin-left: auto;
}
@media screen and (min-width: 1024px) {
  .c-filter__dropdown {
    display: none;
  }
}

.c-filter__dropdown select,
.c-filter-static select {
  border: 2px solid #6eb315;
  background-color: rgba(110, 179, 21, 0.1);
}
.c-filter__dropdown select:hover, .c-filter__dropdown select:focus,
.c-filter-static select:hover,
.c-filter-static select:focus {
  border: 2px solid #6eb315;
}

.c-filter * {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .c-filter * {
    font-size: 1.125rem;
  }
}

@media screen and (max-width: 1023px) {
  .c-filter__heading {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
}

.c-filter label {
  margin-top: 0;
  margin-right: 0.75rem;
}

.c-filter button {
  border: 0;
  border-right: 1px solid rgba(100, 117, 142, 0.25);
  margin-right: 1rem;
  padding: 0 1rem 0 0;
  background: transparent;
  line-height: 1.2;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-filter button:focus {
  outline: none;
}
@media screen and (max-width: 1023px) {
  .c-filter button {
    display: none;
  }
}

.c-filter button:last-child {
  padding-right: 0;
  border: 0;
}

.c-filter button > :last-child {
  margin-left: 0.25rem;
  color: #6eb315;
}

.c-filter button:not(.mixitup-control-active):hover > :first-child,
.c-filter button:not(.mixitup-control-active):focus > :first-child {
  border-bottom: 2px solid #eaeaeb;
}

.mixitup-control-active {
  font-weight: 500;
}

.mixitup-control-active > :first-child {
  border-bottom: 2px solid #6eb315;
}

/* Static filter used on post listings */
.c-filter-static {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.c-filter-static label {
  margin-top: 0;
  margin-right: 0.75rem;
}

.c-filter-static select {
  margin-bottom: 0.5rem;
}

.c-filter-static * {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .c-filter-static * {
    font-size: 1.125rem;
  }
}

.c-pagination__items {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
}

.c-pagination__items * {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .c-pagination__items * {
    font-size: 1.125rem;
  }
}

.c-pagination__items > * {
  margin: 0.5rem;
}

.c-pagination__items a {
  padding: 0.5rem 1rem;
  background-color: #eaeaeb;
  border-radius: 4px;
}

.page-number,
.c-pagination__items a {
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
}

.page-number {
  display: inline-block;
  border-bottom: 2px solid transparent;
}

.c-pagination__items a:hover,
.c-pagination__items a:focus {
  opacity: 0.5;
}

.current.page-number {
  font-weight: 500;
  border-color: #6eb315;
}

.c-pagination__items button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: inherit;
}

.c-pagination__items [data-state=disabled] {
  display: none;
}

.c-pagination__page {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-pagination__page {
    display: block;
  }
}

/**
 * Gravity Forms global styles
 */
.gform_fields {
  width: 65ch;
  max-width: 100%;
}

.gfield {
  max-width: 100%;
}

.contact .gform_heading {
  margin-top: 1.5rem;
}

.contact .gform_fields {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 0;
}

.contact .gform_confirmation_wrapper {
  margin-top: 1.5rem;
}

input.medium {
  width: 65ch;
}

input.large {
  width: 65ch;
}

.gfield_description {
  display: inline-block;
  margin-left: 0.25rem;
  color: #757575;
  font-size: 0.75em;
}

.gfield_required {
  display: none;
}

.gform_validation_container {
  display: none;
}

.validation_error,
.validation_message {
  color: #c8102e;
}
.bg-navy .validation_error, .bg-petrol .validation_error,
.bg-navy .validation_message,
.bg-petrol .validation_message {
  color: gold;
}

.validation_error + * {
  margin-top: 1.5rem;
}

.gform_footer {
  display: flex;
  align-items: center;
}

.gform_footer img {
  margin-left: 1rem;
  width: 2.25rem;
  height: 2.25rem;
}

.gform_validation_error form > .validation_error,
.gform_confirmation_wrapper {
  display: inline-block;
}

.gform_validation_error form > .validation_error {
  margin-top: 2.25rem;
  color: #c8102e;
  font-size: 1.25rem;
}
.bg-navy .gform_validation_error form > .validation_error, .bg-petrol .gform_validation_error form > .validation_error {
  color: gold;
}
.research-form .gform_validation_error form > .validation_error {
  margin-top: 0;
}

.ginput_container.ginput_container_consent {
  display: flex;
  align-items: baseline;
}

.ginput_container.ginput_container_consent > input {
  flex-shrink: 0;
  margin-right: 0.75rem;
}

.ginput_container.ginput_container_consent > label {
  margin-top: 0;
}

.c-social-media {
  font-size: 1.5rem;
}

.c-social-media svg {
  display: inline-block;
  margin-right: 0.15rem;
  color: #6c8599;
  vertical-align: baseline;
}

.c-social-media .instagram svg {
  vertical-align: -2px;
}

.contact-socials .c-social-media li:first-child {
  display: none;
}

.contact-socials li + li {
  margin-top: 1.5rem;
}

.contact-socials a {
  font-weight: 400;
}

.c-sitefooter .c-social-media {
  margin-top: 3.375rem;
}
@media screen and (min-width: 768px) {
  .c-sitefooter .c-social-media {
    display: flex;
    justify-content: space-between;
    margin-top: 4rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .c-sitefooter .c-social-media {
    flex-wrap: wrap;
  }
}

.c-sitefooter .c-social-media > * + * {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .c-sitefooter .c-social-media > * + * {
    margin-top: 0;
    margin-left: 4vw;
  }
}

.c-sitefooter .c-social-media > :first-child {
  margin-right: auto;
  order: -1;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .c-sitefooter .c-social-media > :first-child {
    flex-basis: 100%;
    margin-bottom: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .c-sitefooter .c-social-media > :nth-child(2) {
    margin-left: 0;
  }
}
@media screen and (min-width: 1024px) {
  .c-sitefooter .c-social-media > :nth-child(2) {
    margin-left: auto;
  }
}

.icon-arrow-right-sm {
  width: 65px;
  height: 11px;
}

.icon-twitter {
  height: 18px;
}

.icon-instagram {
  height: 20px;
}

.icon-linkedin {
  height: 22px;
}

.c-clients__heading {
  font-size: 1.5rem;
  font-weight: 500;
}

.c-clients__logos {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1rem;
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

.c-clients__item {
  position: relative;
  width: 33.333333%;
  padding: 0.25rem;
}
@media screen and (min-width: 768px) {
  .c-clients__item {
    width: 25%;
  }
}
@media screen and (min-width: 1024px) {
  .c-clients__item {
    width: 16.6666667%;
  }
}

.c-clients__item::before {
  content: "";
  display: block;
  height: 0;
  padding-bottom: 100%;
  background-color: #f6f6f7;
}

.c-clients__item img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  max-height: 6rem;
  margin: auto;
  padding: 0 1.25rem;
}
@media screen and (min-width: 1024px) {
  .c-clients__item img {
    padding: 0 2rem;
  }
}

.gallery {
  display: flex;
  flex-wrap: wrap;
}

.gallery > * {
  width: 66.66666%;
}
@media screen and (min-width: 1024px) {
  .gallery > * {
    width: 80%;
  }
}

.gallery > * + * {
  margin-top: 2.25rem;
}

.gallery > :nth-child(even) {
  margin-left: auto;
}

/*--------------------------------------------------------------
 #7. Utility helper classes

 Utility classes are for final adjustments, and should not be 
 overridden by anything that comes before them. For this reason,
 each class has !important suffix to max out its specificity.

 The naming convention follows that of Tachyons' non-verbose 
 format, for familiarity and ease of Tachyons integration, if 
 desired.

 e.g. ".mt-0" would output "margin-top: 0;"
--------------------------------------------------------------*/
.overflow-hidden {
  overflow: hidden;
}

.relative {
  position: relative;
}

.db {
  display: block;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.flow > * + * {
  margin-top: 1.5rem;
}
